ch. 9 routing data communications by stallings. 19.1 routing in packet switched networks routing...

19
Ch. 9 Routing Data Communications By Stallings

Upload: hugo-brown

Post on 13-Dec-2015

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ch. 9 Routing Data Communications By Stallings. 19.1 Routing in Packet Switched Networks Routing Algorithm Requirements –Correctness –Simplicity –Robustness--the

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.