Transcript BGP
Inter-domain Routing
Outline
Border Gateway Protocol
Homework #3 Solutions
• 4:12 - Solutions
A)
A
B
C
D
E
F
A
0
INF
3
8
INF
INF
B
INF
0
INF
INF
2
C
3
INF
0
INF
D
8
INF
INF
E
INF
2
F
INF
B)
A
B
C
D
E
F
A
0
INF
3
8
4
9
INF
B
INF
0
3
4
2
INF
1
6
C
3
3
0
3
1
6
0
2
INF
D
8
4
3
0
2
INF
1
2
0
INF
E
4
2
1
2
0
7
INF
6
INF
INF
0
F
9
INF
6
INF
7
0
A
B
C
D
E
F
A
0
6
3
6
4
9
B
6
0
3
4
2
9
C
3
3
0
3
1
6
D
6
4
3
0
2
9
E
4
2
1
2
0
7
F
9
9
6
9
7
0
C)
CS 640
2
Homework #3 Solutions Contd.
•
•
•
•
•
5:20 a) There are 4096 ports so we run out if the connect rate exceeds 4096/60 = 70/sec.
5:20 b) A is the host that initiated close and is in TimeWait, the other is B. If B does not
receive an ACK of its FIN, it will retransmit FINs until A responds as long as it is in
TimeWait. If we allow reopening before TimeWait expires then a given late arriving FIN
might be part of any one of a number of prior connections. Thus, A would have to keep a
list of all prior connects and if a FIN arrives A would have to check its list to decide
whether to send an ACK or a RST. An ACK to all FINs would be fine as well.
5:25 With Dev = 1.0, it takes 20 iterations for RTO to fall below 4.0sec. With initial Dev
= 0.1 it takes 19 iterations, with initial Dev = 2.0 it takes 21.
6:14 a) The window doubles every RTT thus it will take 10 RTTs for the send window to
reach 210 KB = 1MB
6:14 b) After 10 RTTs, 1023KB have been transferred and the window size is now 1MB.
Since the max. capacity of the network is not yet reached, slow start continues but now
we’re receive window limited so it will take 9 more RTTs to transfer the remaining 9MB
so it takes 19 RTTs to complete the file transfer.
CS 640
3
Homework #3 Solutions Contd.
• 6:14 c) It takes 1.4 seconds to transfer the file. The effective throughput is
10MB/1.4sec = 57.1Mbps which is only 5.7% of the available bandwidth
• 6:20
A)
Time
A rcvs
0
B)
Time
A snds
R snds
Cwnd
Data0
Data0
1
0
A rcvs
A snds
R snds
Cwnd
Data0
Data0
1
1
Ack0
Data1,2
Data1
2
1
Ack0
Data1,2
Data1
2
2
Ack1
Data3,4
Data2
3
2
Ack1
Data3,4
Data2
3
3
Ack2
Data5,6
Data3
4
3
Ack2
Data5,6
Data3
4
4
Ack3
Data4
Data5
1
4
Ack3
Data7,8
Data5
5
5
Ack3
Data4
1
5
Ack3
Data4
Data7
1
6
Ack5
Data6
Data6
1
6
Ack3
Data4
1
7
Ack6
Data7,8
Data7
2
7
Ack5
Data6
Data6
1
8
Ack7
Data8
Data8
1
9
Ack8
Data9,10
Data9
2
CS 640
4
Internet Structure
Original idea
Backbone service provider
“ Consumer” ISP
Small
corporation
Large corporation
“Consumer”ISP
“Consumer ” ISP
Small
corporation
CS 640
Small
corporation
“Consumer ” ISP
Small
corporation
5
Internet Structure
Today
Large corporation
“Consumer ” ISP
Peering
point
Backbone service provider
“ Consumer” ISP
Large corporation
Peering
point
“Consumer”ISP
Small
corporation
CS 640
6
Route Propagation in the Internet
• Autonomous System (AS)
– corresponds to an administrative domain
– examples: University, company, backbone network
– assign each AS a 16-bit number
• Two-level route propagation hierarchy
– interior gateway protocol (each AS selects its own)
– exterior gateway protocol (Internet-wide standard)
• Routes information is propagated at various levels
–
–
–
–
hosts know local router
local routers know site routers
site routers know core router
core routers know everything
CS 640
7
Popular Interior Gateway Protocols
• RIP: Route Information Protocol
– distributed with BSD Unix
– distance-vector algorithm
– based on hop-count (infinity set to 16)
• OSPF: Open Shortest Path First
–
–
–
–
recent Internet standard
uses link-state algorithm
supports load balancing
supports authentication
CS 640
8
EGP: Exterior Gateway Protocol
• Overview
– Original standard for Internet routing protocol (c 1983)
– designed for tree-structured Internet
• Single backbone
– concerned with reachability, not optimal routes
• Protocol messages
– neighbor acquisition: one router requests that another be its peer; peers
exchange reachability information
– neighbor reachability: one router periodically tests if the another is still
reachable; exchange HELLO/ACK messages;
• uses a k-out-of-n rule: ¼ to stay up, ¾ to establish
– routing updates: peers periodically exchange their routing tables
(including route weights) using a basic distance vector method
• There can be multiple connections between ASs
CS 640
9
Limits of EGP
• At first glance, EGP seems like a distance vector protocol since
updates carry lists of destinations and distances – but distances are
NOT reliable.
• EGP was designed to support tree topologies, not meshes
– False routes injected by accident can have really bad consequences (black
holes) – there is no easy way for dealing with this problem
– Loops can easily occur – all we are doing is forwarding routing tables
• EGP was not designed to easily support fragmented IP packets –
all data is assumed to fit in MTU.
• Solutions to these and other EGP problems were all manual
CS 640
10
BGP-4: Border Gateway Protocol
• BGP-1 developed in 1989 to address problems with EGP.
• Assumes Internet is an arbitrarily interconnected set of ASs
• AS traffic types
– Local
• starts or ends within an AS
– Transit
• passes through an AS
• AS Types
– stub AS: has a single connection to one other AS
• carries local traffic only
– multihomed AS: has connections to more than one AS
• refuses to carry transit traffic
– transit AS: has connections to more than one AS
• carries both transit and local traffic
CS 640
11
BGP-4 contd.
• Each AS has:
– one or more border routers
• Handles inter-AS traffic
– one BGP speaker for an AS that participates in routing
– BGP speaker establishes BGP sessions with peers and advertises:
•
•
•
•
local network names
other reachable networks (transit AS only)
gives path information including path weights (MEDs)
withdrawn routes
• BGP goal: find loop free paths between ASs
– Optimality is secondary goal
– It’s neither a distance-vector nor a link-state protocol
• Hard problem
– Internet’s size (~12K active ASs) means large tables in BGP routers
– Autonomous domains mean different path metrics
– Need for flexibility
CS 640
12
BGP Example
• Speaker for AS2 advertises reachability to P and Q
– network 128.96, 192.4.153, 192.4.32, and 192.4.3, can be reached
directly from AS2
Customer P
(AS 4)
128.96
192.4.153
Customer Q
(AS 5)
192.4.32
192.4.3
Customer R
(AS 6)
192.12.69
Customer S
(AS 7)
192.4.54
192.4.23
Regional provider A
(AS 2)
Backbone network
(AS 1)
Regional provider B
(AS 3)
• Speaker for backbone advertises
– networks 128.96, 192.4.153, 192.4.32, and 192.4.3 can be reached
along the path (AS1, AS2).
• Speaker can cancel previously advertised paths
CS 640
13
Some BGP details
• Path vectors are most important innovation in BGP
– Enables loop prevention in complex topologies
– If AS sees itself in the path, it will not use that path
• Routes can be aggregated
– Based on CIDR (classless) addressing
• Routes can be filtered
• Runs over TCP
• Most of the same messages as EGP
– Open, Update, Notify, Keepalive
• BGP session have only recently been made secure
CS 640
14
BGP in practice
•
•
•
•
•
•
10-20 “tier 1” ASs which are the Internet backbone
Clearly convergence is an issue – why?
Black holes are always a potential problem
There are lots of BGP updates every day!
BGP is really the heart of the Internet
BGP is a means by which network operators control
congestion in the Internet.
• BGP is really a big problem!
CS 640
15