Broadcast Routing: Eytan Modiano
Broadcast Routing: Eytan Modiano
Broadcast routing
Eytan Modiano
Eytan Modiano
Slide 1
Broadcast Routing
• Possible solutions:
– Spanning Tree Routing: Send packet along a tree that includes all of
the nodes in the network
Eytan Modiano
Slide 2
Graphs
2
2
1 3
1 3
4
N = {1,2,3}
N = {1,2,3,4}
A = {(1,2)}
A = {(1,2),(2,3),(1,4),(2,4)}
Eytan Modiano
Slide 3
Walks and paths
• A walk is a sequence of nodes (n1, n2, ...,nk) in which each adjacent node
pair is an arc.
2 2
1 4 1 4
3 3
Eytan Modiano
Slide 4
Cycles
2
Cycle (1,2,4,3,1)
1 4
Eytan Modiano
Slide 5
Connected graph
2 2
1 1
4 3
Connected Unconnected
Eytan Modiano
Slide 6
Acyclic graphs and trees
2 2 2
1 4 1 3 1 3
3
• The number of arcs in a tree is always one less than the number of nodes
– Proof: start with arbitrary node and each time you add an arc you add a node
=> N nodes and N-1 links. If you add an arc without adding a node, the arc
must go to a node already in the tree and hence form a cycle
Eytan Modiano
Slide 7
Subgraphs
2 2
1 4 1 3
3
Eytan Modiano
Slide 8
Spanning trees
2 2
5 5
1 4 1 4
3 3
Eytan Modiano
Slide 9
Spanning trees
Eytan Modiano
Slide 10
General construction of a spanning tree
Eytan Modiano
Slide 11
Spanning tree algorithm
• The algorithm never forms a cycle, since each new arc goes to a
new node.
Eytan Modiano
Slide 12
Distributed algorithms to find spanning trees
1) A fixed node sends a "start" message on each adjacent arc of the graph
2) Each other node marks the first arc on which a start message was received
as a spanning tree arc and then sends a "start" message on each other arc
Eytan Modiano
Slide 13
Min weight spanning tree
• Given a graph with weights assigned to each arc, find a spanning tree of
minimum total weight (MST)
• Theorem:
– Given a fragment F of an MST, Let a(i,j) be a minimum weight outgoing arc from
F, where j is not in F.
• Proof:
– Let M be the MST that does not include a(i,j).
– Since a(i,j) is not part of M, then adding a(i,j) to M must cause a cycle. There
must be some link in the cycle b ≠ a which is outgoing from F.
– Deleting b and adding a creates a new spanning tree. Since weight of b cannot
be less then weight of a , M' must be a MST.
If weight of a = weight of b, then both are MST’s otherwise M could not have been an
MST
Eytan Modiano
Slide 14
MST algorithms
Eytan Modiano
Slide 15
Prim-Dijkstra Algorithm
2
8 2
1 5 7
4 1 1
3 9
Step 1 Step �2
2 2 2
8 8
1 1 1 7
3 3 3
Step 3 Step 4 Step 5
Eytan Modiano
Slide 16
Kruskal Algorithm
2 MST
8
1 4 5 7
3 9
Fragment
– Consider any spanning tree using those arcs and the arc of weight 4,
say, which is an outgoing arc from the fragment.
– Suppose that spanning tree does not use the arc of weight 2.
– Removing the arc of weight 4 and adding the arc of weight 2 yields
another tree of smaller weight.
Eytan Modiano
Slide 17