《数据通信网络》(英文版)Lecture 20 Routing in Data Networks

Lecture 20 Routing in data Networks Eytan Modiano
Lecture 20 Routing in Data Networks Eytan Modiano Eytan Modiano Slide 1

Routing Must choose routes for various origin destination pairs (o/d pairs) or for various sessions Datagram routing: route chosen on a packet by packet basis Using datagram routing is an easy way to split paths Virtual circuit routing: route chosen a session by session basis Static routing: route chosen in a prearranged way based on O/D pairs
Routing • Must choose routes for various origin destination pairs (O/D pairs) or for various sessions – Datagram routing: route chosen on a packet by packet basis Using datagram routing is an easy way to split paths – Virtual circuit routing: route chosen a session by session basis – Static routing: route chosen in a prearranged way based on O/D pairs Eytan Modiano Slide 2

Routing is a global problem 5 units 5 units 10 15 units Either session Both sessions alone is best must split their routed through traffic between center path, but OAll links two paths both cannot oAll links have go throug have capacity center capacity 10 units o 10 units Static routing is not desirable Datagam routing is a natural way to split the traffic How?
Routing is a global problem 5 units 5 units All links have capacity 10 units Either session alone is best routed through center path, but both cannot go through center. • Static routing is not desirable All links have capacity 10 units 10 units 15 units Both sessions must split their traffic between two paths. • Datagam routing is a natural way to split the traffic – How? Eytan Modiano Slide 3

Shortest Path routing Each link has a cost that reflects The length of the link Delay on the link Congestion ss cost Cost may change with time The length of the route is the sum of the costs along the route The shortest path is the path with minimum length Shortest Path algorithms Bellman-Ford: centralized and distributed versions Dijkstra’ s algorithm Many others
Shortest Path routing • Each link has a cost that reflects – The length of the link – Delay on the link – Congestion – $$ cost • Cost may change with time • The length of the route is the sum of the costs along the route • The shortest path is the path with minimum length • Shortest Path algorithms – Bellman-Ford: centralized and distributed versions – Dijkstra’s algorithm – Many others Eytan Modiano Slide 4

