CS540/TE630 Computer Network Architecture Spring 2009 Tu/Th 10:30am-Noon Sue Moon Routing What do you remember from undergrad networking courses? Questions BGP De-facto standard inter-domain routing protocol Became popular only in 1995 significant increase in # of ISPs CIDR introduced in 1995 Path vector algorithm 4 Configuration and Policy A BGP node decides which routes to share with its neighbor A BGP node can selectively accept and reject messages What to share and what to accept determined by routing policy 5 Four Basic BGP Messages Open Establishes BGP session (TCP port #179) Sets the hold timer Notification Report unusual conditions Terminates the TCP session and gives an indication (holder timer expiry, bad peer AS, malformed attribute list, etc.) Update Inform neighbor of new/old routes that become active/inactive Keepalive Inform neighbor that connection is still alive 6 UPDATE Message Advertise/Withdraw prefixes Withdrawn routes length (2 bytes) Withdrawn routes (variable length) Total path attributes length (2 bytes) Path attributes (variable length) Reachability information (variable length) 7 Attributes ORIGIN Who originated the announcement? IGP, EGP or Incomplete (often for static routes) AS-PATH list of AS's useful to detect and prevent loops NEXT HOP For EBGP, IP addr of neighbor that announced For IBGP, if route originated inside, IP addr of neighbor For IBGP, if route originated outside, EBGP node that learned of route, is carried unaltered into IBGP Multi-Exit Discriminator (MED) Local Preference 8 Attribute: Multi-Exit Discriminator (MED) When ASes have multiple interconnecting links Lower, more preferred Non-transitive R1 AS1 143.248.0.0/16 MED=2 R3 R2 143.248.0.0/16 MED=10 AS2 R4 9 Attribute: Local Pref 143.248.0.0/16 Indicates preference among multiples paths for the same prefix AS1 higher, more preferred Exchanged between IBGP peers only Often used to select a specific egress point for a particular destination AS3 AS2 AS4 Destination AS Path Local Pref 143.248.0.0/16 AS3 AS1 300 143.248.0.0/16 AS2 AS1 100 10 BGP Decision Process 1. 2. 3. 4. 5. 6. Highest LOCAL-PREF Shortest AS-PATH Lowest ORIGIN (IGP < EGP < Incomplete) Lowest MED Min cost path to NEXT HOP using IGP metrics BGP Router ID to break tie 11 Input Policy Engine Inbound filtering filter based on IP prefixes, AS_PATH, community deny = BGP won't reach that prefix via the peer accept = traffic to that prefix via the peer Attribute manipulation Sets attributes on accepted routes • E.g.: Specify LOCAL-PREF to set priorities among multiple peers 12 Output Policy Engine Outbound filtering forward = peers may route traffic via you Attribute manipulation Sets attributes such as AS-PATH and MEDs 13 Transit vs. Nontransit Transit AS3 AS1 C3 C1 AS2 C2 14 Routing Engine BGP Input Policy BGP Table BGP Output Policy IP Routing Table Forwarding Table OSPF Topology Shortest Path 15 References & Acknowledgements Some use of Nina Taft's tutorial slides on BGP BGP4 Inter-Domain Routing in the Internet, John W. Stewart, Addison-Wesley, 1998 16