Title: Routing
1Routing
- Routing in voice networks
- Routing in data networks
- Vector distance routing
- Link state routing
- Distributed Bellman-Ford algorithm
- Routing information protocol (RIP) and open
shortest path first (OSPF) for the Internet
2ROUTING FUNCTIONS
- The major functions of a network is to enable
different users to communicate with each other by
making use of the network, as shown below
3- Through the routing function performed by the
network, user1 is able to communicate with user2
by - setting up a circuit between user1 and user2, in
the case of circuit-switched networks or - exchanging data units (frames, cells, packets)
between user1 and user2, in the case of data
networks. - The objectives of network design are to
accommodate the expected user traffic under
specified network conditions, this is done by - producing a network topology at minimal equipment
cost (e.g., minimum spanning tree, cheap access
network) - performing the routing functions
4Routing functions (cont.)
- There can be three major components of the
routing function to be performed by a network - Collecting and distributing of state information
about the users and the network itself - Determination of the route according to some
criteria, this is the routing algorithm that
determines the path between each pair of users
usually an optimum criteria (such as least cost
or shortest delay) is to be satisfied while the
routes are to be determined, it is desirable for
a routing algorithm to be
5Routing functions (cont.)
- correct -- user traffic are routed to the
correct destination - robust -- cope with changes in topology and,
traffic - stable -- convergence to an equilibrium
- simple -- easy implementation and maintenance
- fair -- every user is equal
- optimal -- the best use of the network is got.
- Forwarding the user traffic - mode of operation
may be connection-oriented or connectionless.
6ROUTING IN VOICE NETWORKS
- in a circuit-switched network, two users are
"connected up" together through a circuit so that
they can communicate - the telephone network is an example network of
this kind - routing is the selection of a path to connect two
users - the circuit between two users, once has been set
up, is dedicated to their use until the circuit
is disconnected
7- blocking occurs when a free user calls another
free user but the circuit cannot be set up
between them because of the network resource
problem - a major quality of service (QOS) is the blocking
probability - an example of blocking
8- when a path is to be set up between user 1 and
user 2, the usual requirements are - the path can be set up (otherwise the call is
blocked) - if there are many different ways to set up the
path, it is preferable to set up the path such
that it should not increase much the blocking
probability for "future traffic" in other parts
of the network - since the traffic entering a telephone network
changes according to the time of day, a dynamic
routing algorithm, which can cope with traffic
changes, will perform better
9Dynamic alternative routing (DAR)
- this is a routing algorithm for the telephone
network developed by British Telecom - the network model is
- when traffic between a node pair is offered to
the network, the first-choice circuit is the
direct link between the two nodes, through two
directly connected parents
10- if no direct link is available, a two-link
alternative is to be sought, since two links are
engaged for this call, this will lessen the
chance of establishing circuits for future calls - the above problem can be alleviated by
implementing a trunk reservation scheme with a
trunk-reservation parameter r - a two-link alternative is accepted only if more
than r circuits are free for this two-link
circuit - under overload condition when there are not so
many free circuits, the two-link alternative
routes are effectively suppressed, thus
preventing the spread of overload
11Dynamic nonhierarchical routing (DNHR)
- this is another dynamic routing algorithms for
circuit-switched networks, which is employed in
ATT's long-distance network - similar to the network model for the DAR
algorithm, there is a direct route between two
switches, and several ordered alternate routes,
which have been computed off-line with reference
to network topology and traffic forecast
12- when the direct route is full, the ordered
alternate routes are tried one-by-one until the
call is connected - if no alternative route is free, the call is
blocked - in the course of setting up the circuit, blocking
may occur at any stage, in case that intermediate
links are blocked, there can be different schemes
to handle these situations, namely originating
office control (OOC), sequential office control
(SOC), and crank back
13Originating office control (OOC)
- according to OOC, in case that a chosen route is
blocked, the choice of the next route to try is
always made by the source node (i.e. the
originating office) - suppose that for a network as shown below
14- in this example, three routes have been computed
for traffic from node A to node F, namely
A-B-C-F, A-B-E-F, and A-D-E-F - if a particular route is blocked, all the
intermediate reserved links will be released and
a blocking message is passed all the way back to
node A, node A will then try another computed
route - disadvantage of this method
- A does not know where blocking occurs, from the
given example, if A-B link is blocked, it is
useless for A to try A-B-E-F in the second route
15Sequential office control (SOC)
- Also known as progressive control, sequential
control, spill-forward without crankback - to overcome a disadvantage of OOC, the SOC scheme
allows intermediate nodes to react to blocking - when blocking occurs, the intermediate node tries
to set up the call on another link, if no links
are available at an intermediate node, the call
is blocked
16- each intermediate node will have a set of
possible outgoing links to try - if the link B-C is blocked, B is responsible to
try B-E
17Crank back
- also called spill-forward with crank back
- this is an improvement over SOC, a blocked
message is allowed to be sent back to the
upstream nodes in the routing tree - for example
- if the call request travels over A-B-E but B-E
- link is blocked, the blocking message is passed
back to A, so that A may choose another route
(e.g. maybe A-D-E) - the call is blocked only when non of the paths
defined in the routing tree are available, i.e.
when A-D, D-E, and E-F are blocked
18ROUTING IN DATA NETWOKRS
- in data networks, user data are routed from
source to destination along a path chosen by the
routing algorithm - the data are usually in the form of packets
- as far as a network node is concerned, the
routing algorithm decides which output line an
incoming packet should be transmitted on to, as
shown in the following
19- if the total input rate to a node is ?., the
output rates to the outgoing links may be denoted
as ?1?, ?2?, ?3? - if it is assumed that packets will not be created
nor destroyed within a node, to maintain the
continuity of traffic flow, for each node the
following holds - ?1 ?2 ?3 1, ?i ? 0
for i1,2,3 - according to the way to choose the ?-variables,
routing algorithms may be classified as
centralized or distributed - according to the time interval between updates of
the ?-variables are made, routing algorithms may
be classified as static or dynamic - according to the range of possible values of the
?-variables, routing algorithms may be classified
as fixed or alternate
20Centralized vs. distributed routing
- a centralized algorithm employs a central
controller to determine the ?-variables for the
entire network - the central controller bases its decisions on
global information about conditions everywhere in
the network, such as the state of the network,
and the state of the user traffic - disadvantages of centralized routing
- requirement of central controller leads to single
point of failure
21- traffic in the vicinity of the controller will be
high - not feasible for very large network (e.g. the
Internet with many of hosts) - a distributed algorithm requires that each
individual node decide the values for its
?-variables without coordinating its decisions
with those of other nodes, these decisions are
taken on the basis of local information only - some routing algorithms employ a mixture of
centralized and distributed features, they are
known as "hierarchical
22 Static vs. dynamic
- a static routing algorithm chooses the values of
the ?-variables once and for all, and stay
constant throughout the life cycle of the
network's operation - a dynamic algorithm updates the ?-variables
constantly to reflect the changes in network
topology and traffic conditions - many practical routing algorithms are dynamic in
nature, adapting themselves to the changing
environment to achieve optimum (or sub-optimum)
performance - intermediate algorithms are called "quasi-static"
23Fixed versus alternate
- a fixed routing algorithm constraints the values
of ? to be either zero or 1, as a result between
two update instants, all traffic received will be
assigned to the same outgoing link if the node is
not the destination node - an alternate routing algorithm allows ? to take
any value between 0 and 1 as a result traffic is
split between alternate routes (perhaps
probabilistically) - an alternate routing algorithm is also known as
bifurcated routing
24MINIMUM NETWORK--WIDE DELAY ROUTING
- one approach to designing optimum routing is by
choosing the ?-variables such that the
network-wide packet delay is minimized - the following example may illustrate the
fundamental concept
25An example
- consider the following simple network
- in the above network, the line speed of the two
links are 20kbps, and average packet size is 1000
bits
26- user A is sending data to user B at a rate of 10
packets/sec, i.e. the exogamous traffic is
r(1,2) 10 packets/sec - according to the network topology, there are two
possible paths to route traffic from A to B,
namely (1-2)up and (1-2)low - if the traffic is split over the two paths with
relative proportion ?1 and ?2, as illustrated,
where ?1 ?2 1, the average network-wide delay
can be calculated as follows - each link is modeled as an M/M/1 queue
27- for the upper link, packet arrival rate is 10?1
pkt/sec, service rate is 20,000/1,000 20
pkt/sec, the link delay is - for the lower link, packet arrival rate is 10?2
pkt/sec, service rate is 20,000/1,000 20
pkt/sec, the link delay is
28- the average network-wide delay T is given by the
weighted sum of Tup and Tlow, each weighted by
the traffic volume - the standard way to determine the minimum value
of T is by solving - after ?1 and ?2 have been determined, the routing
problem of this case has been solved.
29- or this example, a plot of T against ?1, is shown
below - from the above plot, it can be seen that when
?10.5 (i.e. ?2 is also equal to 0.5), the
average network-wide delay is minimum, which is
equal 0.067 sec approximately
30- this example demonstrates that minimum
network-wide delay routing can be achieved by
distributing the traffic over the links within
the network in an appropriate manner - since the ?-variables are usually non-zero, the
resultant routing algorithm usually employs an
alternate routing approach, which is also called
bifurcated routing - Bifurcated routing in general
- consider a network consisting of M links and N
nodes - the network is so modeled that each link can be
modeled as independent M/M/1 queue
31- suppose link i has a total traffic of ?i
traveling over it, and that the average rate of
transmitting the packets over link i is ?i, then
the delay time in traversing link i is Ti given
by - and the the average number of packets
waiting to be transmitted on link i is obtained
by Little's theorem, as
32- suppose the average network-wide packet delay is
denoted as E(T), and the average number of
packets within the network is E(n), and the total
traffic input to the network is ?, then according
to Little's theorem the following can be
established - E(n) ? E(T)
- therefore
- E(T) E(n)/ ?
- if all the links are treated as independent M/M/1
queues, E(n) can be calculated as the sum of
individual link occupancy, i.e.
33- the average network-wide packet delay is
- once the external traffic are known, and the
routing algorithm is known, all the ?is and ?is
are known, and then E(T) can be calculated - the minimum network-wide delay routing problem is
to route the traffic so that E(T) is a minimum
34SHORTEST-PATH ROUTING
- since shortest-path routing aims at routing the
data from a source node to a destination node
over the shortest path - the total path length is the summation of the
individual link cost along the path, if the link
costs represent delay time, this gives rise to
minimum delay routing if the link costs
represent transmission cost, this gives rise to
least cost routing - the shortest path between two nodes can be
determined by algorithms that have been discussed
in graph theory
35- two algorithms (or their variations) have been
widely adopted for routing in data networks,
namely - Dijkstra algorithm (for positive link costs) that
finds the shortest path from one source node to
all other nodes (this is called Algorithm A in
Schwartz's book) - Bellman-Ford algorithm (Algorithm B in Schwartz's
book) that finds the shortest path from all nodes
to one destination node, this algorithm works for
negative link costs
36- both Dijkstra and Bellman-Ford algorithms can be
implemented in a centralized routing manner,
where a central controller computes the shortest
paths for all node pairs, and then distributes
the routing tables to all nodes the shortest
paths may be computed regularly or after some
changes in user traffic or network state have
taken place, resulting in a dynamic algorithm - they may also be implemented in a distributed
manner where every node participates in
determining the shortest path, the nodes must be
able to gather and exchange information about the
network with the use of a routing protocol
37Distributed shortest path routing
- also known as distance-vector algorithm
- as an illustration, consider a node N that has
neighboring nodes X, Y, and Z, as below
38- node N knows the direct distance from itself to
its neighbors according to the above diagram - node N keeps a routing table containing the
shortest path length to each destination, and the
outgoing link to route to this destination, as an
example
39- regularly node N receives routing information
from its neighboring nodes, in the form - as an example, X announces that it can send data
to node A as the destination over a path with
length 21 then N will reason in this way "If I
send a piece of data to destination A by giving
it to X, my direct distance to X is 4, and X will
use a path with length 21 to reach A, then the
total path length is 42125"
40- similarly, if X routes data to A via Y, the total
path length will be 52227 via Z, the total
path length will be 62531 - so N will decide to send data to A via X, since
this is the shortest path with length 25 N will
compile a table like this - the underlined entries are shortest paths
41- hence N will have an updated shortest path
routing table like this
- and N will send the following distance table to
its neighbors
42- in practice not the entire distance table needs
to be sent out, only those entries that have
changed need to be sent out, these are in the
form of d, Dd(N), where "d" denotes the
destination node, "Dd(N)" denotes the minimum
distance from node N to destination node d - all nodes in the network participate in the same
manner, and convergence to the shortest path is
guaranteed in most practical situations
43Link-state routing
- each node maintains a link-state database, which
is identical to what other nodes have got
throughout the network - the link-sate database describe the complete map
of the network - based on this link-state database, a node can
calculate the shortest paths to any other node by
using, for example, Dijkstra algorithm - the link-state database is formed by the
cooperation of all nodes in the network - a node will gather its local information and form
a part of the link-state database, known as
link-state advertisements (LSA)
44- an LSA consists of the following information
- the identity of the node itself (e.g. node
address) - a list of the node's outgoing links
- the identity of the node to which each outgoing
link connects - the cost of each outgoing link (e.g. packet
transmission time) when used to forward data - consider node N as follows
neighbour
45- the LSA gathered by node N will be
- the LSAs are distributed throughout the entire
network by a routing method called flooding - when a node receives a piece of data, it will
copy this piece of data to all its output ports - after all LSAs from all nodes are gathered, the
entire map of the network can be constructed and
then the shortest path to any destination node
can be calculated
Flash movie Net map based on LSAs
46Distributed Bellman-Ford algorithm (distance
vector revisited)
- Each node maintains two tables a distance table
and a routing table. - The distance table for node v lists the cost to
each destination via each outgoing link (or
equivalent to each neighboring node). - The cost to destination d via a node w, denoted
as Cd(v,w), is listed in row d and column w.
47Distributed Bellman-Ford algorithm (cont.)
- The routing table lists the minimum cost and the
next-node assignment in the distance table.
Assume Dd(v) minw Cd(v,w) Cd(v,p). The
routing table will have a p and Dd(v) in row d. - Example distance and routing tables for node N
48Distributed Bellman-Ford algorithm routing table
example
- Example Routing table for node N
49The distributed Bellman-Ford algorithm
- The distributed distance vector algorithm for
node v, the routing table contains pairs
(n,Dd(v)) (next neighbor (node), distance to
node d from v), the link cost from w to v is
denoted as l(w,v) the cost to destination d via
the neighboring node w is denoted as Cd(v,w).
50The distributed Bellman-Ford algorithm (part 1)
- Part 1 link (m,v) comes up.On recognizing this
event node v - Sets entry (m,m) (m_th row,m_th column) cost to
m via m of the distance table to l(m,v). - Computes minw Cm(v,w) Cm(v,p).
- If Cm(v,p) Dm(v), set Dm(v) Cm(v,p). The
routing table is changed to (p, Dm(v)), and the
control message m, Dm(v) is sent to all
neighbors. - The routing table is sent to m, each row of the
routing table as one control message.
51The distributed Bellman-Ford algorithm (part 2)
- Part 2 cost of link (m,v) changes.On
recognizing this event node v - Makes the change in the column m (corresp. To
node m) in all distance table. - Computes minw Cm(v,w) Cm(v,p).
- If Cm(v,p) Dm(v), set Dm(v) Cm(v,p). The
routing table is changed to (p, Dm(v)), and the
control message m, Dm(v) is sent to all
neighbors.
52The distributed Bellman-Ford algorithm (part 3)
- Part 3 A control message d,Dd(w) is received
by node v.If dv (destination is v itself), v
ignores it. Else, v does the following. - Set Dd(v,w) Dd(w)l(w,v).
- Computes minw Cm(v,w) Cm(v,p).
- If Cm(v,p) Dm(v), set Dm(v) Cm(v,p). The
routing table is changed to (p, Dm(v)), and the
control message m, Dm(v) is sent to all
neighbors.
53The distributed Bellman-Ford algorithm an example
- Node 1 comes up. All nodes operate in
synchronism. Only row 1 (destination to node 1)
is shown.
54The distributed Bellman-Ford algorithm an
example (cont.)
55Routing information protocol (RIP) for the
Internet
- A protocol for an autonomous system (a set of
networks under the same organization). - A dedicated device is responsible to direct data
traffic for a network, known as router. - Cost number of hops (number of intermediate
routers traversed).
56Routing information protocol (RIP) (cont.)
- Routers advertise the table of distance vector
regularly in 30 seconds interval. - Count-to-infinity set to 16
57Routing information protocol (RIP) (cont.)
- Convergence all routers have agreed on the costs
of routers. A router starts using the new update
after waiting for three updates. Hold down 90
secs. - Speeding up convergence split horizon (A does
not tell C that D is reachable though A) and
poison reverse (A tells C that D is unreachable
though A). - Trigged updates whenever a router detects a
change in router cost, it is required to send
update message immediately. - Age out the cost is increased by one if a
router does not receive a route update. If no
update is received for three minutes (6 update
period), then the router is removed from the
table.
58Link state routing for the Internet Open
shortest path first (OSPF)
- Also a protocol for an autonomous system.
- Features of OSPF
- open available in the open literature.
- supports various distance metrics, e.g.,
physical distance, delay. - Dynamic e.g., adapting to changes in the
topology automatically and quickly. - In OSFP and RIP version 2, authentication
passwords are required in routing updating.