OMP 3: NETWORKE & ISTRIUTE SSTEMS // OMP 3: NETWORKE & ISTRIUTE SSTEMS Internet Routing Jasleen Kaur Fall 0 Forwarding vs. Routing: Local vs. istributed oth datagram and virtual-circuit based networks need to know how to construct forwarding tables Forwarding: Ø Select an output port based on destination addr & routing table Ø Simple, well-defined process performed locally at a given node Ø Forwarding table used while forwarding packets eg: (network number, interface id, M address) Routing: Ø uilding the forwarding/routing table Ø complex, distributed algorithm problem Ø Routing table may be a precursor to a forwarding table eg: (network number, nexthopip, osttoestination) Why do we need two tables? opyright by Jasleen Kaur
OMP 3: NETWORKE & ISTRIUTE SSTEMS // Intra-domain Routing: Formulation Intra-domain routing ~ 00 routers Given: Ø Graph: where nodes are routers and edges are links Ø ost: associated with each link Find: Ø Lowest-cost path between any two nodes Requirements: Ø Self-healing, traffic-sensitive, scalable 3 E F Need dynamic, distributed algorithms! Two classes: based on distance-vector and link-state 3 istance-vector Routing: asic Idea Each node: Ø onstructs a vector of distances to all other nodes istance vector Ø istributes to immediate neighbors Neighbors use the distributed information to update their own distance vectors This distributed exchange-update-exchange should lead to globally consistent distance vectors (and routing tables) opyright by Jasleen Kaur
OMP 3: NETWORKE & ISTRIUTE SSTEMS // istance Table ata Structure Each node has its own table with a... Ø Row for each possible destination Ø olumn for each directly-attached adjacent node (neighbor) E () ost to estination " Each table entry gives cost to reach destination that adjacent node Ø istance = ost estination" (,) = distance from to as first hop = c(,) + min w { (,w)} w = {neighbors of } istance Table Example ost to estination " E E (,) = c(e,) + min w { (,w)} estination" E () = + = E (,) = c(e,) + min w { (,w)} = + 3 = loop?! E (,) = c(e,) + min w { (,w)} = + = Loop! opyright by Jasleen Kaur 3
OMP 3: NETWORKE & ISTRIUTE SSTEMS // istance Table Example istance Table" Routing Table" E estination" E () estination" E (),,,, The distance table gives the routing table Ø Just take the minimum cost per destination djacent Node to Use, ost" istance Vector Routing: lgorithm Iterative, asynchronous each local iteration caused by: Ø Local link cost change, or Ø Message from adjacent node that its least cost path to some destination has changed Each node:! wait for change in local link cost or message from adjacent node" istributed: Ø Each node notifies adjacent nodes only when its least cost path to some destination changes Ø djacent nodes then notify their adjacent nodes if this update changes a least cost path recompute distance table" if least cost path to any destination has changed, notify adjacent nodes " opyright by Jasleen Kaur
OMP 3: NETWORKE & ISTRIUTE SSTEMS // istance Vector lgorithm: Example ost ost!!! ost 3 (,) = c(,) + min w { (,w)} = + = ost (,) = c(,) + min w { (,w)} = + = 3 Time istance Vector lgorithm: Example ost ost ost!!! ost 3 ost ost ost ost ost 3 Time 0 opyright by Jasleen Kaur
OMP 3: NETWORKE & ISTRIUTE SSTEMS // istance Vector: Link ost hanges When a node detects a local link cost change: The nodes updates its distance table If the least cost path changes, the node noafies its neighbors How long does convergence take? 0 Good news travels fast 3 0 0 0 0 c(,)" changes" t 0 t t lgorithm" t 3 terminates" istance Vector: Link ost hanges Good news travels fast, but ad news travels slow! The count to infinity problem Routing Loop!! oes it Terminate?! 0 0 0 0 0 0 0 0 0 0 0 c(,)" changes" t 0 t t t 3 lgorithm" t continues on " opyright by Jasleen Kaur
OMP 3: NETWORKE & ISTRIUTE SSTEMS // The ount to Infinity Problem The poisoned reverse technique If routes through to get to : Then tells that s distance to is infinite 0 Initialization " 0 0 0 t - 3 t - t - 3 The ount to Infinity Problem The poisoned reverse technique If routes through to get to : Then tells that s distance to is infinite (Will this completely solve the problem?) How about delaying adverasing alternate routes aler link failures? 0 0 0 0 0 0 0 0 0 0 0 c(,)" changes" t 0 t t t 3 lgorithm" terminates" t opyright by Jasleen Kaur