Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Group Communications: Reverse Path Multicast Dr. Rocky K. C. Chang 19 March, 2002.

Similar presentations


Presentation on theme: "1 Group Communications: Reverse Path Multicast Dr. Rocky K. C. Chang 19 March, 2002."— Presentation transcript:

1 1 Group Communications: Reverse Path Multicast Dr. Rocky K. C. Chang 19 March, 2002

2 2 Multicast routing protocols All multicast routing protocols build distribution trees. So far, distribution trees are mainly either source- specific trees or shared trees. –The former is rooted at an active source for a particular group, e.g., DVMRP, MOSPF, PIM/DM. –The latter is rooted at a “core router” for a particular group, e.g., PIM/SM, CBT. In terms of the methods of joining a tree: –Implicit joins: They use the data itself to control the building of the tree (data-driven or broadcast-and-prune), e.g., DVMRP and PIM/DM. –Explicit joins: A host needs to explicitly join a group before receiving data, e.g., OSPF, PIM/SM, and CBT.

3 3 Several approaches Reverse path broadcasting (RPB) –Mainly for broadcasting –Trade network efficiency for simplicity Truncated reverse path broadcasting –Improve on RPB in terms of network efficiency but need additional protocols: a distance-vector unicast routing protocol and IGMP. Reverse path multicasting –Improve on Truncated RPB in terms of network efficiency by providing pruning and grafting mechanisms.

4 4 Reverse path forwarding (or broadcast) RPB algorithm performs broadcast delivery using only the local unicast routing table: –If a broadcast datagram is received over the link that is on the shortest path to the source, the router then forwards a copy of the datagram to each link except the link from which the datagram is received (the corresponding router port is referred to as RPB port). –Else, drop the datagram. Each router receives a copy of the datagram over the reverse of the path used to send unicast packets to the source. When used in multicasting, the group membership is not considered by RPB.

5 5 An example source member r1r1 r2r2

6 6 Reverse path forwarding (or broadcast) One problem with this approach is generation of excess datagrams between r 1 and r 2. –Problem: Excess datagrams between two routers that are directly connected using their nonRPB ports. –Solution: Have each router periodically send a message to each of its neighboring routers, saying “I use this link to reach these destinations.” A router sends copies on only those links that either lead to a host or lead to a router that claims to use the link to reach the source. Now r 1 and r 2 do not send copies to each other, because they do not use the corresponding links to reach the source. The approach is referred to as extended RPB in Deering’s thesis.

7 7 Reverse path forwarding (or broadcast) However, this approach does not work when routers are connected by multi-access links. –If r 1 and r 2 treat the multi-access link as a host link, they both forward a copy of datagram from the source to the link, resulting in duplicate copies. –If they treat it as a router link, neither sends a copy, because no router uses the link to reach the source.

8 8 An example source member r1r1 r2r2

9 9 Truncated RPB The truncated RPB uses a distance-vector routing protocol and IGMP to solve the multi-access problem and to truncate tree branches. On each network k, the attached router that has the shortest distance back to a multicast source s assumes sole responsibility for forwarding multicast datagrams from s to the network (compare IP addresses if tie). –In the example, k 1 (k 2 ) is said to be the child of r 1 (r 3 ). –Each router is able to determine from a distance-vector routing protocol which of its attached networks are its children for each possible source. A network is a child for s if the network is not the the router’s next- hop network towards s, and if there is no other router on the network with a shorter distance to s.

10 10 Truncated RPB source r1r1 r2r2 :::: :::: 5 hops6 hops r3r3 k1k1 k2k2

11 11 Truncated RPB A leaf network is one that no router uses to reach the source, e.g., k 2 in the example. When split horizon with poisoned reverse is employed, the absence of receiving a “distance of infinity to s” routing message indicates that a network is a leaf for s. –In the example, r 3 sends a “distance of infinity to s” message onto k 1, but r 3 does not receive such a message from k 2. If an attached network n is a leaf network of router r, n is also r’s child network. Additional states: A list of flags for child networks, and a list of flags for leaf networks.

12 12 Truncated RPB Truncated RPB Algorithm: –If a multicast datagram is received from the RPB for the source, a copy of the datagram is forwarded to all child networks for that source (1) that are not leaf networks or (2) that have members of the destination multicast group. If no interfaces satisfy the two conditions above, the datagram will be discarded. –Otherwise, the datagram will be discarded. In the example, if there are no members of the destination group on k 2, r 3 will discard the datagram. –Because the only attached network is a leaf network, and there are no members on that network.

