12/06/2001
LUUG 29/11/2000 Hidden Footprints
18
• Second refinement
• eliminate duplicates
• need routing information
RS
RB
RC
RE
RF
RD
Multicast routing [2]
lDistance vector:
–need next hop information
–(or use poisoned reverse)
lLink state:
–construction of all SP trees for all nodes possible
–“tie-break” rules required
Second refinement: Duplicate elimination
As things stand, even with RPB, both RC and RD will forward a multicast datagram to RE. RE will delete one of these on the basis of the RPB rule. However, we have still wasted effort with a useless transmission to RE. If RC and RD knew that RE’s path to RS was via RD (say) then RC need not forward to RE. How can RC and RD learn about RE’s paths? There are two cases to consider:
1) distance-vector routing: the distance-vectors RE sends will contain distances but no indication of first-hop. One possibility is to modify the protocol to include this information. A second possibility is to make use of the poisoned reverse rule – send a hop count of “infinity” (i.e. value 16) back to the first hop on the route.
2) link state routing: link-state algorithms flood link-state information to all other nodes in the network. By this means, each node ends up with a complete picture of the state of every link in the network. In a unicast link-state algorithm, a node now proceeds to calculate a shortest path tree from itself to every other node in the network. In fact, each node has enough information to calculate shortest path trees for every node in the network. All the routers shown can calculate shortest-path trees with RS as source. If we ensure that they all perform precisely the same calculation, they will all end up with the same result. This means that the calculation algorithm has to be formally part of the protocol and needs to specify unambiguous “tie-breaking” rules to select between equal length routes. For example, there are clearly two equal-length routes from RE back to RS – we must ensure that all routers make the same choice between them. This can be done, for example, by choosing the router with the numerically higher IP address.