You are on page 1of 37

Multicast-1

Chapter 14

Multicasting
And
Multicast
Routing Protocols
McGraw-Hill

The McGraw-Hill Companies, Inc., 2000

Multicast-2

What is Multicasting?
Unicasting:

In unicasting there is a single sender (source) and a single receiver


(destination)
In unicast routing, the router forwards the received packet through only
one of its interfaces.
McGraw-Hill

The McGraw-Hill Companies, Inc., 2000

What is Multicasting? (cont.)

Multicast-3

Multicasting:

Packets are
duplicated in
routers

In multicasting there is at least one sender and several


receivers (group of receivers called multicast group)
In multicast routing, the router may forward the
received packet through several of its interfaces.
McGraw-Hill

The McGraw-Hill Companies, Inc., 2000

What is Multicasting? (cont.)

Multicast-4

Multicasting

Multiple unicasting

Emulation of multicasting through multiple unicasting is


not efficient and may create long delays, particularly
with a large group.
McGraw-Hill

The McGraw-Hill Companies, Inc., 2000

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

The McGraw-Hill Companies, Inc., 2000

Multicast Addresses

Multicast-6

Each address space, IP and physical address space, define multicast addresses.
Multicast IP address:

Multicast group ID (28 bits)

1110xxxx xxxxxxxx xxxxxxxx xxxxxxxx


224 - 239
Multicast MAC address:
Multicast prefix

Multicast group ID

0000 0001 0000 0000 0101 1110 0xxx xxxx xxxx xxxx xxxx xxxx

01

00

I/G (multicast) bit


(0- individual, 1-group)
McGraw-Hill

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 Addresses (cont.)

Multicast-7

Assigned m/c Addresses (Category Addresses)


Address
224.0.0.0

Group
Reserved

224.0.0.1

All systems on this subnet

224.0.0.2

All routers on this subnet

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

These are only few examples. The full list of assigned multicast addresses is given in
http://www.iana.org/assignments/multicast-addresses
McGraw-Hill

The McGraw-Hill Companies, Inc., 2000

Multicast Addresses (cont.)

Multicast-8

Assigned m/c Addresses (Conferencing)

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

The McGraw-Hill Companies, Inc., 2000

Multicast Addresses (cont.)

Multicast-9

How the MAC layer of the Ethernet interface works:


Get the frame
from wire
NO
CRC test passes

YES
Extract DA
(destination address)
DA == FFFFFFFFFFFF

NO

The broadcast capability of


shared media LANs simplifies
multicasting: the packets (frames)
within LAN dont have to be
copied.

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

The McGraw-Hill Companies, Inc., 2000

Multicast Addresses (cont.)

Multicast-10

Multicast Address Translation


In order to avoid usage of ARP in multicasting, the address translation is done
by simple mapping the IP m/c group identifier is mapped onto the 23 least
significant bits of the MAC address:
m/c group identifier

I/G bit
(0-individual
1-group)

NOTE: There can be 32 IP addresses mapped to the same MAC address.


Collisions are not very likely however.

McGraw-Hill

The McGraw-Hill Companies, Inc., 2000

Multicast Addresses (cont.)

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.

Destination address in memory:


byte 0

byte 1

byte 2

byte 3

byte 4

byte 5

76543210 76543210 76543210 76543210 76543210 76543210

G/I bit

Bit order in each


byte is reversed

Byte order is preserved

Destination address on the wire:


byte 0

byte 1

byte 2

byte 3

byte 4

byte 5

01234567 01234567 01234567 01234567 01234567 01234567


G/I bit is the
first bit on the wire

McGraw-Hill

Transmitting bits on the LAN medium


The McGraw-Hill Companies, Inc., 2000

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 Routing (cont.)

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

A host can be member


of two different groups

The McGraw-Hill Companies, Inc., 2000

Multicast Routing (cont.)

Multicast-14

Source-Based Trees (cont.)


Separate shortest-path tree for each source
Efficient trees, low delays
Good for dense-area multicast
S1

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 Routing (cont.)

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

Multicast Routing (cont.)


Entry of a m/c routing table (forwarding state)

iif=1

Source address (S)

m/c
router

Group address (G)


Incoming interface (iff)
Outgoing interfaces (oif1, oif2, oif3,)
Outgoing interface timers (oift1, oift2, oift3,)
Flags (depends on particular protocol)

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

The McGraw-Hill Companies, Inc., 2000

Multicast Routing Algorithms

Multicast-17

There are several basic algorithms that are used in m/c routing protocols:
!
!
!
!

RPF Reverse Path Forwarding


RPB Reverse Path Broadcasting
TRPB Truncated RPB
RPM Reverse Path Multicasting

! CBT Core Based Trees

McGraw-Hill

Based
on
Use source-based trees
Use shared trees

