Multicast Intro
Multicast Intro
Computer Networks
Dr. Jorge A. Cobb
Motivation
Original IP service model was one-to-one
• One sender sending its data to one receiver at a time
Recently, new apps with multi-receiver semantics
• Audio/video conferencing, news dissemination, Internet TV,
etc.
Unicast not designed to efficiently support multi-receiver apps
Solution
• Multicast support
• Reduces the number of “messages” in the network
• Increases however the amount of state at routers
2
Multicast semantics
Open group semantic
• Zero or more receivers form a multicast group
• receivers can join/leave at will – no registration/synchronization
• A group is represented by a class D IP address (more later)
• Anyone knowing group address can send to it (open group)
• IP based best effort delivery semantics
• Multicast supports UDP only – no TCP !
• If routers are reliable per-hop, this requires lots of
buffer/state at each router
• If source receives ack’s from the receivers, we have ack
implosion problem (receive N ack’s)
3
Open group semantic
Advantages
• Sources do not need to know individual receivers
• Receivers simply join the group and receive data
Disadvantages
• Difficult to protect from unauthorized
senders/receivers
4
Router and Host Functions
Basic host model
• When sending data, normal IP-Send operation
• When receiving data, tell your router what group you are
interested in
• join/leave a multicast group (start/stop receiving data from all
sources sending to the group)
5
Addressing
Multicast group addresses
• Class D IP addresses (224.0.0.0 – 239.255.255.255)
• Implicit scoping
• 224.0.0.0 – 224.0.0.255: link scoped
• 224.0.1.0 – 238.255.255.255: global scoped
• 239.0.0.0 – 239.255.255.255: admin scoped
• Explicit scoping
• Use TTL value for scoping
6
Fundamentals
Multicast packet format
• Source IP field is unicast IP address of source host
• Destination IP filed is the IP multicast group address
• In general, we show this (Source IP, Dest IP) couple as
(S,G) where S is source IP, G is dest IP (multicast group addr)
7
How data is forwarded to multiple receivers?
8
source
9
Multicast forwarding states at routers
10
Dynamic State
Created when receivers join a multicast group and when sources send
packets addressed to the group.
11
Big picture
Create multicast forwarding trees connecting sources and
receivers so that receivers get source data sent to the multicast
group
Three components
• Host to router communication
• Intra-domain routing
• Inter-domain routing
12
IP Multicast Architecture
host-to-router (IGMP)
routers
intra-domain routing
inter-domain routing
Domain Domain
A B
13
Application API
Inter-
domain
14
Host-to-Router
hosts
Internet Group Management Protocol Host-to-
router
(IGMPv2, v3 standardized in 10/02)
routers
Kernel informs router that an Intra-
application wants to join a specific domain
group G
Inter-
domain
15
IGMP
used by hosts to indicate their interest in receiving packets addressed
to a particular multicast group G.
• IGMPv1 (RFC 1112)
• Routers
• General Membership Query
• Hosts
• Membership Reports (requested by routers)
• Unsolicited Group Membership Reports (sent periodically to
router)
• IGMPv2 (RFC 2236)
• Added explicit Leave Group (host) and Group Specific Membership
Query (router) messages
• IGMPv3 (RFC 3376)
• Added source filtering capabilities
• IGMP messages aren’t forwarded by routers
16
Multicast Routing
Building forwarding trees between sources and receivers
17
Routing approaches
Flood and prune
• Begin by flooding traffic to entire network (Create a bdcast tree)
• Prune branches with no receivers
• Examples: DVMRP, PIM-DM
• Disadv: unwanted (prune) state where there are no receivers
Link-state multicast protocols
• Routers advertise groups for which they have senders/receivers to
entire network
• Compute trees on demand
• Example: MOSPF
• Disadv:
• Link-state is not scalable
• Unwanted state in routers not on the multicast tree
18
Routing approaches
Core based protocols
• Specify a meeting place or core
• Sources send their packets to core
• Receivers join group at core
• Requires mapping between group addresses and cores
• Examples: CBT, PIM-SM
• Disadv: unwanted state when there are no senders
19
Types of forwarding trees
Shared trees
• Single tree shared by all members (sources)
• Data flows on the same tree regardless of the sender
• Example: CBT, PIM-SM
• +s: less state at routers
• -s: higher delay, traffic concentration at core
Source based trees
• Separate shortest path tree for each sender
• Example: DVMRP, MOSPF, PIM-DM, PIM-SM
• +s: Low delay, better load distribution
• -s: more state at routers (per source state)
20
Intra-Domain Routing
Domain Domain
A B
21
A brief overview of multicast
Kevin Almeroth
22