Centralized vs Distributed Routing

Slides:



Advertisements
Similar presentations
Network Layer – Routing 2 Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
Advertisements

Chapter 4 Distributed Bellman-Ford Routing
© 2007 Cisco Systems, Inc. All rights reserved.ICND2 v1.0—3-1 Medium-Sized Routed Network Construction Reviewing Routing Operations.
What is “Routing”? Routing algorithm that part of the network layer responsible for deciding on which output line to transmit an incoming packet Adaptive.
What is “Routing”? Routing algorithm that part of the network layer responsible for deciding on which output line to transmit an incoming packet Adaptive.
Routing - I Important concepts: link state based routing, distance vector based routing.
Routing So how does the network layer do its business?
Chapter 4 Distance Vector Problems, and Link-State Routing Professor Rick Han University of Colorado at Boulder
Network Layer Design Isues Store-and-Forward Packet Switching Services Provided to the Transport Layer The service should be independent of the router.
TNMK09 Computer Networks Copyright © 2005 Di Yuan, ITN, LiTH 1  Non-hierarchical routing, static or dynamic, won’t work in the Internet  None of the.
1 Computer Networks Routing Algorithms. 2 IP Packet Delivery Two Processes are required to accomplish IP packet delivery: –Routing discovering and selecting.
EE 122: Intra-domain routing Ion Stoica September 30, 2002 (* this presentation is based on the on-line slides of J. Kurose & K. Rose)
Review: routing algorithms. –Choose the appropriate paths. –Routing algorithms Flooding Shortest path routing (example). –Dijkstra algorithm. –Bellman-Ford.
1 Note 8: Packet Switching Networks Routing in Packet Networks.
Packet-Switching Networks Routing in Packet Networks.
1 Chapter 22 Network layer Delivery, Forwarding and Routing (part2)
Computer Networking Packet Switching Networks Dr Sandra I. Woolley.
IP routing. Simple Routing Table svr 4% netstat –r n Routing tables DestinationGatewayFlagsRefcntUseInterface UGH00emd UH10lo0.
Network Layer Routing in Packet Networks Shortest Path Routing Topic 6: Routing (Network Layer) Reference A. Leon-Garcia and I. Widjaja, Communication.
Static versus Dynamic Routes Static Route Uses a protocol route that a network administrators enters into the router Static Route Uses a protocol route.
Network Layer4-1 Distance Vector Algorithm Bellman-Ford Equation (dynamic programming) Define d x (y) := cost of least-cost path from x to y Then d x (y)
1 Week 5 Lecture 2 IP Layer. 2 Network layer functions transport packet from sending to receiving hosts transport packet from sending to receiving hosts.
Distance Vector Local Signpost Direction Distance Routing Table For each destination list: Next Node Distance Table Synthesis Neighbors exchange table.
Chapter 7 Packet-Switching Networks Network Services and Internal Network Operation Datagrams and Virtual Circuits Routing in Packet Networks Shortest.
1 Computer Communication & Networks Lecture 21 Network Layer: Delivery, Forwarding, Routing Waleed.
Routing protocols. Static Routing Routes to destinations are set up manually Route may be up or down but static routes will remain in the routing tables.
Computer Networks22-1 Network Layer Delivery, Forwarding, and Routing.
Ch 22. Routing Direct and Indirect Delivery.
Spring 2000CS 4611 Routing Outline Algorithms Scalability.
Graph Algorithms Why graph algorithms ? It is not a “graph theory” course! Many problems in networks can be modeled as graph problems. Note that -The topology.
Spring Routing: Part I Section 4.2 Outline Algorithms Scalability.
Network-Layer Routing Routing tasks are methods of finding the paths for packet from their sources to their destinations. Routers are responsible mainly.
Network Layer (2). Review Physical layer: move bits between physically connected stations Data link layer: move frames between physically connected stations.
Lecture 7. Building Forwarding Tables There are several methods Static Method Dynamic Methods Centralized Distributed Distance Vector Link State.
Distance Vector Routing
CS 6401 Intra-domain Routing Outline Introduction to Routing Distance Vector Algorithm.
4. Interconnecting Networks: Routers. © Tallal Elshabrawy 2 Bridges Vs Routers BRIDGES DO WELL IN SMALL (FEW HUNDRED HOSTS) WHILE ROUTERS USED IN LARGE.
Chapter 7 Packet-Switching Networks Shortest Path Routing.
IP tutorial - #2 Routing KAIST Dept. of CS NC Lab.
Routing algorithms. D(v): the cost from the source node to destination that has currently the least cost. p(v): previous node along current least.
1 Most important algorithms! Routing Algorithms Properties Shortest Path Routing Flooding Distance Vector Routing Link State routing Hierarchical routing.
Network Layer Routing Networks: Routing.
Network Layer.
The network layer: routing
CS 5565 Network Architecture and Protocols
Computer Networks Routing Algorithms.
COMP 3270 Computer Networks
Intra-Domain Routing Jacob Strauss September 14, 2006.
Routing: Distance Vector Algorithm
Distance Vector Routing: overview
Routing in Packet Networks Shortest Path Routing
CS 3700 Networks and Distributed Systems
Intradomain Routing Outline Introduction to Routing
Dynamic Routing and OSPF
Chapter 7 Packet-Switching Networks
RFC 1058 & RFC 2453 Routing Information Protocol
ECE453 – Introduction to Computer Networks
Communication Networks NETW 501
CS 3700 Networks and Distributed Systems
Network Layer Routing Networks: Routing.
Chapter 22. Network Layer: Routing
Communication Networks
Advanced Computer Networks
Network Layer (contd.) Routing
EE 122: Intra-domain routing: Distance Vector
Communication Networks
DSDV Destination-Sequenced Distance-Vector Routing Protocol
Network Layer.
EE 122: Intra-domain routing: Link State
Network Layer Routing.
Presentation transcript:

