National University of Computer & Emerging
Sciences
Computer
Communications-Fall 06
Lec38-Multicasting
Prepared by
Uzma Maroof
References
•Keeshav
11.11
Group Communication Applications
• Broadcast audio/video
• Software distribution
• Web-cache updates
• Teleconferencing (audio, video, shared
whiteboard, text editor)
• Multi-player games
• Other distributed applications
Multicast Routing
•A multicast group is associated with a unique
Class D IP address
•Issues
Discovering the set of current multicast groups
Expressing interest in receiving packets from a
group
Discovering the set of receivers in a group
Delivering data to every member of the group
Multiple Unicast vs Multicasting
Inefficient if unicast routes substantially overlap
Src Src
Multiple Unicast vs Multicasting
•Ideally a multicast packet
should be sent exactly once on
every link
Forms a multicast tree rooted at
sender
•Optimal multicast tree provides
shortest path from sender to
every receiver
shortest-path tree rooted at
sender
Issues in wide-area multicast
•Difficult because
Sources may join and leave dynamically
Need to dynamically update shortest-path tree
Would like a receiver to join or leave without
explicitly notifying sender
Otherwise, it will not scale to hundreds or thousands of
possible recipients
Multicast Architecture
Hosts
Host-to-router protocol
(IGMP)
Routers
Multicast routing protocols
(various)
Internet Group Management Protocol
(IGMP)
•A router need to detect whether its local LAN
contains any receivers for a particular multicast
group
•This can be determined through IGMP
•IGMP is used only on broadcast LANs
•Consists of
Query Message
Report Message
Internet Group Management Protocol
(IGMP)
•A router periodically broadcasts a query on the
LAN requesting membership info.
•Each host on the LAN that wants to receive
multicast messages sends back a report with a
list of groups in which it is interested
•The query message specifies a maximum
response time
•When a query arrives, each host sets a random
time
Internet Group Management Protocol
(IGMP)
•To suppress traffic
Reply after random timeout
Broadcast reply
If someone else has expressed interest in a group,
drop out
•If no other host has informed the router about
the group in which this host is interest then wait
for the next query message
•Trade-off between traffic on LAN and start-up
delay
Internet Group Management Protocol
(IGMP)
Router
1.IGMP Query
IGMP report
Ethernet
2.Set Timer 2.Set Timer
4. Hear Report, 3.First Timer to expire,
cancel timer send report
Multicast Architecture
Hosts
Host-to-router protocol
(IGMP)
Routers
Multicast routing protocols
(various)
Wide area Multicast
•Assume
Each end-point is a router
Each router has list of current group members,
determined using IGMP
•Goal
Distribute packets coming from any sender
directed to a given group to all routers on the path to a
group member
Simplest solution
• Flood packets from a source to entire network
If a router has not seen a packet before, forward it to
all interfaces except the incoming one
• Pros
Simple
Always works
• Cons
Routers receive duplicate packets
Detecting that a packet is a duplicate requires storage,
which can be expensive for long multicast sessions
Reverse path forwarding
• Rule
Forward packet from S to all interfaces if and only if
Packet arrives on the interface that corresponds to
the shortest path to S
• No need to remember past packets
C need not forward packet
received from D
Eliminating duplicates
• Reverse path forwarding saves storage but
does not eliminates duplicates
• Don’t send a packet downstream if you are not
on the shortest path from the downstream
router to the source
C need not forward packet
received from A to E
Eliminating duplicates
•Potential confusion if downstream router has a
choice of shortest paths to source
•Need to break tie, using some heuristic
E has a 2-hop path to A,
through B and C
B may think, that the
shortest path is through C
C may think, that the
shortest path is through B
No packet reaches E
F will not forward, since, its
not on the shortest path
Pruning
•Extension to Reverse-path forward eliminates
duplicates
•But source packets are received by every
router
Packets from A are sent to
B,C and D
But B and C do not need
the packet
Pruning
•Pruning => router tells parent in tree to stop
forwarding
•C can find using IGMP that no hosts
on its LAN are interested in receiving
any multicast packets from A
•C sends a prune message to B
•B marks this link with this information
•If B has no hosts interested in hearing
from A
•Then B may forward a prune message
to A
•Packets from A will only follow the path
A-D-E
Pruning
•Prunes can be associated with:
•Multicast group
Routers need only one indication per output
interface per group
•A sender and group
Routers must store a prune indication per-group
and per-source for each interface
•Trades selectivity for router memory
Rejoining
• What if host on C’s LAN wants to receive
messages from A after a previous prune by C?
IGMP lets C know of host’s interest
C can send a join(group, A) message to B, which
propagates it to A
A problem
• Reverse path forwarding requires a router to
know shortest path to a source
known from routing table, such as that maintained
by RIP, OSPF or BGP
Distance Vector Protocol (RIP)
Link State Protocol (OSPF)
• Doesn’t work if some routers do not support
multicast
Example
•A wants to send a Multicast packet to F
•What will be the destination IP address?
•Multicast group’s IP, will be discarded by D,
since its not aware
•If destination is changed to F, F loses the info.
That it is a multicast packet This is a logical connection
•Solution???
•Tunneling
This is a physical connection