Title: ROUTING
1ROUTING
2Floyd - Warshall
All pairs shortest path
Definition Let S be a subset of V. A path ltu0,
. . . , ukgt is an S-path if for all i, 0 lt i lt
k, ui? S. (intermediate nodes) The S-distance
from u to v denoted d S (u,v), is the lowest
weight of any S-path from u to v ( ? if no such
path exists). Lemma If S S ? w then a
simple S-path from u to v is an S-path from u
to v or an S-path from u to w concatenated with
an S-path from w to v . dS(u, v) min (dS (u,
v), dS (u, w) dS (w, v)). d (u, v) dV(u, v).
3Sequential Floyd - Warshall
4Complexity
Lemma Floyd - Warshall algorithm computes the
distance between each pair of nodes in ?(N3)
steps. Distributed algorithm - the
distance matrix is distributed among all nodes
- assumes the same list of nodes in every node
- uses N times a broadcast of a distance vector
Dw - stores the first node of each shortest
path Nbuv - Touegs algorithm sends 3N
messages on each channel, O(NE) messages
all together
5A simple distributed algorithm
6Touegs algorithm
- Each cycle in the network has a positive weight.
- Each node in the network initially knows the
identities of all nodes (the set V ). - Each node knows which of the nodes are its
neighbors (stored in Neighu for node u) and the
weights of its outgoing channels. - the variable Du,v belongs to node u Duv
- the first channel of the shortest S-path ltu,vgt is
Nbuv.
7Broadcasting the distance vector
- Only node u that has a path to w can use Dw
- Every node u knows the first edge towards w
- Sons on the tree Tw are not labeled
- ys messages are used to define the other
direction on the tree (nys) - Then w distributes Dw over this tree
8(No Transcript)
9(No Transcript)
10Routing with compact routing tables
111. The tree labeling scheme
- The cyclic interval a, b) in ZN is the set of
integers defined by - a, a1, . . . , b -1 if
a lt b - a, b)
- 0, . . ., b -1, a, . . ., N -
1 if a gt b - The cyclic interval a, b) is called linear if
a lt b.
0
b
a
12Theorem
The nodes of a tree T can be numbered in such a
way that for each outgoing channel of each node
the set of destinations that must be routed via
that channel is a cyclic interval.
13PREORDER TREE TRAVERSAL
v0
lw0 0
father
- Forwarding to neighbor y of w
- ?y ? Tw ly ? aw, bw)
- ?y ? Tw ly ? Z \ aw, bw)
- bw,aw)
x
lw
w
lw lw Tw
w
y
son
Tw
lx lw Tw - 1
x
Tw .. linear interval
14Preorder labeling of channels
each channel needs start point and end point but
the collection of intervals create ZN ?uw ...
label corresponding to channel uw at node u each
channel defines the start point of the interval
log N bits per channel
channels of node u of degree degu are labeled
?1 , . . . , ?degu , where ?1 lt ?1 lt .
. . ?degu
lw if w is a son of
u ?uw lu Tu if w
is the father of u
15The partition of ZN in a node
?deg
non-linear interval
?i1
?1
Destinations routed via channel ?1
Destinations routed via channel ?i
?2
?i
16Interval forwarding
Lemma T can be chosen in such a way that for all
u and v, dT (u, v) ? 2DG.
172. Interval routing for non-tree network
An interval labeling scheme (ILS) for a network
is (1) an assignment of different labels from ZN
to the nodes of the network and, (2) for
each node, an assignment of different labels
from ZN to the channels of that node.
18DFS ILS is a labeling scheme
A depth-first-search ILS for G (with respect to
T) is a labeling scheme for which the following
rules are satisfied. (1) the node labels are
assigned as in a preorder traversal of T, i.e.
the nodes in subtree Tw are labeled with the
numbers in lw, lw Tw). Write kw lw
Tw. (2) The label of edge uw at node u is
called ?uw. a. If uw is a frond edge then
?uv lw. b. If w is a son of u (in T) then
?uw lw. c. If w is the father of u then
?uw ku, unless ku N and u has a frond
to the root. d. If w is father of u, u has
a frond to the root, and ku N then
?uw lw.
19A depth-first search ILS
0
1
8
9
10
8
0
1
8
Tree edges
2
5
9
4
8
0
8
Frond edges
2
5
9
6
11
3
4
10
7
8
11
4
5
1
7
0
0
4
3
6
7
10
11
20Valid DFS labeling
DFS labeling is valid, i.e., all packets
eventually reach their destination. If node v
belongs to subtree Tu, then v ? Tu ltgt lv ?
lu, ku). A node u forwards a packet with
destinaton v to its neighbor w if lv ? ? uw, ?
) and there is no label ? ?uw such that ?
? ?uw, lv).
?
? uw
lv
?
21Valid DFS labeling
father
father ?uw ku gt lu u ?uw gt lu son
frond ?uw lt lu ?uw gt lu frond
1B
2B
frond down
0
2A
son
1A
frond up
lu
22A If lu gt lv then lw lt lu.
Proof 1. ?uw ? lv. node w is not
a son or a frond to us descendent or the
father lw ?uw gt lu gt lv node w is a
frond to us ancestor lw ?uw lt lv lt
lu 2. ?uw is the largest label in u and
there is no label ? lt lv node w is not
a son or a frond to us descendent lw
? uw lt ku neither w is a frond to an
ancestor lw ?uw lt lv
w is the father lw lt lu
23B If lu lt lv then lw lt lv.
Proof 1. v ? Tu. w is not the
father w is a son or a downward frond
?uw lw lt lv 2. lv ? ku w is
not a son lw lt ku a
downward frond lw lt ku upward
frond lw lt l w is the father and ku lt
lv gt lw lt lu lt lv
24If lu lt lv then fv(w) lt fv(u), where fv(u)
(-lca (u, v), lu).
lca (u, v) lt lca (v, w) lwlt
lu Proof 1. v ? Tu. lca(u, v)
lu lca(w, v) ? lw gt lu 2. lv gt
ku lca(u, v) lca(w, v) and lw lt lu
25Routing for v in the DFS ILS
263. Prefix labeling scheme PLS
PLS over ? for a network G is 1. an
assignment of different strings from ? to the
nodes of G and 2. for each node, an assignment
of different strings to the channels of that
node.
27A Tree PLS
A tree PLS for G (with respect to T) is a prefix
labeling scheme in which the following rules
are satisfied. 1. The node label of the
root is ? . 2. If w is a son of u then lw
extends lu by one letter, i.e. if u1,uk are
the sons of u in T then lui lu.ai, where
a1,ak are different letters from ? . 3. If uw
is a frond then ?uw lw. 4. If w is a son of u
then ?uw lw. 5. If w is the father of u then
?uw ? unless u has a frond to the root
in that case, ?uw lw.
28Prefix forwarding
29Correctness of the prefix forwarding
A. If u ? Tv then w is an ancestor of
u. -----------------------------------------------
--------- 1. if ?uw ? then w is an
ancestor 2. if ?uw lw then ?uw ? lv
gt lw ? lv
?uw lw ? lv ?uw ? sending towards the
root, to the lca, closer to v
30Correctness of the prefix forwarding
- If u is an ancestor of v then w is an ancestor
of v, - closer to v than u.
- --------------------------------------------------
---------------------- - w is a son such that v ? Tw, then
?uw lw ? lv
31Correctness of the prefix forwarding
C. If u ? Tv then w is an ancestor of v or
dT(w, v) lt dT(u,v). -----------------
--------------------------------------------------
-------- 1. ?uw ? then w is the father
moving to lca(u,v) 2. ?uw lw as ?uw ?
lv, w is an ancestor of v.