3 Multicast2pp
3 Multicast2pp
Multicast
Outline
Introduction
Network layer Multicast
Transport layer Multicast
Perspectives
2
Outline
Introduction
Q Definition
Q Notion of group
Q Problem
Network layer Multicast
Transport layer Multicast
Perspectives
What Is Multicast?
Efficient communication means 1-to-N
multicast vs. unicast and broadcast
Q unicast: a single source to a single destination
Q multicast: a single source to a subset of destinations
Q broadcast: a single source to all destinations
unicast
(1-to-1)
multicast
(1-to-N)
broadcast
(1-to-all)
3
What Is Multicast?
Communication 1 to N
Bandwidth-saving technology which reduces
traffic by delivering a unique information flow
to several receivers simultaneously
Multicast examples
Q The networks material layer supports multicast
efficiently
Example: Ethernet allows a packet to be received by
many hosts
Q Several protocols and different service models
Examples: IETF multicast IP, ATM Multipoint
Unicast
R
sender
Problem
Q Sending the same data
towards several
receivers in unicast is
not efficient
Example
Q Popular Web sites
become serious
bottlenecks
4
Multicast
R
sender
Efficient distribution 1
to many
Applications For Multicast
Reliability
Response time
100%
200 ms 2 s 20 s
Real-time
interactive
Multimedia
distribution
distribution
of documents
conference
Dlay -order
of 100 ms
tolerance of
a certain
loss rate
Continuous
flows, real-time,
not interactive,
unidirectional
Software
distribution
100% reliability
Few temporal
constraints
5
Why Multicast? (1/3)
distribution using TCP/IP
Results
Several copies of the same packet
several buffers
several connections
R3
R4
R2
R1
S
D1
D2
D3
D4
D5
Why Multicast? (2/3)
distribution using multicast
Results
A single copy of each packet
A single buffer
A single multicast connection
R3
R4
R2
R1
S
D1
D2
D3
D4
D5
6
Why Multicast? (3/3)
Uses bandwidth efficiently
Prevents network congestion
minimises servers load
Provides information to more users
simultaneously
Reaches many people at the same time
etc.
Introduction To IP Multicast
Efficient 1-to-several distribution
Q Data Distribution with a tree
Q Packets cross networks links only once
Adressing independent of localization
Q One IP address per multicast group
Receiver-oriented service model
Q Applications can subscribe and quit multicast groups
Q Senders dont know who listens
Q Similar to the television model
Q Different from telephone or ATM networks
7
IP Multicast
Service
Q All senders send towards the same group
simultaneously
Q Receivers subscribe to any group
Q Routers find receivers
Unreliable delivery
Reserved IP addresses
Q 224.0.0.0 to 239.255.255.255 reserved for
multicast
Q Static addresse for usual services (e.g. session
advertisement protocol)
Notion of Multicast Group
How can we identify a Mcast packets receivers?
Q unicast: one IP destination address
Q Here, all destination addresses???
abstraction: multicast group
Q Links together a set of senders and receivers
Q Exists independently of senders and receivers
senders receivers
Multicast
group
Each receiver receives
packet sfrom each
sender
8
IP Multicast Addresses (1/2)
multicast group: class D address
0
10
110
1110
rseau
station
adresse multicast
A
B
C
D
rseau
rseau
station
station
11100000 00000000 00000000 00000000
11101111 11111111 11111111 11111111
...
de 224.0.0.0
239.255.255.255
.
.
.
224.0.0.0 : unused
224.0.0.1 : represents the set of the considered subnetworks
stations
There is no address for the set of all machines on the Internet
IP Multicast Addresses (2/2)
Group addressing
S
D
S
D
D
D
D
Receivers subscribe to the
group address 224.1.2.3
@ IP source 224.1.2.3 donnes Mcaster
adresse de
destination
en-tte IP
Address indirection
Each host has its own IP @, independent of the group @
Problems distinction
Discover the set of usual Mcast groups
Express the wish to receive a groups packets
Discover the set of a groups receivers
Deliver data to each member of the group
9
Multicast Problems
Questions...
Q When and how does a group begin and end?
Q When and how is the group address chosen?
Q How do new stations join a group?
Q Are there any conditions to belong to a group?
Q How do routers interoperate to deliver packets?
Choices...
Q A receiver should be able to join or leave a group during a
transmission
Q A receiver should be able to join or leave a group without signaling it
explicitly to senders
Statements...
Q Receiver hosts are often connected to local networks...
Introduction
Network layer Multicast
Q multicast on LANs
Q IGMP protocol
Q Service model
Q Multicast routing algorithms
Q Multicast routing protocols
Transport layer Multicast
Perspectives
Outline
10
Multicast on a LAN (1/3)
What currently exists (Ethernet example)
Q Ethernet relies on a broadcast medium
Q each station has a network card with a specific
hardware @
Q There is a broacast address (FF.FF.FF.FF.FF.FF)
What can we do to reach only a subset of
stations?
Q ex: H1 wants to send a Mcast packet to H2 and
H4 who are on the same network as H1
Q Two possibilities...
Multicast on a LAN (2/3)
Q network multicast using link broadcast
network multicast using link multicast
Ethernet
IP
H1
Ethernet
IP
H2
Ethernet
IP
H3
Ethernet
IP
H4
...
Ethernet
IP
H1
Ethernet
IP
H2
Ethernet
IP
H3
Ethernet
IP
H4
...
@ de H1 FF.FF.FF.FF.FF.FF IP multicast Packet
@ de H1 @ MAC multicast IP multicast Packet
@src @dst
11
Multicast on a LAN (3/3)
Translation of IP multicast addresses into Ethernet @
Q Ethernet multicast addresses format
de 01:00:5e:00:00:00
01:00:5e:7f:ff:ff
.
.
.
0000 0001 0000 0000 0101 1110 0111 1111 1111 1111 1111 1111
0000 0001 0000 0000 0101 1110 0000 0000 0000 0000 0000 0000
Translation mechanism
0000 0001 0000 0000 0101 1110 0
1110 xxxx x
23 derniers bits
We know how to Mcast an IP packet on a broadcast LAN!
IP Multicast Architecture Components
hosts
routers
Service model
Host-router Protocol
(IGMP)
multicast
routing protocols (several)
12
Protocol Involved in Hosts
IP Service Interface
Link-Layer Service Interface
Upper-Layer Protocol Modules
IP Module
Link-Layer Modules
(e.g., Ethernet)
IP to link-layer address
mapping (e.g., ARP)
ICMP IGMP
What Is IGMP?
How can a router determine if its LAN has receivers for
a given Mcast group?
Internet Group Management Protocol
Q Allows a host to indicate its local router if he wants to join a
group
Q Used in broadcast LANs
...
H
R
R
R
H
H
H
H
H
.
.
.
.
.
.
Multicast routing
long distance
IGMP
IGMP
IGMP
IGMP
13
IGMP Version 1 (1/1)
RFC 1112 (Aug.89)
query/report messages exchange
R
S1
H H
Long distance
multicast routing
S2
H
H
H
H
H
query
(quelquun intress par un groupe?)
report (225.5.5.5) report (224.9.9.9)
@ IP source 224.9.9.9 donnes
en-tte IP
@ destination
IGMP Version 1 (2/2)
Risk of congestion
Q Answers spreading based on timers
R
H H
C request sent
C timer armed
C answer sent C answer reception,
timer disarmed
query
report
C timer armed
H
Traffic reduction on the LAN if no member
Possible delay (qq s.) before receiving data
14
IGMP Version 2 (1/2)
RFC 2236 (Nov.97)
A receiver explicitly informs its router when it
leaves a group
Q 3 types of messages
Message type
membership_query
gnral
spcifique
membership_report
leave_group
Sent by
router
router
host
host
goal
Ask groups to which hosts have subscribed
Ask if a given group has members on a LAN
indicate that a host wants to join (or has joined) a group
Indicate that a host leaves a given group
Answers spreading with 0 timer MaxRespTime
IGMP Example (1)
Network 1
Host 1 starts sending packets
Q No IGMP packet sent
Q Packets stay on network 1
router sends a IGMP Membership Query
periodically
Network 2
Router
1
2 4
3
dinh ky
15
IGMP Example (2)
Network 1
Host 3 joins the conference
Q He sends a IGMP Membership Report message
router starts to forward packets on the network 2
Host 3 leaves the conference
Q He sends a IGMP Leave Group message
Q Sent only if he was the last host to send a IGMP
Membership Report message
Network 2
Router
1
2 4
33
Membership Report
33
Leave Group
IGMP Version 2 (2/2)
R
S1
H H
routage multicast
grande distance
S2
H
H
H
H
H
query
(quelquun intress par un groupe?)
leave_group (225.5.5.5) report (224.9.9.9)
@ IP source 224.9.9.9 donnes
@ destination
en-tte IP
Message format
type MaxRespTime Checksum
Multicast Group Address
Reduction of Leaves latency
16
IGMP Version 3
A receiver can select the sources he wants to hear
(or not)
R
S1
H H
routage multicast
grande distance
S2
H
H
H
H
H
query
(quelquun intress par un groupe?)
report
(224.9.9.9,
source=S2)
@ IP source 224.9.9.9 donnes
@ destination
en-tte IP
report
(225.5.5.5,
sourceS3)
S3
Internet Group Management Protocol (IGMP)
Protocol to manage the membership to a group
Q IP hosts report their Mcast groups membership to their
neighbor routers
Q Messages in IGMPv2 (RFC 2236)
Membership Query (from routers)
Membership Report (from hosts)
Leave Group (from hosts)
Advertise-listen protocol with suppression
Q Hosts answer only if no other host answered
Soft State protocol
17
IP Multicast Architecture Components
hosts
routers
Service Model
Host-router protocol
(IGMP)
Multicast routing protocols
(several)
Multicast Service Model
Based on S. Deerings work
Transmission features
Q IP multicast: transmission of an IP packet to a group of hosts
identified by a single destination address
Q best effort transmission
Group features
Q Dynamic membership
Q No restriction on localization and members #
Q One host may be member of several groups simultaneously
Q A host does not need to be member of a group to be a source
Q Permanent/temporary group
Q The Join operation is receiver-driven
18
Senders do not control who joins the group
No control on who sends to the group
Packets coming from different sources may be interlaced
2 different groups may choose the same @
Role of local Mcast routers
Q co-resident or separated from traditional routers
Q A local router who receives a Mcast packet from one of its
hosts, with a TTL>1, forwards it to all subnetworks
connecting receiver memberstant le paquet en local
Multicast Service Model
RFC 1112 specifies necessary host extensions to
support
Q 3 conformity levels
0: host does not support Mcast
1: host can send packets to a group
2: host supports multicast for sending and receiving
Q Host IP implementation model
module IP
module LAN
(Ethernet)
traduction d@
(ARP)
interface de service
LAN
ICMP
interface de service IP
IGMP
modules de protocoles de niveau sup.
Multicast Service Model
tron lan vao nhau
19
Q Extensions for Mcast sending
IP service interface
Q use SendIP
Q dest@ = group@
Q The upper level must be able to specify a TTL
IP Module
Q if IP-dest is on the same local network
or if IP-dest is a group @
then send packet locally to IP-dest
else send packet locally to GatewayTo (IP-dest)
LAN service interface
LAN Module
Q Mcast IP@ / Mcast MAC@ translation mechanism
Multicast Service Model
Q Extensions for Mcast reception
IP service interface
Q use ReceiveIP
Q add JoinHostGroup (group-address, interface)
Q add LeaveHostGroup (group-address, interface)
IP module
Q Maintain list of groups of which the host is member for each interface
(updates with Join and Leave)
Q integration of IGMP and subscription to 224.0.0.1
LAN service interface
Q add JoinLocalGroup (group-address)
Q add LeaveLocalGroup (group-address)
LAN module
Q Filtering mechanisms by the card (recommended)
Multicast Service Model
20
IP Multicast Service Model
(RFC-1112)
Each group is identified by a unique IP
address
Groups can be of any size
Group members may be anywhere on the
Internet
Group members may join or leave a group
as they wish
Sources dont need to be members
Service Model
Group membership not explicitly known
Analogy:
Q Each multicast address is like a radio frequency
which anyone may send to and that anyone may
listen to
21
IP Multicast Architecture Components
hosts
routers
Service Model
Host-router protocol
(IGMP)
Multicast routing protocols
(several)
Multicast Routing
The multicast service model makes the
localization of receivers difficult
Q Anonymity
Q Join/leave dynamically
Current options (not very efficient)
Q Flood the network with packets
Q Tell routers all possible groups and receivers so
that they may create routes (trees)
22
First Routing Techniques
Flooding and pruning
Q Start with flooding all the network with traffic
Q Prune branches with no receiver
Q "unwanted" state where there is no receiver
Link state multicast protocols
Q Routers advertise groups for which they have
receivers in the whole network
Q Trees computation on demand
Q unwanted" state where there is no source
Rendez-Vous Options
Broadcast first packets from each source towards the
whole network: non members prune
Q Examples: DVMRP, PIM-DM
Broadcast group membership advertisements from
each receiver to the whole network
Q Example: MOSPF
Specify a meeting place" where sources send the
first packets and where receivers subscribe; this
requires a mapping between the multicast group
address and the rendez-vous point
Q Examples: CBT, PIM-SM
23
Shared (group) vs Source-based Trees
Source-based trees
Q Different shortest path tree for each source
Shared (group) trees
Q Unique tree shared by all members
Q Data pass through the same tree whatever the
source is
Multicast Trees Taxonomy
Multicast routing can build different types of
distribution trees
Separate tree whose root is each data source
(DVMRP, MOSPF, PIM-DM, PIM-SM)
Shared tree whose root is the groups core /
rendez-vous point (CBT, PIM-SM)
24
Shared Tree Example
RP
Source-Based Tree Examples
25
Shared Trees v.s. Source-Based Trees
Source-based trees
Q Shortest path trees low delay, better load
balancing
Q More states in routers (1 state/source)
Q Efficient for multicast in high-density spaces
Shared trees
Q Higher delay, traffic concentration
Q 1 state/group in routers
Q Efficient for multicast in low-density spaces
Protocols Taxonomy
DVMRP source-based trees
MOSPF source-based trees
PIM shared and source-based trees
26
Multicast Routing Algorithms
Goal: compute a tree of links connecting all
routers belonging to the group
3 families
Q Shortest Path Tree algorithms
Q Minimum Cost Tree algorithms
Q Constrained Tree algorithms
SPT Algorithms (1/2)
Goal: compute a tree
Q With S = source
Q Which covers all receivers D
i
of the group
Q So that the distance between S and D
i
is minimum
Basic algorithms
Q Bellmann-Ford: distance vectors
Q Dijkstra: link state
1 tree / source
27
SPT Algotrithms (2/2)
S
R1
R3
R5
R6
R9
R11
R2
R8
D1
D2
D3 R4
D4 R7
R10 D6
D7
D5
S
R1
R3
R5
R6
R9
R11
R2
R8
D1
D2
D3 R4
D4 R7
R10 D6
D7
D5
Topology example Tree obtained with a
vector distance algorithm
MCT Algorithms (1/2)
Goal: minimize the trees total cost
2 families
Q Minimum Spanning Tree algorithms
constraint: the tree must contain no node which is not a
member of the group
Ex: Prims algorithm
Q les algorithmes Minimum Steiner Tree
la contrainte est leve
problme NP-complet
ils supposent de connatre toutes les liaisons du rseau
ils sont monolithiques
ils nexploitent pas les informations dj disponibles de
routage unicast
28
MCT Algorithms (2/2)
S
R1
R3
R5
R6
R9
R11
R2
R8
D1
D2
D3 R4
D4 R7
R10 D6
D7
D5
Tree obtained with a
distance vector algorithm
S
R1
R3
R5
R6
R9
R11
R2 D1
D2
D3
D4
R10 D6
D7
D5
Steiners tree
rq: dist(S, D6) = 5 rq: dist(S, D6) = 7
CT Algorithms
Goal: minimize simultaneously dist(S, D
i
) et
and trees total cost
Principle
Q Associate 2 metrics to each link (distance/delay
and cost)
Q Look for the minimum cost tree such that
dist(S, Di)
29
What Do We Call IP Multicast ?
Mechanism used in the Internet to build an
efficient and loop-free multicast routing
algorithm
IGMP + Mcast routing protocol
RPF (1/2)
Reverse Path Forwarding (Source-based Routing)
One of the first used techniques
Goal: build a tree with root S which minimizes dist(S, D
i
)
Principle: use flooding with
Q If a packet is received by the interface used par router to reach S
then the packet is forwarded to the other interfaces
else the packet is discarded
Simple mechanism
Q Used information is the same as unicast routing
Q R
i
doesnt need to know spanning trees
Q No particular mechanism to stop flooding
30
Reverse Path Forwarding Example
R5 R6
R3 R2
R1
R4 R7
Sender
2. Le router R2 accepte les
paquets envoys depuis le
Routeur R1 parce qu'il est le
plus court chemin vers
l'metteur. Le paquet est
envoy sur toutes les
interfaces.
1. Le router R1 vrifie : le paquet
est-il arriv sur l'interface avec le
plus court chemin vers l'metteur
? Oui, donc il accepte le paquet,
le duplique et le renvoie sur
toutes les autres interfaces sauf
l'interface qui est le plus court
chemin vers l'metteur (c'est--
dire l'interface sur laquelle le
paquet est arriv).
Drop
Drop
3. Le routeur R2 jette les
paquets qui proviennent
du Routeur R3 parce
qu'il n'est pas le plus
court chemin vers
l'metteur. vite les
cycles.
RPF (2/2)
F
R2
H4
H5
F
H2
H3
F
R3
H6
H7
F
R4
H8 F
R5
H12
H13
F
R9
H14
H15
F
R8
R6
H9
F
R7
H10
H11
F
R12
H16
H17
F
H18
R13
H19
F
H20 H21
R11
H22
F
H23 H24
R10
H25
F
H26
H1 R1 F
F
F
F
F
F
F
F
F
F
F
F
F
F
F
F
F
F
31
Truncated Broadcasting (1/2)
Goal: reduce traffic on LANs leaves
Idea: use membership information provided
by IGMP to determine whether a packet
should be Mcasted on a leaf LAN or not
Q Kind of leaves pruning
Q No traffic reduction in the center of the network
Truncated Broadcasting (2/2)
F
R2
H4
H5
F
H2
H3
R3
H6
H7
R4
H8
R5
H12
H13
R9
H14
H15
R8
R6
H9
R7
H10
H11
R12
H16
H17
H18
R13
H19
F
H20 H21
R11
H22
F
H23 H24
R10
H25 H26
H1 R1 F
F
F
F
F
F
F
F
F
F
F
F
F
F
F
F
F
F
32
DVMRP (1/6)
RFC 1075 (Nov.88), draft of Version 3
Distance Vector Multicast Routing Protocol
Goal: reduce traffic in the center of the network
principle: flooding and pruning
Q If a router has no member on its LAN, it sends a prune
message to its neighbors
Q A leaf router can send a prune on all its interfaces, except the
one which corresponds to its shortest path to the source (i.e. the
RPF interface)
Q When an intermediate router receives a prune on each of its
interfaces except the RPF if, it forwards the prune upstream
Q When a router sends a prune, it memorizes the (Source,
Groupe) pair for which the prune was sent
DVMRP (2/6)
F
R2
H4
H5
F
H2
H3
R3
H6
H7
R4
H8
R5
H12
H13
R9
H14
H15
R8
R6
H9
R7
H10
H11
R12
H16
H17
H18
R13
H19
F
H20 H21
R11
H22
F
H23 H24
R10
H25 H26
H1 R1 F
F
F
F
F F
F
F
F
F
F
F
F
F
F
F
F
P
P
P P
P
P
P P
P
P
P
P
P
Flooding and
pruning
33
DVMRP (3/6)
Tree after
pruning
D
R2
H4
H5
D
H2
H3
R3
H6
H7
R4
H8
R5
H12
H13
R9
H14
H15
R8
R6
H9
R7
H10
H11
R12
H16
H17
H18
R13
H19
D
H20 H21
R11
H22
D
H23 H24
R10
H25 H26
H1 R1 D
D
D
D
D
DVMRP (4/6)
Graft
F
R2
H4
H5
F
H2
H3
R3
H6
H7
R4
H8
R5
H12
H13
R9
H14
H15
R8
R6
H9
R7
H10
H11
R12
H16
H17
H18
R13
H19
F
H20 H21
R11
H22
F
H23 H24
R10
H25 H26
H1 R1 F
F
F
F
F
G
G
34
DVMRP (5/6)
Tree after
graft
D
R2
H4
H5
D
H2
H3
R3
H6
H7
R4
H8
R5
H12
H13
R9
H14
H15
R8
R6
H9
R7
H10
H11
R12
H16
H17
H18
R13
H19
D
H20 H21
R11
H22
D
H23 H24
R10
H25 H26
H1 R1 D
D
D
D
D
D
D
D
DVMRP (6/6)
Problems common to distance vector
protocols
Peridodical flooding process for each source
Memorization of prune (Source, Group)
records
35
MOSPF
RFC 1584 (March 94)
Multicast Open Shortest Path First
Principle
Q Operates in an AS which uses OSPF for unicast
routing
Q extends OSPF by adding membership information
to link state information broadcast by OSPF
problem: scalability (network size)
Q Memorization of one record per group and per
network link
Q One tree/source
Multicast OSPF (MOSPF)
OSPF extension (Open Shortest-Path First,
intra-domain link state unicast routing
protocol)
Each router indicates groups for which it has
directly connected members
36
MOSPF
Link state advertisements are completed by
the addresses of multicast groups to which
local members have subscribed
The link state routing algorithm is
augmented to compute the shortest path
distribution tree between any source and
any set of destinations
S1
R1
R2
X
Y
Z
Link state: each router floods with link state advertisement
Multicast: membership information added to link state info
Each router computes the multicast tree for each active source and
creates an entry with the list of exit interfaces
37
S1
R1
R2
X
Y
Z has the networks map, including members below X and Y
Z computes the shortest path tree from S1 to X and Y
Z creates a multicast entry with an exit interface
W, Q and R each create a multicast entry
Z
W
Q
R
R1
R2
X
Y
Z
W
Q
R
S1
The link state advertisement with the new topology can require
a new computation of the tree and of the tables entries
38
R1
R2
X
Y
Z
W
Q
R
S1
T
R3
The link state advertisement (T) with a new membership advertisement
(R3) may require the incremental computation and the addition
of an interface to the list of exit interfaces (Z)
Impact on the Route Computation
Source-based multicast trees cannot all be
pre-computed
On demand computation when the first packet
from a source S to a group G arrives
Packet forwarding on exit interfaces which
correspond to the local portion of the tree
39
CBT (1/3)
RFC 2189 et 2201 (Sept.97)
Core Based Tree (Group-shared Tree)
Goal: avoid DVMRP and MOSPF drawbacks
Q Scalable: one single tree for the group
Q Efficiency (avoid floodings): explicit Join and Leave
messages
Principle: build a bidirectional shared tree, with a
unique core
CBT (2/3)
Q Trees construction
A local router which has a new member for a group sends a
join-request message to the core in unicast
The core or the first router on the path which already
belongs to the tree answers with a join-ack
Each router which saw the join-request markes the if on
which it received it
Q Trees maintenance
Each router periodically sends echo-request to its
upstream router
The upstream router answers with echo-reply
If a downstream router does not receive any answer after N
trials, it prunes its subtree by sending a flush-tree
message
40
CBT (3/3)
*R1 sends a join (G) to the core
+R2 marks the R2-R1 if to forward
packets in the future
4R3 marks the R3-R2 if
^the core marks the core-R3 if
=when R4 joins G, its join
stops at R2
=R2 marks the R2-R4 if
to send a packet to G, S sends it in
unicast to the core which forwards it
R1
S
R2 R3
R4
cur
^ 4 + *
=
=
Advantages
Q No flooding (vs. DVMRP)
Q A host may join/leave a group without delay (vs. DVMRP)
Q One record/group with exit interfaces (vs. DVMRP)
Q No explicit tree computation (vs. MOSPF)
Drawbacks
Q Problems of reliability, robustness and congestion for the core
Q The tree is not optimal for all sources
PIM (1/3)
RFC 2362 (June 98)
Protocol Independent Multicast
Idea: explicit distinction between 2 distribution
scenarios
Dense mode
Q Members are geographically concentrate in a zone
Q Idea: RPF with flood-and-prune, similar DVMRP
seems reasonable
41
PIM (2/3)
Sparse mode
Q Members are geographically scattered
Q Goal: a router shouldnt have to work, unless it joins a tree
Q Principle: center-based approach, similar to CBT
Excepted:
Q No acknowledgement in response to join
Q the join is sent periodically to refresh the tree
The RDV point informs an active source that it should stop
sending when there is router left in the tree
Changing mode is possible: from shared tree to source-
based tree
RDV points periodically send downstream to indicate their
activity
PIM (3/3)
Changing mode allows to unload the core
In case of failure, hosts which have changed mode keep
receiving
PIM doesnt tell how a router determines a groups rendez-
vous point
PIM doesnt tell how to determine whether a group is
sparse or dense
R1 knows that its SP to S passes through its R1-R4 if
or, R1 receives Mcast packets on its R1-R2 if
R1 sends a join to R4
R1 then sends a prune to the core
the core stops Mcast forwarding on core-R2
and R2-R1
D
S
R1 R2
R3
cur
R4
Path with CBT
Path
with PIM
42
Mbone (1/3)
Problem
Q To bring Mcast to play on the Internet, all routers must have Mcast
functions and local routers must support IGMP
Q Most Internet routers dont support Mcast !!!
Idea
Q Build Mcast-capable subnetworks on the edges of the Internet
Q Interconnect them through tunnels, tunnels ends are stations with
mrouted and an OSs support for Mcast
Multicast Backbone of the Internet
Q Virtual overlay network, transient solution
Q First tunnel in 88 between BBN and Stanford
Q Thousands of subnetworks today
Q Used to broadcast IETF sessions or IEEE/ACM conferences
Mbone (2/3)
Principle: tunneling
Q Encapsulation of Mcast packets transmitted on the Mbone in
traditional IP packets
The receiving end of the tunnel detects that it has a IP packet
encapsulated in a IP packet (protocol=4)
after decapsulation, it forwards the Mcast packet
Q Either locally on its subnetwork, if it has members
Q Or to the next Mcast router, after re-encapsulation
M1 M2
R1 R2
tunnel
Real path
encapsulation decapsulation
@ M1
unicast
@ M2
unicast
@ M1
unicast
224.5.5.5
data
Original Mcast packet Unicast IP header
43
Mbone (3/3)
Traffic
Q Conferences typically generate 100-300 kbits/s (limited to
500 kbit/s)
Q No policy mechanism but user deontology
Applications
Q Session directories (sd, sdr)
Q audio conferences (vat , nevot , rat)
Q Video conferences (nv , ivs , vic , nevit)
Q whiteboard (wb)
Q Text editor (nte)
Q Interactive distributed games (MiMaze)
Outline
Introduction
Network Layer Multicast
Transport Layer Multicast
Q Reliability
Q SRM
Q RMTP
Perspectives
44
Reliablity
Can we extend the approach used in unicast (ACK)?
Q Each destination must send an ACK for each (group of) message(s)
Q a msg is retransmitted until reception of an acknowledgement from
each destination
Network congestion
Source implosion
Idea: use NAK
Q The control goes from source to receivers
Q The source transmits without caring about ACK
Q Receivers detect losses thanks to sequence Ns holes
Man protocols have been proposed
Q Atomicity: either 0 or all recievers have received the message
Q Termination: the result of a transmission is known in a finite
time
Q SRM, RMTP, RAMP, RMP, etc.
SRM (1/2)
Scalable Reliable Multicast
Q Offers a reliable transmission, no sequence, scalable (because
receiver-based + local retransmission)
Q 2 components
One component independent from the application: offers mechanisms to
ask for and recuperate missing data segments
One component dependent on the application: responsible for
sequencing and segments naming so that they may be identified
uniquely by the whole group
Idea: a missing segment is not necessarily
retransmitted by the source
Q When a loss is detected, the retransmission request is multicasted
Q The closest receiver from the requestor multicasts the retransmission
45
SRM (2/2)
S1/D1
S2/D2
S3/D3
D4
D5
D7 D6
new msgs
retransm. Req.
retransmissions
Goal: minimize traffic
One single member asks for the
retransmission
One single member retransmits the
missing segment
Principle
Requests sending: slotting + damping
Request Timer
Retransmissions sending
Repair Timer
Difficulty
Timers dimensioning
RTT estimation for each pair (D
i
,
D
j
)
hyp : D5, D6 and D7
have a missing msg
RMTP
Reliable Multicast Transport Protocol
Q Offers a reliable point-to-multipoint transmission with maintaned
sequence
Ideas
Q notion of hierarchy
Reduce source implosion
Reduce response time
Q notion of local retransmission
principle
Receivers are clustered in
local regions
There is one DR (Designated
Receiver) per region, in
charge of status msg
aggregation
Status msg
S
DR1
D
DR2
D D
DR3
D D D DR4
D D
Difficulty: Build the logical tree
46
Outline
Introduction
Network layer multicast
Transport layer multicast
Research perspectives
Q Network layer
Q Transport layer
Q Application layer
Network Layer Perspectives
Adressing and routing within a group
Multicast routing in a mobile network
Multicast routing with QoS
S
R1
R2 R3
R4
D1
D2
R5 D D D
D D D D D
S
R1
R2 R3
R4
D2
R5 D D
D D D D1 D
multicast on a subtree reachcast
47
Transport Layer Perspectives
Flow / Congestion control
Reliability (assisted by routers)
Group members auto-configuration
Application Layer Perspectives
Multicast addresses allocation
Shared objects naming
48
Multicast IP in the Real World
Commercial Motivation
Problem
Q Internet traffic grows by 100% each year
Q Routers technology improves by 70% each year
Q Rapid enough routers are very expensive
ISPs must find a way of reducing traffic
Multicast could be used for
Q the Web: distribute data from popular sited to caches on
the Internet
Q Send Multicast audio/video flows
Q Software distribution
49
ISPs Problems
Multicast leads to a high networks utilization
Q One source can produce a high load on the network
Q Experimental multicast applications require relatively much
bandwith: audio and video
Q No flow control in most multicast applications
Multicast breaks the Telco/ISP billing model
Q Currently, both sender and receiver pay for BW
Q Multicast allows the source to buy less BW and reach as many
receivers
Q The load on the ISPs network in not proportional to the sources
rate
Multicasts Economics
One packet sent to several receivers
source
+ benefits from the load reduction on the network
compared to unicast
+ lower cost for network connectivity
Network service provider
- One sent packet may cause a higher load than a
unicast packet n
+ reduces the global traffic on the network
Receiver
= same number of received packets as in unicast
50
Multicast Issues
Multicast is not mature
Q protocols and applications not mature
Q Tools are difficlut to use, debugging is difficult
Q Routing protocols leave many unsolved questions
Interoperability flooding and pruning / explicit subscribttion
Routing instability
The multicast development focused on academic problems,
not on commercial issues
Q Multicast breaks the telco/ISP billing model
Q Routing has not considered policies
PIM, DVMRP, CBT do not consider ISP policies issues
BGMP considers them a little bit, but it is currently being developed
Current Multicast Solution For ISPs
Restriction of multicast data sources
Charge source for multicast traffic distribution
Q Static agreements
Dont transmit multicast traffic
Q Some ISP propose multicast traffic to their users
(e.g. UUNET UUCast)
Q ISPs start to negociate agreements between
peers
chin chan, ky cang
51
Bibliography
[RFC 1112] S. Deering, Host Extensionsfor IP Multicasting, August 1989.
[RFC 1075] D. Waitzman, S. Deering, C. Partridge, Distance Vector Multicast Routing Protocol,
November 1988.
[RFC 1584] J. Moy, Multicast Extensions to OSPF, March 1994.
[RFC 2189] A. Ballardie, Core Base Trees (CBT Version 2) Multicast Routing: Protocol
Specification, September 1997.
[RFC 2201] A. Ballardie, Core Base Trees (CBT Version 2) Multicast Architecture, September
1997.
[RFC 2236] R. Fenner, Internet Group Management Protocol, Version 2, November 1997.
[RFC 2362] D. Estrin, D. Farinacci, A. Helmy, D. Thaler, S. Deering, M. Handley, V. Jacobson, C.
Liu, P. Sharma, L. Wei, Protocol Independent Multicast-Sparse Mode (PIM-SM): Protocol
Specification, June 1998.
C. Diot, W. Dabbous, J. Crowcroft, Multipoint Communication: A Survey of Protocols, Functions
and Mechanisms, IEEE JSAC, Vol.15, N3, April 1997.
S. Floyd, V. Jacobson, S. McCanne, C.G. Liu, L. Zhang, A Reliable Multicast Framework for Light-
weight Sessions and Applications Level Framing, Proc. of ACM SIGCOMM95, October 1995.
S. Paul, K.K. Sabnani, J.C. Lin, S. Bhattacharyya, Reliable Multicast Transport Protocol (RMTP),
IEEE JSAC, Vol.15, N3, April 1997.
S. Paul, Multicasting on the Internet and its Applications, Kluwer Academic Publishers, 1998.
http://www.mbone.com