Presentation is loading. Please wait.

Presentation is loading. Please wait.

COMP/ELEC 429/556 Introduction to Computer Networks

Similar presentations


Presentation on theme: "COMP/ELEC 429/556 Introduction to Computer Networks"— Presentation transcript:

1 COMP/ELEC 429/556 Introduction to Computer Networks
Inter-domain routing Some slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

2 Previous focus: Intra-Domain Routing
Interior router Border router AS-1 AS-3 AS-2 Intra-domain routing protocol aka Interior Gateway Protocol (IGP) T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

3 Today’s focus: Inter-Domain Routing
Interior router Border router AS-1 AS-3 AS-2 T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

4 Inter-Domain Routing Considerations
Global connectivity is at stake Inevitably leads to one single protocol that everyone must speak Unlike many choices in intra-domain routing What are the requirements? Scalability Flexibility in choosing routes If you were to choose, link state based or distance vector based? Border Gateway Protocol (BGP) A hybrid between link state and distance vector “Path vector” T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

5 Border Gateway Protocol Part I: E-BGP
AS2 AS1 E-BGP border router interior router Two types of routers Border router, Interior router T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

6 Border Gateway Protocol Part II: I-BGP
AS2 AS1 E-BGP I-BGP border router interior router Two types of routers Border router, Interior router T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

7 BGP Operations (Simplified)
Establish session on TCP port 179 AS1 BGP session Exchange all active routes AS2 While connection is ALIVE exchange route UPDATE messages Exchange incremental updates T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

8 Destination IP address prefix + attributes values
BGP Update Messages Update : Announcing new routes or withdrawing previously announced routes. Update = Destination IP address prefix + attributes values (e.g. a routing path) T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

9 Part I: E-BGP, Share connectivity information across ASs
you can reach net prefix A via addr and the path is “AS2” AS2 AS1 E-BGP addr A R1 BGP table at R1: dest network prefix AS path next hop A AS addr T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

10 Part II: I-BGP, Carrying Info within an AS
E-BGP update I-BGP used to disseminate learned routes to all routers in AS I-BGP updates T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

11 Part II: I-BGP, Carrying Info within an AS
you can reach net B via addr1 and the path is “AS3” you can reach net B via addr2 and the path is “AS3 AS2” E-BGP E-BGP you can reach net B via addr1 and the path is “AS3” addr2 A AS1 AS2 addr1 AS3 B T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

12 Attributes are Used to Select Best Routes
/24 pick me! /24 pick me! /24 pick me! Given multiple routes to the same prefix, a BGP speaker must pick at most one best route /24 pick me! T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

13 Example: Multiple AS Paths
128.2/16 AS701 AS7018 128.2/16 9 701 128.2/16 AS1239 AS73 Default choice: Pick shortest path T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

14 Shorter Doesn’t Always Mean better
Is path 4 1 better than path 3 2 1? AS 4 AS 3 AS 2 AS 1 AS can use custom policies other than shortest path T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

15 Benefits of BGP Design Path Vector style routing Advantages:
Distance vector algorithm with extra information For each route, store the complete path (ASs) Advantages: can make policy choices (choose among many possible learned paths) based on set of ASs in path can easily avoid loops T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

16 Announcing and Choosing Routes
BGP may learn many different paths for a destination network Learns only reachability information, no performance metrics Not about optimizing anything All about policy (business and politics) What a BGP speaker announces or not announces to a neighbor determines what routes may get used by that neighbor Router chooses among paths based on policy T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

17 Nontransit vs. Transit ASes
ISP 2 Internet Service providers (often) are transit networks ISP 1 NET A Nontransit AS might be a corporate or campus network. Traffic NEVER flows from ISP 1 through NET A to ISP 2 (At least not intentionally!) IP traffic T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

18 Selective Transit NET A NET B NET C NET A provides transit
between NET B and NET C and between NET D and NET C NET A DOES NOT provide transit Between NET D and NET B NET A IP traffic NET D Most transit networks transit in a selective manner… T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

19 Customers and Providers
IP traffic Customer pays provider for access to the Internet T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

20 The Peering Relationship
customer provider Peers provide transit between their respective customers Peers do not provide transit between peers Peers (often) do not exchange $$$ traffic allowed traffic NOT allowed T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

21 Peering Provides Shortcuts
customer provider Peering also allows connectivity between the customers of “Tier 1” providers. T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

22 Import Routes provider route customer route peer route ISP route From
T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

23 Export Routes provider route peer route customer route ISP route To
From provider To peer To peer To customer To customer filters block T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

24 How can routes be marked as “provider”, “peer”, “customer”, “isp” ?
Use “Community Attribute” in route announcement Used for signaling within and between ASs A community attribute is 32 bits By convention, first 16 bits is ASN indicating who is giving it an interpretation community number Very flexible BECAUSE it has no predefined meaning T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

25 BGP Issues BGP designed for policy not performance
Susceptible to router misconfiguration Blackholes: announce a route you cannot reach Slow convergence time Rate limiting and route flap dampening T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

26 Combining IGP and BGP BGP Process IGP Process OS kernel
BGP Routing tables IGP Process IGP Routing tables OS kernel Forwarding Table Manager Forwarding Table T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

27 Combine BGP and IGP Tables to Create Forwarding Table
I-BGP: /16 Next Hop = /16 E-BGP IGP /30 destination next hop AS 1 AS 2 /30 Forwarding Table /16 destination next hop /30 BGP /16 destination next hop + T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

28 Life Cycle of a Packet in the Internet
Address Resolution Protocol (ARP) On the same subnet, need to map IP address to MAC (e.g. Ethernet) address Host and router have ARP cache to store the IP-MAC pairs In case of no match in ARP cache, broadcast an ARP request with the IP address in question and the device with the IP address will reply with its MAC address T. S. Eugene Ng eugeneng at cs.rice.edu Rice University

29 Life Cycle of a Packet in the Internet
For each hop in the network, do the following steps: Decapsulate the Ethernet frame to get the IP header (except no need to do this at the source) Check routing table by the destination IP address, get the next-hop IP address and the network interface Learn the MAC address of the next hop (look up in ARP cache or broadcast an ARP request) Encapsulate the IP packet into an Ethernet frame with the destination MAC address Send the Ethernet frame out from the next-hop network interface T. S. Eugene Ng eugeneng at cs.rice.edu Rice University


Download ppt "COMP/ELEC 429/556 Introduction to Computer Networks"

Similar presentations


Ads by Google