The McGraw-Hill Companies, Inc., 2000

Reverse Path Forwarding (RPF)

Multicast-18

Also called Reverse Path Flooding. RPF is an improvement of the flooding


algorithm which eliminates most of the loops..

RPF test passed

RPF test failed

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

The McGraw-Hill Companies, Inc., 2000

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:

All routers pass


the RPF

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

The McGraw-Hill Companies, Inc., 2000

Reverse Path Broadcasting (RPB)

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

The McGraw-Hill Companies, Inc., 2000

Multicast-21

Truncated RPB (TRPB)

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.

In TRPB a designated parent router can determine (via IGMP) whether


members of a given multicast group are present on the router subnetwork or
not. If this subnetwork is a leaf subnetwork (it doesn't have any other router
connected to it) the router will truncate the spanning tree.

Webster:
Truncate = to shorten from trunk (like truncating the leaves)

McGraw-Hill

The McGraw-Hill Companies, Inc., 2000

Reverse Path Multicasting (RPM)

Multicast-22

Also known as RBP with prunes, it is an enhancement of TRPB. While TRPB is


eliminating only the leaf networks that do not contain the m/c group, RMP does
pruning of non-leaf nodes along the spanning tree all the way up to the source.

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

The McGraw-Hill Companies, Inc., 2000

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

The McGraw-Hill Companies, Inc., 2000

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

Hosts A and C want


to join group G1

R
C

McGraw-Hill

D
The McGraw-Hill Companies, Inc., 2000

Multicast-25

CBT (cont.)
B
CBT for group G1
(CBT backbone)

RP is root of the CBT


(It constructs a CBT
for each group)

RP

R
R

Each CBT router has an entry


for group G1 in routing table
{G1, list of interfaces}

R
C

McGraw-Hill

The McGraw-Hill Companies, Inc., 2000

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.

The McGraw-Hill Companies, Inc., 2000

Multicast-27

CBT (cont.)

This improves scalability

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

The McGraw-Hill Companies, Inc., 2000

Multicast Routing Protocols


Lover delays
Sender-initiated
protocols

Distance Vector
Multicast
Routing Protocol

Multicast-28

Better scalability
Receiver-initiated
protocols

Multicast
OSPF
Dense mode

Core-based
Tree
Sparse mode

Protocol Independent Multicast

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

The McGraw-Hill Companies, Inc., 2000

Multicast-29

DVMRP

RFC 1075, BBN STC, Stanford University, November 1988


Extension of DV unicast routing (RIP)
Uses RPM (older version use TRPB)
Works within autonomous system (interior gateway protocol)
Uses IGMP to exchange group membership information

BBN STC is BBN Systems and Technologies Corporation

McGraw-Hill

The McGraw-Hill Companies, Inc., 2000

Multicast-30

MOSPF

RFC 1584, Proteon, Inc., March 1994


Extension of the OSPF protocol (link state routing)
Uses RPM
Uses general metric (instead of number of hops) least cost tree
The least cost tree is build at once, instead gradually as in DVMRP
MOSPF is an inter domain routing protocol (works within AS with
areas)
Uses IGMP to exchange group membership information

McGraw-Hill

The McGraw-Hill Companies, Inc., 2000

Multicast-31

CBT

RFC 2201, Ballardie, September 1997


Experimental protocol (not widely deployed as DVMRP)
Uses CBT routing algorithm
Suited for intra- and inter-domain m/c routing
CBT protocol uses IGMP to exchange group membership information

McGraw-Hill

The McGraw-Hill Companies, Inc., 2000

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

The McGraw-Hill Companies, Inc., 2000

Protocol Independent Multicast (PIM)

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

LBL - Lawrence Berkeley Laboratory


UCL - University College London
UMICH - University of Michigan

The McGraw-Hill Companies, Inc., 2000

Multicast Backbone (MBONE)

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.

Virtual point-to-point link

Isolated island
of m/c routers

nonmulticast
routers

McGraw-Hill

The McGraw-Hill Companies, Inc., 2000

MBONE (cont.)

Multicast-35

DVMRP supports MBONE


Easy to deploy (no explicit router support)
Manual tunnel creation/maintenance
No routing policy single tree

McGraw-Hill

dsvfegb

The McGraw-Hill Companies, Inc., 2000

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)

The McGraw-Hill Companies, Inc., 2000

Tunneling (cont.)

Multicast-37

Tunneling uses the protocol number field set to 4

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

Internet Control Message

IGMP

Internet Group Management

GGP

Gateway-to-Gateway

IP

IP in IP (encapsulation)

ST

Stream

TCP

Transmission Control

........

.........

..............................

list of protocol numbers see: http://www.iana.org/assignments/protocol-numbers


The McGraw-Hill Companies, Inc., 2000

You might also like