REUNITE: A Recursive Unicast Approach to Multicast Ion Stoica, T.S. Eugene Ng, Hui Zhang Carnegie Mellon University {istoica,eugeneng,hzhang}@cs.cmu.edu Tze Sing Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 1 IP Multicast • Open system model – anyone can send to a group – anyone can listen to a group – dynamic join and leave • Group membership management performed by the network • Uses logical class D IP addresses – group identification – packet forwarding Tze Sing Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 2 IP Multicast Packet Forwarding S N1 N2 N5 N4 Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 3 IP Multicast Packet Forwarding S S→G N1 N2 N5 N4 Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 3 IP Multicast Packet Forwarding S N1 N2 N5 N4 Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 3 IP Multicast Packet Forwarding S N1 S→G S→G N2 N5 N4 Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 3 IP Multicast Packet Forwarding S N1 N2 N5 N4 Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 3 IP Multicast Packet Forwarding S N1 N2 N3 S→G N5 N4 Tze Sing Eugene Ng S→G N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 3 IP Multicast Packet Forwarding S N1 N2 N5 N4 Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 3 IP Multicast Packet Forwarding S N1 N2 N3 N5 N4 S→G N7 N6 S→G R1 Tze Sing Eugene Ng eugeneng@cs.cmu.edu R2 Carnegie Mellon University 3 IP Multicast Packet Forwarding S N1 N2 N5 N4 Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 3 IP Multicast Packet Forwarding S N1 N2 N3 N5 N4 N6 N7 S→G R1 Tze Sing Eugene Ng eugeneng@cs.cmu.edu R2 Carnegie Mellon University 3 IP Multicast Packet Forwarding S N1 N2 N3 N5 N4 Tze Sing Eugene Ng All nodes in the multicast tree need to have forwarding state for group G N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 3 IP Multicast vs REUNITE • IP multicast uses logical class D IP addresses – group identification – packet forwarding • REUNITE uses topological unicast IP addresses – group identification – packet forwarding Tze Sing Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 4 REUNITE Recursive Unicast Packet Forwarding S N1 N2 N5 N4 Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 5 REUNITE Recursive Unicast Packet Forwarding S S → R1 N1 N2 N5 N4 Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 5 REUNITE Recursive Unicast Packet Forwarding S N1 S → R1 N2 N5 N4 Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 5 REUNITE Recursive Unicast Packet Forwarding S N1 N2 N3 S → R1 N5 N4 Tze Sing Eugene Ng N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 5 REUNITE Recursive Unicast Packet Forwarding S N1 N2 N5 N4 Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 5 REUNITE Recursive Unicast Packet Forwarding S N1 N2 N5 N4 S → R1 Tze Sing Eugene Ng N3 S → R2 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 5 REUNITE Recursive Unicast Packet Forwarding S N1 N2 N3 N5 N4 N6 S → R1 R1 Tze Sing Eugene Ng eugeneng@cs.cmu.edu N7 S → R2 R2 Carnegie Mellon University 5 REUNITE Recursive Unicast Packet Forwarding S N1 N2 N3 N5 N4 Tze Sing Eugene Ng Only N5 needs to have forwarding state for the group N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 5 Why Is This Important? CMU Tze Sing Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 6 REUNITE Highlights • Improves scalability by removing unneeded multicast forwarding state • Native support for incremental deployment • Load balancing and graceful degradation • No multicast address allocation problem • Support for access control Tze Sing Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 7 Outline • Group addressing • Data Path – Multicast Forwarding Table (MFT) and packet forwarding • Control Path – Multicast Control Table (MCT) and tree maintenance protocol • Advantages • Related Work • Conclusions Tze Sing Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 8 Group Addressing root / sender • A group is identified by the root’s IP address and a root port number – <root_IP, root_port> • Root is a general multicast data source • 1. The root can be the sender of a group • 2. The root can be a special node that relay packets from sender(s) of a group Tze Sing Eugene Ng eugeneng@cs.cmu.edu senders receivers root receivers Carnegie Mellon University 9 Data Path Tze Sing Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 10 Multicast Forwarding Table (MFT) <root_IP, root_port> rcvr_IP rcvr_IP1, rcvr_IP2, ... Group ID / Source Destination Receivers list src IP = root_IP dst IP = rcvr_IP1 src IP = root_IP src port = root_port dst IP = rcvr_IP src port = root_port src IP = root_IP dst IP = rcvr_IP2 src port = root_port Tze Sing Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 11 MFT Abbreviation <root_IP, root_port> rcvr_IP rcvr_IP1, rcvr_IP2, ... S R R1, R2 MFT S R … Tze Sing Eugene Ng R1, R2,... eugeneng@cs.cmu.edu Carnegie Mellon University 12 Using MFT in Packet Forwarding S N1 N2 R1 N3 MFT S R1 … N5 N4 Tze Sing Eugene Ng MFT S … N6 N7 R1 R2 eugeneng@cs.cmu.edu R2 Carnegie Mellon University 13 Using MFT in Packet Forwarding S S → R1 N1 N2 R1 N3 MFT S R1 … N5 N4 Tze Sing Eugene Ng MFT S … N6 N7 R1 R2 eugeneng@cs.cmu.edu R2 Carnegie Mellon University 13 Using MFT in Packet Forwarding S N1 MFT S … R1 S → R1 N2 MFT S R1 … N5 N4 Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu R2 Carnegie Mellon University 13 Using MFT in Packet Forwarding S N1 N2 MFT S … N3 MFT S R1 … S → R1 N5 N4 Tze Sing Eugene Ng R1 N6 N7 R1 R2 eugeneng@cs.cmu.edu R2 Carnegie Mellon University 13 Using MFT in Packet Forwarding S N1 N2 S → R1 R1 N3 MFT S R1 … N5 N4 Tze Sing Eugene Ng MFT S … R2 S → R2 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 13 Using MFT in Packet Forwarding S MFT S … N1 N2 N3 MFT S R1 … N5 N4 S → R2 R1 Tze Sing Eugene Ng R2 N7 N6 S → R1 R1 eugeneng@cs.cmu.edu R2 Carnegie Mellon University 13 Using MFT in Packet Forwarding S N1 N2 R1 N3 MFT S R1 … N5 N4 Tze Sing Eugene Ng MFT S … N6 N7 R1 R2 eugeneng@cs.cmu.edu R2 Carnegie Mellon University 13 Control Path Tze Sing Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 14 Multicast Control Table (MCT) MCT S R … <root_IP, root_port> rcvr_IP Group ID / Source Destination • A group has a MCT entry at node N if – N is on the multicast tree – N is non-branching Tze Sing Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 15 MCTs at Non-Branching Nodes S MCT S R1 … N1 N2 MCT S R2 … N5 N4 Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 16 MCTs at Non-Branching Nodes S S → R1 MCT S R1 … N1 N2 MCT S R2 … N5 N4 Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 16 MCTs at Non-Branching Nodes S MCT S R1 … N1 S → R1 N2 MCT S R2 … N5 N4 Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 16 MCTs at Non-Branching Nodes S MCT S R1 … N1 N2 N3 S → R1 Tze Sing Eugene Ng MCT S R2 … N5 N4 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 16 MCTs at Non-Branching Nodes S MCT S R1 … N1 N2 MCT S R2 … N5 N4 S → R1 Tze Sing Eugene Ng N3 S → R2 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 16 MCTs at Non-Branching Nodes S MCT S R1 … N1 N2 N3 N6 S → R1 R1 Tze Sing Eugene Ng MCT S R2 … N5 N4 eugeneng@cs.cmu.edu N7 S → R2 R2 Carnegie Mellon University 16 MCTs at Non-Branching Nodes S MCT S R1 … N1 N2 MCT S R2 … N5 N4 Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 16 Purpose of MCT • To mark non-branching nodes on the group tree • To facilitate group joins • MCT state is control path state • REUNITE II – – – – eliminates the need for MCTs more message types more complex protocol discussed in our technical report Tze Sing Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 17 Tree Maintenance Protocol Messages • JOIN: periodically sent by receivers to the root to create/refresh MFT state • TREE: periodically sent by root to receivers to create/refresh MCT and MFT state Tze Sing Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 18 Topology Note S N1 N2 N5 N4 Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 19 Topology Note S N1 N2 N5 N4 Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 20 Joining a Group • R1 sends JOIN to S S MFT … N1 N2 N5 N4 JOIN TREE Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 21 Joining a Group • R1 sends JOIN to S S MFT … N1 N2 N5 N4 JOIN N3 N6 N7 R1 → S TREE Tze Sing Eugene Ng R1 eugeneng@cs.cmu.edu R2 Carnegie Mellon University 21 Joining a Group • R1 sends JOIN to S S MFT … N1 N2 N3 N5 N4 R1 → S JOIN TREE Tze Sing Eugene Ng N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 21 Joining a Group • R1 sends JOIN to S S MFT … N1 N2 N3 R1 → S N5 N4 JOIN TREE Tze Sing Eugene Ng N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 21 Joining a Group • R1 sends JOIN to S S MFT … N1 R1 → S N2 N5 N4 JOIN TREE Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 21 Joining a Group • R1 sends JOIN to S S MFT … R1 → S N1 N2 N5 N4 JOIN TREE Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 21 Joining a Group • R1 sends JOIN to S S MFT S … R1 N1 N2 N5 N4 JOIN TREE Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 21 Joining a Group • S sends TREE to R1 S MCT MFT S … R1 N1 … N2 N5 N4 JOIN TREE Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 22 Joining a Group • S sends TREE to R1 S S → R1 MCT MFT S … R1 N1 … N2 N5 N4 JOIN TREE Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 22 Joining a Group • S sends TREE to R1 S MCT S R1 … Tze Sing Eugene Ng N3 N5 N4 TREE R1 N1 N2 JOIN MFT S … N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 22 Joining a Group • S sends TREE to R1 MCT S R1 … S S → R1 Tze Sing Eugene Ng N3 N5 N4 TREE R1 N1 N2 JOIN MFT S … N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 22 Joining a Group • S sends TREE to R1 S MCT S R1 … Tze Sing Eugene Ng N3 N5 N4 TREE R1 N1 N2 JOIN MFT S … N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 22 Joining a Group • S sends TREE to R1 S MCT S R1 … MFT S … R1 N1 N2 N3 S → R1 N5 N4 JOIN TREE Tze Sing Eugene Ng N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 22 Joining a Group • S sends TREE to R1 S MCT S R1 … Tze Sing Eugene Ng N3 N5 N4 TREE R1 N1 N2 JOIN MFT S … N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 22 Joining a Group • S sends TREE to R1 S MCT S R1 … MFT S … R1 N1 N2 N3 N5 N4 S → R1 JOIN TREE Tze Sing Eugene Ng N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 22 Joining a Group • S sends TREE to R1 S MCT S R1 … Tze Sing Eugene Ng N3 N5 N4 TREE R1 N1 N2 JOIN MFT S … N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 22 Joining a Group • S sends TREE to R1 S MCT S R1 … R1 N1 N2 N3 N5 N4 JOIN MFT S … N6 N7 S → R1 TREE Tze Sing Eugene Ng R1 eugeneng@cs.cmu.edu R2 Carnegie Mellon University 22 Joining a Group • S sends TREE to R1 S MCT S R1 … Tze Sing Eugene Ng N3 N5 N4 TREE R1 N1 N2 JOIN MFT S … N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 22 Joining a Group • R2 sends JOIN to S S N1 N2 N5 N4 JOIN TREE Tze Sing Eugene Ng N3 MCT S R1 … N6 N7 R1 R2 eugeneng@cs.cmu.edu MFT Carnegie Mellon University … 23 Joining a Group • R2 sends JOIN to S S N1 N2 N5 N4 JOIN N3 N6 MCT S R1 … MFT … N7 R2 → S TREE Tze Sing Eugene Ng R1 eugeneng@cs.cmu.edu R2 Carnegie Mellon University 23 Joining a Group • R2 sends JOIN to S S N1 N2 N3 N5 N4 MCT S R1 … MFT … R2 → S JOIN TREE Tze Sing Eugene Ng N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 23 Joining a Group • R2 sends JOIN to S S N1 N2 N5 N4 JOIN TREE Tze Sing Eugene Ng N3 MCT S R1 … N6 N7 R1 R2 eugeneng@cs.cmu.edu MFT Carnegie Mellon University … 23 Joining a Group • R2 sends JOIN to S S N1 N2 N5 N4 JOIN TREE Tze Sing Eugene Ng N3 MCT S R1 … N6 N7 R1 R2 eugeneng@cs.cmu.edu MFT S R1 R2 … Carnegie Mellon University 23 Joining a Group • S sends TREE to R1, copied by N5 to R2 S N1 N2 N5 N4 JOIN TREE Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 24 Joining a Group • S sends TREE to R1, copied by N5 to R2 S S → R1 N1 N2 N5 N4 JOIN TREE Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 24 Joining a Group • S sends TREE to R1, copied by N5 to R2 S N1 S → R1 N2 N5 N4 JOIN TREE Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 24 Joining a Group • S sends TREE to R1, copied by N5 to R2 S N1 N2 N3 S → R1 N5 N4 JOIN TREE Tze Sing Eugene Ng N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 24 Joining a Group • S sends TREE to R1, copied by N5 to R2 S N1 N2 N5 N4 S → R1 JOIN TREE Tze Sing Eugene Ng N3 S → R2 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 24 Joining a Group • S sends TREE to R1, copied by N5 to R2 S N1 N2 N5 N4 JOIN N3 N6 S → R1 TREE Tze Sing Eugene Ng R1 eugeneng@cs.cmu.edu N7 S → R2 R2 Carnegie Mellon University 24 Joining a Group • S sends TREE to R1, copied by N5 to R2 S N1 N2 N5 N4 JOIN TREE Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 24 Leaving a Group • R1 stops JOIN to S S MFT S … R1 N1 N2 TREE Tze Sing Eugene Ng MFT S R1 R2 … N5 N4 JOIN N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 25 Leaving a Group • R1’s MFT state expires after TO1 S MFT S … R1 N1 N2 TREE Tze Sing Eugene Ng MFT S R1 R2 … N5 N4 JOIN N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 26 Leaving a Group • R1’s MFT state expires after TO1 S MFT S … R1 N1 N2 N3 S → R1 N5 N4 JOIN TREE Tze Sing Eugene Ng MFT S R1 R2 … N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 26 Leaving a Group • R1’s MFT state expires after TO1 MFT S … S R1 N1 N2 S → R1 TREE Tze Sing Eugene Ng MFT S R1 R2 … N5 N4 JOIN N3 S → R2 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 26 Leaving a Group • S sends marked TREE to R1 for TO2 S Tze Sing Eugene Ng N3 MFT S R1 R2 … N5 N4 TREE R1 N1 N2 JOIN MFT S … N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 27 Leaving a Group • S sends marked TREE to R1 for TO2 S S → R1 Tze Sing Eugene Ng N3 MFT S R1 R2 … N5 N4 TREE R1 N1 N2 JOIN MFT S … N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 27 Leaving a Group • S sends marked TREE to R1 for TO2 S MFT S … R1 N1 S → R1 N2 TREE Tze Sing Eugene Ng MFT S R1 R2 … N5 N4 JOIN N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 27 Leaving a Group • S sends marked TREE to R1 for TO2 S MFT S … N1 N2 N3 S → R1 TREE Tze Sing Eugene Ng MFT S R1 R2 … N5 N4 JOIN R1 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 27 Leaving a Group • S sends marked TREE to R1 for TO2 S Tze Sing Eugene Ng N3 MFT S R1 R2 … N5 N4 TREE R1 N1 N2 JOIN MFT S … N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 27 Leaving a Group • S sends marked TREE to R1 for TO2 MFT S … S N1 N2 S → R1 TREE Tze Sing Eugene Ng N3 MFT S R1 R2 … N5 N4 JOIN R1 S → R2 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 27 Leaving a Group • S sends marked TREE to R1 for TO2 S N3 N6 S → R1 Tze Sing Eugene Ng MFT S R1 R2 … N5 N4 TREE R1 N1 N2 JOIN MFT S … R1 eugeneng@cs.cmu.edu N7 S → R2 R2 Carnegie Mellon University 27 Leaving a Group • S sends marked TREE to R1 for TO2 S Tze Sing Eugene Ng N3 MFT S R1 R2 … N5 N4 TREE R1 N1 N2 JOIN MFT S … N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 27 Leaving a Group • R2’s JOIN to S no longer processed by N5 S Tze Sing Eugene Ng N3 MFT S R1 R2 … N5 N4 TREE R1 N1 N2 JOIN MFT S … N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 28 Leaving a Group • R2’s JOIN to S no longer processed by N5 S R1 N1 N2 N3 MFT S R1 R2 … N5 N4 JOIN MFT S … N6 N7 R2 → S TREE Tze Sing Eugene Ng R1 eugeneng@cs.cmu.edu R2 Carnegie Mellon University 28 Leaving a Group • R2’s JOIN to S no longer processed by N5 S MFT S … R1 N1 N2 N3 MFT S R1 R2 … N5 N4 R2 → S JOIN TREE Tze Sing Eugene Ng N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 28 Leaving a Group • R2’s JOIN to S no longer processed by N5 S MFT S … N1 N2 N3 R2 → S TREE Tze Sing Eugene Ng MFT S R1 R2 … N5 N4 JOIN R1 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 28 Leaving a Group • R2’s JOIN to S no longer processed by N5 S MFT S … R1 N1 R2 → S N2 TREE Tze Sing Eugene Ng MFT S R1 R2 … N5 N4 JOIN N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 28 Leaving a Group • R2’s JOIN to S no longer processed by N5 S R2 → S Tze Sing Eugene Ng N3 MFT S R1 R2 … N5 N4 TREE R1 N1 N2 JOIN MFT S … N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 28 Leaving a Group • R2’s JOIN to S no longer processed by N5 S Tze Sing Eugene Ng N3 MFT S R1 R2 … N5 N4 TREE R1 R2 N1 N2 JOIN MFT S … N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 28 Leaving a Group • R2 can get two copies of data packets S R1 R2 N1 N2 N3 MFT S R1 R2 … N5 N4 Tze Sing Eugene Ng MFT S … N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 29 Leaving a Group • R2 can get two copies of data packets S S → R1 S → R2 R1 R2 N1 N2 N3 MFT S R1 R2 … N5 N4 Tze Sing Eugene Ng MFT S … N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 29 Leaving a Group • R2 can get two copies of data packets S R1 R2 N1 S → R2 S → R1 N2 N3 MFT S R1 R2 … N5 N4 Tze Sing Eugene Ng MFT S … N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 29 Leaving a Group • R2 can get two copies of data packets S MFT S … N1 N2 N3 S → R1 N5 N4 Tze Sing Eugene Ng R1 R2 S → R2 N6 N7 R1 R2 eugeneng@cs.cmu.edu MFT S R1 R2 … Carnegie Mellon University 29 Leaving a Group • R2 can get two copies of data packets MFT S … S R1 R2 N1 N2 N3 MFT S R1 R2 … N5 N4 S → R1 S → R2 N6 N7 S → R2 R1 Tze Sing Eugene Ng eugeneng@cs.cmu.edu R2 Carnegie Mellon University 29 Leaving a Group • R2 can get two copies of data packets S R1 R2 N1 N2 N3 MFT S R1 R2 … N5 N4 N6 S → R1 R1 Tze Sing Eugene Ng MFT S … eugeneng@cs.cmu.edu N7 S → R2 R2 Carnegie Mellon University 29 Leaving a Group • R2 can get two copies of data packets S R1 R2 N1 N2 N3 MFT S R1 R2 … N5 N4 Tze Sing Eugene Ng MFT S … N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 29 Leaving a Group • MFT state for R1 removed after TO2 S Tze Sing Eugene Ng N3 N5 N4 TREE R2 N1 N2 JOIN MFT S … N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 30 Leaving a Group • MFT state for R1 removed after TO2 S S → R2 Tze Sing Eugene Ng N3 N5 N4 TREE R2 N1 N2 JOIN MFT S … N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 30 Leaving a Group • MFT state for R1 removed after TO2 MFT S … S R2 N1 S → R2 N2 N5 N4 JOIN TREE Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 30 Leaving a Group • MFT state for R1 removed after TO2 S Tze Sing Eugene Ng N3 N5 N4 TREE R2 N1 N2 JOIN MFT S … S → R2 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 30 Leaving a Group • MFT state for R1 removed after TO2 S R2 N1 N2 N3 N5 N4 JOIN MFT S … N6 N7 S → R2 TREE Tze Sing Eugene Ng R1 eugeneng@cs.cmu.edu R2 Carnegie Mellon University 30 Leaving a Group • MFT state for R1 removed after TO2 S Tze Sing Eugene Ng N3 MCT S R2 … N5 N4 TREE R2 N1 N2 JOIN MFT S … N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 30 Advantages • Only branching routers maintain forwarding state • Scalability is enhanced Tze Sing Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 31 Advantages • Native support for incremental deployment – IP multicast needs IP encapsulation or tunneling • Load balancing and graceful degradation Tze Sing Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 32 Incremental Deployment S N1 N2 N5 N4 Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 33 Incremental Deployment S S → R1 S → R2 N1 N2 N5 N4 Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 33 Incremental Deployment S N1 S → R2 S → R1 N2 N5 N4 Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 33 Incremental Deployment S N1 N2 N3 S → R1 N5 N4 Tze Sing Eugene Ng S → R2 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 33 Incremental Deployment S N1 N2 N3 N5 N4 S → R1 N6 N7 S → R2 R1 Tze Sing Eugene Ng eugeneng@cs.cmu.edu R2 Carnegie Mellon University 33 Incremental Deployment S N1 N2 N3 N5 N4 N6 N7 S → R1 R1 Tze Sing Eugene Ng eugeneng@cs.cmu.edu R2 Carnegie Mellon University 33 Incremental Deployment S N1 N2 N5 N4 Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 33 Incremental Deployment S N1 N2 N5 N4 Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 34 Incremental Deployment S S → R1 N1 N2 N5 N4 Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 34 Incremental Deployment S N1 S → R1 N2 N5 N4 Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 34 Incremental Deployment S N1 N2 N3 S → R1 S → R2 N5 N4 Tze Sing Eugene Ng N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 34 Incremental Deployment S N1 N2 N5 N4 S → R1 Tze Sing Eugene Ng N3 S → R2 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 34 Incremental Deployment S N1 N2 N3 N5 N4 N6 S → R1 R1 Tze Sing Eugene Ng eugeneng@cs.cmu.edu N7 S → R2 R2 Carnegie Mellon University 34 Incremental Deployment S N1 N2 N5 N4 Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 34 Incremental Deployment S N1 N2 N5 N4 Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 35 Incremental Deployment S S → R1 N1 N2 N5 N4 Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 35 Incremental Deployment S N1 S → R1 N2 N5 N4 Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 35 Incremental Deployment S N1 N2 N3 S → R1 N5 N4 Tze Sing Eugene Ng N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 35 Incremental Deployment S N1 N2 N5 N4 S → R1 Tze Sing Eugene Ng N3 S → R2 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 35 Incremental Deployment S N1 N2 N3 N5 N4 N6 S → R1 R1 Tze Sing Eugene Ng eugeneng@cs.cmu.edu N7 S → R2 R2 Carnegie Mellon University 35 Incremental Deployment S N1 N2 N5 N4 Tze Sing Eugene Ng N3 N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 35 Load Balancing & Graceful Degradation • Overloaded N5 can let N2 do the branching • In IP multicast, R2 won’t be N2 able to join N1 N3 N5 N4 Tze Sing Eugene Ng S N6 N7 R1 R2 eugeneng@cs.cmu.edu Carnegie Mellon University 36 Advantages • No address allocation problem • Sender access control can be implemented at the root – root can authenticate senders – less vulnerable to denial of service attack Tze Sing Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 37 Related Work • Dynamic tunneling [Tian & Neufeld, 1998] • Simple [Perlman et al, 1999] & Express [Holbrook & Cheriton, 1999] – augment a multicast address with a unicast address – eliminate global address allocation problem – better access control Tze Sing Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 38 Conclusions • Use unicast addresses for group identification and packet forwarding • Use recursive unicast to implement multicast service • REUNITE has many unique advantages – improved scalability – incrementally deployable – load balancing & graceful degradation • Technical Report (with REUNITE II) available at http://www.cs.cmu.edu/~eugeneng/research/reunite/ Tze Sing Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 39 Conclusions • Use unicast addresses for group identification and packet forwarding • Use recursive unicast to implement multicast service • REUNITE has many unique advantages – improved scalability – incrementally deployable – load balancing & graceful degradation • Technical Report (with REUNITE II) available at http://www.cs.cmu.edu/~eugeneng/research/reunite/ REcursive UNIcast TreE Tze Sing Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 39 Simulations • Implemented in ns-2 • Total simulation time: 60 seconds – – – – – all receivers join in the first 10 seconds results reported for the last 50 seconds TO1 = TO2 = 5 seconds JOIN refresh period = 2.5 seconds TREE piggybacked onto data packets • Evaluation metric – Average Redundancy (AR): ratio between • total number of data packets transmitted on a link • total number of unique data packets transmitted on that link – Maximum Redundancy (MR): maximum number of copies of any data packet that traverse a link Tze Sing Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 40 Load Balancing and Graceful Degradation senders (groups) 11 22 link 1 16 16 3 N1 2.5 AR link 1 N2 link 2 N3 N3 link 3 N4 N4 33 receivers Tze Sing Eugene Ng 2 1.5 1 … 22 link 3 3.5 … 11 link 2 4 6 64 64 eugeneng@cs.cmu.edu 8 10 12 MFT size Carnegie Mellon University 14 16 41 Incremental Deployment • 8 groups and 64 receivers randomly placed in the 1998 MCI backbone topology MR AR 14 12 10 8 6 4 2 0 0 Tze Sing Eugene Ng eugeneng@cs.cmu.edu 20 40 60 80 % REUNITE routers Carnegie Mellon University 100 42 Performance Under Dynamic Joins and Leaves • 8 groups and 64 receivers placed in 1998 MCI backbone topology • All routers are REUNITE aware • Receiver joins modeled by an on-off process – OFF period exponentially distributed with mean of 5 seconds – ON period exponentially distributed with mean of 25 seconds • Results – AR <= 1.06 – MR <= 3 Tze Sing Eugene Ng eugeneng@cs.cmu.edu Carnegie Mellon University 43