1.05k likes | 1.07k Views
Protocols. You are Here. Encoder. Decoder. Middlebox. Receiver. Sender. Network. Interested ISO Layers. Application. Transport. Network. Interested ISO Layers. RTP. TCP. UDP. Network. IP Multicast. IP. IP Multicast. Communication Models. sender. receiver.
E N D
You are Here Encoder Decoder Middlebox Receiver Sender Network
Interested ISO Layers Application Transport Network
Interested ISO Layers RTP TCP UDP Network IP Multicast IP
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
New Model: IP Multicast sender receivers
Group and Members members
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 to? Router Router Router Router
Group Management • Routers maintain “local host group membership table” • “which group has a member in my subnet ?”
IGMP v2.0 Internet Group Management Protocol • JOIN messageA : “I want to join group G.” • QUERY messageR : “Which group have you joined ?”
IGMP v2.0 • LEAVE message“I want to leave group G” • Group-Specific Query“Anybody else belongs to group G ?”
IGMP v2.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”
Question 2 which neighbors should I forward this packet? Router Router Router Router
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 – shortest path tree • CBT – shared tree • PIM – combine both
DVMRP Distance Vector Multicast Routing Protocol
From S to G S : Q R P T
Is R on the shortest path to S ? S : Q R P T
If no.. ignore the packet Q R P T
If yes.. Where should I forward it to ? Q R P T
Is my subnet interested? Q R P T
Are my neighbors interested? 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
Q R P T GRAFT
Q R P T
Q PRUNE R P T