Feb 12, 2008CS573: Network Protocols and Standards1 Border Gateway Protocol (BGP) Network Protocols and Standards Winter
Feb 12, 2008CS573: Network Protocols and Standards2 Current Internet Architecture ( )
Feb 12, 2008CS573: Network Protocols and Standards3 Allocated AS Numbers
Feb 12, 2008CS573: Network Protocols and Standards4 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, 2008CS573: Network Protocols and Standards5 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, 2008CS573: Network Protocols and Standards6 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, 2008CS573: Network Protocols and Standards7 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, 2008CS573: Network Protocols and Standards8 Transit versus Non-transit AS
Feb 12, 2008CS573: Network Protocols and Standards9 BGP Operation
Feb 12, 2008CS573: Network Protocols and Standards10 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, 2008CS573: Network Protocols and Standards11 A BGP Update Message TIME : Tue Jun 1 00:08: LENGTH : 72 TYPE : Zebra BGP SUBTYPE : Zebra BGP Message SOURCE_AS : 7018 DEST_AS : 6447 INTERFACE : 0 SOURCE_IP : DEST_IP : MESSAGE TYPE : Update/Withdraw WITHDRAW : ANNOUNCE : /24 ATTRIBUTES : ATTR_LEN : 29 ORIGIN : 0 ASPATH : NEXT_HOP : MED : N/A LOCAL_PREF : N/A ATOMIC_AGREG : N/A AGGREGATOR : N/A COMMUNITIES : 7018:5000
Feb 12, 2008CS573: Network Protocols and Standards12 BGP Attributes
Feb 12, 2008CS573: Network Protocols and Standards13 BGP Route Selection
Feb 12, 2008CS573: Network Protocols and Standards14 BGP Route Selection
Feb 12, 2008CS573: Network Protocols and Standards15 eBGP iBGP /8 Border router/ Egress A B C D Autonomous System (AS) eBGP and iBGP Route
Feb 12, 2008CS573: Network Protocols and Standards16 Distributing Reachability Information within the AS Note: Border routers also need iBGP sessions with I internal routers
Feb 12, 2008CS573: Network Protocols and Standards17 Route Reflectors
Feb 12, 2008CS573: Network Protocols and Standards18 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, 2008CS573: Network Protocols and Standards19 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 1c 2a AS3 AS1 AS2 1a 2c 2b 1b 3c eBGP session iBGP session
Feb 12, 2008CS573: Network Protocols and Standards20 BGP Route Oscillations
Feb 12, 2008CS573: Network Protocols and Standards21 BGP Route Oscillations
Feb 12, 2008CS573: Network Protocols and Standards22 BGP Route Flap Dampening
Feb 12, 2008CS573: Network Protocols and Standards23 BGP Route Flap Dampening
Feb 12, 2008CS573: Network Protocols and Standards24 Cisco IOS Example