Centralized vs Distributed Routing Centralized Routing All routes determined by a central node All state information sent to central node Problems adapting to frequent topology changes Does not scale Distributed Routing Routes determined by routers using distributed algorithm State information exchanged by routers Adapts to topology and other changes Better scalability

Static vs Dynamic Routing Static Routing Set up manually, do not change; requires administration Works when traffic predictable & network is simple Used to override some routes set by dynamic algorithm Used to provide default router Dynamic Routing Adapt to changes in network conditions Automated Calculates routes based on received updated network state information

Shortest Path Approaches Distance Vector Protocols Neighbors exchange list of distances to destinations Best next-hop determined for each destination Ford-Fulkerson (distributed) shortest path algorithm Link State Protocols Link state information flooded to all routers Routers have complete topology information Shortest path (& hence next hop) calculated Dijkstra (centralized) shortest path algorithm

Distance Vector Do you know the way to San Jose?

Distance Vector Local Signpost Table Synthesis Direction Routing Table For each destination list: Next Node Table Synthesis Neighbors exchange table entries Determine current best next hop Inform neighbors Periodically After changes dest next dist

Shortest Path to SJ San Jose j i Dj Di Focus on how nodes find their shortest path to a given destination node, i.e. SJ San Jose Dj Cij j i Di If Di is the shortest distance to SJ from i and if j is a neighbor on the shortest path, then Di = Cij + Dj

But we don’t know the shortest paths i only has local info from neighbors San Jose Dj' j' Cij' Dj j Cij i Pick current shortest path Cij” Di j" Dj"

Why Distance Vector Works SJ sends accurate info San Jose Accurate info about SJ ripples across network, Shortest Path Converges 1 Hop From SJ 2 Hops From SJ 3 Hops From SJ Hop-1 nodes calculate current (next hop, dist), & send to neighbors

Bellman-Ford Algorithm Consider computations for one destination d Initialization Each node table has 1 row for destination d Distance of node d to itself is zero: Dd=0 Distance of other node j to d is infinite: Dj=, for j d Next hop node nj = -1 to indicate not yet defined for j  d Send Step Send new distance vector to immediate neighbors across local link Receive Step At node j, find the next hop that gives the minimum distance to d, Minj { Cij + Dj } Replace old (nj, Dj(d)) by new (nj*, Dj*(d)) if new next node or distance Go to send step

