440 likes | 562 Views
Interdomain Routing EECS 122: Lecture 11. Department of Electrical Engineering and Computer Sciences University of California Berkeley. Review. 4. 4. Intradomain Formulate the routing problem as a Shortest Path Problem Link State v/s Distance Vector
E N D
Interdomain RoutingEECS 122: Lecture 11 Department of Electrical Engineering and Computer Sciences University of California Berkeley
Review 4 4 • Intradomain • Formulate the routing problem as a Shortest Path Problem • Link State v/s Distance Vector • Both work reasonably well in a well engineered network B 6 BGP 6 B 5 7 IntraDomain 2 2 4 RIP 8 6 3 13 3 13 11 2 10 OSPF IntraDomain IntraDomain 3 1 13 12 IGRP C A Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
Today • Why Hierarchical Routing? • Interconnections • Addressing • Interdomain Routing • BGP Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
5 7 4 4 RIP 8 6 6 11 2 2 10 Inter DomainRouting OSPF 3 13 3 1 13 12 IGRP Hierarchical Routing • Is a natural way for routing to scale • Size • Network Administration • Governance • Allows multiple metrics at different levels of the hierarchy • Exploits address aggregation and allocation Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
The Importance of Interconnections • The internet is an interconnection of unequal networks • Interconnection arrangements drive • the competitive landscape • the robustness of the network • End-to-end performance • Interconnection is central to all large networks • Voice • Data • Wireless • Cable Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
Interconnections and Competition • www.thelist.com • How many ISP’s in the 415 area code? • That start with A-C: about 200… • Just DSL that start with A-C: about 80 • In the telephone network • How many independent telephone companies in 1894-1902 in the US? • 3039 commercial companies, 979 co-operatives • By controlling interconnection Bell got rid of them • Interconnection is now regulated (CLECs) Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
Big Picture Large ISP Large ISP Stub Small ISP Dial-Up ISP Access Network Stub Stub The Internet contains a large number of diverse networks Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
Two ways to interconnect IP Networks… • Peering • The business relationship whereby ISPs reciprocally provide to each other connectivity to each others’ transit customers • Transit • The business relationship whereby one ISP provides (usually sells) access to all destinations in it’s routing table William B. Norton, “Internet Service Providers and Peering” Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
Peering Figure from William B. Norton, “Internet Service Providers and Peering” West and East Peer with USNet but they can’t reach each other Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
Transit Figure from William B. Norton, “Internet Service Providers and Peering” Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
Benefits of Transit v/s Peering William B. Norton, “Internet Service Providers and Peering” Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
Moving from Transit to Peering William B. Norton, “Internet Service Providers and Peering” Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
Name of the Game: Reachability • Interdomain routing is about implementing policies of reachabilty • Routing efficiency and performance is important, but not essential • ISPs could be competitors and do not want to share internal network statistics such as load and topology • Use Border Gateway Protocol (BGP) • Border routers communicate over TCP port 179 • A Path Vector Protocol • Communicate entire paths: Route Advertisements • A Router Can be involved multiple BGP sessions Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
you can reachnet A via me R R2 R1 R3 traffic to A table at R1: destnext hop A R2 BGP in concept AS2 AS1 BGP A border router internal router Share connectivity information across ASes Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
IGP: Interior Gateway Protocol. Example: OSPF I-BGP R R1 R4 R5 R2 R3 AS1 announce B AS3 border router internal router B I-BGP and E-BGP IGP A E-BGP AS2 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
BGP • Border Routers • from the same AS speak IBGP • from different AS’s speak EBGP • EBGP and IBGP are essentially the same protocol • IBGP can only propagate routes it has learned directly from its EBGP neighbors • All routers in the same AS form an IBGP mesh • Important to keep IBGP and EBGP in sync Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
Sharing routes • One router can participate in many BGP sessions. • Initially … node advertises ALL routes it wants neighbor to know (could be > 50K routes) • Ongoing … only inform neighbor of changes AS1 BGP Sessions AS3 AS2 Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
Four message types • Open: Session establishment id exchange • Notification: exception driven information • Keep Alive: soft state • Update: path vector information Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
BGP Update Message • Contains information about • New Routes • Withdrawn Routes: No longer valid • Path Attributes: • Attribute information allows policies to be implemented Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
Issues • How are the routes advertised? • Addressing • How are routing policies implemented? Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
Addressing • Every router must be able to forward based on *any* destination IP address • One strategy: Have a row for each address • There would be 10^8 rows! • Better strategy: Have a row for a range of addresses • If addresses are assigned at random that wouldn’t work too well • MAC addresses • Addresses allocation is a big deal. Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
0 0 network host Class-base Addressing • Addressing reflects internet hierarchy • 32 bits divided into 2 parts: • Class A • Class B • Class C 8 0 16 network 1 0 host 0 24 ~2 million nets 256 hosts network 1 1 0 host Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
Class-based addresses did not scale well Example: an organization initially needs 100 addresses • Allocate it a class C address • Organization grows to need 300 addresses • Class B address is allocated. (~64K hosts) • That’s overkill -a huge waste • Only about 8200 class B addresses! • Artificial Address crises Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
Current Solution: Classless Internet Domain Routing (CIDR) • CIDR allows networks to be assigned on arbitrary bit boundaries. • Address ranges can be assigned in chunks of 2k k=1…32 • Idea - use aggregation - provide routing for a large number of customers by advertising one common prefix. • This is possible because nature of addressing is hierarchical • Summarization reduces the size of routing tables, but maintains connectivity. • Aggregation • Scalability and survivability of the Internet Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
Current Solution: Classless Internet Domain Routing (CIDR) Suppose fifty computers in a network are assigned IP addresses 128.23.9.0 - 128.23.9.49 • They share the prefix 128.23.9 • Is this the longest prefix? • Range is 01111111 00001111 00001001 00000000 to 01111111 00001111 00001001 00110001 • How to write 01111111 00001111 00001001 00X? • Convention: 128.23.9.0/26 • There are 32-27=6 bits for the 50 computers • 26 = 64 addresses Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
Classless Inter-domain Routing Addresses • Specify a range of addresses by a prefix: X/Y • The prefix common to the entire range is the first Y bits of X. • X: The first address in the range has prefix X • Y: 232-Y addresses in the range • Example 128.5.10/23 • Common prefix is 23 bits: 01000000 00000101 0000101 • Number of addresses: 29 = 512 • Prefix aggregation • Combine two address ranges • 128.5.10/24 and 128.5.11/24 gives 128.5.10/23 • Routers match to longest prefix Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
Assigning IP address (Ideally) • A host gets its IP address from the IP address block of its organization • An organization gets an IP address block from its ISP’s address block • An ISP gets its address block from its own provider OR from one of the 3 routing registries: • ARIN: American Registry for Internet Numbers • RIPE: Reseaux IP Europeens • APNIC: Asia Pacific Network Information Center • Each Autonomous System (AS) is assigned a 16-bit number (65536 total) • Currently 10,000 AS’s in use Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
Advertising a Route • One router telling another one • The prefix • IP address of the next hop • Path list of AS’s that the announcement has passed through • Since announcement propagates from destination, this yields the path • No refresh messages required • The announcing router will follow the path itself Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
BGP Routing Table Scaling • Many small networks • Aggregation hides a lot… Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
BGP Update Message • Contains information about • New Routes • Withdrawn Routes: No longer valid • Path Attributes: • Path Weights • Multple Exit Discriminators • Local Preferences • Etc. • Attribute information allows policies to be implemented Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
BGP: A Path-vector protocol • ner-routes>show ip bgp • BGP table version is 6128791, local router ID is 4.2.34.165 • Status codes: s suppressed, d damped, h history, * valid, > best, i - internal • Origin codes: i - IGP, e - EGP, ? - incomplete • Network Next Hop Metric LocPrf Weight Path • * i3.0.0.0 4.0.6.142 1000 50 0 701 80 i • * i4.0.0.0 4.24.1.35 0 100 0 i • * i12.3.21.0/23 192.205.32.153 0 50 0 7018 4264 6468 ? • * e128.32.0.0/16 192.205.32.153 0 50 0 7018 4264 6468 25 e • Every route advertisement contains the entire AS path • Generalization of distance vector • Can implement policies for choosing best route • Can detect loops at an AS level Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
Two or more interdomain connections between the same AS’s Two or more interdomain connections between a customer and different ISPs Multihoming B 5 7 4 RIP 4 8 IBGP 6 6 2 2 IBGP a 3 3 1 IGRP A Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
Multiexit Discriminators (MEDs) One AS influences the decisions of a neighboring AS B 5 7 4 RIP 4 8 IBGP 6 6 2 2 • AS_A wants to tell AS_B that network x is closer to router 2 than to router 3 • Router 2 advertises a smaller MED value for x than Router 3 • AS_B prefers the path to x that does not go through 6 and 3 • AS_B does not propagate MEDS from AS_A any further IBGP x 3 3 1 IGRP A Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
Routes received from neighbors Routes sent to neighbors Routes used by router Decision process Routing Process Overview Choose best route accept, deny, set preferences forward, not forward set MEDs Import Policy Engine Export Policy Engine BGP table IP routing table Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
Used to indicate preference among multiple paths for the same prefix anywhere in the Internet. The higher the value the more preferred Exchanged between IBGP peers only. Local to the AS. Often used to select a specific exit point for a particular destination Attribute: Local Preference 140.20.1.0/24 AS1 AS3 AS2 AS4 BGP table at AS4: Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
Choosing best route • Choose route with highest LOCAL_PREF • Preference-based routing • If multiple choices, select route with shortest hop-count • If multiple choices for same neighboring AS, choose path with max MED value • Choose route based on lowest origin type • IGP < EGP < INCOMPLETE • Among IGP paths, choose one with lowest cost • Finally use router ID to break the tie. Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
BGP Policies • Multiple ways to implement a “policy” • Decide not propagate advertisements • I’m not carrying your traffic • Decide not to consider MEDs but use shortest hop • Hot potato routing • Prepend own AS# multiple times to fool BGP into not thinking AS further away • Many others… Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
ISP1 ISP2 r1 r3 r2 r2 AS1 AS1 ISP1 ISP2 r1 r3 r1 r2 r3 r1 r2 r3 r2,r3 r2,r1 Transit vs. Nontransit AS Transit traffic = traffic whose source and destination are outside the AS Nontransit AS: does not carry transit traffic Transit AS: does carry transit traffic • Advertise own routes only • Do not propagate routes learned from other AS’s • Advertises its own routes PLUS routes • learned from other AS’s Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
Small ISP Large ISP Large ISP r1 r2 r3 r1 r3 r2,r3 r2,r1 Customer-Transit Problem • Assume that the small ISP is a customer of two large ISPs • If customer ISP does not obey export rules • forwards advertisements from one large ISP to another • Carries huge volume of transit traffic between two large ISPs Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
BGP and Performance • BGP isn’t designed for policy routing not performance • Hot Potato routing is most common but suboptimal • Performance isn’t the greatest • 20% of internet paths inflated by at least 5 router hops • Very susceptible to router misconfiguration • Blackholes: announce a route you cannot reach • October 1997 one router brought down the internet for 2 hours • Flood update messages (don’t store routes, but keep asking your neighbors to clue you in). 3-5 million useless withdrawals! • In principle, BGP could diverge • Various solutions proposed to limit the set of allowable policies • Focuses on avoiding “policy cycles” Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
4/1-4/16 2002 • 1,224,733 IP addresses, • 2,093,194 IP links, • 932,000 destinations, • 70% of globally routable network prefixes; • 10,999 ASes (84% of ASes), • 34,209 peering sessions Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
Skitter Legend • Plot the AS based on polar co-ordinates (r,θ): • r = 1- log (As degree +1 / Max Degree+1) • Higher the degree lower the radius • Θ = longitude of AS headquarters Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002
Summary • The Internet is composed of various ASes which use BGP to inter-network themselves • The Internet uses classless addressing • BGP as a routing protocol • Path-vector based • Supports route-aggregation • Supports preferential routing • Uses Import and Export policies • BGP is the protocol that “holds” the Internet together Abhay Parekh, EE122 S2003:Updated from Stoica EE122 F2002