Академический Документы
Профессиональный Документы
Культура Документы
si servicii (ARS)
Multicast Communications
MR MR/US MS/R
MS MS MS/R
M=Multicast; U=Unicast
S= Sender; R=Receiver
Chapter outline
What applications use multicast? What are the requirements
and design challenges of multicast communications?
What multicast support does IP provide (network layer)?
After an overview of multicast applications, we'll focus on IP
multicast: service model, addressing, group management, and
routing protocols.
© Octavian Catrina 2
Multicast applications (examples)
One-to-many Many-to-many
Real-time audio-video distribution: Multimedia conferencing: multiple
lectures, presentations, meetings, synchronized video/audio streams,
movies, etc. Internet TV. Time whiteboard, etc. Time sensitive.
sensitive. High bandwidth. High bandwidth, but typically only
Push media: news headlines, one sender active at a time.
stock quotes, weather updates, Distance learning: presentation
sports scores. Low bandwidth. from lecturer to students, questions
Limited delay. from students to everybody.
File distribution: Web content Synchronized replicated resources,
replication (mirror sites, content e.g., distributed databases. Time
network), software distribution. sensitive.
Bulk transfer. Reliable delivery. Multi-player games: Possibly high
Announcements: alarms, service bandwidth, all senders active in
advertisements, network time, etc. parallel. Time sensitive.
Low bandwidth. Short delay. Collaboration, distributed
simulations, etc.
© Octavian Catrina 3
Multicast requirements (1)
Efficient and scalable delivery Sender
Multi-unicast repeats each data item. -
3
Timely and synchronized delivery Rcvrs 4
© Octavian Catrina 4
Multi-unicast vs. Multicast tree
Multi-unicast delivery Multicast tree delivery
1:N transmission handled as N Transmission follows the edges of
unicast transmissions. a tree, rooted at the sender, and
Inefficient, slow, for N1: multiple reaching all the receivers.
packet copies per link (up to N). A single packet copy per link.
- Sender - Sender
1 1
Multi-unicast Rcvr Multicast tree Rcvr
delivery delivery
1 1
2 3 2 3
4 5 4 5
2 3 4 2 3 4
Rcvrs Rcvrs
© Octavian Catrina 5
Multicast requirements (2)
Group management
Group membership changes dynamically.
We need join and leave mechanisms (latency may be critical).
For many applications, a sender must be able to send without
knowing the group members or having to join (e.g., scalability).
A receiver might need to select the senders it receives from.
© Octavian Catrina 6
Multicast requirements (3)
Session management
Receivers must learn when a multicast session starts and
which is the group id (such that they can "tune in").
We need session description & announcement mechanisms.
Reliable delivery
Applications need a certain level of reliable data delivery.
Some tolerate limited data loss. Others do not tolerate any loss
(e.g., all data to all group members - hard problem).
We need mechanisms that can provide the desired reliability.
Heterogeneous receivers
Receivers within a group may have very different capabilities
and network connectivity: processing and memory resources,
network bandwidth and delay, etc.
We need special delivery mechanisms.
© Octavian Catrina 7
Requirements: Some conclusions
Multi-unicast delivery is not suitable
Multi-unicast does not scale up for large groups and/or large
amounts of data: it becomes either very inefficient, or does not
fulfill the application requirements.
© Octavian Catrina 8
Which layers should handle multicast?
Multicast address
Unique (destination) address for a group of hosts.
Different datagram delivery semantics A distinct range of
addresses is reserved in the IP address space.
Who receives? Explicit receiver join
IP delivers datagrams with a destination address G only to
applications that have explicitly notified IP that they are
members of group G (i.e., requested to join group G).
Who sends? Any host can send to any group
Multicast senders need not be members of the groups they
send to.
© Octavian Catrina 10
IP multicast model (2)
No restrictions for group size and member location
Groups can be of any size.
Group members can be located anywhere in an internetwork.
Anonymous groups
Senders need not know the identity of the receivers.
Receivers need not know each-other.
Analogy: A multicast address is like a radio frequency, on which
anyone can transmit, and anyone can tune in.
IP network viewpoint
Scales up well with the group size.
Single destination address, no need to monitor membership.
Does not scale up with the number of groups. Conflicts with
the original IP model (per session state in routers).
Routers must discover the existence/location of receivers and
senders. They must maintain dynamic multicast tree state per-
group and even per-source and group.
Dynamic multicast address allocation. How to avoid allocation
conflicts (globally)? Very difficult problem.
© Octavian Catrina 12
IPv4 multicast addresses
IPv4 multicast addresses
Class Address range 31 28 27 0
IP multicast in LANs
Relies on the MAC layer's native multicast.
Mapping of IP multicast addresses to MAC
multicast addresses:
IPv4 multicast address
0000000100000000010111100 23 bits
Ethernet LAN
Remark: 32 IP multicast addresses map to the same MAC multicast address.
© Octavian Catrina 13
Multicast scope
Multicast scope
Limited network region where multicast packets are forwarded.
Motivation: Address allocation. Efficiency. Application-specific.
TTL-based scopes or administrative scopes (RFC 2365).
Administrative scopes
Delimited by configuring boundary routers: do not forward some
ranges of multicast addresses on some interfaces.
1
Connected, convex regions.
Local B
Nested and/or overlapping.
Organization-local (239.192.0.0/14).
Local scope (239.255.0.0/16). Local A
© Octavian Catrina 14
Group management: local
Multicast service requirements - Sender
1
Multicast routers have to discover
the locations of the members of Multicast Rcvr
any multicast group & maintain a tree 1
© Octavian Catrina 15
Group management: internetwork
Global (internetwork) level - Sender
1
Multicast routing protocols
propagate information about Multicast Rcvr
Multicast Routing
group membership and allow tree Protocol 1
© Octavian Catrina 17
IGMP (2)
Host joins a group
Local groups
IP packet to 224.0.0.22 (all IGMPv3 routers)
at IF i1:
add 224.1.2.3 i1 IGMPv3 State Change Report: joined group 224.1.2.3
Groups:
+ 224.1.2.3
© Octavian Catrina 18
Multicast trees
-
What kind of multicast tree? Sender
1
Minimize tree diameter (path
Rcvr
length, delivery delay) or tree
1
cost (network resources)?
Special, difficult case of minimum 2 3
cost spanning tree (Steiner tree). Rcvr
No good distributed algorithm! 2
Practical solution 4 5
Shared trees
One tree for all senders.
Examples: Minimum diameter tree or minimum cost tree, etc.
© Octavian Catrina 20
Source-based trees (1)
172.16.5.0/24
Source-based tree - Sender
1
Tree rooted at a sender which Sender +
spans all receivers. Rcvr
1
Typically, shortest-path tree.
2 3
In general: M1 senders/group 172.20.2.0/24
Rcvr
M sources transmit to a group. 2
Session participants may be
senders, receivers, or both. 4 5
© Octavian Catrina 22
Shared trees (1)
- Sender
Core-based shared tree 1
The multicast session uses a Sender +
single distribution tree, with Rcvr
1
the root at a "core" node, and
spanning all the receivers 2 3
("core-based" tree).
Rcvr
Each sender transmits its 2
Core
packets to the core node,
which delivers them to the 4 5
group of receivers.
Typically, shortest-path tree,
with the central root node. 4
6 7
Router 5: Multicast forwarding table 3 5
Multicast group In IF Out IF Rcvrs
(any sender)
Interface notation:
224.1.1.1 W N, E
N = North (up); S = South (down)
... W = West (left); E = East (right)
© Octavian Catrina
NW = North-West (up-left). Etc.
23
Shared trees (2)
Pros
More efficient for multicast sessions with M>>1 sources.
The network creates a single delivery tree shared by all senders:
only per-group state in routers, less control overhead.
Tree (core to receivers) created and maintained independently
of the presence and activity of the senders.
Cons
Less optimal/efficient trees.
Possible long paths and delays, depending on the relative
location of the source, core, and receiver nodes.
Traffic concentrates near the core node. Danger of congestion.
Issue: (optimal) core selection.
Examples
PIM-SM, CBT.
Explicit join, control-driven (soft state, implicit leave/prune).
© Octavian Catrina 24
DVMRP
DVMRP: Distance Vector Multicast Routing Protocol
First IP multicast routing protocol (RFC 1075, 1988).
DVMRP at a glance
Source-based multicast trees, data-driven tree setup.
Distance vector unicast routing (DVR).
Reverse path multicast (RPM).
Support for multicast overlays: tunnels between multicast
enabled routers through networks not supporting multicast.
Used to create the Internet MBone (Multicast Backbone).
Routing info base
DVMRP incorporates its own unicast DVR protocol.
Separated routing for unicast service and multicast service.
DVR protocol derived from RIP and adapted for RPM.
E.g., routers learn the downstream neighbors on the multicast
tree for any source address prefix.
© Octavian Catrina 25
Reverse Path Broadcast
Broadcast tree for source s 172.16.5.0/24
- Sender s
The unicast route matching s indicates 1
a router's parent in the broadcast tree
for source s (child-to-parent pointer). Rcvr
1
Reverse Path Forwarding (RPF)
Broadcast/multicast packet from 2 3
source s received on interface i: Rcvr
- If i is the interface used to forward a 2
unicast packet to s, then forward the
packet on all interfaces except i. 4 5
- Otherwise discard the packet.
Reverse Path Broadcast (RPB)
RPF still allows unnecessary copies. Rcvr
6 7
3
Add parent-child pointer: A router
learns which neighbors use it as next Route entries matching the
hop for each route. Forward a packet broadcast sender's address.
only to these neighbors. Unnecessary packet copies
© Octavian Catrina
sent by RPF.
26
Reverse Path Multicast (1)
172.16.5.0/24
Truncated RPB - Sender
Uses IGMP to avoid unnecessary 1
broadcast in leaf multi-access networks.
Rcvr
Reverse Path Multicast (RPM) 1
© Octavian Catrina 27
Reverse Path Multicast (2)
172.16.5.0/24
Adapting the multicast tree to - Sender
group membership changes 1
Pruning can remove branches when Rcvr
members leave. 1
A mechanism is necessary to add
branches when members join. IGMP
2 3
IGMP
Periodic broadcast & prune Rcvr
Graft 2
The multicast tree can be updated by
repeating periodically the broadcast
4 5
& prune process (a parent removes IGMP IGMP
the prune state after some time).
Graft
Rcvr Rcvr
Graft mechanism 3
4
Faster tree extension. 6 7
© Octavian Catrina 29
DVMRP conclusions
DVMRP & RPM shortcomings
Several design solutions limit DVMRP scalability & efficiency.
Tree setup and maintenance by periodic broadcast & prune.
Can waste a lot of bandwidth, especially for a sparse group spread
over a large internetwork (OK for dense groups).
Per-group & source state in all routers, both on-tree & off-tree.
Due to source-based trees and to enable fast grafts.
Controversial feature: Embedded DVR protocol.
New generation RPM-based protocol: PIM-DM
Protocol Independent Multicast: Uses existing unicast routing
table, from any routing protocol. No embedded unicast routing.
Dense Mode: Intended for "dense groups" - concentrated in a
network region (rather than thinly spread in a large network).
Uses RPM as described on previous slides (similar to DVMRP).
No parent-to-child pointers, hence redundant transmissions in broadcast phase.
© Octavian Catrina 30
PIM-SM
PIM: Protocol Independent Multicast
Uses exiting unicast routing table, from any routing protocol.
No embedded unicast routing.
No solution matches well different application contexts. Two
protocols, different algorithms.
PIM-DM: Dense Mode
Efficient multicast for "dense" (concentrated) groups.
RPM, source-based trees, implicit-join, data-driven setup.
PIM-DM is similar to DVMRP, except it relies on existing unicast routing,
hence it does not avoid redundant transmissions in the broadcast phase.
PIM-SM: Sparse Mode
Efficient multicast for sparsely distributed groups.
Shared trees, explicit join, control-driven setup.
After initially using the group's shared tree, members can set
up source-based trees. Improved efficiency and scalability.
© Octavian Catrina 31
Rendezvous Points
Rendezvous Point (RP) router Sender
R1
Core of the multicast shared tree. Meeting Sender +
Rcvr
point for the group's receivers & senders. 1
© Octavian Catrina 35
PIM-SM conclusions
Advantages
Independence of unicast routing protocol.
Better scalability, especially for sparsely distributed groups:
- Explicit join, control-driven tree setup no data broadcast,
no flooding of group membership information. Per session
state maintained only by on-tree routers.
- Shared trees routers maintain per-group state, instead of
per-source-group state.
Flexibility and performance: optional, selective transfer to
source-specific trees (e.g., triggered by data rate).
Weaknesses
Much more complex than PIM-DM.
Control traffic overhead (periodic Joins) to maintain soft
multicast tree state.
© Octavian Catrina 36
MOSPF
MOSPF Backbone area
© Octavian Catrina 39
MOSPF: multicast tree (intra-area)
MOSPF link state database (one area).
Source-based multicast tree Shortest-path tree for (N1, m1).
Shortest-path tree from source to Source (172.16.5.1),
R1 N1 sends to m1= 224.1.1.1
group members (receivers).
172.16.5.0/24
Data-driven tree setup
A router computes the tree and the
multicast forwarding state when it N2 R2 R3 N3
receives the first multicast datagram m1
© Octavian Catrina 40
MOSPF conclusions
Advantages
OSPF is the interior routing protocol recommended by IETF.
MOSPF is the natural choice of multicast routing protocol in
networks using OSPF.
More efficient than DVMRP/RPM: no data broadcast.
Weaknesses
Various features limit scalability and efficiency:
Dynamic (!) group membership advertised by flooding.
Multicast state per-group & per-source, maintained in on-
tree, as well as off-tree routers.
Relatively complex computations to determine multicast
forwarding: for each new multicast transmission (source-
group), repeated when the group/topology change.
Few implementations?
© Octavian Catrina 41
Annex
IGMP v1/v2 - Group Management
© Octavian Catrina 43
IGMP v.2 - Group Management
IGMP v2 enhancements:
Election of a querier router (lowest IP address).
Explicit leave (reduce leave latency).
© Octavian Catrina 44