Lecture 4: Intradomain Routing CS 598: Advanced Internetworking Matthew Caesar February 1, 011 1
Robert. How can routers find paths? Robert s local DNS server 10.1.8.7 A 10.1.0.0/16 10.1.0.1 Routing Table at A Prefix IF Hops 4.0.0.0/8 B Routing Table at C Prefix IF Hops 4.0.0.0/8 D 1 B 3..0.1 3..0.0/4 C 81..0.0/4 Routing Table at B Prefix IF Hops 4.0.0.0/8 D 1 4.18.5.1 Hosts assigned topology-dependent addresses Routers advertise address blocks ( prefixes ) Routers compute shortest paths to prefixes Map IP addresses to names with DNS More on Routing and Naming in Lectures 3,4,7 D 4.0.0.0/8 81..0.1 4.5.16..com authoritative DNS sever 4.9.0.1 Prefix IP address twitter.com Twitter s authoritative DNS server
Intra- vs. Inter-domain routing dest source Sprint AT&T BGP session Run Interior Gateway Protocol (IGP) within ISPs OSPF, IS-IS, RIP Use Border Gateway Protocol (BGP) to connect ISPs To reduce costs, peer at exchange points (AMS-IX, MAE-EAST)
AT&T Using MED to balance I would traffic like AT&T across to ingressesroute to me via source MED=1 dest PoP A Sprint PoP A MED= PoP B MED: tell neighboring ISP which ingress peering points I prefer Local ISP can choose to filter MED on import More on network configuration in lectures 8,9
Different peering points, different advertisements source Advertise dest dest Sprint AT&T Don t advertise dest Sprint can trick AT&T into routing over longer distance! Consistent export: advertise same set of prefixes at all peering points ISPs sometimes sign SLAs with consistent export clause
How can ISPs control network usage? 6 3 4 9 3 1 Border router Internal router 1. Provide internal reachability (IGP). Learn routes to external destinations (ebgp) 3. Distribute externally learned routes internally (ibgp) 4. Select closest egress (IGP) 6
How can ISPs control network usage? Challenges: When problems occur, hard to tell who/what s the cause No single entity in charge, allows for organic growth but harder to optimize routes or resolve disputes Misconfigurations, cross-protocol interactions More on policies and troubleshooting in lectures 14-17
Administrivia Course Lecture Pick a topic from the lecture (or suggest your own) Send me an email by /7 with: The topic A list of ~10 specific sub-topics you d want to cover Should be a lecture, not a paper overview Focus on fundamental concepts: algorithms, data structures, design principles What would be useful for people to know It s ok to swipe slides from the web (courses from 8 other universities, etc
Do IP Networks Manage Themselves? In some sense, yes: TCP senders send less traffic during congestion Routing protocols adapt to topology changes But, does the network run efficiently? Congested link when idle paths exist? High-delay path when a low-delay path exists? How should routing adapt to the traffic? Avoiding congested links in the network Satisfying application requirements (e.g., delay) essential questions of traffic engineering 9
Original ARPAnet Routing (1969) Shortest-path routing based on congestion Leads to oscillations Maybe provision over longer timescales? But, how to predict future load? And what about path changes? Also, how to assign link weights based on desired utilizations? More on traffic engineering in lectures 10,11 3 1 3 11 4 5 1 10 0 4 congested link
Costing out of equipment Increase cost of link to high value Triggers immediate flooding of LSAs Leads to new shortest paths avoiding the link While the link still exists to forward during convergence Then, can safely disconnect the link New flooding of LSAs, but no influence on forwarding A 3 B C 1 D 5 99 F E G Suppose we Want to take down this link destination 4 C 3
Equal-Cost Multi-Path (ECMP) Multiple shortest paths Router can compute multiple shortest paths Forwarding table has multiple outgoing links Router load balances traffic evenly over the links Downside: packet reordering. Fix: hash flows to paths A 3 B D F G C 1 5 E destination 3 H 3
ECMP Reduces Forwarding-Plane Convergence Suppose one of the outgoing links fails Incident router detects the failure Quick recomputation of paths without failed link Local forwarding table updated to use other link Other routers have no forwarding table change! A 3 B D F G Only router C needs to change its forwarding table C 3 1 H 5 3 E destination
Distance vector: convergence Updates received by A: 0 1 3 4 5 6 7 A source B Withdraw(H) D C E F G H destination How many updates would link-state require? Is link-state better or worse than distance vector? Which should be used for intra-domain routing? What about inter-domain routing?
Types of AS relationships hierarchy #1 hierarchy # hierarchy #3 peer link Provider-customer: customer pays provider money to transit traffic Peer link: ISPs form link out of mutual benefit, typically no money is exchanged
Policies between ISPs hierarchy #1 hierarchy # hierarchy #3 Prefer customer over peer routes Do not export provider routes to peers peer link Source Destination Example policies: peer, provider/customer Also trust issues, security, scalability, traffic engineering
Types of ASes hierarchy #1 hierarchy # hierarchy #3 Tier-1s must be connected in a full mesh (Why? Who makes sure that happens?) peer link Tier-1: ISP with no providers (core of Internet is clique of tier-1s) Stub: ISP with no customers Multihomed: ISP with more than one provider Transit: ISP that forward traffic between other ISPs
Intra- vs. Inter-domain routing source AT&T BGP session dest Sprint Run Interior Gateway Protocol (IGP) within ISPs OSPF, IS-IS, RIP Use Border Gateway Protocol (BGP) to connect ISPs To reduce costs, peer at exchange points (AMS-IX, MAE-EAST)
AT&T Using MED to balance I would traffic like AT&T across to ingresses Route to me via source MED=1 dest PoP A Sprint MED= MED: tell neighboring ISP which ingress peering points I prefer Local ISP can choose to filter MED on import
Different peering points, different advertisements source Advertise dest dest Sprint AT&T Don t advertise dest Sprint can trick AT&T into routing over longer distance! Consistent export: advertise same set of prefixes at all peering points ISPs sometimes sign SLAs with consistent export clause
How inter- and intra- domain routing work together Border router Internal router 6 3 4 9 3 1 1. Provide internal reachability (IGP). Learn routes to external destinations (ebgp) 3. Distribute externally learned routes internally (ibgp) 4. Select closest egress (IGP)
Provider A Provider B Tag=CUST Config Rule: If (tag==cust) FILTER Config Rule: If (from B) Tag: CUST Problem: need to export routes only to certain neighbors Solution: use community attribute tags to annotate routing advertisements Customer C
Background - ibgp R A E C ibgp F IGP B D ibgp sessions run on TCP Overlay over the intradomain routing protocol (IGP) like OSPF Routing messages and data packets forwarded via IGP within AS Routes from ibgp session not propagated to another ibgp session Route
Approach#1: Full-mesh ibgp R R A B E F D Every router has an ibgp session to every border router Not scalable R C R R ibgp session Route
Approach#: Route reflection R Route reflector B A F Reflects routes to and from client ibgp sessions Avoids full-mesh Hierarchy of reflectors E C D Client ibgp session Route
Problems with route reflection: #1 Problem #1: Routers may not choose best route Why? Route reflector reflects only its best route B R Client session Route A E Data packets C B chooses the sub-optimal route through C Lower cost to egress In full-mesh B would have chosen route through A F D
Problem#: Forwarding loops R: goto A To: R B R A IGP R1 R R D To: R R: goto D C Client ibgp session Route IGP link Data packets