1.04k likes | 1.06k Views
IP Multicast. CS5248. Encoder. Decoder. Middlebox. Receiver. Sender. Network. You are Here. Communication Models. sender. receiver. Traditional Applications: One-to-One. Communication Models. sender. receivers. Media Applications: One-to-Many. Communication Models.
E N D
IP Multicast CS5248 Ooi Wei Tsang
Encoder Decoder Middlebox Receiver Sender Network You are Here
Communication Models sender receiver Traditional Applications: One-to-One
Communication Models sender receivers Media Applications: One-to-Many
Communication Models Media Applications: Many-to-Many
Naïve Solution • Create M unicast connection for M clients NOT Scalable!
Famous Example • Victoria’s Secret Spring Fashion Show • Live Broadcast in 1999 • Video bit-rate: 28 Kbps • Number of viewers: 1.5 Millions
IP Multicast Ooi Wei Tsang
New Model: IP Multicast sender receivers
Multicast Address • Group ID or “Multicast address” • 224.0.0.0 – 239.255.255.255
Unicast S A A B Router C B Router Router Router C
Multicast S G A Router B Router Router Router C
Multicast S A Router G B Router Router Router G C
Multicast S G A Router B Router Router G Router C
Question 1 should I forward this packet to my subnet? Router ? G
Question 2 which neighbors should I forward this packet? Router Router Router Router
GroupManagement Ooi Wei Tsang
Group Management • Routers maintain “local host group membership table” • “which group has a member in my subnet ?”
IGMP v1.0 • JOIN messageA : “I want to join group G.” • QUERY messageR : “Which group have you joined ?”
IGMP v1.0 • MEMBERSHIP ReportA : “I am a member of group G”A : “I am a member of group H”B : “I am a member of group G”
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.
Leave • If no one in group G after a few query messages, remove G from local host membership table. • Problem: Long leave latency (minutes)
IGMP v2.0 • LEAVE message“I want to leave group G” • Group-Specific Query“Anybody else belongs to group G ?”
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”
Question 2 which neighbors should I forward this packet? Router Router Router Router
RoutingProtocols Ooi Wei Tsang
Routing Protocols • Generic Methods : • Form a tree to all routers with members • Deliver the packets along the tree
Shortest Path Tree • One tree for each source for each group
Shared Tree • One tree for each group
Routing Protocols • DVMRP • CBT • PIM
DVMRP Distance Vector Multicast Routing Protocol Ooi Wei Tsang
From S to G Q R P T
Is R on the shortest path to S ? Q R P T
If no.. ignore the packet Q R P T
If yes.. continue Where should I forward it to ? Q R P T
Forward to subnet? Q R P T
Truncation • Router checks local host membership table. • Duplicate the packets only if there is a member in the subnet.
Truncation Q R P T
Forward to Neighbors? Q ? R P T ?
Observation • If neighbor is going to ignore my packets, don’t need to send the packets to it.
Exchanging Routing Tables Q R P T
Flooding • Default : Always send to neighboring routers, unless told otherwise.
Pruning • Routers who received a “useless” packet send a prune message back.“Don’t send me packets addressed to G anymore !”
Q R P T
Q R P T PRUNE
Q R P T