Unformatted text preview: Data and Computer Communications Communications
Chapter 12 – Routing in Switched Chapter Networks Networks
Eighth Edition by William Stallings Lecture slides by Lawrie Brown Routing in Switched Networks Routing
"I tell you," went on Syme with passion, "that every "I time a train comes in I feel that it has broken past batteries of besiegers, and that man has won a battle against chaos. You say contemptuously that when one has left Sloane Square one must come to Victoria. I say that one might do a thousand things instead, and that whenever I really come there I have the sense of hairbreadth escape. And when I hear the guard shout out the word 'Victoria', it is not an unmeaning word. It is to me the cry of a herald announcing conquest. It is to me indeed 'Victoria'; it is the victory of Adam." is —The Man Who Was Thursday, G.K. Chesterton Routing in Packet Switched Routing Network Network key design issue for (packet) switched networks select route across network between end nodes characteristics required: correctness simplicity robustness stability fairness optimality efficiency Performance Criteria Performance used for selection of route simplest is “minimum hop” can be generalized as “least cost” Example Packet Switched Network Network Decision Time and Place Decision time packet or virtual circuit basis fixed or dynamically changing distributed  made by each node centralized source place Network Information Source and Update Timing and routing decisions usually based on knowledge of routing network (not always) network distributed routing
• using local knowledge, info from adjacent nodes, info from all using nodes on a potential route nodes central routing
• collect info from all nodes issue of update timing when is network info held by nodes updated fixed  never updated adaptive  regular updates Routing Strategies  Fixed Routing Routing use a single permanent route for each use source to destination pair source determined using a least cost algorithm route is fixed at least until a change in network topology hence cannot respond to traffic changes advantage is simplicity disadvantage is lack of flexibility Fixed Routing Routing Tables Routing Strategies  Flooding Routing packet sent by node to every neighbor eventually multiple copies arrive at destination no network info required each packet is uniquely numbered so duplicates each can be discarded can need some way to limit incessant retransmission nodes can remember packets already forwarded to nodes keep network load in bounds keep or include a hop count in packets Flooding Example Example Properties of Flooding Properties all possible routes are tried very robust at least one packet will have taken at minimum hop count route minimum can be used to set up virtual circuit useful to distribute information (eg. routing) all nodes are visited disadvantage is high traffic load generated Routing Strategies  Random Routing Routing simplicity of flooding with much less load node selects one outgoing path for node retransmission of incoming packet retransmission selection can be random or round robin a refinement is to select outgoing path based on refinement probability calculation probability no network info needed but a random route is typically neither least cost but nor minimum hop nor Routing Strategies  Adaptive Routing Routing used by almost all packet switching networks routing decisions change as conditions on the routing network change due to failure or congestion network requires info about network disadvantages: decisions more complex tradeoff between quality of network info and overhead reacting too quickly can cause oscillation reacting too slowly means info may be irrelevant reacting Adaptive Routing Advantages Advantages improved performance aid congestion control aid but since is a complex system, may not but realize theoretical benefits realize cf. outages on many packetswitched nets Classification of Adaptive Routing Startegies Routing based on information sources local (isolated)
• route to outgoing link with shortest queue • can include bias for each destination • Rarely used  does not make use of available info adjacent nodes
• takes advantage on delay / outage info • distributed or centralized all nodes
• like adjacent Isolated Adaptive Routing Isolated ARPANET Routing Strategies ARPANET 1st Generation 1969 distributed adaptive using estimated delay distributed queue length used as estimate of delay using BellmanFord algorithm using node exchanges delay vector with neighbors update routing table based on incoming info problems: doesn't consider line speed, just queue length queue length not a good measurement of delay responds slowly to congestion ARPANET Routing Strategies ARPANET 2nd Generation 1979 distributed adaptive using measured delay using timestamps of arrival, departure & ACK times recomputes average delays every 10secs any changes are flooded to all other nodes recompute routing using Dijkstra’s algorithm good under light and medium loads under heavy loads, little correlation between under reported delays and those experienced reported ARPANET Routing Strategies ARPANET 3rd Generation 1987 link cost calculations changed to damp routing oscillations and reduce routing overhead measure average delay over last 10 secs and measure transform into link utilization estimate transform normalize this based on current value and normalize previous results previous set link cost as function of average utilization Least Cost Algorithms Least basis for routing decisions can minimize hop with each link cost 1 or have link value inversely proportional to capacity defines cost of path between two nodes as sum fines of costs of links traversed of in network of nodes connected by bidirectional links where each link has a cost in each direction nb. link costs in different directions may be different for each pair of nodes, find path with least cost alternatives: Dijkstra or BellmanFord algorithms alternatives: Dijkstra Dijkstra’s Algorithm Dijkstra’s finds shortest paths from given source finds node s to all other nodes by developing paths in order of increasing by path length path algorithm runs in stages (next slide) each time adding node with next shortest path algorithm terminates when all nodes processed by algorithm (in set T) by Dijkstra’s Algorithm Method Dijkstra’s Step 1 [Initialization] Step T = {s} Set of nodes so far incorporated et L(n) = w(s, n) for n ≠ s initial path costs to neighboring nodes are simply link costs find neighboring node not in T with leastcost path from s find with incorporate node into T also incorporate the edge that is incident on that node and a also node in T that contributes to the path node L(n) = min[L(n), L(x) + w(x, n)] for all n ∉ T for f llatter term is minimum, path from s to n is path from s to x atter concatenated with edge from x to n concatenated Step 2 [Get Next Node] Step [Get Step 3 [Update LeastCost Paths] Step [Update Dijkstra’s Algorithm Example Dijkstra’s Dijkstra’s Algorithm Example Dijkstra’s
Iter T L(2) Path L(3) Path L(4) Path L(5) Path L(6 ) ∞ ∞ ∞ 4 Path 1 2 3 4 {1} {1,4} {1, 2, 4} {1, 2, 4, 5} {1, 2, 3, 4, 5} {1, 2, 3, 4, 5, 6} 2 2 2 2 1–2 1–2 1–2 1–2 5 4 4 3 13 143 143 145–3 1 1 1 1 1–4 1–4 1–4 1–4 ∞ 2 2 2 14–5 14–5 14–5 145–6 5 2 1–2 3 145–3 1 1–4 2 14–5 4 145–6 6 2 12 3 1453 1 14 2 14–5 4 1456 BellmanFord Algorithm BellmanFord find shortest paths from given node find subject to constraint that paths contain at most one link most find the shortest paths with a constraint of paths of at most two links paths and so on BellmanFord Algorithm BellmanFord step 1 [Initialization] step [Initialization] L0(n) = ∞ , for all n ≠ s (n) for Lh(s) = 0, for all h for each successive h ≥ 0 for
• for each n ≠ s, compute: Lh+1(n)=minj[Lh(j)+w(j,n)] for step 2 [Update] step connect n with predecessor node j that gives min eliminate any connection of n with different predecessor node formed during an earlier iteration predecessor path from s to n terminates with link from j to n Example of BellmanFord Algorithm Algorithm h Lh(2) Results of BellmanFord Example Path L (6) Path Example Path L (3) Path L (4) Path L (5)
h h h h 0∞ 12 22 32 42 12 12 12 12 ∞ 5 4 3 3 13 143 1453 1453 ∞ 1 1 1 1 14 14 14 14 ∞ ∞ 2 2 2 145 145 145 ∞ ∞ 10 4 4 136 1456 1456 Comparison Comparison results from two algorithms agree BellmanFord calculation for node n needs link cost to neighbouring calculation nodes plus total cost to each neighbour from s nodes each node can maintain set of costs and paths for each every other node every can exchange information with direct neighbors can update costs and paths based on information can from neighbors and knowledge of link costs from each node needs complete topology must know link costs of all links in network must exchange information with all other nodes Dijkstra Evaluation Evaluation dependent on dependent processing time of algorithms amount of information required from other nodes implementation specific both converge under static topology and costs both converge to same solution if link costs change, algs attempt to catch up iif link costs depend on traffic, which depends on f routes chosen, may have feedback instability routes Summary Summary routing in packetswitched networks routing strategies fixed, flooding, random,adaptive ARPAnet examples leastcost algorithms Dijkstra, BellmanFord ...
View
Full Document
 Spring '09
 Kang
 Graph Theory, Shortest path problem, Adaptive Routing Startegies Routing

Click to edit the document details