Bellman-Ford Algorithm Now consider parallel computations for all destinations d Initialization Each node has 1 row for each destination d Distance of node d to itself is zero: Dd(d)=0 Distance of other node j to d is infinite: Dj(d)=  , for j  d Next node nj = -1 since not yet defined Send Step Send new distance vector to immediate neighbors across local link Receive Step For each destination d, find the next hop that gives the minimum distance to d, Minj { Cij+ Dj(d) } Replace old (nj, Di(d)) by new (nj*, Dj*(d)) if new next node or distance found Go to send step

San Jose Initial (-1, ) 1 2 3 Table entry @ node 3 for dest SJ Iteration Node 1 Node 2 Node 3 Node 4 Node 5 Initial (-1, ) 1 2 3 Table entry @ node 3 for dest SJ Table entry @ node 1 for dest SJ 3 1 5 4 6 2 San Jose

San Jose Initial (-1, ) 1 (6,1) (6,2) 2 3 1 2 D3=D6+1 n3=6 D6=0 3 1 5 Iteration Node 1 Node 2 Node 3 Node 4 Node 5 Initial (-1, ) 1 (6,1) (6,2) 2 3 D3=D6+1 n3=6 D6=0 1 3 1 5 4 6 2 San Jose 2 D6=0 D5=D6+2 n5=6

San Jose Initial (-1, ) 1 (6, 1) (6,2) 2 (3,3) (5,6) 3 3 1 3 6 2 3 1 Iteration Node 1 Node 2 Node 3 Node 4 Node 5 Initial (-1, ) 1 (6, 1) (6,2) 2 (3,3) (5,6) 3 3 1 3 1 5 4 6 2 3 San Jose 6 2

San Jose Initial (-1, ) 1 (6, 1) (6,2) 2 (3,3) (5,6) 3 (4,4) 1 3 3 6 Iteration Node 1 Node 2 Node 3 Node 4 Node 5 Initial (-1, ) 1 (6, 1) (6,2) 2 (3,3) (5,6) 3 (4,4) 1 3 3 1 5 4 6 2 3 San Jose 6 4 2

Network disconnected; Loop created between nodes 3 and 4 Iteration Node 1 Node 2 Node 3 Node 4 Node 5 Initial (3,3) (4,4) (6, 1) (6,2) 1 (4, 5) 2 3 1 5 3 3 1 5 4 6 2 3 San Jose 4 2 Network disconnected; Loop created between nodes 3 and 4

Node 4 could have chosen 2 as next node because of tie Iteration Node 1 Node 2 Node 3 Node 4 Node 5 Initial (3,3) (4,4) (6, 1) (6,2) 1 (4, 5) 2 (3,7) (5,5) 3 5 7 3 3 1 5 4 6 2 5 3 San Jose 2 4 Node 4 could have chosen 2 as next node because of tie

San Jose Initial (3,3) (4,4) (6, 1) (6,2) 1 (4, 5) 2 (3,7) (5,5) 3 Iteration Node 1 Node 2 Node 3 Node 4 Node 5 Initial (3,3) (4,4) (6, 1) (6,2) 1 (4, 5) 2 (3,7) (5,5) 3 (4,6) (4, 7) 5 7 7 3 1 5 4 6 2 5 San Jose 2 4 6 Node 2 could have chosen 5 as next node because of tie

San Jose 1 (3,3) (4,4) (4, 5) (6,2) 2 (3,7) (2,5) 3 (4,6) (4, 7) (5,5) Iteration Node 1 Node 2 Node 3 Node 4 Node 5 1 (3,3) (4,4) (4, 5) (6,2) 2 (3,7) (2,5) 3 (4,6) (4, 7) (5,5) 4 (2,9) 7 7 9 3 5 4 6 2 1 5 San Jose 6 2 Node 1 could have chose 3 as next node because of tie

Counting to Infinity Problem 3 1 2 4 X (a) (b) Nodes believe best path is through each other (Destination is node 4) Update Node 1 Node 2 Node 3 Before break (2,3) (3,2) (4, 1) After break 1 (3,4) 2 (2,5) 3 (3,6) 4 (2,7) 5 (3,8) …