View
215
Download
0
Tags:
Embed Size (px)
Citation preview
Feb 12, 2008 CS573: Network Protocols and Standards
1
Border Gateway Protocol (BGP)
Network Protocols and Standards
Winter 2007-2008
Feb 12, 2008 CS573: Network Protocols and Standards 4
BGP Routing The de facto standard for inter-AS
routing Path Vector Protocol
Extension of Distance Vector Protocol Each Border Gateway broadcasts to
neighbors (peers) the entire path (i.e., sequence of ASes) to the destination
Example: X stores the following path to destination Z Path (X, Z) = X, Y1, Y2, …, Z Different from RIP distance vector
Feb 12, 2008 CS573: Network Protocols and Standards 5
BGP Routing Now X may send this “path vector” to
another border router W through BGP A promise that I will take care of traffic for Z
Gateway W may or may not select the offered path, based on: Cost Policy Additional reasons (later!)
If W selects the path advertised by X Path (W, Z) = W, Path (X, Z)
Feb 12, 2008 CS573: Network Protocols and Standards 6
Figure 4.5-BGPnew: a simple BGP scenario
A
B
C
W X
Y
legend:
customer network:
provider network
BGP Routing Policy
A, B, C are provider networks X, W, Y are customers (of provider networks) X is dual-homed: attached to two networks
X does not want to route from B via X to C So, X should not advertise to B that a route to C exists!
Feb 12, 2008 CS573: Network Protocols and Standards 7
Figure 4.5-BGPnew: a simple BGP scenario
A
B
C
W X
Y
legend:
customer network:
provider network
BGP Routing Policy
A advertises to B the path AW B advertises to X the path BAW
So that X can reach W Should B advertise to C the path BAW?
No way! B gets no “revenue” for routing CBAW since neither W nor C are B’s customers
B wants to route only to/from its customers!
Feb 12, 2008 CS573: Network Protocols and Standards 10
BGP Operation: Messages Peers exchange BGP messages using TCP OPEN
Opens a TCP connection to peer Authenticates the sender
UPDATE Advertises a new path (or withdraws old)
KEEPALIVE Keeps connection alive in the absence of updates Serves as ACK to an OPEN request
NOTIFICATION Reports error in a previous message Closes a connection
Feb 12, 2008 CS573: Network Protocols and Standards 11
A BGP Update Message TIME : Tue Jun 1 00:08:03 2004 LENGTH : 72 TYPE : Zebra BGP SUBTYPE : Zebra BGP Message SOURCE_AS : 7018 DEST_AS : 6447 INTERFACE : 0 SOURCE_IP : 12.0.1.63 DEST_IP : 128.223.60.102 MESSAGE TYPE : Update/Withdraw WITHDRAW : ANNOUNCE : 64.166.88.0/24 ATTRIBUTES : ATTR_LEN : 29 ORIGIN : 0 ASPATH : 7018 701 19714 NEXT_HOP : 12.0.1.63 MED : N/A LOCAL_PREF : N/A ATOMIC_AGREG : N/A AGGREGATOR : N/A COMMUNITIES : 7018:5000
Feb 12, 2008 CS573: Network Protocols and Standards 15
eBGPiBGP
18.0.0.0/8
Border router/Egress
AB
C D
Autonomous System (AS)
eBGP and iBGP
Route
Feb 12, 2008 CS573: Network Protocols and Standards 16
Distributing Reachability Information within the AS
Note: Border routers also need iBGP sessions with I internal routers
Feb 12, 2008 CS573: Network Protocols and Standards 18
Problems with Route Reflectors Problem 1
Routers may not choose best route Because, RR only relects its own best
route Problem 2
RR choose their best route and make full mesh
This may result in forwarding loops See BGPsep paper (Infocom 2006)
Feb 12, 2008 CS573: Network Protocols and Standards 19
Distributing Reachability Info to other Autonomous Systems
With eBGP session between 3a and 1c, AS3 sends prefix reachability info to AS1.
1c can then use iBGP to distribute this new prefix reach info to all routers in AS1
1b can then re-advertise the new reach info to AS2 over the 1b-to-2a eBGP session
When router learns about a new prefix, it creates an entry for the prefix in its forwarding table.
3b
1d
3a
1c2aAS3
AS1
AS21a
2c
2b
1b
3c
eBGP session
iBGP session