15-744: Computer Networking L-5 Intra-Domain Routing.

Slides:



Advertisements
Similar presentations
Courtesy: Nick McKeown, Stanford
Advertisements

1 LINK STATE PROTOCOLS (contents) Disadvantages of the distance vector protocols Link state protocols Why is a link state protocol better?
Routing - I Important concepts: link state based routing, distance vector based routing.
Networks: Routing1 Network Layer Routing. Networks: Routing2 Network Layer Concerned with getting packets from source to destination Network layer must.
1 Comnet 2010 Communication Networks Recitation 6 Routing.
Routing So how does the network layer do its business?
ECE544: Communication Networks-II, Spring 2010 D. Raychaudhuri Lecture 4 Includes teaching materials from L. Peterson.
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 22 Introduction to Computer Networks.
Chapter 4 Distance Vector Problems, and Link-State Routing Professor Rick Han University of Colorado at Boulder
1 Relates to Lab 4. This module covers link state routing and the Open Shortest Path First (OSPF) routing protocol. Dynamic Routing Protocols II OSPF.
Chapter 4 IP Routing Professor Rick Han University of Colorado at Boulder
ECE544: Communication Networks-II, Spring 2007 D. Raychaudhuri Lecture 4,5 Includes teaching materials from L. Peterson.
15-744: Computer Networking L-5 Intra-Domain Routing.
Routing.
1 Computer Networks Routing Algorithms. 2 IP Packet Delivery Two Processes are required to accomplish IP packet delivery: –Routing discovering and selecting.
15-744: Computer Networking
EE 122: Intra-domain routing Ion Stoica September 30, 2002 (* this presentation is based on the on-line slides of J. Kurose & K. Rose)
1 Relates to Lab 4. This module covers link state routing and the Open Shortest Path First (OSPF) routing protocol. Dynamic Routing Protocols II OSPF.
Routing Concepts Warren Toomey GCIT. Introduction Switches need to know the link address and location of every station. Doesn't scale well, e.g. to several.
1 CS 4396 Computer Networks Lab Dynamic Routing Protocols - II OSPF.
Distance Vector Routing Protocols W.lilakiatsakun.
1 Computer Communication & Networks Lecture 22 Network Layer: Delivery, Forwarding, Routing (contd.)
CS551: Unicast Routing Christos Papadopoulos (
Network Layer r Introduction r Datagram networks r IP: Internet Protocol m Datagram format m IPv4 addressing m ICMP r What’s inside a router r Routing.
Spring 2008CS 3321 Intradomain Routing Outline Algorithms Scalability.
Packet-Switching Networks Routing in Packet Networks.
Link-state routing  each node knows network topology and cost of each link  quasi-centralized: each router periodically broadcasts costs of attached.
M.Menelaou CCNA2 ROUTING. M.Menelaou ROUTING Routing is the process that a router uses to forward packets toward the destination network. A router makes.
Routing protocols Basic Routing Routing Information Protocol (RIP) Open Shortest Path First (OSPF)
Advance Computer Networking L-8 Routers Acknowledgments: Lecture slides are from the graduate level Computer Networks course thought by Srinivasan Seshan.
Network Layer4-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
Static versus Dynamic Routes Static Route Uses a protocol route that a network administrators enters into the router Static Route Uses a protocol route.
Distance Vector Routing Protocols Routing Protocols and Concepts Lecture Week 4.
Page 110/27/2015 A router ‘knows’ only of networks attached to it directly – unless you configure a static route or use routing protocols Routing protocols.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 06_a Routing Protocols: RIP, OSPF, BGP Instructor: Dr. Li-Chuan Chen Date: 10/06/2003 Based in part upon.
Lecture 17 November 8Intra-domain routing November 13Internet routing 1 November 15Internet routing 2 November 20End-to-end protocols 1 November 22End-to-end.
Spring 2006CS 3321 Intradomain Routing Outline Algorithms Scalability.
Routing and Routing Protocols
1 Computer Communication & Networks Lecture 21 Network Layer: Delivery, Forwarding, Routing Waleed.
Routing Networks and Protocols Prepared by: TGK First Prepared on: Last Modified on: Quality checked by: Copyright 2009 Asia Pacific Institute of Information.
ICS 156: Networking Lab Magda El Zarki Professor, ICS UC, Irvine.
Internet Routing r Routing algorithms m Link state m Distance Vector m Hierarchical routing r Routing protocols m RIP m OSPF m BGP.
1 CSE524: Lecture 12 Network layer Functions. 2 Where we’re at… Internet architecture and history Internet protocols in practice Application layer Transport.
Dynamic Routing Protocols II OSPF
Computer Networks22-1 Network Layer Delivery, Forwarding, and Routing.
Ch 22. Routing Direct and Indirect Delivery.
Spring 2000CS 4611 Routing Outline Algorithms Scalability.
1 Chapter 4: Internetworking (IP Routing) Dr. Rocky K. C. Chang 16 March 2004.
Spring Routing: Part I Section 4.2 Outline Algorithms Scalability.
Network Layer (2). Review Physical layer: move bits between physically connected stations Data link layer: move frames between physically connected stations.
CS 6401 Intra-domain Routing Outline Introduction to Routing Distance Vector Algorithm.
IP tutorial - #2 Routing KAIST Dept. of CS NC Lab.
1 Relates to Lab 4. This module covers link state routing and the Open Shortest Path First (OSPF) routing protocol. Dynamic Routing Protocols II OSPF.
CS 5565 Network Architecture and Protocols
Chapter 4 Network Layer Computer Networking: A Top Down Approach 6th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 CPSC 335 Data Communication.
Dynamic Routing Protocols II OSPF
Network Layer Introduction Datagram networks IP: Internet Protocol
Intra-Domain Routing Jacob Strauss September 14, 2006.
Routing.
Dynamic Routing Protocols II OSPF
Routing in Packet Networks Shortest Path Routing
Road Map I. Introduction II. IP Protocols III. Transport Layer
CS 4700 / CS 5700 Network Fundamentals
CS 3700 Networks and Distributed Systems
Intradomain Routing Outline Introduction to Routing
CS 640: Introduction to Computer Networks
CS 3700 Networks and Distributed Systems
Communication Networks
Communication Networks
Routing.
Presentation transcript:

15-744: Computer Networking L-5 Intra-Domain Routing

L -5; © Srinivasan Seshan, Routers & Routing High-speed router architecture Intro to routing protocols Assigned reading [P+98] C. Partridge et al., A 50 Gb/s IP Router

L -5; © Srinivasan Seshan, Outline IP router design Routing protocols – distance vector Distance vector routing – challenges Routing protocols – link state

L -5; © Srinivasan Seshan, What Does a Router Look Like? Line cards Network interface cards Forwarding engine Fast path routing (hardware vs. software) Backplane Switch or bus interconnect Network controller Handles routing protocols, error conditions

L -5; © Srinivasan Seshan, Router Processing (P+88) Packet arrives arrives at inbound line card Header transferred to forwarding engine 24/56 bytes of packet + link layer info Forwarding engine transmits result to line card Packet copied to outbound line card

L -5; © Srinivasan Seshan, Forwarding Engine (P+88) General purpose processor + software 8KB L1 Icache Holds full forwarding code 96KB L2 cache Forwarding table cache 16MB L3 cache Full forwarding table x 2 - double buffered for updates

L -5; © Srinivasan Seshan, Forwarding Engine (P+88) Checksum updated but not checked Options handled by network proc Fragmentation handed by network processor Multicast packets are copied on input line card Packet trains help route hit rate Packet train = sequence of packets for same/similar flows

L -5; © Srinivasan Seshan, Network Processor Runs routing protocol and downloads forwarding table to forwarding engines Two forwarding tables per engine to allow easy switchover Performs “slow” path processing Handles ICMP error messages Handles IP option processing

L -5; © Srinivasan Seshan, Switch Design Issues Have N inputs and M outputs Multiple packets for same output – output contention Switch contention – switch cannot support arbitrary set of transfers Crossbar Bus High clock/transfer rate needed for bus Banyan net Complex scheduling needed to avoid switch contention Solution – buffer packets where needed

L -5; © Srinivasan Seshan, Switch Buffering Input buffering Which inputs are processed each slot – schedule? Head of line packets destined for busy output blocks other packets Output buffering Output may receive multiple packets per slot Need speedup proportional to # inputs Internal buffering Head of line blocking Amount of buffering needed

L -5; © Srinivasan Seshan, Line Card Interconnect (P+88) Virtual output buffering Maintain per output buffer at input Solves head of line blocking problem Each of MxN input buffer places bid for output Crossbar connect Challenge: map of bids to schedule for crossbar

L -5; © Srinivasan Seshan, Switch Scheduling (P+88) Schedule for 128 byte slots Greedy mapping of inputs to outputs Fairness Order of greedy matching permuted randomly Priority given to forwarding engine in schedule (why?) Parallelized Check independent paths simultaneously

L -5; © Srinivasan Seshan, Outline IP router design Routing protocols – distance vector Distance vector routing – challenges Routing protocols – link state

L -5; © Srinivasan Seshan, Factors Affecting Routing Routing algorithms view the network as a graph Problem: find lowest cost path between two nodes Factors Static topology Dynamic load Policy D A F E B C

L -5; © Srinivasan Seshan, Two Main Approaches Distance-vector (DV) protocols Link state (LS) protocols

L -5; © Srinivasan Seshan, Distance Vector Protocols Employed in the early Arpanet Distributed next hop computation Unit of information exchange Vector of distances to destinations Distributed Bellman-Ford Algorithm

L -5; © Srinivasan Seshan, Distributed Bellman-Ford Start Conditions: Each router starts with a vector of (zero) distances to all directly attached networks Send step: Each router advertises its current vector to all neighboring routers Receive step: Upon receiving vectors from each of its neighbors, router computes its own distance to each neighbor Then, for every network X, router finds that neighbor who is closer to X than any other neighbor Router updates its cost to X After doing this for all X, router goes to send step

L -5; © Srinivasan Seshan, Example - Initial Distances A B E C D Info at Node A B C D ABC 07~ 701 ~10 ~~ Distance to Node D ~ ~ 2 0 E18~2 1 8 ~ 2 0 E

L -5; © Srinivasan Seshan, E Receives D’s Routes; Updates Cost Info at Node A B C D ABC 07~ 701 ~10 ~~2 Distance to Node D ~ ~ 2 0 E ~ 2 0 E A B E C D

L -5; © Srinivasan Seshan, A receives B’s; Updates Cost Info at Node A B C D ABC ~10 ~~2 Distance to Node D ~ ~ 2 0 E ~ 2 0 E A B E C D

L -5; © Srinivasan Seshan, A receives E’s routes; Updates Costs Info at Node A B C D ABC ~10 ~~2 Distance to Node D 3 ~ 2 0 E ~ 2 0 E A B E C D

L -5; © Srinivasan Seshan, Final Distances Info at Node A B C D ABC Distance to Node D E E A B E C D

L -5; © Srinivasan Seshan, View From a Node dest A B C D ABD Next hop E’s routing table A B E C D

L -5; © Srinivasan Seshan, Final Distances After Link Failure Info at Node A B C D ABC Distance to Node D E E A B E C D X

L -5; © Srinivasan Seshan, Outline IP router design Routing protocols – distance vector Distance vector routing – challenges Routing protocols – link state

L -5; © Srinivasan Seshan, The Bouncing Effect A B C B C2 1 destcost A C1 1 destcost A B1 2 destcost X

L -5; © Srinivasan Seshan, C Sends Routes to B A 25 1 B C B C2 1 destcost A C1 ~ destcost A B1 2 destcost

L -5; © Srinivasan Seshan, B Updates Distance to A A 25 1 B C B C2 1 destcost A C1 3 destcost A B1 2 destcost

L -5; © Srinivasan Seshan, B Sends Routes to C A 25 1 B C B C2 1 destcost A C1 3 destcost A B1 4 destcost

L -5; © Srinivasan Seshan, C Sends Routes to B A 25 1 B C B C2 1 destcost A C1 5 destcost A B1 4 destcost

L -5; © Srinivasan Seshan, How are These Loops Caused? Observation 1: B’s metric increases Observation 2: C picks B as next hop to A But, the implicit path from C to A includes itself!

L -5; © Srinivasan Seshan, Solution 1: Holddowns If metric increases, delay propagating information In our example, B delays advertising route C eventually thinks B’s route is gone, picks its own route B then selects C as next hop Adversely affects convergence

L -5; © Srinivasan Seshan, Other “Solutions” Split horizon C does not advertise route to B Poisoned reverse C advertises route to B with infinite distance Works for two node loops Does not work for loops with more nodes

L -5; © Srinivasan Seshan, Example Where Split Horizon Fails A When link breaks, C marks D as unreachable and reports that to A and B Suppose A learns it first A now thinks best path to D is through B A reports D unreachable to B and a route of cost=3 to C C thinks D is reachable through A at cost 4 and reports that to B B reports a cost 5 to A who reports new cost to C etc... X B C D

L -5; © Srinivasan Seshan, Avoiding the Bouncing Effect Select loop-free paths One way of doing this: Each route advertisement carries entire path If a router sees itself in path, it rejects the route BGP does it this way Space proportional to diameter

L -5; © Srinivasan Seshan, Loop Freedom at Every Instant Does bouncing effect avoid loops? No! Transient loops are still possible Why? Because implicit path information may be stale See this in BGP convergence Only way to fix this Ensure that you have up-to-date information by explicitly querying

L -5; © Srinivasan Seshan, Distance Vector in Practice RIP and RIP2 Uses split-horizon/poison reverse BGP Propagates entire path Path also used for effecting policies

L -5; © Srinivasan Seshan, Outline IP router design Routing protocols – distance vector Distance vector routing – challenges Routing protocols – link state

L -5; © Srinivasan Seshan, Basic Steps Start condition Each node assumed to know state of links to its neighbors Step 1 Each node broadcasts its state to all other nodes Reliable flooding mechanism Step 2 Each node locally computes shortest paths to all other nodes from global state Dijkstra’s shortest path tree (SPT) algorithm

L -5; © Srinivasan Seshan, Link State Packets (LSPs) Periodically, each node creates a link state packet containing: Node ID List of neighbors and link cost Sequence number Needed to avoid stale information from flood Time to live (TTL) Node outputs LSP on all its links

L -5; © Srinivasan Seshan, Reliable Flooding When node J receives LSP from node K If LSP is the most recent LSP from K that J has seen so far, J saves it in database and forwards a copy on all links except link LSP was received on Otherwise, discard LSP How to tell more recent Use sequence numbers Same method as sliding window protocols

L -5; © Srinivasan Seshan, SPT Algorithm (Dijkstra) SPT = {a} for all nodes v if v adjacent to a then D(v) = cost (a, v) else D(v) = infinity Loop find w not in SPT, where D(w) is min add w in SPT for all v adjacent to w and not in SPT D(v) = min (D(v), D(w) + C(w, v)) until all nodes are in SPT

L -5; © Srinivasan Seshan, Example AF B DE C B CDEF

L -5; © Srinivasan Seshan, Example AF B DE C B CDEF

L -5; © Srinivasan Seshan, Example AF B DE C B CDEF

L -5; © Srinivasan Seshan, Example AF B DE C B CDEF

L -5; © Srinivasan Seshan, Example AF B DE C B CDEF

L -5; © Srinivasan Seshan, Example AF B DE C B CDEF

L -5; © Srinivasan Seshan, Link State Characteristics With consistent LSDBs, all nodes compute consistent loop-free paths Limited by Dijkstra computation overhead, space requirements Can still have transient loops A B C D Packet from C  A may loop around BDC if B knows about failure and C & D do not X

L -5; © Srinivasan Seshan, Summary - IP router design Different architectures for different types of routers High speed routers incorporate large number of processors Common case is optimized carefully

L -5; © Srinivasan Seshan, Summary: LS vs. DV In DV send everything you know to your neighbors In LS send info about your neighbors to everyone Msg size: small with LS, potentially large with DV Msg exchange: LS: O(nE), DV: only to neighbors

L -5; © Srinivasan Seshan, Summary: LS vs. DV Convergence speed: LS: faster – don’t need to process LSPs before forwarding DV: fast with triggered updates Space requirements: LS maintains entire topology DV maintains only neighbor state

L -5; © Srinivasan Seshan, Summary: LS vs. DV Robustness: LS can broadcast incorrect/corrupted LSP Can be made robust since sources are aware of alternate paths DV can advertise incorrect paths to all destinations Incorrect calculation can spread to entire network

L -5; © Srinivasan Seshan, Summary: LS vs. DV In LS nodes must compute consistent routes independently - must protect against LSDB corruption In DV routes are computed relative to other nodes Bottom line: no clear winner, but we see more frequent use of LS in the Internet

L -5; © Srinivasan Seshan, Next Lecture: Inter-Domain Routing Border Gateway Protocol (BGP) Assigned reading [LAB00] Delayed Internet Routing Convergence [Nor00] Internet Service Providers and Peering