Title: Data Networks 5'3, 5'4
1Data Networks 5.3, 5.4
- Daniel Gau
- Graduate Institute
- Information Management Dept.
- National Taiwan University
- R90057_at_im.ntu.edu.tw
2outlines
- Coping with link failures when broadcasting
routing information - Flow models
- Optimal routing
- Topology design
3Difficulties
- Topological update information must be
communicated over links that are themselves
subject to failure. - One has to deal with multiple topological changes
- New topological update information may arrive as
the old algorithm is running - The repair of a single link. The algorithm must
ensure that eventually the two parts agree and
adopt the correct network topology.
4The flooding algorithm in its pure form fails
- n is initially up, then it goes down, then up
again. - AC fails after the first update.
5Assumptions
- Network links preserve the order and correctness
of transmissions. - Nodes maintain the integrity of messages that are
stored in their memory. - A link failure can be detected by both end nodes
of the link, though not simultaneously. - If one of the end nodes declares the link to be
up, then within finite time, either the opposite
end node also declares the link up or the first
declares it down again.
6Assumptions (contd)
- A node can crash, in which case each of its
incident links is, within finite time, declared
down by the node at the opposite end of the link. - The preceding assumptions are not always
satisfied in practice, one must weigh the
consequences of the exceptional case where they
are not.
7Flooding The ARPANET Algorithm
- The time interval between update broadcasts by
the node varies from 10 to 60 sec, depending on
whether there has been a substantial change in
any single-link average delay or not. - Each message includes a time average of packet
delay on each outgoing link from the node.
8Example of difficulties with certain forms of
flooding
- Rules a node that receives a message relays it
to all of its neighbor nodes except the one from
which the message was received. - This form of flooding works only if the network
has no cycles.
9Flooding The ARPANET Algorithm (contd)
- In the ARPANET, update messages from originated
at some node i, it checks to see if its sequence
number is greater than the sequence number of the
message last received from i. - If so, the message together with its sequence
number is stored in memory, and its contents are
transmitted to all neighbors of j except the one
from which the message was received - Otherwise, the message is discarded.
10Flooding The ARPANET Algorithm (contd)
- Problems with sequence numbers
- There may be no way for the two separated
portions to figure out the correct topology after
they connect again by relying on the sequence
number scheme alone - A sequence number could be altered either inside
a nodes memory due to malfunction, or due to an
undetected error in transmission.
11How ARPANET resolves the problems associated with
seq
- Each update message includes an age field, which
indicates the amount of time that the message has
been circulating inside the network. - In addition to the messages transmitted when a
link status change is detected, each node is
required to transmit update messages
periodically.(at least one from every node every
60 sec.)
12Flooding without periodic updates
- Method modify the previous flooding rules
- requirement The seq field must be so large
that wraparound never occurs. - A zero seq is allowed only when the node is
recovering from a crash.
13Rules
- When bringing up links that have been down, the
end nodes of the link, in addition to
broadcasting a regular update message on all of
their outgoing links, should exchange their
current views of the network - By which we mean that they should send to each
other all the update messages stored in their
memory that originated at other nodes together
with the corresponding sequence numbers.
14Rules (contd)
- When node j receives an update message A that has
originated from i, and let B be the message
originated at node i and currently stored in node
js memory - AltB discarded
- AB discarded
- AgtB
- if , j stores A in its memory and sends a
copy of A on all its incident links except the
one on which A was received. - if i j, node j sends to all its neighbors a new
update message carrying the current status of all
its outgoing links together with a seq that is
1 plus the seq
15Why comapre A and B when the seq are the same
- Initially, both links are up. (2,3) down, (1,2)
down, (2,3) comes up again
2
1
3
16Broadcast without Seq
- We wish to have an algorithm by which all nodes
get to know the correct value of V after a finite
time from the last change. V represent the
status of the incident links of the center - Vi each node i stores in memory a value Vi,
which is an estimate of the correct value of V. - each node i stores the last value received by
each of its neighbors j, denoted as
17General rules for changing the estimate Vi of
each node i
- Suppose we have an algorithm that maintains a
tree of directed paths from all nodes to the
center. - Each node except for the center has a unique
successor s(i) in such a tree. - Node i make Vi equal to the value last
transmitted by the successor s(i) within a finite
time after either the current successor transmits
a new value or the successor itself changes.
18Information broadcast over a tree rooted at the
center that holds the value V
19SPTA (Shortest Path Topology Algorithm)
- The tree construction algorithm and the
topological change broadcast procedure are
integrated into a single algorithm - The data structure each node i stores
- The Main Topology Table
- Stores the believed status of every link
- Official table used by the routing algorithm at
the node - The Port Topology Table
- There is one such table for each neighbor node j.
20Data structures of SPTA at node i
21Communication Rules
- When a link status entry of a nodes main
topology tables changes, the new entry is
transmitted on each of its operating incident
links. - When a failed link comes up, each of its end
nodes transmits its entire main topology table to
the opposite end node over that link. Upon
reception these entries, the opposite end node
enters the new link status in its main and port
topology tables.
22Topology Table Update Rules
- When an incident link of a node fails, the failed
status is entered into the nodes main and port
topology tables. - When receiving a link status message from a
neighbor, it enters the message into the port
topology table associated with the neighbor - When entries changes according to the above
situation, node i update its main topology table
by using the following algorithm.
23Main Topology Update Algorithm
- At the start of Kth iteration, there is a set of
nodes . Each nodes m in has a label,
which is the ID number of the neighbor of i that
lies on the path from i to m that has a minimum
number of links. - Example, , each node in it is directly
connected to i and the label is their own id. - At Kth iteration, will be augmented by new
nodes to form or the algorithm terminates.
24Main Topology Update Algorithm (contd)
- Status of links ( at least end node in but
no node in ) is entered into Main Topology
Table. - (m,n) m ? , n ? , m or
n(or both) ? - For notational completeness
25Main Topology Update Algorithm (contd)
- Step 1
- Link (m,n) ? , let m ? , let ms label
j - Copy status of (m,n) from port topology to
. - If status is up and n ? , give to node n the
label j.
26Main Topology Update Algorithm (contd)
- Step 2
- Let be the nodes labeled in step 1.
- If is empty, the algorithm terminates
- Otherwise, set and do
iteration
27Example
28Example (contd)
29Properties of the main topology update algorithm
- the set of nodes m with the property that
in the topology finally obtained, there is a
path of k or fewer up links connecting m with i. - (kgt1) all paths of up links connecting
one of the end nodes of l with node i has no
fewer than k links, and there is exactly one such
path with k links. - When an incident link (i,j) fails, then the
information from port topology is in effect
disregarded.
30Operation of the SPTA for a single-link status
change
31Operation of the SPTA for a multi-link status
change
32Operation of the SPTA for a multi-link status
change
33Chapter 5.4
- Flow models, optimal routing, and topological
design
34Routing Optimization
- cost function for optimization
- flow of link (i,j)
- A frequently used formula
- Another cost function
is the propagation delay
35Routing Optimization (contd)
- A computational study Vas79 has shown that it
typically make little difference whether the cost
function of the previous slide is used for
routing optimization.
36Formulate a problem of optimal routing
- the input traffic arrival rate for each
pair w (i,j) - W set of all OD pairs
- set of all directed paths connecting the
origin and destination nodes of OD pair w - flow (data units/sec) of path p
37Formulate a problem of optimal routing (contd)
- The collection of all path flows
- must satisfy the
constraints -
- for all w ? W,
- for all p ? , w ? W
38Schema representation
39Formulate a problem of optimal routing (contd)
- The total flow of link (i,j) is the sum of
all path flows traversing the link -
40Formulate a problem of optimal routing (contd)
- Subject to for all w ? W
- for all p ? , w
? W
41Problem
- Algorithms for its solution are given in Section
5.6 and 5.7. - The underlying hypothesis here is that one
achieves reasonably good routing by optimizing
the average levels of link traffic without paying
attention to other aspects of the traffic
statistics.
42Routing based on queue length information
43Overview of Topological Design Problems
- Concept
- Given a set of traffic demands, we want to put
together a network that will service these
demands at minimum cost while meeting some
performance requirements.
44Overview (contd)
- Given conditions
- Geographical location of a collection of
devices(terminals) that need to communicate with
each other - A traffic matrix giving the input traffic flow
from each terminal to every other terminal
45Overview (contd)
- What we want to design
- Topology of a communication subnet to service
the traffic demands of the terminals - Location of the nodes
- Choice of links
- Capacity of each link
- Local access network i.e., the collection of
communication lines that will connect the
terminals to entry nodes of the subnet
46illustration
Local access network
Subnetwork
47Design Objectives
- Keep the average delay per packet or message
below a given level - Satisfy some reliability constraint to guarantee
the integrity of network service in the face of a
number of link and node failure - Minimize a combination of capital investment and
operating costs while meeting the above
objectives 1 and 2.
48Subnet design problem
- Assumptions
- Local access network has been designed
- Matrix of input traffic flow for every pair of
subnet nodes is known - We want to select the capacity and flow of each
link so as to meet some delay and reliability
constraints while minimizing costs. - This turns to be a difficult combinational
problem as illustrated by the following problem
49Subnet design problem (contd)
- The problem is to choose the capacity of each
link (i,j), so as to minimize the linear cost - Subject to (average
delay constraint) - is a known positive price per unit
capacity - ? is the total arrival rate into the network
50Subnet design problem (contd)
- When the flows are known, the problem is to
minimize the linear cost - over the capacities
- We introduce a Lagrange multiplier ?, and form
the Lagrangian function -
-
51Subnet design problem (contd)
- Set the partial derivatives to zero
- Solving for gives
(1)
52Subnet design problem (contd)
- Substituting in the constraint equation, we can
obtain - And from the last equation
(2)
(3)
53Subnet design problem (contd)
- Last equation is substituted in Eq. (1) yields
the optimal solution - After rearranging
(4)
(5)
54Subnet design problem (contd)
- We can get the optimal cost
55Subnet design problem (contd)
- There is a tendency for many of the flows
and corresponding capacities to be zero - Is unrealistic because , in practice, capacity
costs are not linear - The capacity of a line is typically equal in both
directions, whereas this is not necessarily true
for the optimal capacities of the above equation
56Heuristic methods for capacity assignment
- Assumptions
- The nodes of the network and the input traffic
flow for each pair of nodes are known. - A routing model has been adopted
- There is a delay constraint must be met.
- There is a reliability constraint must be met.
- There is a cost criterion
57Steps of the iteration
- Assign Flows by means of some routing algorithm
- Check Delay
- If go to step 3 D can be, for example,
- Else go to step 5
- Check Reliability
- If the constraints are not met, go to step 5
- Else go to step 4
58Steps of the iteration(contd)
- Check Cost Improvement
- If the cost of the trial topology is less than
the cost of the current best topology, replace it - Generate a New Trial Topology
- Use some heuristic to change one or more
capacities of the current best topology,
obtaining a trial topology. Go to step 1
59Step5 Create New Topology
- Branch exchangeone link is deleted and another
link is added - Saturated cut method(how to choose the links to
be added and deleted) - Identify a partition of the nodes into two sets
N1 and N2 such that the links joining N1 and N2
are highly utilized. - It seems plausible that adding a link between a
node in N1 and a node in N2 will help reduce the
high level of utilization across the cut.
60Saturated cut method
- Prepare a list of all undirected links (i,j),
sorted in order of decreasing utilization as
measured by - Find a link k such that
- If all links above k on the list are eliminated,
the network remains connected - If k is eliminated together with all links above
the list, the network separates in two
disconnected component N1 and N2
61Saturated cut method (contd)
- Remove the most underutilized link in the
network, and replace it with a new link that
connects a node in the component N1 and a node in
the component N2.
62Example
63Step3 Check Reliability
- K-connected
- We say two nodes i and j in an undirected graph
are k-connected if there is a path connecting i
and j in every subgraph obtained by deleting
(k-1) nodes other than i and j together with
their adjacent arcs from the graph. - Arc-connectivity
- The minimum number of arcs that must be deleted
before the graph becomes disconnected
64The definition of k-connectivity
Graph(b) is 2-connected
Node 1 and 2 are 6-connected 2 and 3 are
2-connected 1 and 3 are 1-connected Graph(a) is
1-connected
65Check Reliability (contd)
- It can be shown that i and j are k-connected if
and only if either i and j are connected with an
arc or there are at least k node-disjoint paths
connecting i and j. - Its possible to calculate the number of
node-disjoint paths connecting two nodes i and
j.This can be done by setting up and solving a
max-flow problem
66Check Reliability (contd)
To find the number of node-disjoint paths from A
to F
67Check Reliability (contd)
- One way to check k-connectivity of a graph is to
check k-connectivity of every pair of nodes. - Another particular method by Kleitman
- Choose an arbitrary node and check
k-connectivity between that node and every other
node. - Delete and its adjacent arcs
68Check Reliability (contd)
- Another particular method by Kleitman
- Choose another node and check
(k-1)-connectivity between that node and every
other node. - Continue in this manner until node is
checked to be 1-connected to every remaining
node, or (k-i)-connectivity of some node , i
0,1,....k-1, to every remaining node can not be
verified.
69illustration
1
3
2
70Spanning tree topology design
- For some networks where reliability is not a
serious issue, a spanning tree topology may be
appropriate. - A potential difficulty arises when there is a
constraint on the amount of traffic that can be
carried by any one link. - A modified Kruskal or Prim-Dijkstra algorithms
can be used.
71Essau-Williams algorithm
- A special case of the constrained MST(minimum
weight spanning tree) - All traffic must go through the central node, so
it can be assumed that there is input traffic
only from the noncentral nodes to the central
node and the reverse. - Its a branch exchange heuristic
72Essau-Williams algorithm steps
- Starts with the spanning tree where the central
node is directly connected with each of the N
other nodes. (assumed to be a feasible solution) - At each successive iteration, a link (i,0)
connecting some node i with the central node 0 is
deleted from the current spanning tree, and a
link (i,j) is added
73Essau-Williams algorithm steps(contd)
- These links are chosen so that
- No cycles formed
- The capacity constraints of all the links of the
new spanning tree are satisfied - The saving in link weight obtained by
exchanging (i,0) with (i,j) is positive and is
maximized over all nodes i and j for which 1 and
2 are satisfied.
74Essau-Williams algorithm steps(contd)
- The algorithm terminates when there are no nodes
i and j for which requirements 1 to 3 are
satisfied when (i,0) is exchanges with (i,j).
75Illustration of the Essau-Williams
76Local Area Network Design problem
- Assumptions a communication subnet is available
- Objective to design a network that connects a
collection of terminals with known demands to the
subnet - Its difficult to recommend a global design
strategy without knowledge of the given practical
situation.
77Concentrator problem
- There are n sources located at known geographical
points. Each source may be a gateway of a local
area network that connects several terminals. - The problem is to connect the n sources to m
concentrators that are themselves connected to a
communication subnet.
78Concentrator problem example
79Concentrator problem (contd)
- the cost of connecting source i to
- concentrator j
-
-
If source i is connected to concentrator j
otherwise
80Concentrator problem (contd)
- The total cost of a source assignment specified
by a set of variables is - Assume that each source is connected to only one
concentrator
(1)
for all sources i (2)
81Concentrator problem (contd)
- There is a maximum number of sources that
can be handled by concentrator j. - The problem is to select the variables so as to
to minimize the cost (1) subject to the
constraints (2) and (3)
for all concentrators j (3)
82Concentrator problem (contd)
- If we change by
- the problem becomes a linear transportation
problem that can be solved by very efficient
algorithms such as the simplex method. It will be
shown that the solution obtained from the simplex
method will be integer.
83Further discussion
- When the location of the concentrator is not
fixed, and is subject to optimization. - There are m potential concentrator sites and
there is a cost for locating a concentrator
at site j.
If a concentrator is located at site j
where
otherwise
84Presentation end
85Tendency for low connectivity
- We want to choose the capacities C1,..., Cn so as
to minimize the sum C1... Cn while dividing the
input rate ? among the n links so as to meet an
average delay constraint - The optimal solution is the minimal connectivity
topology to meet the delay constraint. (3.1
and 3.3)