Title: Ch. 12 Routing in Switched Networks
1Ch. 12 Routing in Switched Networks
212.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.
312.1 Elements of Routing Techniques
- Performance Criteria
- Number of hops, cost, delay, throughput.
- See Table 12.1
- Decision Time
- Virtual Circuit--at connection establishment.
- Datagram--before packet is placed in outgoing
buffer. - Decision Place
- Each node, central node, originating node.
412.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.
512.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.)
612.1 Routing Strategies
- Fixed Routing Example (Fig. 12.2)
- Refer back to the network in Fig. 12.1.
- Central directory lists all the routing
information. - Each column of the central directory becomes the
Next Node columns in the nodal directories.
712.1 Routing Strategies (p.2)
- Flooding (Fig. 12.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.)
812.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.)
912.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.)
1012.2 Routing Strategies (p.5)
- Adaptive Routing(cont.)
- Schemes can be characterized by
- Source of Network Information
- Local--Fig. 12.4 Isolated Adaptive Routing
- Minimize Queue Length Bias
- Adjacent Nodes
- All Nodes
- Distributed or Centralized Control
1112.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. 12.5, 12.6 and discussionpage363.
1212.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.
1310.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. 12.7--traffic could oscillate from link A to
link B and back.
1412.3 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)
15 Dijkstra's Algorithm
- Define
- Nset of nodes in the network.
- ssource node.
- Tset 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.
16 Dijkstra's Algorithm (p.2)
- Three Steps (repeated until MN)
- 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 12.2a and Fig. 12.9.
17Bellman-Ford Algorithm
- Define
- s the source node.
- w(i,j)link cost from node i to node j.
- hmaximum 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.
18Bellman-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 h1(n) Minj Lh(j) w(j,n).
19Comparison of the Algorithms
- Dijkstras
- Complete topology information is needed.
- Bellman-Ford
- Knowledge of link costs to each neighbor, and the
current distance-vector of each neighbor is
required.