Title: Multicasting
1Multicasting
Anthony Choi David Strole Werner Kalyan Landeck
2Broadcasting Delivering one packet to each
destination
Multicasting Allows each system to choose
whether it wants to participate in a given
multicast
A multicast address identifies an arbitrary set
of listeners, so forwarding mechanism must
propagate the packet to all segments
3Ethernet Multicast the low order bit of the
high-order octet distinguishes conventional
unicast address (0) from multicast address (1)
01-00-00-00-00-0016
4IP Multicasting The Internet abstraction of
hardware multicasting. The subset of systems
that are receiving a multicast is called
multicast group
General Characteristics
- Group Address Each multicast group is a unique
class D address - Number of Groups IP provides for up to 228
simultaneous multicast groups - Dynamic Group Membership A host can join or
leave an IP multicast at any time - Use of hardware IP uses hardware multicast to
send IP multicast, if hardware supports
multicast, otherwise, it uses broadcast or
unicast to deliver IP multicast
5General Characteristics (continued)
- Inter-network Forwarding Special multicast
routers are used to forward multicasts to systems
in different physical networks - Delivery Semantics IP multicast uses the same
best-effort delivery semantics as other IP
datagrams - Membership And Transmission An arbitrary host
may send datagrams to any multicast group group
membership is only used to determine whether the
host receives datagrams sent to the group
6Three Conceptual Pieces
- Addressing Scheme
- Effective notification and delivery system
- Efficient internetworking forwarding facility
7Multicasting Addresses
- Two kinds Permanent (well known) or Create when
needed (transient)
1
1
1
0
Group Identification
Multicast Address Range 224.0.0.0 to
239.255.255.255
8Example of permanent IP multicast address
assignments
Address Meaning
224.0.0.0 Base Address (Reserved)
224.0.0.1 All Systems on this Subnet
224.0.0.2 All Routers on this Subnet
224.0.0.3 Unassigned
224.0.0.4 DVMRP Routers
224.0.0.5 OSPFIGP All Routers
224.0.0.6 OSPFIGP Designated Routers
224.0.0.7 ST Routers
224.0.0.8 ST Hosts
224.0.0.9 RIP2 Routers
224.0.0.10 IGRP Routers
224.0.0.11 Mobile-Agents
224.0.0.12 DHCP Server / Relay Agent
224.0.0.13 All PIM Routers
224.0.0.14 RSVP-Encapsulation
224.0.0.15 All-CBT-Routers
224.0.0.16 Designated-Sbm
224.0.0.17 All-Sbm
9Example of permanent IP multicast address
assignments (continued)
Address Meaning
224.0.0.18 VRRP
through 244.0.0.255 Other Link Local Address
224.0.1.0 Through 238.255.255.255 Globally Scoped Addresses
239.0.0.0 Through 239.55.255.255 Scope restricted to one organization
10To map an IP multicast address to the
corresponding Ethernet multicast address, place
the low-order 23 bits of the IP multicast address
into the low-order 23 bits of the special
Ethernet multicast address 01-00-5E-00-00-0016
Example 224.0.0.2 becomes 01-00-5E-00-00-0216
The mapping of IP to Ethernet multicast address
is NOT unique It is up to the host to disregard
unwanted multicast datagrams
Primary difference between local and nonlocal
multicast lies in multicast routers, not in hosts
11Multicast Scope
Scope refers to the range of group members
Two techniques to control multicast scope
- The Time To Live (TTL) field
- Limiting the number of hops allowed
- e.g. 1 to never leave a network, 0 to never leave
host - Administrative scoping
- Reserving parts of the address space for groups
that are local to a given site or local to a
given organization - Assign the group an address that has local scope
12- A host can join a multicast in three different
levels - Level 1 Can neither receive nor send IP
multicast - Level 2 Can send but not receive IP multicast
- Level 3 Can send and receive IP multicast
- Hosts join specific IP multicast groups on
specific networks - A host must have multicast capability software
and a multicast router would be needed if a
multicast spans multiple networks
13Internet Group Management Protocol (IGMP)
- Multicast routers and hosts must use IGMP to
communicate - Although IGMP uses IP datagrams to carry
messages, it is thought of as an integral part of
IP, not a separate protocol - IGMP is standard for TCP/IP
- Two phases
- Phase 1
- A host sends an IGMP message to the group to
declare its membership when joining - Local multicast routers propagate the membership
information to the rest of the internet - Phase 2
- Local multicast routers must poll hosts to
determine if a host is still a member, due to
dynamic membership - Source address filter
14IGMP Implementation
Five ways IGMP use to minimize its traffic on
the network
- All communications between hosts and multicast
routers use IP multicast - When polling, a multicast router sends a single
query about all groups instead of sending a
separate message to each - If multiple multicast routers attach to the same
network, they quickly and efficiently choose a
single router to poll host membership - Hosts do not respond to a routers IGMP query at
the same time - Spaced randomly over 10 seconds.
- Reports for multiple group memberships sent in a
single packet
15Group Membership State Transitions
16IGMP Membership Query Message
TYPE (0x11)
RESP CODE
CHECKSUM
GROUP ADDRESS
RES
S
QQIC
NUM SOURCES
QRV
SOURCE ADDRESS 1 SOUCRE ADDRESS 2 SOUCRE
ADDRESS N
17TYPE (0X22)
RESERVED
CHECKSUM
NUM GROUP RECORDS (K)
RESERVED
GROUP RECORD 1
GROUP RECORD 2
GROUP RECORD K
REC TYPE
NUM OF SOURCES
ZEROES
MULTICAST ADDRESS
SOURCE ADDRESS 1
SOURCE ADDRESS 2
SOURCE ADDRESS N
18Multicast Forwarding and Routing
- Unlike unicast forwarding in which routes change
only when the topology changes or equipment
fails, multicast routes can change simply because
an application program joins or leaves a
multicast - Multicast forwarding requires a router to examine
more than the destination address - A multicast datagram may originate on a computer
that is not part of the multicast group, and may
be forwarded across networks that do not have any
group members attached
19Multicast Forwarding Paradigms
A multicast destination is a set of hosts, an
optimal forwarding system will reach all of it
destinations without sending a datagram across a
given network twice.
Reverse Path Forwarding (RPF) uses the source
address to avoid loops.
- Not used alone because it still does not solve
the problem of multicast datagram being sent to
non member groups
20Multicast Forwarding Paradigms (contd)
Truncated Reverse Path Forwarding (TRPF)
follows the basic RPF algorithm, but avoids
(truncates) paths that do not lead to group
members.
- To use TRPF, router needs 2 pieces of
information - Conventional routing table
- List of reachable multicast groups of each
interface - For the TRPF algorithm, first RPF is used
- If no group members are reachable over an
interface, the router skips over the interface,
checking the next one
21Multicast Forwarding Paradigms (contd)
Consequences of TRPF
- Because it relies on RPF to prevent loops, it
delivers an extra copy of datagrams to some
networks just like conventional RPF - Delivery depends on a datagrams source
22Multicast Forwarding Paradigms (contd)
Multicast Trees the other paradigm
- Multicast router node to the tree
- Connection between routers edge to the tree
- Last router along each of the paths from the
source leaf of the tree
A multicast forwarding tree is defined as a set
of paths through multicast routers from a source
to all members of a multicast group. For a given
multicast group, each possible source of
datagrams can determine a different forward tree
Forwarding protocols use a network prefix as a
source
23Reverse Path Multicasting
- More important to ensure that a multicast
datagram reaches each member of the group than to
eliminate unnecessary transmission - Multicast routers each contain a conventional
routing table that has correct information - Multicast routing should improve inefficiency
when possible - Two step process
- Uses RPF scheme to send a copy of each datagram
across all networks in the net. - Simultaneously have multicast routers to inform
one another about paths that do not lead to group
members
24- RPM propagates membership information bottom-up
- A multicast router only knows about local group
members - If a leaf network contains no members for a
given group the router connecting that network to
the rest of the internet does not forward on the
network - RPM is called a broadcast and prune strategy
because a router broadcasts until it receives
information that allows it to prune a path - Also known as data driven because router does not
send group information until a datagram arrives
for that group
25Multicast Routing Protocols
- Multiple Multicast Routing Protocols exists, but
none of them is a required standard. - Distance Vector Multicast Routing Protocol
(DVMRP) - Core Based Trees (CBT)
- Protocol Independant Multicast (PIM)
- Multicast extensions to OSPF (MOSPF)
26Distance Vector Multicast Routing Protocol (DVMRP)
- Uses Data-Driven Paradigm
- Allows for Multicast Router to pass along group
membership and routing imformation to other
Multicast Routers - Resembles the RIP protocol, but it has been
extended for Multicasting. - Basically the protocol passes information about
current multicast group membership as well as the
cost to transfer datagrams between routers - A forwarding tree is imposed on top of the
physical interconnection for every possible
(group, sorce) pair. So when a datagram destined
for an IP multicast group is received by a
router, it will send a copy of the datagram to
very network link corresponding to a branch in
the forwarding tree.
27Distance Vector Multicast Routing Protocol
(DVMRP) (contd)
- DVMRP is implemented by a Unix program named
mrouted which uses a special multicast kernel - Uses multicast tunneling to forward multicasts
acroos the World Wide Web - At each site an mrouted tunnel to other sites has
to be configured manually - The mrouted tunnel uses IP in IP encapsulation to
send multicasts. - When a multicast datagram is generated it is
encapsulated in a unicast datagram and then
forwared to other sites - When a unicast datagram is received through one
of the tunnels, the multicast datagram is
extracted and forwarded according to the
multicast routing table
28Core Based Trees (CBT)
- Uses Demand-Driven Paradigm
- Avoids broadcasting and allows all sources to
share the same forwarding tree if possible - Does not forward multicasts until at least one
host along the path joins the multicast group - When a host uses IGMP to join a multicast group,
the host does not receive data until the local
router has propagated the new hosts information
to the other routers - CBT uses a combination of static and dynamic
algorithms to build a multicast forwarding tree.
In order to make this scheme scalable CBT devides
the underlying internet into regions of a size
specified by the network administrator - Each region has a designated core router and all
other routers in the region have to know about
the core router
29Core Based Trees (CBT) (contd)
- The use of a core router in each region allows
for the region to have a shared tree - So router in a region dynamically build the
forwarding trees by sending join requests to the
core router
30Protocol Independant Multicast (PIM)
- Actually is 2 independant protocols, which have
little in common exept for the name and message
header - PIM Defense Mode (PIM DM)
- Designed for LAN environments in which all or
almost all networks have hosts which are lisening
to each of the multicast group - PIM Sparse Mode (PIM SP)
- Designed for a wide area environment in which the
member of a given multicast group occupy a small
subset of all possible networks - 2 Independant Protocols exists, because neither
works well for all situations
31Protocol Independant Multicast (PIM) (contd)
- PIM functions independantly from the unicast
routing protocol or protocols that a rounter
uses, because PIM does not specify a routing
table form. Thus PIM can use an arbitary routing
protocol - To accomandate many listenners
- PIM-DM uses a broadcast and prune approach.
Datagrams are forwarded to all routers using RPF
until a router sends an explicit request - PIM-SM designates a router, called a Renderview
Point (RP), which functions similar to the CBT
core Router
32Multicast extensions to OSPF (MOSPF)
- The idea behind MOSPF is when the router know the
topology of its OSPF area, MOSPF can use this to
compute a forwarding tree. - MOSPF is Demand-Driven , so traffic will not be
propagted until requested - Problems with this scheme are that all router
must maintain the membership information of all
groups and the information has to be synchronized
to ensure every router has the exatly same
database
33Reliable Multicast and ACK Implosions
- Reliable Multicast referes to a system which
provides multicast delivery and guarantees that
all members of the group receive the data in
order without any loss, duplication or
corruption. - In theory sound greath but hard to implement,
since many problems arise - If a multicast group has multiple sender datagram
arrival in sequence becomes meaning less - Widely used multicast forwarding schemes, such as
RPF, produce duplication even on small internets - Applications like audio or video expect relioable
systems to bound the delay and jitter
34Reliable Multicast and ACK Implosions (contd)
- Reliabiliy requires acknowledgements, since
multicastr groups can have an arbitary number of
members, traditional reliable protocols require
the sender to handle an arbitary number of
acknowledgements. This problem is refered to as
the ACK Implosion, since no computer has enough
processing power to handle this problem. - How to overcome ACk implosion
- Reliable multicost protocols restrict multicating
to a single source. Before data is sent a
forwarding tree is established from the source to
all group members and acknowledgement points need
to be established.
35Reliable Multicast and ACK Implosions (contd)
- An acknowledgement point, also know as
acknowledgement aggregator or designated route
(DR), is a router that agrees to cache copies of
the data and process acknowledgements from
routers and hosts further down the forwarding
tree. If a retransmission is need it is taken
from the routers cache. This occurs when the host
or router send a NACK. The NACK will propogate up
the tree until a acknowledgement point or the
source is reached. - The selection of sufficient acknowledgement is
important, since an insufficient number points
will cause an ACK Implosion. Thus reliable
multicast protocols require manual configuratio,
as a result if you have a fast growing network
this can be a problem
36Reliable Multicast and ACK Implosions (contd)
- Other methos of reliable multicast are still
theoretical or experimental. Here are 2 protocols
being considered. - One was is to send multiple copies to reduce the
need for retransmission - Works good with Random Early Discard (RED), since
the probability of more than one copy being
discarded is extremly small - Another way is to incorporate forward
error-correcting codes