Professional Documents
Culture Documents
Multicasting and Multicast Routing Protocols
Multicasting and Multicast Routing Protocols
Chapter 14
Multicasting
And
Multicast
Routing Protocols
McGraw-Hill
Multicast-2
What is Multicasting?
Unicasting:
Multicast-3
Multicasting:
Packets are
duplicated in
routers
Multicast-4
Multicasting
Multiple unicasting
Applications of Multicasting
Multicast-5
It is estimated that 1000s of groups are present at any time in the Internet. This
number is increasing rapidly.
One-to-many:
! Scheduled audio-video distribution (lectures, business TV, meetings,)
! Push media (news headlines, weather updates, radio broadcast)
! File distribution and caching (web site content, file-based updates)
! Announcements (network time, session schedules)
! Monitoring (stock prices, telemetry)
Many-to-many:
! Multimedia conferencing (audio/video, whiteboards)
! Synchronized resources (shared distributed databases)
! Concurrent processing (distributed parallel processing)
! Collaboration (shared document editing)
! Distance learning (one-to-many + feedback)
! Chat groups
! Distributed interactive simulations
! Multiplayer games
! Jam sessions (shared encoded music)
McGraw-Hill
Multicast Addresses
Multicast-6
Each address space, IP and physical address space, define multicast addresses.
Multicast IP address:
Multicast group ID
0000 0001 0000 0000 0101 1110 0xxx xxxx xxxx xxxx xxxx xxxx
01
00
5E
IANA (Internet Assigned Numbers Authority)
owns a block of MAC addresses which are allocated for
multicasting: 01:00:5E:00:00:00-01:00:5E:7F:FF:FF
The McGraw-Hill Companies, Inc., 2000
Multicast-7
Group
Reserved
224.0.0.1
224.0.0.2
224.0.0.4
DVMRP routers
224.0.0.5
224.0.0.6
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
These are only few examples. The full list of assigned multicast addresses is given in
http://www.iana.org/assignments/multicast-addresses
McGraw-Hill
Multicast-8
McGraw-Hill
Address
224.0.1.7
Group
AUDIONEWS
224.0.1.10
IETF-1-LOW-AUDIO
224.0.1.11
IETF-1-AUDIO
224.0.1.12
IETF-1-VIDEO
224.0.1.13
IETF-2-LOW-AUDIO
224.0.1.14
IETF-2-AUDIO
224.0.1.15
IETF-2-VIDEO
224.0.1.16
MUSIC-SERVICE
224.0.1.17
SEANET-TELEMETRY
224.0.1.18
SEANET-IMAGE
Multicast-9
YES
Extract DA
(destination address)
DA == FFFFFFFFFFFF
NO
Broadcast
YES
Unicast
YES
DA == MAC
NO
NO
Multicast
I/G == 1
Drop the
frame
McGraw-Hill
NO
YES
DA {m/c addresses}
YES
Deliver the
Frame to LLC
Multicast-10
I/G bit
(0-individual
1-group)
McGraw-Hill
Multicast-11
Comment:
There is often a confusion about the position of the I/G bit in destination
address, because the bit order of DA in memory and bit order during the
frame transmission is different.
byte 1
byte 2
byte 3
byte 4
byte 5
G/I bit
byte 1
byte 2
byte 3
byte 4
byte 5
McGraw-Hill
Multicast Routing
Multicast-12
Basic requirements:
Every group member should receive only one copy of the m/c packet
Nonmembers must not receive a copy
A packet must not visit router more than once (no loops)
Paths from the source to each destination must be optimal (shortest path)
While the unicast routing uses graphs, the multicast routing uses trees.
Multicast trees (with source at the root and the group members being lives)
are called spanning trees. The optimal tree is called shortest path spanning tree.
Multicast
routers
Source
Duplicating of packets
occurs at tree branching
points (routers)
McGraw-Hill
Spanning
tree
R
R
R
H
R
R
H
H
Receiving hosts
(group members)
H
H
H
HThe McGraw-Hill Companies, Inc., 2000
Multicast-13
Multicast trees
There are two types of multicast trees: source-based trees and shared trees.
Source-Based Trees
Each source has a tree that spans a multicast group. A source can have several trees
for several different groups. If there are s sources and g groups, then the maximum
number of different source-based trees is s x g
Source-based tree
Group 1
S1
226.33.12.4
Group 3
228.8.12.60
Group 2
S2
McGraw-Hill
226.40.2.11
Multicast-14
Source-based
Source-based
tree 2 tree 1
Source-based tree 1
R
R
R
R
H
McGraw-Hill
S2
R
H
The McGraw-Hill Companies, Inc., 2000
Multicast-15
Shared Trees
Single distributed tree shared among all sources. Each group has a single shared
tree. Maximum number of trees is g, regardless of the number of sources. For
each group one of the routers is selected as the rendezvous point
(See more in slides for CBT)
S1
R
H
RP
R
H
S2
McGraw-Hill
Rendezvous point
for the group
R
H
The McGraw-Hill Companies, Inc., 2000
Multicast-16
iif=1
m/c
router
oif=3
oif=1
oif=2
Entry timer
In routing protocols based on source-based trees each (S,G) pair has an entry in RT
In protocols based on shared tree each (G) has an entry, S is irrelevant
McGraw-Hill
Multicast-17
There are several basic algorithms that are used in m/c routing protocols:
!
!
!
!
McGraw-Hill
Based
on
Use source-based trees
Use shared trees
Multicast-18
RPF test
Did the m/c packet arrive on the interface to which the router would
forward a unicast packet with destination address S?
Comments:
The test implies that the metric is symmetric, case with the number of hops.
In a m/c packet the source address is a unicast address, therefore the router
can easily check its routing table and perform the RPF test.
McGraw-Hill
RPF (cont.)
Multicast-19
RPF can eliminate loops but can not guarantee that each network receives a single
copy of a m/c packet. Example:
Comment: RPF reduces graph with loops to an acyclic directed graph, which
is still not a tree. In ADG a node can have two parents; nodes in a tree can
have only a single parent.
McGraw-Hill
Multicast-20
RPB creates a shortest path broadcast tree from the source to each destination.
It guarantees that each destination receives one and only one copy of the
packet.
For each network a designated parent router is selected. The router will send a
m/c packet to a network only if that router is the designated parent router for
this network. This reduces the ADG in RPF to a shortest spanning tree.
A router can always know which other router in their neighborhood has a
shortest reversed path to the source (if the routing algorithm is based on
distance vector routing). The designated parent router is selected based on this
fact. If more than one router qualifies, the router with the smallest IP address
is selected.
McGraw-Hill
Multicast-21
Both, RPF and RPB broadcast the m/c packets. Consequently a network that
doesn't contain the m/c group will receive the m/c packet, and the second layer
of each host in the network will decide whether to deliver or to drop the packet,
based on the MAC m/c address. This is not efficient.
Webster:
Truncate = to shorten from trunk (like truncating the leaves)
McGraw-Hill
Multicast-22
Pruning
When a router connected to a network finds that there is no interest in m/c
packets, it sends a prune message to the upstream router so it can prune the
corresponding interface. Consequently, the upstream router stops sending
m/c packets for this group through that interface. When a router receives a
prune message from a downstream router it sends the message to its
upstream router.
If the leaf router finds that one of its network is again interested in m/c
(IGMP) it will send the graft message which will force the upstream routers
to resume sending the m/c packets.
Webster:
Prune = to cut off or cut back parts of for better shape or more fruitful
growth; to cut away what is unwanted or superfluous
McGraw-Hill
Multicast-23
RPM (cont.)
H
H
H
R
H
Active branch
Pruned branch
Prune message
Group member
H
R
H
H
H
H
H
R
McGraw-Hill
Multicast-24
Core-Based Tree
CBT algorithm uses shared trees, instead of source-based trees
Unicast packets
(JOIN/LEAVE
requests)
Rendezvous point
(core router) gets
JOIN/LEAVE
requests and
forms the shared
tree
RP
A
R
R
R
C
McGraw-Hill
D
The McGraw-Hill Companies, Inc., 2000
Multicast-25
CBT (cont.)
B
CBT for group G1
(CBT backbone)
RP
R
R
R
C
McGraw-Hill
Multicast-26
CBT (cont.)
CBT routers
decapsulate the m/c
message from E and
multicast it to the
group G1
Host E sends a
m/c message to
group G1. This
message is unicast
to the RP (i.e. the
m/c message is
encapsulated into
unicast packet)
RP
A
R
E
R
R
C
D
This router doesnt
have to be a CBT
router
McGraw-Hill
Sender doesnt
necessarily need to
be a member of
the group.
Anybody can be a
sender, this wont
change the CBT.
Multicast-27
CBT (cont.)
Advantages:
! Smaller routing tables (only one entry per m/c group)
! Senders do not need to join a group to send m/c messages
! Simple and robust (only core router maintains m/c connectivity
a single point of failure
Disadvantages:
! Shared trees are not as optimal as source-based trees
! Core routers can become bottlenecks
This increases delays
Comment:
Scalability (small routing tables) is important in applications in which most
of the group members are receivers and senders. For example:
distributed interactive simulation and distributed video gaming.
McGraw-Hill
Distance Vector
Multicast
Routing Protocol
Multicast-28
Better scalability
Receiver-initiated
protocols
Multicast
OSPF
Dense mode
Core-based
Tree
Sparse mode
All routing protocol use Internet Group Management Protocol (IGMP) as the hostrouter interface through which the hosts can sign in/off to/from m/c groups
McGraw-Hill
Multicast-29
DVMRP
McGraw-Hill
Multicast-30
MOSPF
McGraw-Hill
Multicast-31
CBT
McGraw-Hill
Multicast-32
CBT (cont.)
Amount of state required by DVMRP and CBT
Numer of
groups
10
100
1000
Group size
(number of
members)
20
40
60
Number of
sources per
group
10%
50%
100%
10%
50%
100%
10%
50%
100%
Number of
DVMRP
RT entries
20
100
200
400
2K
4K
6K
30K
60K
Number of
CBT
RT entries
McGraw-Hill
10
100
1000
Multicast-33
Protocol Independence: will work with any underlying unicast routing protocol
There are two versions of PIM that have almost nothing in common:
Dense mode (PIM-DM):
Not formally standardized
Uses source-based trees
Very similar to DVMRP, but works as both, intra- and inter-domain routing
Used in a dense multicast environment, such as a LAN environment.
Sparse mode (PIM-SM):
RFC 2362, USC, CISCO, LBL, UCL, Xerox, June 1997 (old: RFC 2117)
Uses shared trees
Very similar to CBT but uses simpler procedures
Used in a sparse multicast environment such as a WAN
McGraw-Hill
Multicast-34
Multimedia and real-time applications have increased the need for multicasting in
Internet. However only a small fraction of Internet routers support m/c. A solution
is to use tunneling, which provides a logical connection of m/c routers through
non-multicast routers, called multicast backbone.
Isolated island
of m/c routers
nonmulticast
routers
McGraw-Hill
MBONE (cont.)
Multicast-35
McGraw-Hill
dsvfegb
MBONE (cont.)
Multicast-36
IP in IP Tunneling
RFC 1853, Simpson, October 1995
Method by which an IP datagram may be encapsulated (carried as payload) within
an IP datagram. Encapsulation is suggested as a means to alter the normal IP routing
for datagrams, by delivering them to an intermediate destination that would
otherwise not be selected based on the IP Destination Address field in the original IP
header. Once the encapsulated datagram arrives at this intermediate destination
node, it is decapsulated, yielding the original IP datagram, which is then delivered to
the destination indicated by the original Destination Address field. The encapsulator
and decapsulator are considered to be the "endpoints" of the tunnel.
IP header
IP header
G=224.x.x.x m/c data
m/c
data
G=224.x.x.x
Nonmulticast
140.123.3.8
150.13.44.2
routers
Encapsulator
(m/c router
- entry point of
the tunnel)
McGraw-Hill
IP header
DA=150.13.44.2
IP protocol number = 4
Data
IP header
G=224.x.x.x m/c data
Decapsulator
(m/c router
- exit point of
the tunnel)
Tunneling (cont.)
Multicast-37
IP Header
Version
Hdr len.
TOS
Identification
TTL
Total length
Flags
Protocol
Number
Fragment offset
Header checksum
Source IP address
Destination IP address
Prot.
Num.
Options
and
paddingProtocol
For complete
McGraw-Hill
Description
ICMP
IGMP
GGP
Gateway-to-Gateway
IP
IP in IP (encapsulation)
ST
Stream
TCP
Transmission Control
........
.........
..............................