13 13 Reverse path multicasting (RPM) Add an on-demand pruning of multicast trees. –Routing costs associated with a particular multicast tree are incurred only while that tree is active. When a first multicast datagram is sent from a source to a group, –routers do not have information about (source, group). –The datagram is therefore delivered according to the Truncated RPB. When a router does not need to forward the datagram to any of its interfaces (because of not meeting the two conditions in the Truncated RPB), –it generates a prune message for the (source, group) pair to the next-hop router towards the source.

14 14 RPM: Pruning –If the next-hop router receives prune messages from all of its subordinate routers, and there are no members on the attached networks, it also generates a prune message. –Each prune message is associated with a lifetime. –Any branch that is pruned from the tree “grows back” after the lifetime expires. Compared with the truncated RPB, now each router is required to know –the address of the next-hop router towards the source (for sending prune messages), –the subordinate routers--routers attached to its child networks that use those networks to reach the source (the truncated RPB only needs to know the presence of subordinate routers).

15 15 RPM: Grafting In order to be considered for forwarding, a multicast datagram must meet two conditions: –(1) It must arrive via the network used to reach the source of the datagram (the normal RPB requirement). –(2) There must be no record of a prune message having been sent for the datagram’s source and group. To quickly adapt to the group membership change and topology change, add a grafting mechanism which grafts a pruned branch back onto a multicast tree. –A router may cancel a previously sent prune message by sending a graft message to the same router. –The graft message is propagated as far as necessary to rejoin the originating router into the multicast tree.

16 16 RPM: Grafting Events that trigger a router to generate a graft message for (s, g), within the lifetime of a previously sent prune message: –Group g membership appears on a child network for s. –A network on which g is present becomes a new child for s. –A new subordinate router for s appears on a child network. –A graft message for (s, g) is received from a subordinate router for s. Unlike prune messages, it is important that the graft messages are reliably delivered. Both Distance Vector Multicast Routing Protocol (DVMRP) and Protocol Independent Multicast-- Dense Mode implement the RPM.

17 17 An example A R1 R2 B R3R4R5 C R6R7

18 18 Distance vector multicast routing protocol DVMRP implements the RPM to build per-source- group multicast distribution trees. The interfaces of a DVMRP router may be either –a physical interface to a directly connected network or –a tunnel interface to another multicast-capable island. All interfaces are configured with a TTL to scope a multicast transmission. Each tunnel interface must be explicitly configured with two additional parameters: –IP address of the local router’s tunnel interface, and –IP address of the remote router’s tunnel interface.

19 19 DVMRP routing and forwarding tables DVMRP keeps a DVMRP routing table and a forwarding table (in a cache) –Each entry in the routing table mainly consists of a source network’s address and the interface which is closest to the source network (for RPB check) –Each entry in the forwarding table keeps (source network, multicast group, incoming interface, a set of outgoing interfaces). Each incoming and outgoing interface may be in a “prune” state. The outgoing interfaces include only those which a copy of multicast datagram should be forwarded to according to the RPM. Upon receiving a multicast datagram, –use the routing table to check for the correct incoming interface. –If passed, use the forwarding table for copying the datagram.

20 20 DVMRP messages DVMRP supports five messages types: –DVMRP Probe: Discover neighbor DVMRP routers by multicasting the message to the All-DVMRP-Routers group. –DVMRP Report: Exchange multicast routing information Each message contains a list of source networks and a metric. First purpose: Ensure that all DVMRP routers have a consistent view of the path back to a source. Second purpose: Determine the leaf routers using poisoned reverse. Outcome: The multicast routing table and forwarding table. –DVMRP Prune: Prune away tree branches. –DVMRP Graft: Graft back a previously pruned branch. –DVMRP Graft Ack: Provide reliable branch grafting.

21 21 DVMRP performance Weaknesses of DVMRP: –Multicast traffic is periodically broadcast across the entire network; therefore not scalable to a wide-area multicasting. –A router, which is not on a multicast tree, is still required to keep state of the tree. –DVMRP’s state overhead is in the order of S  G, where S is the number of sources and G is the number of groups. –Similar to its counterpart in unicast routing, DVMRP is slow to adapt to topology change. Advantages: –“Relatively” easy to implement. –Suitable for a dense population of members. –Suitable for “short-term” multicast sessions.

22 22 Acknowledgements The notes are based on –S. Deering, Multicast Routing in a Datagram Internetwork, PhD Thesis, December, 1991. –T. Pusateri, Distance Vector Multicast Routing Protocol, Internet draft draft-ietf-idmr-dvmrp-v3-09.txt, Sept., 1999.


Download ppt "1 Group Communications: Reverse Path Multicast Dr. Rocky K. C. Chang 19 March, 2002."

Similar presentations


Ads by Google