Multicast: Henning Schulzrinne Dept. of Computer Science Columbia University Fall 2003
Multicast: Henning Schulzrinne Dept. of Computer Science Columbia University Fall 2003
Henning Schulzrinne
Dept. of Computer Science
Columbia University
Fall 2003
Overview
A B
C D F
E I
Receiver 1 Receiver 2
A B
C D F
E I
Receiver 1 Receiver 2
Dense Mode PIM Example
Source
Prune to Non-RPF Neighbor
A B
Prune G
C D F
E I
Receiver 1 Receiver 2
Dense Mode PIM Example
Source
C and D Assert to Determine
Forwarder for the LAN, C Wins
A B
C D F
Asserts
E I
Receiver 1 Receiver 2
Dense Mode PIM Example
Source
I Gets Pruned
E’s Prune is Ignored
G’s Prune is Overridden
Prune
A B
C D F Join Override
Prune H
E I
Receiver 1 Receiver 2
Dense Mode PIM Example
Source
New Receiver, I Sends Graft
A B
C D F
Graft H
E I
Receiver 1 Receiver 2
Receiver 3
Dense Mode PIM Example
Source
A B
C D F
E I
Receiver 1 Receiver 2
Receiver 3
Sparse Mode PIM Example
Source Link
Data
Control
A B RP D
C E
Receiver 1 Receiver 2
Sparse Mode PIM Example
Receiver 1 Joins Group G
Source
C Creates (*, G) State, Sends
(*, G) Join to the RP
A B RP D
Join
C E
Receiver 1 Receiver 2
Sparse Mode PIM Example
RP Creates (*, G) State
Source
A B RP D
C E
Receiver 1 Receiver 2
Sparse Mode PIM Example
Source Sends Data
Source
A Sender Registers to the
RP
Register
A B RP D
C E
Receiver 1 Receiver 2
Sparse Mode PIM Example
RP de-encapsulates Registers
Source
Forwards Data Down the Shared Tree
Sends Joins Towards the Source
Join Join
A B RP D
C E
Receiver 1 Receiver 2
Sparse Mode PIM Example
RP Sends Register-Stop
Source
Once
Data Arrives Natively
Register-Stop
A B RP D
C E
Receiver 1 Receiver 2
Sparse Mode PIM Example
C Sends (S, G) Joins to Join
Source
the
Shortest Path (SPT) Tree
A B RP D
Join )S, G(
C E
Receiver 1 Receiver 2
Sparse Mode PIM Example
When C Receives Data Natively,
Source
It Sends Prunes Up the RP tree for
the Source. RP Deletes (S, G) OIF and
Sends Prune Towards the Source
Prune )S, G(
A B RP D
RP Bit Prune )S, G(
C E
Receiver 1 Receiver 2
Sparse Mode PIM Example
New Receiver 2 Joins
Source
E Creates State and Sends (*, G) Join
A B RP D
Join )G ,*(
C E
Receiver 1 Receiver 2
Sparse Mode PIM Example
C Adds Link Towards E to the OIF
Source
List of Both (*, G) and (S, G)
Data from Source Arrives at E
A B RP D
C E
Receiver 1 Receiver 2
Sparse Mode PIM Example
New Source Starts Sending
Source
D Sends Registers, RP Sends Joins
RP Forwards Data to Receivers
through Shared Tree
Register
A B D Source 2
RP
C E
Receiver 1 Receiver 2
MBGP (Multiprotocol BGP)
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 233 | 16 bits AS | local bits |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
IPv6 multicast address allocation
RFC 3306 (“Unicast-Prefix-based IPv6 Multicast Addresses”)
Like GLOP, unicast prefix based
| 8 | 4 | 4 | 112 |
+--------+----+----+---------------------------------------------+
|11111111|flgs|scop| group ID |
+--------+----+----+---------------------------------------------+
| 8 | 4 | 4 | 8 | 8 | 64 | 32 |
+--------+----+----+--------+--------+----------------+----------+
|11111111|0011|scop|reserved| plen | network prefix | group ID |
+--------+----+----+--------+--------+----------------+----------+
see RFC 3307:
length of permanent: e.g.,
network 0x40404040 for NTP
prefix
Multicast address allocation
RFC 2908 (“Internet Multicast Address Allocation Architecture”)
Instance of global identifier allocation problem:
– hierarchical blocks (IEEE EUI, DNS, IP addresses, phone
numbers, SSN, …)
local mechanism left unspecified
– on-demand
centralized server (e.g., DHCP within domain)
distributed pools
– usually, combination of both
Two qualifiers:
– scope (possibly global)
– lifetime (possibly indefinite)
Multicast address allocation
core requirements:
– robustness: work even if remote parts of the
networks don’t
– timeliness: seconds
– low probability of clashes
– avoid fragmentation overhead
unfortunately, can’t have all of them
– e.g., reliability fragmentation to “warehouse”
addresses or collisions
Multicast address allocation
MAAS MAAS
Layer 2
intra-domain coordination
MADCAP HTTP Layer 1
domain (AS)
MADCAP