Inter-domain Routing: Today and Tomorrow Dr. Jia Wang AT&T Labs Research Florham Park, NJ 07932, USA Prof. Zhuoqing Morley Mao Department of EECS University of Michigan Ann Arbor, MI 48109, USA IEEE INFOCOM 2004 Tutorial March 8, 2004
2 Outline 1.Overview of Inter-domain routing 2.Routing policies 3.Measuring inter-domain paths 4.Routing instability 5.BGP Beacon - measurement infrastructure 6.Implication on network engineering 7.Security issues Our opinions should not be taken to represent AT&T policies
Part I: Overview of Inter- domain Routing
March 8, Internet Loose cooperative effort of Internet Service Providers (ISPs) E.g., AT&T, Sprint, UUNet, AOL Best effort service Connectedness Anyone connected to the Internet can exchange traffic with anyone else connected to the Internet
March 8, Internet routing : Routing session routes Internet IP traffic Data plane: forward traffic Control plane: exchange routes rusty.cs.berkeley.edu IP= Prefix= /16 IP= Prefix= /20
March 8, Internet routing dictates application performance IP= Prefix= /20 : Routing session routes Internet IP traffic Data plane: forward traffic Control plane: exchange routes Fail over to alternate route rusty.cs.berkeley.edu IP= Prefix= /16
March 8, Internet routing domain Network devices under same technical and administrative control Common routing policy E.g., ISPs, enterprise networks
March 8, Autonomous System (AS) Autonomous routing domain with an AS number (ASN) AS numbers 16 bits integer Public AS number: 1 – Private AS number: – Examples AT&T: 7018, 6431, … Sprint: 1239, 1240, … MIT: 3
March 8, More than 14,000 ASes today QwestSprintUUnet University company AT&T business ISP QwestSprintUUnet University company AT&T business ISP Berkeley Internet CNN Calren Level3 GNN IP traffic Autonomous System Berkeley Calren Level3 Berkeley Calren Level3 QwestSprintUUnet University Company AT&T Business ISP
March 8, Internet Initiative Japan (IIJ)
March 8, IIJ, Tokyo
March 8, Telstra international
March 8, WorldCom (UUNet)
March 8, UUNet, Europe
March 8, Sprint, USA
March 8, AT&T IP Backbone, USA
March 8, GARR-B
March 8, Gigabit research network
March 8, wiscnet.net GO BUCKY!
March 8, MIT.edu
March 8, Internet routing architecture IP traffic Berkeley CNN Level3 Internet CalrenGNN Inter-domain routing Intra-domain routing
March 8, Intra-domain routing Run within a certain network infrastructure Optimize routes taken between points within a network Internal Gateway Protocols (IGPs) Metrics based OSPF (Open Shortest Path First) RIP (Routing Information Protocol) IS-IS (Intermediate System to Intermediate System)
March 8, Inter-domain routing Run between networks Provide full connectivity of entire Internet External Gateway Protocol (EBGP) Policy based BGP (Border Gateway Protocol)
March 8, Inter-domain routing and BGP Static routing Mainly for stub networks Default routing Small stub networks Dynamic routing Via BGP No need to run BGP in static routing and default routing.
March 8, Link state Examples: OSPF, IS-IS Based on Dijkstra’s shortest path computation Each router periodically floods immediate reachability information to other routers Fast convergence High communication and computation overhead Not scalable for large networks Requires periodic refreshes
March 8, Vectoring Distance vs. Path Vector Distance: hop count (RIP) Path: entire path (BGP) Helps identify loops Supports policy-based routing based on path Minimal communication overhead Takes longer to converge, i.e., in proportion to the maximum path length
March 8, Link state vs. vectoring OSPF IS-IS RIP BGP IGP EGP Link stateVectoring BGP is a path vector protocol
March 8, Classful addressing IPv4: 32 bits Five classes of networks ClassAddressMask# of networks# of hosts A0* ~1.6M B10* C110* ~2.1M255 DUsed for multicast EReserved and currently unused Improve scaling factor of routing in the Internet => classless
March 8, RFC1519: Classless Inter-domain Routing (CIDR) No implicit mask based on the class of the network Explicit masks passed in the routing protocol Allow aggregation and hierarchical routing
March 8, CIDR addressing IP address: Mask: CIDR representation: /22 Address Mask Network prefix Host identifier
March 8, Address aggregation Internet / / / /24 ISP A ISP B / /16
March 8, Routing and forwarding Routing The decision process of choosing optimal path that is consistent with the administrative or technical policy Forwarding The act of receiving a packet, doing a lookup, and copying a packet to the next hop
March 8, Classless forwarding Internet IP traffic PrefixNext hop / / /
March 8, Inter-domain routing with CIDR support BGP-4 [RFC1771] De facto EGP Path vector protocol Run on top of TCP for reliability Carry routing information between ASes Policy based routing
March 8, BGP basic operations Set up BGP session Exchange all candidate routes Send incremental updates
March 8, Establish BGP session Establish neighboring session between and PrefixNext hop / / PrefixNext hop / / TCP 179
March 8, Exchange all candidate routes PrefixNext hop / / / / PrefixNext hop / / / / / / / /
March 8, Send incremental updates PrefixNext hop / / / / PrefixNext hop / / / / Withdraw /16
March 8, BGP messages OPEN: set up a peering session UPDATE: announce new routes or withdraw previously announced routes NOTIFICATION: shut down a peering session KEEPALIVE: confirm active connection at regular interval
March 8, Internal vs. external BGP Internet I-BGP E-BGP AS A AS B AS C
March 8, I-BGP mesh I-BGP update E-BGP update I-BGP update
March 8, Make I-BGP scale for large AS Route reflectors Confederations
March 8, Route reflector E-BGP update RR Only best paths being sent by RR
March 8, Confederation AS 1000 EBGP IBGP AS AS 65020
March 8, BGP updates Three blocks Prefix Path attributes Unreachable routes
March 8, BGP attributes Value Code Reference 1 ORIGIN [RFC1771] 2 AS_PATH [RFC1771] 3 NEXT_HOP [RFC1771] 4 MULTI_EXIT_DISC [RFC1771] 5 LOCAL_PREF [RFC1771] 6 ATOMIC_AGGREGATE [RFC1771] 7 AGGREGATOR [RFC1771] 8 COMMUNITY [RFC1997] 9 ORIGINATOR_ID [RFC1998] 10 CLUSTER_LIST [RFC1998] 11 DPA [Chen] 12 ADVERTISER [RFC1863] 13 RCID_PATH / CLUSTER_ID [RFC1863] 14 MP_REACH_NLRI [RFC2283] 15 MP_UNREACH_NLRI [RFC2283] 16 EXTENDED COMMUNITIES [Rosen] 17 NEW_AS_PATH [E.Chen] 18 NEW_AGGREGATOR [E.Chen] 19 SAFI Specific Attribute (SSA) [Nalawade] Unassigned 255 reserved for development
March 8, Establish connectivity / PrefixNext hop AS path / EBGP IBGP EBGP AS 1AS 2 AS 3 PrefixNext hop AS path / PrefixNext hop AS path /
March 8, IGP and BGP working together / PrefixNext hop AS path / EBGP IBGP EBGP AS 1 AS 2 AS 3 PrefixNext hop AS path / PrefixNext hop / / /30