1 / 30

Internet Routing (COS 598A) Today: Addressing and Routing

Internet Routing (COS 598A) Today: Addressing and Routing. Jennifer Rexford http://www.cs.princeton.edu/~jrex/teaching/spring2005 Tuesdays/Thursdays 11:00am-12:20pm. Outline. IP addressing Address allocation blocks Packet forwarding Routing protocols Autonomous Systems

mab
Download Presentation

Internet Routing (COS 598A) Today: Addressing and Routing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Internet Routing (COS 598A)Today: Addressing and Routing Jennifer Rexford http://www.cs.princeton.edu/~jrex/teaching/spring2005 Tuesdays/Thursdays 11:00am-12:20pm

  2. Outline • IP addressing • Address allocation blocks • Packet forwarding • Routing protocols • Autonomous Systems • Interdomain routing • Intradomain routing • Practical realities • Asymmetric routing • IP address != host • Autonomous System != institution • Discussion of Saltzer84 and Clark88

  3. 00001100 00100010 10011110 00000101 IP Addressing • 32-bit number in dotted-quad notation (12.34.158.5) • Divided into network & host portions (left and right) • 12.34.158.0/24 is a 24-bit prefix with 28 addresses 12 34 158 5 Network (24 bits) Host (8 bits)

  4. Some History: Why Dotted-Quad Notation? • In the olden days… • Class A: 0* • Very large /8 blocks (e.g., MIT has 18.0.0.0/8) • Class B: 10* • Large /16 blocks (e.g,. Princeton has 128.112.0.0/16) • Class C: 110* • Small /24 blocks (e.g., AT&T Labs has 192.20.225.0/24) • Class D: 1110* • Multicast groups • Class E: 11110* • Reserved for future use (sounds a bit scary…) • And then, address space became scarce…

  5. 00001100 00000100 00000000 00000000 Address 11111111 11111110 00000000 00000000 Mask Network Prefix for hosts Classless Inter-Domain Routing (CIDR) Use two 32-bit numbers to represent a network. Network number = IP address + Mask IP Address : 12.4.0.0 IP Mask: 255.254.0.0 Usually written as 12.4.0.0/15

  6. 12.0.0.0/16 : : : 12.1.0.0/16 12.3.0.0/24 12.2.0.0/16 12.3.1.0/24 : : 12.3.0.0/16 : : : 12.0.0.0/8 12.3.254.0/24 12.253.0.0/19 12.253.32.0/19 12.253.64.0/19 12.253.0.0/16 12.253.96.0/19 12.254.0.0/16 12.253.128.0/19 12.253.160.0/19 12.253.192.0/19 CIDR = Hierarchy in Address Allocation • Prefixes are key to Internet scalability • Address allocation by ARIN/RIPE/APNIC and by ISPs • Routing protocols and packet forwarding based on prefixes • Today, routing tables contain ~150,000-200,000 prefixes

  7. Figuring Out Who Owns an Address • Address registries • Public record of address allocations • ISPs should update when giving addresses to customers • However, records are notoriously out-of-date • Ways to query • UNIX: “whois –h whois.arin.net 128.112.136.35” • http://www.arin.net/whois/ • http://www.geektools.com/whois.php • …

  8. Example Output for 128.112.136.35 OrgName: Princeton University OrgID: PRNU Address: Office of Information Technology Address: 87 Prospect Avenue City: Princeton StateProv: NJ PostalCode: 08544-2007 Country: US NetRange: 128.112.0.0 - 128.112.255.255 CIDR: 128.112.0.0/16 NetName: PRINCETON NetHandle: NET-128-112-0-0-1 Parent: NET-128-0-0-0-0 NetType: Direct Allocation RegDate: 1986-02-24

  9. Longest Prefix Match Forwarding • Forwarding tables in IP routers • Maps each IP prefix to next-hop link(s) • Destination-based forwarding • Packet has a destination address • Router identifies longest-matching prefix • Cute algorithmic problem: very fast lookups forwarding table 4.0.0.0/8 4.83.128.0/17 12.0.0.0/8 12.34.158.0/24 126.255.103.0/24 destination 12.34.158.5 outgoing link Serial0/0.1

  10. Where do Forwarding Tables Come From? • Routers have forwarding tables • Map prefix to outgoing link(s) • Entries can be statically configured • E.g., “map 12.34.158.0/24 to Serial0/0.1” • But, this doesn’t adapt • To failures • To new equipment • To the need to balance load • … • That is where routing protocols come in…

  11. Routing Protocols

  12. Two-Tiered Internet Routing Architecture • Goal: distributed management of resources • Internetworking of multiple networks • Networks under separate administrative control • Solution: two-tiered routing architecture • Intradomain: inside a region of control • Okay for routers to share topology information • Routers configured to achieve a common goal • Interdomain: between regions of control • Not okay to share complete information • Networks may have different/conflicting goals • Led to the use of different protocols…

  13. Connections Between Networks interdomain protocols dial-in access ISP 2 private peering intradomain destination protocols IXP ISP 1 gateway router access router ISP 3 destination commercial customer

  14. Internet Routing Architecture • Divided into Autonomous Systems • Distinct regions of administrative control • Routers/links managed by a single “institution” • Service provider, company, university, … • Hierarchy of Autonomous Systems • Large, tier-1 provider with a nationwide backbone • Medium-sized regional provider with smaller backbone • Small network run by a single company or university • Interaction between Autonomous Systems • Internal topology is not shared between ASes • … but, neighboring ASes interact to coordinate routing

  15. AS Numbers (ASNs) ASNs are 16 bit values. 64512 through 65535 are “private” Currently around 20,000 in use. • Level 3: 1 • MIT: 3 • Harvard: 11 • Yale: 29 • Princeton: 88 • AT&T: 7018, 6341, 5074, … • UUNET: 701, 702, 284, 12199, … • Sprint: 1239, 1240, 6211, 6242, … • … ASNs represent units of routing policy

  16. Interdomain Routing (Between ASes) Path: 6, 5, 4, 3, 2, 1 4 3 5 2 6 7 1 Web server Client

  17. “12.34.158.0/24: path (2,1)” “12.34.158.0/24: path (1)” 2 3 Interdomain Routing: Border Gateway Protocol • ASes exchange info about who they can reach • IP prefix: block of destination IP addresses • AS path: sequence of ASes along the path • Policies configured by the AS’s operator • Path selection: which of the paths to use? • Path export: which neighbors to tell? 1 data traffic data traffic 12.34.158.5

  18. Zooming in to AS 3 • Border router • Learns BGP route from neighbor AS • Creates forwarding-table entry for prefix • But, how do the other routers get there? Border router: 12.34.158.0/24

  19. iBGP session How do Other Routers Learn the BGP Route? • Internal BGP • iBGP sessions between the routers • Allows other routers to get the big picture • Simplest case: “full mesh” of iBGP sessions “12.34.158.0/24 through red router” 12.34.158.0/24

  20. How To Get to the Egress Router? • Interior Gateway Protocol (OSPF/IS-IS) • Routers flood information to learn topology • Routers determine “next hop” to other routers… • Compute shortest paths based on the link weights • Link weights configured by the operator 2 1 3 1 3 2 1 5 “Use Serial0/0.1 to get to the red router” 4 3

  21. Constructing the Forwarding Table • Three protocols • External BGP: learn the external route • Internal BGP: propagate inside the AS • IGP: learn outgoing link on path to other router • Router joins the data • Prefix 12.34.158.0/24 reached through red router • Red router reached via link Serial0/0.1 • Forwarding entry: 12.34.158.0/24  Serial0/0.1 • Router forwards packets • Lookup destination 12.34.158.5 in table • Forward packet out link Serial0/0.1

  22. What if There are Multiple Choices? Hot-potato routing 192.44.78.0/24 egress 2 egress 1 IGP distances 56 15 This router has two BGP routes to 192.44.78.0/24. Hot potato: get traffic off of your network as soon as possible. Go for egress 1!

  23. Topology information is flooded within the routing domain Best end-to-end paths are computed locally at each router. Best end-to-end paths determine next-hops. Based on minimizing some notion of distance Works only if policy is shared and uniform Examples: OSPF, IS-IS Each router knows little about network topology Only best next-hops are chosen by each router for each destination. Best end-to-end paths result from composition of all next-hop choices Does not require any notion of distance Does not require uniform policies at all routers Examples: RIP, BGP Two Kinds of Routing Protocols Link State Vectoring

  24. Practical Realities

  25. IP Address != Host Machine • Dynamic IP address assignment (DHCP) • Single client may have multiple addresses over time • Address may correspond to multiple clients over time • Shared machines • Multiple users on a shared compute server • Transfers traveling through proxies and firewalls • Multiple Web sites hosted on a single machine • Replicated sites • Multiple machines hosting a single (popular) Web site • Addresses do not correspond to geographic location • Similar prefix does not necessarily imply nearby hosts • Single prefix may span hosts in large geographic region • Source IP address may be spoofed (e.g., DoS attack)

  26. AS != Institution • Not equivalent to an AS • Many institutions span multiple autonomous systems • Some institutions do not have their own AS number • Ownership of an AS may be hard to pinpoint (whois) • Not equivalent to a block of IP addresses (prefix) • Many institutions have multiple (non-contiguous) prefixes • Some institutions are a small part of a larger address block • Ownership of a prefix may be hard to pinpoint (whois) • Not equivalent to a domain name (att.com) • Some sites may be hosted by other institutions • Some institutions have multiple domain names (att.net)

  27. Routing is Not Symmetric Web request and TCP ACKs client server Web response

  28. Discussion of Saltzer84 • End-to-end argument • Better to implement functions close to application • … except when performance requires otherwise • Why? • … • What should be the “end” for routing? • Router? • End host? • Enterprise edge? • Autonomous System?

  29. Discussion of Clark88 • Basic story of Clark88 • Enumerate (and prioritize) system goals • … and see what decisions that leads you to make • Clark88 doesn’t say much about routing, but • “Some of the most significant problems with the Internet today relate to lack of sufficient tools for distributed management, especially in the area of routing.” • What should be goals & priorities for routing? • …

  30. For Next Tuesday’s Class… • Topology: Inside an Autonomous System • “Measuring ISP topologies with RocketFuel” (SIGCOMM’02) • “A first-principles approach to understanding the Internet’s router-level topology” (SIGCOMM’04) • Written review, one page each (hard-copy) • Brief summary of the paper • Reasons to accept the paper • Reasons to reject the paper • Three suggestions for future research directions • Other materials • Short paper on path diversity (Teixeira03) • Internet topology pictures (Maps)

More Related