Title: Multicast on the Internet
1Multicast on the Internet
2Multicast Addressing
- Class D address (see next slide)
- Source unicast IP address S
- Receivers multicast group ID G, a class-D
address - Each group is identified by (S, G)
- Ethernet broadcast address (all 1s)
- 2 ways of doing IP multicast at the link layer
- Link-layer (Ethernet) broadcast
- Link-layer (Ethernet) multicast
- Both cases need filtering at IP layer.
3IPv4 Address Formats
4Multicast Addressing at Link Layer
- 1. Link-layer (Ethernet) broadcast
- IP multicast packet is encapsulated in an
Ethernet broadcast frame and transmitted on the
bus. - Every host picks up the Ethernet frame and does
filtering at the IP layer to decide whether to
keep or discard the frame. - 2. Link-layer (Ethernet) multicast
- Requires a mapping of IP multicast address to an
Ethernet multicast address (see next slide). - There are up to 32 IP class-D addresses mapped to
the same Ethernet multicast address. - The IP module still has to filter out packets for
non-member hosts.
5Mapping from Class D IP adress to Ethernet
multicast adress
6Internet Multicast Service Model
128.59.16.12
128.119.40.186
multicast group 226.17.30.197
128.34.108.63
128.34.108.60
- Multicast group concept use of indirection
- a host sends IP datagrams to multicast group.
- routers forward multicast datagrams to hosts that
have joined that multicast group.
7Multicast groups
- Class D Internet addresses reserved for
multicast - Host group semantics
- anyone can join (receive from) multicast group.
- anyone can send to multicast group.
- no network-layer identification to hosts of
members. - Needed infrastructure to deliver
multicast-addressed datagrams to all hosts that
have joined that multicast group.
8Multicast Protocols
- Transport layer
- UDP
- Real-time Transport Protocol (RTP) for
multimedia content - ReSerVation Protocol (RSVP) for bandwidth
reservation in a multicast distribution
9Multicast Protocols (2)
- Routing, delivery
- On a local network (join/leave)
- Internet Group Management Protocol (IGMP)
- Multicast Listener Discovery (MLD) similar to
IGMP but for IPv6 - Intra-domain (routing)
- MOSPF, PIM, DVMRP
- Inter-domain (routing)
- Multicast Border Gateway Protocol (MBGP)
10Joining a multicast group 2-step process
- Local host informs local multicast router of
desire to join group IGMP (Internet Group
Management Protocol) - Wide area local router interacts with other
routers to receive multicast datagram flow - many protocols (e.g., DVMRP, MOSPF, PIM)
IGMP
IGMP
wide-area multicast routing
IGMP
11IGMP Internet Group Management Protocol
- Router sends IGMP query at regular intervals
- hosts belonging to a multicast group must reply
to query if wishing to join or stay in the group. - Host sends IGMP report (reply) when application
wishes to join a multicast group. - IP_ADD_MEMBERSHIP socket option
- hosts need not explicitly unjoin group when
leaving
report
query
12IGMP
- Router broadcasts Host Membership Query message
on LAN. - Host replies with Host Membership Report message
to indicate group membership - randomized delay before responding
- cancel its own report if hearing another
- implicit leave via no reply to Query
- Group-specific Query
- Leave Group message
- Last host replying to Query can send explicit
Leave Group message - Router performs group-specific query to see if
any hosts left in group - Introduced in RFC 2236
- IGMP v3 current version
13IGMP Summary
- For membership management.
- Between a host on a subnet (Ethernet) and the
router for the subnet. - The router periodically broadcast an IGMP
host-membership query message on its subnet. - A host subscribes to a group replies by
multicasting a host-membership report message. - Note feedback implosion ? uses a random timer.
- The report is sent 3 times (for reliability).
- IGMP-1 hosts send no report ? leaving the group
- IGMP-2 hosts send explicit host-membership
leave messages to reduce leave latency.
14Reverse Path Forwarding
- Building a loop-free broadcast tree
- No knowledge of group membership
15Reverse Path Forwarding (2)
- rely on routers knowledge of unicast shortest
path from it to sender - each router has simple forwarding behavior
- if (multicast datagram received on incoming link
on shortest path back to sender) - then flood datagram onto all outgoing links
- else ignore datagram
16Reverse Path Forwarding Example
17Spanning-Tree Broadcast
18Truncated Broadcasting
- Extension of Reverse Path Forwarding.
- No members of a group on a subnet ? leaf router
will not forward packets of this group to the
subnet (pruning). - But does not reduce traffic in the core network.
- More efficient multicast routing is needed!!!
19Internet Multicasting Routing DVMRP
- DVMRP distance vector multicast routing
protocol, RFC1075. - Flood and prune reverse path forwarding,
source-based tree. - initial datagram to multicast group is flooded
everywhere via RPF - routers not wanting the multicast data send
prune messages to upstream neighbors
20DVMRP Example
S source
LEGEND
R1
R4
router with attached group member
R2
router with no attached group member
R5
link used for forwarding, i indicates order
link added by algorithm
R3
R7
R6
21DVMRP Details
- Soft state DVMRP router periodically (1 min.)
forgets that branches are pruned - multicast data again flows down unpruned
branches. - downstream routers reprune or else continue to
receive data. - Routers can quickly re-graft to tree following an
IGMP join at a leaf router by sending a graft
message upstream. - Deployment
- commonly implemented in commercial routers.
- Mbone routing done using DVMRP.
- Works well in small autonomous domains.
22DVMRP Summary
- Distance Vector Multicast Routing Protocol
- Leaf router sends a prune message to neighbouring
routers when there is no group member on the
subnet. - Intermediate routers perform pruning whenever
possible. - Flooding and pruning are repeated periodically,
when the current state times out. - Between flooding rounds, a leaf router can
re-join a group by sending a graft message
upstream. - Intermediate routers propagates the graft message
upstream until the path is re-connected.
23Multicast Routing Approaches
- Minimum cost trees
- Steiner trees
- Shortest path trees
- Source-based trees
- Core-based trees
- we first look at basic approaches, then specific
protocols adopting these approaches
24Steiner Trees
- Steiner Tree minimum cost tree connecting all
routers with attached group members. - Problem is NP-complete.
- Excellent heuristics exist.
- Not used in practice
- computational complexity.
- information about entire network needed.
- monolithic rerun whenever a router needs to
join/leave.
25Shortest Path Tree
- Multicast cast forwarding tree tree of shortest
path routes from source to all receivers. - Dijkstras algorithm.
S source
LEGEND
R1
R4
router with attached group member
R2
router with no attached group member
R5
link used for forwarding, i indicates order
link added by algorithm
R3
R7
R6
26MOSPF
- Extends OSPF for multicasting.
- Every router has the complete topology of its
autonomous system. - A receiver joins a multicast group G by
exchanging IGMP messages with its end-router R. - The end-router R broadcasts its group membership
to the whole network in the form (G, R). - Every router in the network maintains a group
membership table with each entry being a tuple
S, G, ltR1, R2, gt. - A sender simply sends data packets as they are
available. - Each router uses the network topology, the group
membership table, and the multicast group ID in
the data packets to compute the route(s) to the
destination(s).
27Core-Based Trees
- For many-to-many multicast.
- Protocols CBT, PIM-SM, PIM-DM (Protocol
Independent Multicast, sparse/dense mode) - Purpose to reduce the amount of routing info
stored at routers when a multicast group has a
large number of members and multiple senders. - A multicast group requires a core (rendez-vous
point). - Receivers join the (shortest-path) tree rooted
at the core ? only one tree per multicast group
(used for multiple senders). - Sources send multicast data to the core, which
then multicasts the data to the tree.
28MBone
- Multicast backbone of the Internet.
- Not all routers support multicast routing
protocols and IGMP. - Connecting multicast-capable routers using
(virtual) IP tunnels. - Was a long-running experimental approach to
enabling multicast between sites through the use
of tunnels. - No longer operational.
29References
- Multicasting on the Internet and Its
Applications, Sanjoy Paul, Kluwer Academic
Publishers, 1998, chapters 2, 4, 5. - Computer Networking A Top-Down Approach, 5th
edition, Kurose and Ross.