ch. 9 routing data communications by stallings. 19.1 routing in packet switched networks routing...
TRANSCRIPT
![Page 1: Ch. 9 Routing Data Communications By Stallings. 19.1 Routing in Packet Switched Networks Routing Algorithm Requirements –Correctness –Simplicity –Robustness--the](https://reader035.vdocument.in/reader035/viewer/2022071806/56649f535503460f94c78823/html5/thumbnails/1.jpg)
Ch. 9 Routing
Data Communications
By
Stallings
![Page 2: Ch. 9 Routing Data Communications By Stallings. 19.1 Routing in Packet Switched Networks Routing Algorithm Requirements –Correctness –Simplicity –Robustness--the](https://reader035.vdocument.in/reader035/viewer/2022071806/56649f535503460f94c78823/html5/thumbnails/2.jpg)
19.1 Routing in Packet Switched Networks
• Routing Algorithm Requirements – Correctness– Simplicity– Robustness--the ability of the network to deliver packets via some route in the face of
localized failures and overloads.– Stability--does not “over react” to network changes.– Fairness--as related to all other users.– Optimality--as related to some criterion.– Efficiency--as related to processing overhead.
![Page 3: Ch. 9 Routing Data Communications By Stallings. 19.1 Routing in Packet Switched Networks Routing Algorithm Requirements –Correctness –Simplicity –Robustness--the](https://reader035.vdocument.in/reader035/viewer/2022071806/56649f535503460f94c78823/html5/thumbnails/3.jpg)
12.1 Elements of Routing Techniques
– Performance Criteria• Number of hops, cost, delay, & throughput.• See Table 19.1
– Decision Time• Virtual Circuit--at connection establishment.• Datagram--before packet is placed in outgoing
buffer.– Decision Place
• Each node, central node, originating node.
![Page 4: Ch. 9 Routing Data Communications By Stallings. 19.1 Routing in Packet Switched Networks Routing Algorithm Requirements –Correctness –Simplicity –Robustness--the](https://reader035.vdocument.in/reader035/viewer/2022071806/56649f535503460f94c78823/html5/thumbnails/4.jpg)
19.1 Elements of Routing Techniques (cont.)
– Network Information Source
• None, local, adjacent nodes, nodes along the route, or all nodes.
– Network Information Update Timing
• Continuous, periodic, major load change, topology change.
![Page 5: Ch. 9 Routing Data Communications By Stallings. 19.1 Routing in Packet Switched Networks Routing Algorithm Requirements –Correctness –Simplicity –Robustness--the](https://reader035.vdocument.in/reader035/viewer/2022071806/56649f535503460f94c78823/html5/thumbnails/5.jpg)
19.1 Routing Strategies• Fixed Routing
– A route is selected for each source-destination pair of nodes.
– A central routing directory can then be distributed to the various nodes.
– Routes are not changed unless topology changes.
– Simple (advantage) but inflexible (disadvantage.)
![Page 6: Ch. 9 Routing Data Communications By Stallings. 19.1 Routing in Packet Switched Networks Routing Algorithm Requirements –Correctness –Simplicity –Robustness--the](https://reader035.vdocument.in/reader035/viewer/2022071806/56649f535503460f94c78823/html5/thumbnails/6.jpg)
19.1 Routing Strategies
• Fixed Routing , Example19.2
• (Fig. 19.2)– Refer back to the network in Fig. 19.1.– Central directory lists all the routing
information.– Each column of the central directory
becomes the Next Node columns in the nodal directories.
![Page 7: Ch. 9 Routing Data Communications By Stallings. 19.1 Routing in Packet Switched Networks Routing Algorithm Requirements –Correctness –Simplicity –Robustness--the](https://reader035.vdocument.in/reader035/viewer/2022071806/56649f535503460f94c78823/html5/thumbnails/7.jpg)
12.1 Routing Strategies (p.2)
• Flooding (Fig. 19.3)
– A packet is sent out on every outgoing link except the link that it arrived on.
– Duplicates must be discarded.• Hop counter could be used.
– Very robust (advantage.)
– High traffic loads are generated (disadvantage.)
![Page 8: Ch. 9 Routing Data Communications By Stallings. 19.1 Routing in Packet Switched Networks Routing Algorithm Requirements –Correctness –Simplicity –Robustness--the](https://reader035.vdocument.in/reader035/viewer/2022071806/56649f535503460f94c78823/html5/thumbnails/8.jpg)
12.2 Routing Strategies (p.3)
• Random Routing– An outgoing link is selected at random (based
on a probability distribution.)– Requires no use of network information
(advantage.)– Actual route will not be least-cost or minimum-
hop route (disadvantage.)
![Page 9: Ch. 9 Routing Data Communications By Stallings. 19.1 Routing in Packet Switched Networks Routing Algorithm Requirements –Correctness –Simplicity –Robustness--the](https://reader035.vdocument.in/reader035/viewer/2022071806/56649f535503460f94c78823/html5/thumbnails/9.jpg)
12.2 Routing Strategies(p.4)
• Adaptive Routing– These algorithms react to changing conditions
of the network, for example failures and congestion.
– Advantages--can improve performance and aid in congestion control.
– Disadvantages--complex, requires extra "overhead" traffic to collect information, and may react too quickly (unstable.)
![Page 10: Ch. 9 Routing Data Communications By Stallings. 19.1 Routing in Packet Switched Networks Routing Algorithm Requirements –Correctness –Simplicity –Robustness--the](https://reader035.vdocument.in/reader035/viewer/2022071806/56649f535503460f94c78823/html5/thumbnails/10.jpg)
12.2 Routing Strategies (p.5)
• Adaptive Routing(cont.)– Schemes can be characterized by
• Source of Network Information– Local--Fig. 19.4 Isolated Adaptive Routing
» Minimize Queue Length + Bias– Adjacent Nodes– All Nodes
• Distributed or Centralized Control
![Page 11: Ch. 9 Routing Data Communications By Stallings. 19.1 Routing in Packet Switched Networks Routing Algorithm Requirements –Correctness –Simplicity –Robustness--the](https://reader035.vdocument.in/reader035/viewer/2022071806/56649f535503460f94c78823/html5/thumbnails/11.jpg)
19.2 Examples: Routing in Arpanet
• First Generation –Distant Vector Routing– Distributed adaptive algorithm (1969)– Performance criteria--estimated delay (from queue
length).– Version of the Bellman-Ford Algorithm.– Problems: did not consider line speed, queue length
is not an accurate measure of delay, and the algorithm responded slowly to congestion and delay increases.
– See Fig. 19.5, 19.6 and discussion—page 601.
![Page 12: Ch. 9 Routing Data Communications By Stallings. 19.1 Routing in Packet Switched Networks Routing Algorithm Requirements –Correctness –Simplicity –Robustness--the](https://reader035.vdocument.in/reader035/viewer/2022071806/56649f535503460f94c78823/html5/thumbnails/12.jpg)
19.2 Internet Routing Examples (p.2)
• Second Generation (Link-State Routing)
– Distributed adaptive algorithm (1979).
– Performance criteria--delay (direct measurements).
– Version of Dijkstra's Algorithm.– Problem: did not work well for heavy loads.
![Page 13: Ch. 9 Routing Data Communications By Stallings. 19.1 Routing in Packet Switched Networks Routing Algorithm Requirements –Correctness –Simplicity –Robustness--the](https://reader035.vdocument.in/reader035/viewer/2022071806/56649f535503460f94c78823/html5/thumbnails/13.jpg)
19.2 Routing Strategy Examples (p.3)
• Third Generation ARPANET (1987)– The average delay is measured and transformed
into estimates of utilization.– The link "costs" were calculated as a function of
utilization--this helped to prevent oscillations.– Fig. 19.7--traffic could oscillate from link A to
link B and back.
![Page 14: Ch. 9 Routing Data Communications By Stallings. 19.1 Routing in Packet Switched Networks Routing Algorithm Requirements –Correctness –Simplicity –Robustness--the](https://reader035.vdocument.in/reader035/viewer/2022071806/56649f535503460f94c78823/html5/thumbnails/14.jpg)
19.4 Least-Cost Algorithms
• The Problem– Given a network of nodes connected by bi-directional
links, where each link has a cost associated with it in each direction, define the cost of a path between two nodes as the sum of the costs of the links traversed. For each pair of nodes find the path with least cost.
• Solutions– Dijkstra's Algorithm (1959)– Bellman-Ford Algorithm (1962)
![Page 15: Ch. 9 Routing Data Communications By Stallings. 19.1 Routing in Packet Switched Networks Routing Algorithm Requirements –Correctness –Simplicity –Robustness--the](https://reader035.vdocument.in/reader035/viewer/2022071806/56649f535503460f94c78823/html5/thumbnails/15.jpg)
Dijkstra's Algorithm
• Define:– N=set of nodes in the network.– s=source node.– T=set of nodes so far incorporated by the
algorithm.– w(i,j)=link cost from node i to node j; w(i,i)=0
and w(i,j)= if the nodes are not directly connected.
– L(n)= cost of the least-cost path from node s to node n that is currently known to the algorithm.
![Page 16: Ch. 9 Routing Data Communications By Stallings. 19.1 Routing in Packet Switched Networks Routing Algorithm Requirements –Correctness –Simplicity –Robustness--the](https://reader035.vdocument.in/reader035/viewer/2022071806/56649f535503460f94c78823/html5/thumbnails/16.jpg)
Dijkstra's Algorithm (p.2)• Three Steps (repeated until M=N)
– Step 1: Initialize Variables• T= {s}.
• L(n)=w(s,n) for n s.
– Step 2: Get Next Node• Find the neighboring node (x) which has the least-
cost path from node s and incorporate that node into T.
– Step 3: Update the least cost-paths.• L(n)= min[ L(n), L(x) + w(x,n)] for all n T.
• See Table 19.4a and Fig. 19.14.
![Page 17: Ch. 9 Routing Data Communications By Stallings. 19.1 Routing in Packet Switched Networks Routing Algorithm Requirements –Correctness –Simplicity –Robustness--the](https://reader035.vdocument.in/reader035/viewer/2022071806/56649f535503460f94c78823/html5/thumbnails/17.jpg)
Bellman-Ford Algorithm
• Define:– s = the source node.– w(i,j)=link cost from node i to node j.– h=maximum number of links in a path at the
current stage of the algorithm.
– Lh(n) = cost of the least-cost path from node s to node n under the constraint of no more than h links.
![Page 18: Ch. 9 Routing Data Communications By Stallings. 19.1 Routing in Packet Switched Networks Routing Algorithm Requirements –Correctness –Simplicity –Robustness--the](https://reader035.vdocument.in/reader035/viewer/2022071806/56649f535503460f94c78823/html5/thumbnails/18.jpg)
Bellman-Ford Algorithm (p.2)
• Step 1: Initialize– L0(n)=, for all n not equal to s.
– Lh(s) =0, for all h.
• Step 2: For each successive h,– L h+1(n) = Minj [Lh(j) + w(j,n)].
![Page 19: Ch. 9 Routing Data Communications By Stallings. 19.1 Routing in Packet Switched Networks Routing Algorithm Requirements –Correctness –Simplicity –Robustness--the](https://reader035.vdocument.in/reader035/viewer/2022071806/56649f535503460f94c78823/html5/thumbnails/19.jpg)
Comparison of the Algorithms
• Dijkstra’s– Complete topology information is needed.
• Bellman-Ford – Knowledge of link costs to each neighbor, and
the current “distance-vector” of each neighbor is required.