IP Multicast Tutorial PDF
IP Multicast Tutorial PDF
IP Multicast Tutorial PDF
Marshall Eubanks
[email protected]
Bali
February, 2007
Information
http://www.multicasttech.com/faq/
http://www.sprint.net/multicast/faq.html
ftp://ftpeng.cisco.com/ipmulticast.html
Multicast hardening : http://www.juniper.net/solutions/literature/
app_note/350051.pdf
tutorial-style paper at:
http://multicast.internet2.edu/almeroth.pdf
(Addison-Wesley)
Acknowledgements
Greg Shepherd
Beau Williamson
Bill Nickless
Caren Litvanyi
Patrick Dorn
Leonard Giuliano
Alan Crosswell
University of Oregon
Cisco Systems
Juniper Networks
Columbia University
Internet 2 Multicast Workshop Team
Apricot Meeting 2007
Contents
Overview
Multicast on the LAN
Source-Specific Multicast (SSM)
Any-Source Multicast (ASM)
Intra-domain SSM
Inter-domain ASM
Troubleshooting Methodology
Making the Case for Multicast
Apricot Meeting 2007
Overview
Multicast
10
11
The MBone
The original multicast network was called the MBone. It used
a simple routing protocol called DVMRP (Distance Vector
Multicast Routing Protocol).
As there were only isolated subnetworks that wanted to deal
with DVMRP, the old MBone used tunnels to get multicast
traffic between DVMRP subnetworks.
i.e., the multicast traffic was hidden and sent between the
subnetworks via unicast.
This mechanism was simple, but required manual
administration and absolutely could not scale to the entire
Internet.
Worse, DVMRP requires substantial routing traffic behind
the scenes and this grew with the size of the MBone.
Thus, the legend grew that multicast was a
bandwidth hog.
Multicast Grows Up
12
13
14
Triple Play !
Deployment of Multicast
15
From http://www.multicasttech.com/status/
16
source
Multicast stream
e.g., video server
17
18
(S,G) notation
For every multicast source there must be two
pieces of information: the source IP address, S, and
the group address, G.
These correspond to the sender and receiver
addresses in unicast.
This is generally expressed as (S,G).
(*,G) is every source for a particular group.
You join to a Group - that is, you join to either {*,G}
(for ASM) or {S,G} (for SSM), using IGMP.
Internal to the protocol, ASM may generate {*,G} or {S,G}
joins or leaves
19
20
Multicast Routing
Protocol (e.g. PIM-SM)
Group Management
Protocol (e.g. IGMP)
Multicast Routing Protocol - enables routers to build a delivery tree between the
sender(s) and receivers of a multicast group.
This split between routing protocol and edge protocol means that end users do
not need to know about the routing protocol, nor do they directly interact with it.
21
Multicast Routing
22
PIM-SM
Protocol Independent Multicast - Sparse Mode
The core multicast protocol: builds and tears down
multicast trees
RFC 4601 has obsoleted RFC 2362; bootstrap router
removed from PIM spec and the description is much
improved.
Sparse Mode means explicit joins : the protocol assumes
that not everyone wants the data
Uses externally-provided (i.,e., Unicast) reachability
table to build forwarding topology.
Each router maintains an outgoing interface list (OIL)
for each (S,G) and (*,G) for which it has downstream
listeners. Multicast packets received from a given
source for a given group are sent out only on the
interfaces specified in the appropriate OIL.
23
24
25
26
27
State Information:
(S, G)
S = Source
G = Group
Group Member 1
Group Member 2
28
Source 2
Shortest Path Trees
State Information:
(*, G)
* = Any Source
G = Group
RP Tree
Group Member 1
Group Member 2
29
30
Multicast Addressing
IPv4 Multicast Group Addresses
224.0.0.0239.255.255.255
Class D Address Space
High order bits of 1st Octet = 1110
31
Note that the LARGER the number after the slash, the
LONGER the prefix and the SMALLER the address block.
32
Multicast Addressing
RFC 3171
http://www.iana.org/assignments/multicast-addresses
Examples of Reserved & Link-local Addresses
224.0.0.0 - 224.0.0.255 reserved & not forwarded
224.0.0.1 - All local hosts
224.0.0.2 - All local routers
224.0.0.4 - DVMRP
224.0.0.5 - OSPF
224.0.0.6 - Designated Router OSPF
224.0.0.9 - RIP2
224.0.0.13 - PIM
224.0.0.15 - CBT
224.0.0.18 VRRP
239.0.0.0 - 239.255.255.255 Administrative Scoping
Ordinary multicasts dont have to request a multicast address
from IANA.
33
Scoping
34
35
Multicast Addressing
GLOP addresses
Provides globally available private Class D
space
233.x.x/24 per AS number
RFC 2770
How?
Insert the 16-bit AS number into the
middle two octets of the 233/8
Online GLOP calculator:
www.shepfarm.com/multicast/glop.html
If you have an AS, you have multicast
addresses.
Apricot Meeting 2007
36
Expanding Multicast
Address Assignment
GLOP based address assignment has
worked well.
Every organization gets the same amount of
space, a /24.
37
38
39
40
32-bit IP address
3
Class D address
1
1110 can be ignored, leaving 28 bits
48-bit Ethernet
address IEEE Ethernet multicast bit
0
2
4
000000010000000001011110 0
01-00-5E-
23 bits
available
4
7
41
IGMP
Internet Group Management Protocol - how hosts tell routers about group
membership
Routers also solicit group membership from directly connected hosts
RFC 1112 specifies version 1 of IGMP
Supported on Windows 95
RFC 2236 specifies version 2 of IGMP
Supported on latest service pack for Windows, newer Windows releases,
and most UNIX systems
RFC 3376 specifies version 3 of IGMP
Provides source include-list capabilities (SSM!)
Included in Linux kernel 2.6 and later
42
IGMPv2
Router:
sends Membership Query messages to All Hosts (224.0.0.1)
query-interval = 125 secs default
router with lowest IP address is Querier (rest non-queriers)
If lower-IP address query heard, back off to non-querier state
Other Querier Present Interval default: (robust-count x queryinterval) + (0.5 x query-response-interval) = 255 secs
listens for reports (whether querier or not) and adds group to
membership list for that interface
query-response-interval = 10 secs default
timeout (Group member interval) default:
(robust-count x query-interval) + (1 x query-response-interval) =
260 sec
robust-count - provides fine-tuning to allow for expected packet loss
on a subnet. Default = 2 (tunable from 2-10)
43
IGMPv2
Host:
sends Membership Report messages to groups
it is a member of
waits 0-10 sec (default)
Hosts listen to other host reports
Only 1 host responds (all listen)
sends unsolicited Membership Reports (i.e., Join
Messages) to group address (e.g. 224.10.8.5)
sends Leave messages to All Routers (224.0.0.2)
reports group membership ONLY no sources. Only
the existence of local group members is reported,
not the actual members themselves
Apricot Meeting 2007
44
Forwards stream
230.0.0.
1
230.0.0.
1
I want 230.0.0.1
45
Yes, me!
0-10
sec
230.0.0.
1
230.0.0.1 group
125 sec
I want 230.0.0.1
230.0.0.
1
224.0.0.
1
46
I want
to leave!
224.0.0.2
<230.0.0.1>
<230.0.0.1>
I dont want
230.0.0.1 anymore
224.0.0.1
<230.0.0.1>
230.0.0.1 group
47
Soft State
Say I set up an active Multicast group, say by issuing a
membership report. What happens if my computer goes down and
never directly leaves the group ?
This is fixed with Soft State
Everything has a timer, and if not periodically reinitiated the
timer will expire and the state will be removed.
So there is no danger of some rogue group lasting forever.
48
IGMPv3
Specified in RFC 3376
Enables hosts to listen only to a specified subset of the sources
sending to the group
Source = 1.1.1.1
Group = 224.1.1.1
R2
R1
Source = 2.2.2.2
Group = 224.1.1.1
Video Server
Video Server
R3
H1 wants to receive from
S = 1.1.1.1 but not from S
= 2.2.2.2
With IGMPv3, specific
sources can be pruned
back - S = 2.2.2.2 in this
case
IGMPv3: MODE_IS_INCLUDE
Join 1.1.1.1, 224.1.1.1
H1 - Member of 224.1.1.1
49
IGMPv3 Enhancements
Group-Source Report message is defined. Enables
hosts to specify which senders it can receive or not
receive data from.
Group-Source Leave message is defined. Enables
host to specify the specific IP addresses of a
(source,group) that it wishes to leave.
50
51
IGMP Snooping
Implemented by several vendors. Support for IGMPv2 is common;
support for IGMPv3 is rare, but becoming more common.
Alas, v2 Snooping switches tend not to do the right thing when v3
traffic is present.
52
53
Since multiple USAs can be on a port (via dumb hub), the switch
has to actually do the IGMP membership query/timeout before
pruning a port.
Since membership reports are sent to the same GDA as the
(possibly high-bandwidth) multicast traffic, there is a potential for
heavy loading of the switch CPU, unless you use more expensive
ASICs that can separate the IGMP protocol messages from
general traffic and route only the IGMP messages to the CPU.
The switch has to know which is the multicast router port. It does
this by snooping for IGMP queries.
54
55
Case Study
This author traveled to Los Alamos, New Mexico to help
debug a multicast problem that had everyone stumped.
Everyone was assuming the only known router on the
subnet was also acting as the multicast gateway.
Unfortunately, this wasnt the case. A nominally Layer
2 switch on the subnet was accidentally configured with
PIM active, and won the PIM Designated Router
election. Of course, this Layer 2 switch had no upstream
to anywhere.
Bill Nickless
One Approach to
Multicast on the LAN
Avoid snooping, as it causes more problems than it solves.
Keep subnets small. A smaller subnet is less likely to have
people joining several different multicast groups, traffic for
each of which is sent to the entire subnet.
If at all possible, use routers, not switches or bridges.
If you have to use switches, try to at least buy them all from
the same vendor, so you wont have inconsistent behavior as
well as unexpected behavior.
56
57
Another Approach to
Multicast on the LAN
The previous approach reflects gigaPoP/WAN bias.
On a campus, it just isn't possible to use routers
everywhere.
Switches and snooping may be evils, but they are necessary
evils. Learn to cope with them. http://www.cisco.com/warp/
public/473/22.html
is a good place to start.
58
SSM
59
PIM-SM
SM stands for Sparse Mode.
RFC 2362 and RFC 4601
There is also a PIM-DM (Dense Mode), but I dont
recommend using it.
Cisco has a proprietary Sparse-Dense mode which is used
for RP discovery with auto-RP.
This can be dangerous if the RP is unreachable.
60
61
SSM
Source-Specific Multicast (SSM) is a subset of ASM, so
SSM concepts apply directly to ASM, but
SSM is a lot simpler than ASM.
For these reasons, we cover SSM first in this workshop.
232 / 8 is assigned to SSM as an address space. Other
address ranges can also be set up for SSM this is
primarily a function of the receiving network.
Source activity and IP addresses are assumed known.
IGMPv3 allows for Include lists of (S,G) pairs.
62
SSM
SSM was given 232/8 IANA assigned
No RPTs or Register packets or encapsulation or .
Guarantees ONE source on any delivery tree
Content security no unwanted sources
Reduced protocol dependence more later...
Solves address allocation issues for inter-domain one-to-many
tree address is 64 bits S,G
Host must learn source address out-of-band (e.g, from a web page)
Host-to-router join request specifies source as well as group
requires IGMPv3 for include-source list
SSM behavior in 232/8 by default
Configurable to expand range
63
SSM in Action
Each (S,G) pair listed in the IGMPv3 include list generates a
(S,G) Join directly towards the source.
Thats it. Its very simple. All you need to implement is :
Edge routers need IGMPv3
Interior routers need filters to prevent RP (*,G) Joins &
other RP state for the SSM address block
64
65
SSM
RP
Sourc
e
(S, G) Join
Shortest Path Tree
Traffic Flow
Receiver
66
SSM
RP
Sourc
e
67
68
ASM
69
ASM
Allows both SPTs and RPTs
RP:
Matches senders with receivers
Provides network source discovery
70
This is the ASM paradigm. It requires sender registration and treeswitching, which make it much more complex than SSM.
71
72
Intra-domain ASM
73
74
Sourc
e
Receiver
75
Sourc
e
(unicast
)
Receiver
RP sends a Register-Stop
back to the first-hop
router to stop the Register
process.
(unicast
)
76
Sourc
e
Traffic Flow
RP Tree
Shortest Path Tree
Receiver
77
78
79
Tree-Switching (continued)
1) The routers in the path learn about the
particular S from the traffic down the RPT.
2) The receivers first hop router issues a (S,G)
Join toward the source.
3) This travels hop by hop towards the source
until it finds a router with (S,G) state maybe
at the source, maybe closer.
4) The (S,G) data starts flowing directly from the
source to the receiver.
80
Tree-Switching (continued)
1)
2)
3)
81
Sourc
e
Traffic Flow
RP Tree
Shortest Path Tree
(S, G) Join
Receiver
82
Sourc
e
Traffic Flow
RP Tree
Shortest Path Tree
(S, G) RP-bit Prune
Receiver
83
Sourc
e
Traffic Flow
RP Tree
Shortest Path Tree
Receiver
84
Sourc
e
Traffic Flow
RP Tree
Shortest Path Tree
(S, G) Prune
Receiver
85
Sourc
e
Traffic Flow
RP Tree
Shortest Path Tree
Receiver
86
RP Discovery Options
Static RP
Recommended
Easy transition to Anycast-RP
Allows for a hierarchy of RPs
Auto-RP (Cisco proprietary)
Fixed convergence timers (slow)
Must flood RP mapping traffic
bootstrap router
Fixed convergence timers (slow)
Allows for a hierarchy of RPs
87
RP Options
In many cases, static RP is the best option:
simple: just tell every router the RP address (once!)
flexible: use a /32 on a loopback interface so it can
be moved
scalable: add more instances of same RP address for
redundancy, load splitting, topological localization,
etc.
survivable: fail-over from one RP to another is as
fast as IGP convergence
blessed: RFC 3446 (just 8 pages!)
Only use more complicated options if you really need
to:
different RP(s) for different groups
see later Anycast-RP slides for details
Apricot Meeting 2007
Commonly-Used
Cisco Multicast Forwarding
State Flags
89
90
91
F Register flag
F flag means that Register messages are being
sent to the Rendezvous Point (RP)
Set on Designated Router (DR) state for each
(S,G)
Also set on the parent (*,G) state if any child
(S,G) state entry has the F flag set.
92
93
94
T SPT Flag
The T flag (or SPT) flag indicates that traffic is
being forwarded via the (S,G) entries. That is,
on shortest path tree.
Appears only on (S,G) entries
95
R RP-bit flag
Shows up on (S,G) entries only
The (S,G) entrys RPF is towards the RP
(not towards S)
The outgoing interface list is often Null, or a
subset of the outgoing interface list on the (*,G)
parent entry
Used to prune (S,G) traffic from the RP tree
when downstream routers have joined the SPT
instead
Apricot Meeting 2007
96
C Connected Flag
The C flag indicates that theres a directly
connected receiver.
Shows up on (*,G) state from IGMPv2 Host
Membership reports.
Shows up on (S,G) state from IGMPv3 Host
Membership reports (without INCLUDE lists).
97
P Pruned Flag
The P flag indicates that either:
(1) the outgoing interface list is Null
-or(2) all interfaces in the outgoing interface list
are in the Prune state
The P flag results in a Prune being sent to the
upstream neighbor for this (S,G) entry.
98
99
100
L Local Flag
The L flag indicates that the router itself is a
member of the group.
The router will process the traffic at the route
processor.
Example: PIM RP-Discovery (224.0.1.40)
Enabling "ip sdr listen" will cause this flag to
be seen
101
Less-Commonly-Used
Cisco Multicast Forwarding
State Flags
103
U URD
Shows up on (S,G) entries created by the CiscoProprietary URL Redirect protocol (URD)
URD provides SSM semantics on networks/
hosts that dont support IGMPv3 natively.
Host sends special HTTP request towards the
last-hop router on TCP port 659, which
specifies the source and group address.
Router intercepts that HTTP request and
creates this (S,G) state.
104
X Proxy-Join Timer
Shows up on (S,G) entries when a router
becomes the Turnaround Router
Deals with situations like RP On A Stick
State times out if not refreshed
105
106
107
108
Inter-domain ASM
109
MBGP
Multiprotocol extensions to BGP
MBGP overview
MBGP capability negotiation
Multicast Reachability
110
MBGP Overview
MBGP: Multiprotocol BGP
(aka BGP4+ but NOT Multicast BGP)
Makes it possible for multicast routing policies to differ from
unicast routing policies
Defined in RFC 2283 (extensions to BGP)
Can carry different route types for different purposes
Unicast
Multicast
IPv6
111
MBGP
Tag unicast prefixes as multicast source prefixes for intra-domain
mcast routing protocols to do RPF checks.
WHY? Allows for inter-domain RPF checking where unicast and
multicast paths are non-congruent.
DO I REALLY NEED IT?
YES, if:
ISP to ISP peering
Multiple-homed networks
NO, if:
You are single-homed
112
113
114
115
116
Create RIB groups, and put in static, connected and OSPF routes
routing-options {
interface-routes {
rib-group inet if-rib;
}
static {
rib-group static-rib;
}
rib-groups {
mcast-rpf-rib {
import-rib inet.2;
}
if-rib {
import-rib [ inet.0 inet.2 ];
}
static-rib {
import-rib [ inet.0 inet.2 ];
}
ospf-rib {
import-rib [ inet.0 inet.2 ];
}
}
}
protocols {
ospf {
rib-group ospf-rib;
}
}
117
MBGP
By default, any routes with SAFI=2 will be
put into inet.2
Just need to configure the BGP sessions to
support multicast NLRI
Can be applied to all peers, or individual
peers
protocols {
bgp {
family inet {
unicast;
multicast;
}
}
}
118
119
120
121
AD=20
AD=200
122
AD=200
AD=200
123
MBGP Summary
Solves part of inter-domain problem
Can exchange unicast prefixes for multicast RPF checks
Uses standard BGP configuration knobs
Permits separate unicast and multicast topologies
if desired
Still must use PIM to:
Build distribution trees
Actually forward multicast traffic
124
125
MSDP
MSDP sets up peering between RPs in different domains.
RFC 3618
These MSDP Peer RPs pass Source Active (SA) messages for
every (S,G) they know about.
The receivers RP thus knows about the source, and can
implement a direct (S,G) Join from the RP to the source.
This sets up an SPT to the local RP.
Then the routing can switch over to a direct SPT to the
receiver in the usual fashion.
126
127
128
MSDP Overview
Domain E
MSDP Peers
RP
SA
Source Active
Messages
Domain C
RP
S
A
Domain B SA
S
A
SA
RP
S
A
S
A
SA Message
192.1.1.1, 224.2.2.2
RP
RP
SA Message
192.1.1.1, 224.2.2.2
Domain D
Domain A
Register
192.1.1.1,
224.2.2.2
129
MSDP Overview
Domain E
MSDP Peers
Domain C
RP
Jo
(S, 224 in
.2.2.2)
RP
Multicast Traffic
Jo
(S, 224 in
.2.2.2)
Jo
(S, 224 in
.2.2.2)
Domain B
RP
RP
Domain D
RP
Domain A
130
131
MSDP so far
Allows RPs to share information about which sources
in their domains are active sending.
Interconnects RPs (MSDP Peers) between domains,
using TCP connections to pass source active messages
(SAs).
SAs are Peer-RPF checked before accepting or
forwarding.
RPs may trigger (S,G) Joins on behalf of local
receivers.
MSDP connections typically parallel MBGP
connections.
Next: Peer-RPF checking in detail. This is complex.
Apricot Meeting 2007
132
133
Receiving SA Messages
RPF Check rule example cases
Case 1: Sending MSDP Peer = iMBGP peer
Case 2: Sending MSDP Peer = eMBGP peer
Is best path to RP via this MBGP peer?
Case 3: Sending MSDP Peer != BGP peer
Is the next AS in best path to RP = AS of the
sending MSDP peer?
134
AS2
3.1
RP
A
Source
4.2
4.1
2.1
2.2
AS1
AS3
rp {
local {
address 172.16.0.2;
RPF Success!
MSDP
SA
MSDP/iMBGP peering
135
SA
AS2
4.2
4.1
3.1
RP
A
Source
2.2
2.1
AS1
AS3
rp {
local {
address 172.16.0.2;
MSDP
SA
MSDP/iMBGP peering
Yes.
136
rp {
local {
address 172.16.10.2;
AS2
Source
3.2
3.1
SA
Group address Source address
info
4.2
233.41.184.1
2.2
2.1
4.1
RP
A
AS1
134.68.1.1
No.
No.
MSDP
SA
MSDP/MBGP peering
Yes.
137
SA
AS2
3.2
3.1
4.2
4.1
Source
AS1
rp {
local {
address 172.16.0.2;
MSDP
SA
MSDP/MBGP peering
No.
RP
A
No.
2.1
No.
Yes.
138
RPF Failure!
AS2
3.2
3.1
RP
A
Source
4.2
AS3
rp {
local {
address 172.16.0.2;
MSDP
SA
MSDP/iMBGP peering
No.
2.2
AS1
No.
4.1
2.1
No.
No.
139
MSDP debug
The only way to check why an MSDP SA is/isnt
accepted is to turn on MSDP debug printout. If
you do this, watch out! Lots of messages will
follow! It may kill your router.
See current MSDP Internet Draft for details.
140
141
142
Anycast-RP
RP1
lo0: 10.0.0.100
lo1: 10.0.0.1
Src
Rec
MSDP
Rec
RP2
Rec
Rec
Src
lo0: 10.0.0.200
lo1: 10.0.0.1
143
Anycast-RP
RP1
lo0: 10.0.0.100
lo1: 10.0.0.1
Src
Rec
Rec
RP2
Rec
Rec
Src
lo0: 10.0.0.200
lo1: 10.0.0.1
144
145
SSM Revisited
146
147
RP
Domain C
Receiver learns
S AND G out of
band; e.g., from a
Web page
RP
Domain B
RP
RP
Domain D
Source in 232/8
RP
Domain A
148
RP
Domain C
Receiver learns
S AND G out of
band; e.g., from a
Web page
RP
Domain B
RP
RP
Domain D
Source in 232/8
RP
Domain A
149
No RPTs
No register packets
No RP mapping required (no RP required!)
No RP-to-RP source discovery (no MSDP required!)
No RP means no concentration of traffic towards the
RP, and no single point to attack
Rogue sources cannot easily spoof traffic
SSM can use entire multicast address space, but
232/8 is reserved for SSM exclusively
The biggest disadvantage is simply that you have to
know the source
Can be a problem in many to many communications.
150
Bi-Directional Multicast
151
Bi-Directional Multicast
SSM is a subset of PIM to deal with one-tomany broadcasts.
Whats left are few-to-many and many-tomany group communications.
Can PIM be optimized for the many-to-many
case?
In many-to-many, every source is also a
receiver.
So in standard PIM, trees must be built to the
source as well as from the source.
Apricot Meeting 2007
152
Bi-Directional PIM
Still an I-D
draft-ietf-pim-bidir-08.txt
http://www.cisco.com/en/US/netsol/ns340/ns394/
ns165/ns70/
networking_solutions_white_paper09186a00800a
8479.shtml
Hoot 'n' Holler connects a large number of push-to-talk
terminals, all of which can hear a transmission from any
other one source
153
154
155
156
Cons
SPT and RPT cannot be mixed.
If PIM Bi-Dir is deployed in a PIM domain, it must be
deployed in every router.
Otherwise forwarding loops will result.
157
IPv6 Multicast :
The Multicast Address Space
T.M. Eubanks
159
160
161
162
What to do?
Set the Multicast MTU to 1280 (the IPv6 minimum
MTU).
163
Group Addresses
IPv4 - 224.0.0.0/8 (224.0.0.0-239.255.255.255)
IPv6 - ff00::/8
but the next octet is reserved for flags:
F
Lifetime: 0 = permanent
Scope:
1 = node
5 = site
E = global
lifetime
scope
1 = temporary
2 = link
8 = organization
164
IPv6 Addressing
The Foundations of all IPv6 addressing are set
up in RFC 3513
IPv6 Addressing Architecture
This includes Multicast
| 4| 4|
112 bits
+------ -+----+----+---------------------------------------------+
|11111111|flgs|scop|
group ID
+--------+----+----+---------------------------------------------+
binary 11111111 at the start of the address identifies the
address as being a multicast address.
+-+-+-+-+
flgs is a set of 4 flags:
|0|0|0|T|
+-+-+-+-+
T = 0 indicates a permanently-assigned ("well-known") multicast address, assigned by the Internet Assigned Number Authority
(IANA).
165
166
167
interface-local scope spans only a single interface on a node, and is useful only for
loopback transmission of multicast.
link-local and site-local multicast scopes span the same topological regions as the
corresponding unicast scopes.
168
| 4| 4| 8
| 8 |
64
| 32
+--------+----+----+--------+--------+----------------+----------+
|11111111|flgs|scop|reserved| plen | network prefix | group ID |
+--------+----+----+--------+--------+----------------+----------+
+-+-+-+-+
flgs is a set of 4 flags:
|0|0|P|T|
+-+-+-+-+
o P = 0 indicates a multicast address that is not assigned
based on the network prefix. This indicates a multicast
address as defined in RFC3513.
o P = 1 indicates a multicast address that is assigned based
on the network prefix.
o If P = 1, T MUST be set to 1, otherwise the setting of the T
bit is defined in Section 2.7 of RFC3513.
169
170
171
Embedded-RP
Now Approved as RFC 3956 - it builds on RFC3306
Takes advantage of the huge address size to stick the
RPs address inside the group address.
Other sites need only extract the RP address and send
their join messages to it.
Despite this being only a draft, Cisco has added
support in the latest IOS versions.
172
| 4| 4| 4| 4|8 |
64
| 32
+--------+----+----+----+----+----+----------------+----------+
|11111111|flgs|scop|rsvd|RIID|plen| network prefix | group ID |
+--------+----+----+----+----+----+----------------+----------+
+-+-+-+-+
flgs is a set of four flags:
|0|R|P|T|
+-+-+-+-+
When the highest-order bit is 0, R = 1 indicates a multicast address
that embeds the address on the RP. Then P MUST be set to 1, and
consequently T MUST be set to 1, as specified in RFC3306. In
effect, this implies the prefix FF70::/12.
The plen and the network prefix are used to calculate the UNICAST address prefix of the RP!
173
64
| 32
+---------+----+----+----------------+----------+
|xtra bits|RIID|plen| network prefix | group ID |
+---------+----+----+----------------+----------+
||
\\ vvvvvvvvvvv
||
||
+------------+--------------------------+
||
||
+------------+--------------------------+
\\
``=================> copy RIID to the last 4 bits
+------------+---------------------+----+
| network pre| 0000000000000000000 |RIID|
+------------+---------------------+----+
174
Embedded RP in Use
Embedded RP means that anyone in another
PIM domain who wants to join your group,
knows where your RP is.
RP is a single point of failure.
Interdomain joins are now straightforward,
and MSDP is not needed.
This was implemented in GANT from scratch
in a few days!
175
Information Online
Goals of the M6Bone : www.m6bone.net/article.php3?
id_article=1
Paper by Stig Venaas :
http://www.6net.org/events/workshop2003/
venaas.pdf
Cisco Press Release :
http://newsroom.cisco.com/dlls/2005/
prod_091905b.html