REUNITE: A Recursive Unicast Approach to Multicast Carnegie Mellon University

advertisement
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
Download