Download presentation
Presentation is loading. Please wait.
Published byLeona Watson Modified over 9 years ago
1
NUS.SOC.CS5248 Ooi Wei Tsang IP Multicast CS5248
2
NUS.SOC.CS5248 OOI Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder
3
NUS.SOC.CS5248 OOI Wei Tsang Communication Models Traditional Applications: One-to-One receiversender
4
NUS.SOC.CS5248 OOI Wei Tsang Communication Models Media Applications: One-to-Many sender receivers
5
NUS.SOC.CS5248 OOI Wei Tsang Communication Models Media Applications: Many-to-Many
6
NUS.SOC.CS5248 OOI Wei Tsang Naïve Solution Create M unicast connection for M clients NOT Scalable!
7
NUS.SOC.CS5248 OOI Wei Tsang Famous Example Victoria’s Secret Spring Fashion Show Live Broadcast in 1999 Video bit-rate: 28 Kbps Number of viewers: 1.5 Millions
8
NUS.SOC.CS5248 Ooi Wei Tsang IP Multicast
9
NUS.SOC.CS5248 OOI Wei Tsang New Model: IP Multicast sender receivers
10
NUS.SOC.CS5248 OOI Wei Tsang Group and Members
11
NUS.SOC.CS5248 OOI Wei Tsang Sending to a Group
12
NUS.SOC.CS5248 OOI Wei Tsang Joining and Leaving
13
NUS.SOC.CS5248 OOI Wei Tsang Anyone can Send
14
NUS.SOC.CS5248 OOI Wei Tsang Multicast Address Group ID or “Multicast address” 224.0.0.0 – 239.255.255.255
15
NUS.SOC.CS5248 OOI Wei Tsang Unicast Router A B C S A B C
16
NUS.SOC.CS5248 OOI Wei Tsang Multicast Router A B C S G
17
NUS.SOC.CS5248 OOI Wei Tsang Multicast Router A B C S G G
18
NUS.SOC.CS5248 OOI Wei Tsang Multicast Router A B C S G G
19
NUS.SOC.CS5248 OOI Wei Tsang Question 1 Router G ? should I forward this packet to my subnet?
20
NUS.SOC.CS5248 OOI Wei Tsang Question 2 Router which neighbors should I forward this packet?
21
NUS.SOC.CS5248 Ooi Wei Tsang Group Management
22
NUS.SOC.CS5248 OOI Wei Tsang Group Management Routers maintain “local host group membership table” “which group has a member in my subnet ?”
23
NUS.SOC.CS5248 OOI Wei Tsang IGMP v1.0 JOIN message A : “I want to join group G.” QUERY message R : “Which group have you joined ?”
24
NUS.SOC.CS5248 OOI Wei Tsang IGMP v1.0 MEMBERSHIP Report A : “I am a member of group G” A : “I am a member of group H” B : “I am a member of group G”
25
NUS.SOC.CS5248 OOI Wei Tsang Avoiding Implosion Select random delay t After time t, if nobody belongs to the same group, send membership report. Resend the report after some delay just to be safe.
26
NUS.SOC.CS5248 OOI Wei Tsang Leave If no one in group G after a few query messages, remove G from local host membership table. Problem: Long leave latency (minutes)
27
NUS.SOC.CS5248 OOI Wei Tsang IGMP v2.0 LEAVE message “I want to leave group G” Group-Specific Query “Anybody else belongs to group G ?”
28
NUS.SOC.CS5248 OOI Wei Tsang IGMP v3.0 Group-Source Inclusion “I want to listen to S from group G” Group-Source Exclusion “I do not want to listen to S from group G”
29
NUS.SOC.CS5248 OOI Wei Tsang Question 2 Router which neighbors should I forward this packet?
30
NUS.SOC.CS5248 Ooi Wei Tsang Routing Protocols
31
NUS.SOC.CS5248 OOI Wei Tsang Routing Protocols Generic Methods : Form a tree to all routers with members Deliver the packets along the tree
32
NUS.SOC.CS5248 OOI Wei Tsang Shortest Path Tree One tree for each source for each group
33
NUS.SOC.CS5248 OOI Wei Tsang Shared Tree One tree for each group
34
NUS.SOC.CS5248 OOI Wei Tsang Routing Protocols DVMRP CBT PIM
35
NUS.SOC.CS5248 Ooi Wei Tsang DVMRP Distance Vector Multicast Routing Protocol
36
NUS.SOC.CS5248 OOI Wei Tsang From S to G RP Q T
37
NUS.SOC.CS5248 OOI Wei Tsang RP Q T Is R on the shortest path to S ?
38
NUS.SOC.CS5248 OOI Wei Tsang RP Q T If no.. ignore the packet
39
NUS.SOC.CS5248 OOI Wei Tsang RP Q T If yes.. continue Where should I forward it to ?
40
NUS.SOC.CS5248 OOI Wei Tsang RP Q T Forward to subnet?
41
NUS.SOC.CS5248 OOI Wei Tsang Truncation Router checks local host membership table. Duplicate the packets only if there is a member in the subnet.
42
NUS.SOC.CS5248 OOI Wei Tsang RP Q T Truncation
43
NUS.SOC.CS5248 OOI Wei Tsang RP Q T ? ? Forward to Neighbors?
44
NUS.SOC.CS5248 OOI Wei Tsang Observation If neighbor is going to ignore my packets, don’t need to send the packets to it.
45
NUS.SOC.CS5248 OOI Wei Tsang RP Q T Exchanging Routing Tables DestNext HopCost SP4 AT3 BP2
46
NUS.SOC.CS5248 OOI Wei Tsang Flooding Default : Always send to neighboring routers, unless told otherwise.
47
NUS.SOC.CS5248 OOI Wei Tsang Pruning Routers who received a “useless” packet send a prune message back. “Don’t send me packets addressed to G anymore !”
48
NUS.SOC.CS5248 OOI Wei Tsang RP Q T
49
NUS.SOC.CS5248 OOI Wei Tsang RP Q T PRUNE
50
NUS.SOC.CS5248 OOI Wei Tsang RP Q T
51
NUS.SOC.CS5248 OOI Wei Tsang RP Q T GRAFT
52
NUS.SOC.CS5248 OOI Wei Tsang RP Q T
53
NUS.SOC.CS5248 OOI Wei Tsang RP Q T PRUNE
54
NUS.SOC.CS5248 OOI Wei Tsang A router needs to remember.. If it has any member for group G in its subnet Where to forward packets from source S to group G Which neighbors will not throw my packets away Which sub-trees are pruned
55
NUS.SOC.CS5248 OOI Wei Tsang Periodically Rebuild Tree DVMRP periodically forget about everything it learned Why? To clean-up “left-over” states for groups that are no longer active.
56
NUS.SOC.CS5248 OOI Wei Tsang Problems of DVMRP Not Scalable O(|S||G|) Not Efficient Flooding initially Periodically exchange routing tables
57
NUS.SOC.CS5248 Ooi Wei Tsang CBT Core-based Tree
58
NUS.SOC.CS5248 OOI Wei Tsang Core Based Tree One tree per group Pick a router as core Identity of core can be pre- configured or computing using some multicast address to core address mapping.
59
NUS.SOC.CS5248 OOI Wei Tsang A Shared Tree core P Q R U V W
60
NUS.SOC.CS5248 OOI Wei Tsang V Joins G core P Q R U V JOIN W
61
NUS.SOC.CS5248 OOI Wei Tsang V Joins G core P Q R U V JOIN W
62
NUS.SOC.CS5248 OOI Wei Tsang V Joins G core P Q R U V ACK W
63
NUS.SOC.CS5248 OOI Wei Tsang V Joins G corePQ R U V ACK W
64
NUS.SOC.CS5248 OOI Wei Tsang V Joins G corePQ R U V W
65
NUS.SOC.CS5248 OOI Wei Tsang U Joins G corePQ R U V JOIN W
66
NUS.SOC.CS5248 OOI Wei Tsang U Joins G corePQ RU V ACK W intercept!
67
NUS.SOC.CS5248 OOI Wei Tsang Echo corePQ RU V W
68
NUS.SOC.CS5248 OOI Wei Tsang Flush! corePQ RU V X W
69
NUS.SOC.CS5248 OOI Wei Tsang Send (on Tree) corePQ RU V W
70
NUS.SOC.CS5248 OOI Wei Tsang Send (Not on Tree) corePQ RU V W
71
NUS.SOC.CS5248 OOI Wei Tsang CBT Strengths Scalable O(|G|) states No flooding No exchange of states
72
NUS.SOC.CS5248 OOI Wei Tsang CBT Weaknesses Core placement matters Single point of failure Core can become bottleneck
73
NUS.SOC.CS5248 Ooi Wei Tsang SPT vs. ST
74
NUS.SOC.CS5248 OOI Wei Tsang Experiment 1 “Shared tree has worst delay than shortest path tree. How much worst?” Generate 500 random networks, 50 nodes each, 10-member groups
75
NUS.SOC.CS5248 OOI Wei Tsang Experimental Results Node Degree Delay Ratio (CBT/SPT) 1 ~1.4
76
NUS.SOC.CS5248 OOI Wei Tsang Experiment 2 “CBT causes traffic to concentrate on a set of links. How bad is this concentration?” Generate 500 random networks, 50 nodes, 300 groups, 40 members, 32 senders
77
NUS.SOC.CS5248 OOI Wei Tsang Experimental Results Node Degree Max Number of Flows/Link 6K 9K CBT SPT
78
NUS.SOC.CS5248 Ooi Wei Tsang PIM Protocol Independent Multicast
79
NUS.SOC.CS5248 OOI Wei Tsang PIM Get the best of both world : dense mode : shortest path sparse mode : shared tree
80
NUS.SOC.CS5248 OOI Wei Tsang PIM-DM Similar to DVMRP, except send to neighbors even if they will ignore my packets
81
NUS.SOC.CS5248 OOI Wei Tsang PIM-SM Similar to CBT except links are uni-directional corePQ RU V W
82
NUS.SOC.CS5248 OOI Wei Tsang Join PcoreQ R join
83
NUS.SOC.CS5248 OOI Wei Tsang Send (SM) PcoreQ R S
84
NUS.SOC.CS5248 OOI Wei Tsang Switch (Join S) PcoreQ R S switch
85
NUS.SOC.CS5248 OOI Wei Tsang Switch PcoreQ R S switch
86
NUS.SOC.CS5248 OOI Wei Tsang Prune PcoreQ R S prune
87
NUS.SOC.CS5248 OOI Wei Tsang Summary What is IP Multicast? How to route packets IGMP DVMRP/CBT/PIM
88
NUS.SOC.CS5248 OOI Wei Tsang So, why can’t we multicast? Who assign multicast address? Who pay for multicast traffic? How to inter-operate between protocols? How can we prevent DoS?
89
NUS.SOC.CS5248 Ooi Wei Tsang System Design Considerations or “What I learned from Multicast Routing Protocols”
90
NUS.SOC.CS5248 OOI Wei Tsang Practical Issues Money matters Security matters
91
NUS.SOC.CS5248 OOI Wei Tsang Scalability Minimize states Avoid implosion random timer Avoid hot spot
92
NUS.SOC.CS5248 OOI Wei Tsang Robustness Periodically forget (soft-states) Echo messages (alive messages)
93
NUS.SOC.CS5248 OOI Wei Tsang Minimize Interface /Coupling do not assume unicast routing protocol
94
NUS.SOC.CS5248 OOI Wei Tsang Middle Ground If you have two schemes with different pros/cons, think “middle ground”
95
NUS.SOC.CS5248 Ooi Wei Tsang Possible Survey and Project Topics
96
NUS.SOC.CS5248 OOI Wei Tsang Application-Level Multicast
97
NUS.SOC.CS5248 OOI Wei Tsang Single Source Multicast Most media applications do not require many-to-many communication. Single Source Multicast protocols have been proposed
98
NUS.SOC.CS5248 Ooi Wei Tsang Transport Layer
99
NUS.SOC.CS5248 OOI Wei Tsang TCP vs UDP TCP offers packet ordering reliability flow control UDP just send!
100
NUS.SOC.CS5248 OOI Wei Tsang TCP vs UDP Continuous media uses UDP Retransmission may not be useful Flow control makes throughput unpredictable Multicast + TCP has problems
101
NUS.SOC.CS5248 OOI Wei Tsang UDP Header struct UDPHeader { short src_port; short dst_port; short length; short checksum; }
102
NUS.SOC.CS5248 OOI Wei Tsang Is UDP Enough? Who sent this packet? How do I interpret this packet? When was this packet generated? Which packets come first?
103
NUS.SOC.CS5248 OOI Wei Tsang RTP “Real-Time Transport Protocol” (not really a transport protocol) Provides source identification sequence number time stamping payload identification
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.