Directed graphs(digraphs) A directed graph(digraph)G=(N,A is a finite nonempty set of nodes N and a set of ordered node pairs a called directed arcs. N={1,2,34} A={(1,2),(2,1),(1,4) (4,2),(4,3),(3,2)} Directed walk:(4, 2, 1, 4, 3, 2) Directed path:(4, 2, 1) Directed cycle: (4, 2, 1, 4) Data networks are best represented with digraphs, although ty pically links tend to be bi-directional (cost may differ in each direction) For simplicity we will use bi-directional links of equal costs in our examples
Directed graphs (digraphs) • A directed graph (digraph) G = (N,A) is a finite nonempty set of nodes N and a set of ordered node pairs A called directed arcs. 1 2 3 4 N = {1,2,3,4} A = {(1,2), (2,1),(1,4), (4,2), (4,3),(3,2)} • Directed walk: (4,2,1,4,3,2) • Directed path: (4,2,1) • Directed cycle: (4,2,1,4) • Data networks are best represented with digraphs, although typically links tend to be bi-directional (cost may differ in each direction) – For simplicity we will u se bi-directional links of equ al costs in our examples Eytan Modiano Slide 5

Bellman Ford algorithm Finds the shortest paths, from a given source node, say node 1, to all other nodes General idea: First find the shortest single arc path, Then the shortest path of at most two arcs, etc Let dij=o if (i,j)is not an arc Let Di()be the shortest distance from 1 to i using at most h arcs D()=d1i;萨1D1(1)=0 Di(h+1)=min 0 [Dj(h)+ dj];i1 D1(h +1)=0 If all weights are positive, algorithm terminates in N-1 steps
Bellman Ford algorithm • Finds the shortest paths, from a given source node, say node 1, to all other nodes. • General idea: – First find the shortest single arc path, – Then the shortest path of at most two arcs, etc. – Let dij= ∞ if (i,j) is not an arc. • Let Di(h) be the shortest distance fro m 1 to i using at most h arcs. – Di(1) = d1i ; i≠1 D1(1) = 0 – Di(h+1) = min {j} [Dj(h) + dji] ;i ≠1 D1(h +1) = 0 • If all weights are positive, algorithm terminates in N-1 steps. Eytan Modiano Slide 6

Bellman Ford -example
Bellman Ford - example Eytan Modiano Slide 7

Distributed Bellman Ford Link costs may change over time Changes in traffic conditions Link failures Mobility Each node maintains its own routing table Need to update table regularly to reflect changes in network Let di be the shortest distance from node i to the destination Di=min 0[Dj+ di: update equation Each node regularly updates the values of Di using the update equation Each node maintains the values of dif to its neighbors, as well as values of Dj received from its neighbors Uses those to compute Di and send new value of Di to its neighbors If no changes occur in the network, algorithm will converge to shortest paths in no more than n steps
Eytan Modiano Slide 8 Distributed Bellman Ford • Link costs may change over time – Changes in traffic conditions – Link failures – Mobility • Each node maintains its own routing table – Need to update table regularly to reflect changes in network • Let Di be the shortest distance from node i to the destination – Di = min {j} [Dj + dij] : update equation • Each node (i) regularly updates the values of Di using the update equation – Each node maintains the values of dij to its neighbors, as well as values of Dj received from its neighbors – Uses those to compute Di and send new value of Di to its neighbors – If no changes occur in the network, algorithm will converge to shortest paths in no more than N steps

Slow reaction to link failures Start with d3=1 and d2=100 After one iteration node 2 receives d3=1 and D2=min[1+1,100=2 100 In practice, link lengths occasionally change Suppose link between 3 and fails(Le, d31=infinity) Node 3 will update D3= d32+D2= 3 In the next step node 2 will update: D2=d23+D3=4 It will take nearly 100 iterations before node 2 converges on the correct route to node 1 Possible solutions: Propagate route information as well Wait before rerouting along a path with increasing cost Node next to failed link should announce d=infinity for some time to prevent loops
Eytan Modiano Slide 9 Slow reaction to link failures • Start with D3=1 and D2=100 – After one iteration node 2 receives D3=1 and D2 = min [1+1, 100] = 2 • In practice, link lengths occasionally change – Suppose link between 3 and 1fails (I.e., d31=infinity) – Node 3 will update D3 = d32 + D2 = 3 – In the next step node 2 will update: D2 = d23+D3 = 4 – It will take nearly 100 iterations before node 2 converges on the correct route to node 1 • Possible solutions: – Propagate route information as well – Wait before rerouting along a path with increasing cost Node next to failed link should announce D=infinity for some time to prevent loops 3 2 1 1 1 1 100

Instability =3 DA=6 =6 1+ D6=6 D7=5+2 B=3+ Assume d is equal to the flow on( Note that D6=D5+0 As routes change due to traffic conditions, they affect the Loadings on the links, hence routes may oscillate
Eytan Modiano Slide 10 Instability 1 1 1 1 1 1 ε Destination ε 1+ 2+ 3+ ε ε ε 3 2 1 2 3 4 1 5 6 7 8 Assume d is equal to the flow on (i,j) Note that D ij D = 3 D = 5 D = 6 D = 6 D = 6 D = 5+2 D = 3+ 2 3 4 5 6 7 8 ε ε 6 5 = D + 0 As routes change due to traffic conditions, they affect the Loadings on the links, hence routes may oscillate
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《数据通信网络》(英文版)Lecture 21 Optimal Routing.pdf
- 《数据通信网络》(英文版)Lecture19 Lecture 19 Broadcast routing.pdf
- 《数据通信网络》(英文版)Lectures22_23 Flow and congestion control.pdf
- 《数据通信网络》(英文版)Lectures17_18 Fast packet switching.pdf
- 《数据通信网络》(英文版)Lectures8_9 M/G/1 Queues.pdf
- 《数据通信网络》(英文版)Lectures10_11 Reservations Systems M/G/1 queues with Priority.pdf
- 《数据通信网络》(英文版)Lectures15_16 Local Area Networks.pdf
- 《数据通信网络》(英文版)Lectures13_14 Packet Multiple Access: The Aloha protocol.pdf
- 《数据通信网络》(英文版)Lecture 7 Burke’s Theorem and Networks of Queues.pdf
- 《数据通信网络》(英文版)Lecture 2 The Data Link Layer: Framing and Error Detection.pdf
- 《数据通信网络》(英文版)Lectures3_4 The Data Link Layer: ARQ Protocols.pdf
- 《数据通信网络》(英文版)Lecture 1 Introduction.pdf
- 《数据通信网络》(英文版)Lectures5_6 Introduction to Queueing Theory.pdf
- 麻省理工学院:偏微分方程式数字方法(英文版)_lec26.pdf
- 麻省理工学院:《偏微分方程式数字方法》(英文版)Lecture 24 notes.pdf
- 麻省理工学院:《偏微分方程式数字方法》(英文版)Lecture 25 Numerical Methods for PDEs.pdf
- 麻省理工学院:《偏微分方程式数字方法》(英文版)Lecture 24 Outline Laplace Problems.pdf
- 麻省理工学院:《偏微分方程式数字方法》(英文版)Lecture 22 Integral Equation Methods.pdf
- 麻省理工学院:《偏微分方程式数字方法》(英文版)Lecture 21 notes.pdf
- 麻省理工学院:《偏微分方程式数字方法》(英文版)Lecture 22 notes.pdf
- 《数据通信网络》(英文版)Lectures24_25 Higher Layer Protocols: TCP/IP and ATM.pdf
- 《航空器系统工程学》(英文版)Aircraft Systems Engineering.pdf
- 《航空器系统工程学》(英文版)Outline.pdf
- 《航空器系统工程学》(英文版)Allen C. Haggerty.pdf
- 《航空器系统工程学》(英文版)AVIATION & THE ENVIRONMENT.pdf
- 《航空器系统工程学》(英文版)Introduction to Aircraft Performance and Static Stability.pdf
- 《航空器系统工程学》(英文版)Wing and Airfoil Nomenclature.pdf
- 《航空器系统工程学》(英文版)Payload range and speed.pdf
- 《航空器系统工程学》(英文版)Gordon McKinzie.pdf
- 《航空器系统工程学》(英文版)Propulsion Systems.pdf
- 《航空器系统工程学》(英文版)SHUTTLE HISTORY.pdf
- 《航空器系统工程学》(英文版)Brian D. Kelly.pdf
- 《航空器系统工程学》(英文版)Ron Suiter, BSEE Lehigh, MBA USC.pdf
- 《航空器系统工程学》(英文版)AARON COHEN.pdf
- 《航空器系统工程学》(英文版)Briefing Summary.pdf
- 《航空器系统工程学》(英文版)Lean Systems Engineering II.pdf
- 《航空器系统工程学》(英文版)Commander Paul A. Sohl, USN.pdf
- 《航空器系统工程学》(英文版)PAUL ALFRED LAGACE.pdf
- 《太空生物工程与生命支撑》(英文版)marsref_djn.pdf
- 《太空生物工程与生命支撑》(英文版)Research on the International Space Station.pdf