380 likes | 857 Views
Border Gateway Protocol (BGP). Network Protocols and Standards Winter 2007-2008. Current Internet Architecture. (1999-2000). Allocated AS Numbers. BGP Routing. The de facto standard for inter-AS routing Path Vector Protocol Extension of Distance Vector Protocol
E N D
Border Gateway Protocol (BGP) Network Protocols and Standards Winter 2007-2008 CS573: Network Protocols and Standards
Current Internet Architecture (1999-2000) CS573: Network Protocols and Standards
Allocated AS Numbers CS573: Network Protocols and Standards
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 CS573: Network Protocols and Standards
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) CS573: Network Protocols and Standards
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! CS573: Network Protocols and Standards
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! CS573: Network Protocols and Standards
Transit versus Non-transit AS CS573: Network Protocols and Standards
BGP Operation CS573: Network Protocols and Standards
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 CS573: Network Protocols and Standards
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 CS573: Network Protocols and Standards
BGP Attributes CS573: Network Protocols and Standards
BGP Route Selection CS573: Network Protocols and Standards
BGP Route Selection CS573: Network Protocols and Standards
B A D C eBGP and iBGP 18.0.0.0/8 eBGP iBGP Border router/ Egress Autonomous System (AS) Route CS573: Network Protocols and Standards
Distributing Reachability Information within the AS Note: Border routers also need iBGP sessions with I internal routers CS573: Network Protocols and Standards
Route Reflectors CS573: Network Protocols and Standards
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) CS573: Network Protocols and Standards
3a 3b 2a AS3 AS2 1a 2c AS1 2b eBGP session 3c 1b 1d 1c iBGP session 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. CS573: Network Protocols and Standards
BGP Route Oscillations CS573: Network Protocols and Standards
BGP Route Oscillations CS573: Network Protocols and Standards
BGP Route Flap Dampening CS573: Network Protocols and Standards
BGP Route Flap Dampening CS573: Network Protocols and Standards
Cisco IOS Example CS573: Network Protocols and Standards