IP Multicast Survival Guide I-2nd Edition-rev4.pptx
IP Multicast Survival Guide Part 1
Second Edition
Beau WilliamsonCCIE 1356 R/S Emeritus
CiscoLive Distinguished Speakeraka “Multicast Survivorman”
Twitter: @Mr_Multicast
2IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Rules of Engagement“Silence . . . I kill you!”
– I mean your Cell Phones and Laptops that is.– Violators must buy Beer for everyone in the room!
Ask questions at any time.– 10,000 Bonus Points awarded for Good Questions– 20,000 Bonus Points awarded for Great Questions– 30,000 Bonus Point deduction for “intentionally” stumping presenter
• Remember: I haven’t touched this stuff in years so I’m a bit rusty.
3IP Multicast Survival Guide I-2nd Edition-rev4.pptx
To give you some basic IP Multicast survival tools that will help you understand the concepts, mechanics and protocols used in IP Multicast and to go alone and unafraid into the CCIE Lab Wilderness1.
1You still may be asked to perform unnatural network acts in your CCIE lab.
Survival Guide Goal
4IP Multicast Survival Guide I-2nd Edition-rev4.pptx
AgendaWhy Multicast?Multicast FundamentalsPIM ProtocolsPIM VariantsRP choicesConfiguration Notes
Geekometer
5IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Why Multicast?
6IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Server
Router
Unicast
Server
Router
Multicast
Unicast vs. Multicast
Number of streams!
7IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Example: Audio StreamingAll clients listening to the same 8 Kbps audio
• Enhanced Efficiency: Controls network traffic and reduces server and CPU loads
• Optimized Performance: Eliminates traffic redundancy• Distributed Applications: Makes multipoint applications possible
00.20.40.60.8
TrafficMbps
1 20 40 60 80 100# Clients
MulticastUnicast
Multicast Advantages
8IP Multicast Survival Guide I-2nd Edition-rev4.pptx
• Best Effort Delivery: Drops are to be expected. Multicast applications should not expect reliable delivery of data and should be designed accordingly. Reliable Multicast is still an area for much research.
• No Congestion Avoidance: Lack of TCP windowing and “slow-start” mechanisms can result in network congestion. If possible, Multicast applications should attempt to detect and avoid congestion conditions.
• Duplicates: Some multicast protocol mechanisms (e.g. Asserts, Registers and SPT Transitions) may result in the occasional generation of duplicate packets. Multicast applications should be designed to expect occasional duplicate packets.
• Out of Order Delivery : Some protocol mechanisms may also result in out of order delivery of packets.
Multicast Is UDP Based!!!
Multicast Disadvantages
9IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Multicast Fundamentals
10IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Multicast Fundamentals
Multicast Myth Busters
“Multicast is complicated, scary and hard to understand!”
11IP Multicast Survival Guide I-2nd Edition-rev4.pptx
IP Multicast Group Concept
2. If you send to a group address, all members receive it
1. You must be a “member” of a group to receive its data
3. You do not have to be a member of a group to send to a group
“Non” GroupMember
B
E
A D
C
GroupMember 2
Group Member 1
Group Member 3
Receiver Receiver
Sender & Receiver
Sender
12IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Multicast Addressing IPv4 Header
Options Padding
Time to Live Protocol Header Checksum
Identification Flags Fragment Offset
Version IHL Type of Service Total Length
Source Address
Destination AddressDestination
Source
224.0.0.0 - 239.255.255.255 (Class D) Multicast Group Address RangeDestination
1.0.0.0 - 223.255.255.255 (Class A, B, C)Source
Multicast Addressing
13IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Multicast Addressing - 224/4 Reserved Link-Local Addresses
– 224.0.0.0 – 224.0.0.255– Transmitted with TTL = 1– Examples:
• 224.0.0.1 All systems on this subnet• 224.0.0.2 All routers on this subnet• 224.0.0.5 OSPF routers• 224.0.0.13 PIMv2 Routers• 224.0.0.22 IGMPv3 Routers
Other Reserved Addresses– 224.0.1.0 – 224.0.1.255– Not local in scope (Transmitted with TTL > 1)– Examples:
• 224.0.1.1 NTP Network Time Protocol• 224.0.1.32 Mtrace routers• 224.0.1.78 Tibco Multicast1
14IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Multicast Addressing - 224/4 Administratively Scoped Addresses
– 239.0.0.0 – 239.255.255.255– Private address space
• Similar to RFC1918 unicast addresses• Not used for global Internet traffic - scoped traffic
SSM (Source Specific Multicast) Range – 232.0.0.0 – 232.255.255.255 – Primarily targeted for Internet style Broadcast
GLOP (honest, it’s not an acronym)– 233.0.0.0 - 233.255.255.255– Provides /24 group prefix per ASN
15IP Multicast Survival Guide I-2nd Edition-rev4.pptx
32 Bits28 Bits
25 Bits 23 Bits48 Bits
01-00-5e-7f-00-01
1110
5 BitsLost
Multicast Addressing
IP Multicast MAC Address Mapping
239.255.0.1
16IP Multicast Survival Guide I-2nd Edition-rev4.pptx
224.1.1.1224.129.1.1225.1.1.1225.129.1.1
.
.
.238.1.1.1238.129.1.1239.1.1.1239.129.1.1
0x0100.5E01.0101
1 - Multicast MAC Address
32 - IP Multicast Addresses
Multicast Addressing
Be Aware of the 32:1 Address Overlap
IP Multicast MAC Address Mapping
17IP Multicast Survival Guide I-2nd Edition-rev4.pptx
How are Multicast Flows Identified Every Multicast Flow can be identified by two components:
– Source IP Address• The address of the Sender
– Multicast Group Address• 224/4 (Class D) IP Address
Example(2.2.2.2, 232.1.1.1), 3w1d/00:02:40, flags: sIncoming interface: Ethernet 0/0, RPF nbr 207.109.83.33Outgoing interface list:Ethernet 1/0, Forward/Sparse, 3w1d/00:02:40Ethernet 2/0, Forward/Sparse, 2w0d/00:02:33
How do Hosts Signal to Routers which flow they want?– IPv4: IGMP– IPv6: MLD
Multicast Flow from Source 2.2.2.2 to Group 232.1.1.1
18IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Host-Router Signaling: IGMP IGMP Version 3 is current version
– RFC3376 Oct 2002 (Over 10 years old)
Uses 224.0.0.22 (All IGMPv3 routers) Link-Local Multicast Address– All IGMP hosts send Membership Reports to this address– All IGMP routers listen to this address– Hosts do not listen or respond to this address (unlike previous IGMP versions)
Membership Reports– Sent by Hosts– Contain list of Multicast (Source, Group) pairs to Include/Exclude (Join/Leave)
Membership Queries– Sent by Routers to refresh/maintain list of Multicast traffic to deliver.
• General Queries• Group Specific Queries• Source-Group Specific Queries
19IP Multicast Survival Guide I-2nd Edition-rev4.pptx
IGMPv3 – Membership Report Packet Format
# of Group Records (M)Number of Group Records in Report
Group Records 1 - MGroup address plus list of zero or more sources to Include/Exclude(See Group Record format)
Record Type(1) Include, (2) Exclude, (3) Chg-to-Include, (4) Chg-to-Exclude, (5) Allow New Srcs, (6) Block Old Srcs
# of Sources (N)Number of Sources in Record
Source Address 1- NAddress of Source
7 15 31Reserved ChecksumType = 0x22
Reserved # of Group Records (M)
Group Record [1]
Group Record [2]
Group Record [M]
.
.
.
7 15 31Aux Data Len # of Sources (N)Record Type
Multicast Group Address
Source Address [1]Source Address [2]
.
.Source Address [N]
Auxiliary Data
20IP Multicast Survival Guide I-2nd Edition-rev4.pptx
IGMPv3 – Query Packet FormatType = 0x11
IGMP Query Max. Resp. Time
Max. time to send a responseif < 128, Time in 1/10 secsif > 128, FP value (12.8 - 3174.4 secs)
Group Address:Multicast Group Address(0.0.0.0 for General Queries)
S FlagSuppresses processing by routers
QRV (Querier Robustness Value)Affects timers and # of retries
QQIC (Querier’s Query Interval)Same format as Max. Resp. Time
Number of Sources (N)(Non-zero for Group-and-Source Query)
Source AddressAddress of Source
Group Address
7 15 31
Source Address [N]
.
.
.
Source Address [1]
Source Address [2]
Type = 0x11 Max. Resp. Code Checksum
QQIC Number of Sources (N)QRVS
21IP Multicast Survival Guide I-2nd Edition-rev4.pptx
IGMPv3 – Joining Group “G” Source “S”
Type: Include (1)Group: 232.1.1.1Source: {2.2.2.2}
Report(224.0.0.22)
192.168.102.10 192.168.102.11 192.168.102.12
H1 H2 H3H2
show ip igmp groups 232.1.1.1 detail
Flags: L - Local, U - User, SG - Static Group, VG - Virtual Group,SS - Static Source, VS - Virtual Source,Ac - Group accounted towards access control limit
Interface: GigabitEthernet3/3Group: 232.1.1.1Flags: SSM Uptime: 00:01:14Group mode: INCLUDELast reporter: 192.168.102.11Group source list: (C - Cisco Src Report, U - URD, R - Remote, S - Static,
V - Virtual, M - SSM Mapping, L - Local,Ac - Channel accounted towards access control limit)
Source Address Uptime v3 Exp CSR Exp Fwd Flags2.2.2.2 00:01:14 00:02:08 stopped Yes R
22IP Multicast Survival Guide I-2nd Edition-rev4.pptx
IGMPv3 – Querier Election192.168.102.10 192.168.102.11 192.168.102.12
H1 H2 H3
192.168.102.254
(224.0.0.1)Query
Group: 0.0.0.0Source List: {}192.168.102.253
IGMPQuerier
IGMPNon-Querier
(224.0.0.1)Query
Group: 0.0.0.0Source List: {}
Initially all routers send out a query Router with lowest IP address “elected” querier Other routers become “non-queriers”
23IP Multicast Survival Guide I-2nd Edition-rev4.pptx
IGMPv3 – Maintaining State
Router sends periodic General Queries to All Hosts– General Query: Group=0, #Srcs=0
All IGMP members respond– Reports can contain multiple Group State records
(224.0.0.1)Query
Group: 0.0.0.0Source List: {}
Type: Include (1)Group: 232.1.1.1Source: {2.2.2.2}
Report(224.0.0.22)
Type: Include (1)Group: 232.1.1.1Source: {2.2.2.2}
Report(224.0.0.22)
Type: Include (1)Group: 232.1.1.1Source: {2.2.2.2}
Report(224.0.0.22)
H1 H2 H3
192.168.102.10 192.168.102.11 192.168.102.12
MemberGroup: 232.1.1.1Source: 2.2.2.2
Hn
(Destination IP Address)
24IP Multicast Survival Guide I-2nd Edition-rev4.pptx
IGMPv3 – Leaving Group “G” Source “S”
1. H2 leaves Group-Source2. Sends “Block Old” Membership Report3. Router sends Group-Source Query
– Group-Source Query: Group=G, #Srcs=N
Type: Block Old (6)Group: 232.1.1.1Source: {2.2.2.2}
Report(224.0.0.22)
H1 H2 H3H3
(232.1.1.1)Query
Group: 232.1.1.1Source List: {2.2.2.2}
1
3
2H2
192.168.102.10 192.168.102.11 192.168.102.12
MemberGroup: 232.1.1.1Source: 2.2.2.2
Hn
(Destination IP Address)
25IP Multicast Survival Guide I-2nd Edition-rev4.pptx
IGMPv3 – Leaving Group “G” Source “S”
1. H2 leaves Group-Source2. Sends “Block Old” Membership Report3. Router sends Group-Source Query4. A remaining member host sends report5. Group-Source flow remains active
Type: IncludeGroup: 232.1.1.1Source: {2.2.2.2}
Report(224.0.0.22)
H1 H2 H3H3
4
5
192.168.102.10 192.168.102.11 192.168.102.12
MemberGroup: 232.1.1.1Source: 2.2.2.2
Hn
(Destination IP Address)
26IP Multicast Survival Guide I-2nd Edition-rev4.pptx
(232.1.1.1)Query
Group: 232.1.1.1Source: {2.2.2.2}
8
Type: Block Old (6)Group: 232.1.1.1Source: {2.2.2.2}
Report(224.0.0.22)
IGMPv3 – Leaving Group “G” Source “S”
6. H3 leaves Group-Source7. Sends “Block Old” Membership Report8. Router sends Group-Source Query
H1 H2 H36
7
H3
192.168.102.10 192.168.102.11 192.168.102.12
MemberGroup: 232.1.1.1Source: 2.2.2.2
Hn
(Destination IP Address)
27IP Multicast Survival Guide I-2nd Edition-rev4.pptx
IGMPv3 – Leaving Group “G” Source “S”
6. H3 leaves Group-Source7. Sends Remove Membership Report8. Router sends Group-Source specific query9. State times out. Group-Source flow pruned.
H1 H2 H3
9
192.168.102.10 192.168.102.11 192.168.102.12
MemberGroup: 232.1.1.1Source: 2.2.2.2
Hn
(Destination IP Address)
28IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Unicast vs. Multicast Routing/Forwarding
Destination IP address directly indicates where to forward packetUnicast Routing protocols build a table of
destination/interface/next-hop triplesUnicast Forwarding is hop-by-hop simply based on these entries
–Unicast routing table determines interface and next-hop router to forward packet
Unicast Routing/Forwarding
29IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Unicast vs. Multicast Routing/Forwarding
Destination Group address doesn’t directly indicate where to forward packet. Multicast Routing is Backwards from Unicast Routing
– Multicast Routing builds a tree backwards from the receivers to the source.• Concerned with “Where the packet will come from?”• More specifically, “What’s the route back to the Source?”
– Trees are built via connection requests called Joins “sent” toward the source.– Joins follow the unicast routing table backwards toward the source.– Joins create Multicast tree/forwarding state in the routers along the tree.
• Trees are rebuilt dynamically in case of network topology changes.
– Only when a tree is completely built from receiver backwards to the source can source traffic flow down the tree to the receivers.• Say that over and over to yourself when working with Multicast!
Multicast Routing & Forwarding
30IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Unicast vs. Multicast Routing/Forwarding
All of this can easily lead to “thinking with your Unicast Lizard Brain!”– If you ever get confused by Multicast, just remember to . . .
Multicast Routing & Forwarding
“Stand on your head!”
31IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Multicast Tree Building1. Multicast source address is checked against the unicast routing table2. Determines interface & next-hop multicast router in the direction of the source
– Which is where the Joins are sent3. This interface becomes the “Incoming” interface
– Often referred to as the “RPF” (Reverse Path Forwarding) interface – A router forwards a multicast datagram only if received on the Incoming/RPF interface
A bit of History– The term “RPF” is actually a left-over from early Dense mode Multicast days– Multicast traffic was flooded everywhere (i.e. no explicit Join signaling to build trees)– Traffic was only accepted on the “RPF” interface to avoid loops– We still tend to use the term to indicate the calculation of the Incoming interface.
32IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Multicast Routing & Forwarding
Source2.2.2.2
Receiver
Traffic to232.1.1.1
33IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Multicast Routing & Forwarding
Source2.2.2.2
Receiver
Traffic to232.1.1.1
IGMP “Join”(2.2.2.2, 232.1.1.1)
Mroute Entry
34IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Multicast Routing & Forwarding
Source2.2.2.2
Receiver
Traffic to232.1.1.1
PIM Join(2.2.2.2, 232.1.1.1)
Mroute Entry
Mroute Entry
35IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Multicast Routing & Forwarding
Source2.2.2.2
Receiver
Traffic to232.1.1.1
PIM Join(2.2.2.2, 232.1.1.1)
Mroute Entry
Mroute Entry
Mroute Entry
36IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Multicast Routing & Forwarding
Source2.2.2.2
Receiver
Traffic to232.1.1.1
Mroute Entry
Mroute Entry
Mroute Entry
37IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Multicast Routing & Forwarding
Source2.2.2.2
Receiver
Traffic to232.1.1.1
Mroute Entry
Mroute Entry
Mroute Entry
Receiver
IGMP “Join”(2.2.2.2, 232.1.1.1)
Mroute Entry
38IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Multicast Routing & Forwarding
Source2.2.2.2
Receiver
Traffic to232.1.1.1
Mroute Entry
Mroute Entry
Mroute Entry
Receiver
PIM Join(2.2.2.2, 232.1.1.1)
Mroute Entry
39IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Multicast Routing & Forwarding
Source2.2.2.2
Receiver
Traffic to232.1.1.1
Mroute Entry
Mroute Entry
Mroute Entry
Receiver
Mroute Entry
40IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Multicast Routing & Forwarding
Source2.2.2.2
Receiver
Traffic to232.1.1.1
Receiver
Mroute Entry
show ip mroute 232.1.1.1(2.2.2.2, 232.1.1.109), 3w1d/00:02:40, flags: sIncoming interface: Ethernet 0/0, RPF nbr 207.109.83.33Outgoing interface list:Ethernet 1/0, Forward/Sparse, 3w1d/00:02:40Ethernet 2/0, Forward/Sparse, 2w0d/00:02:33
41IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Multicast Routing & Forwarding
Source2.2.2.2
Receiver
Traffic to232.1.1.1
Receiver
Mroute Entry
show ip mroute 232.1.1.1(2.2.2.2, 232.1.1.109), 3w1d/00:02:40, flags: sIncoming interface: Ethernet 0/0, RPF nbr 207.109.83.33Outgoing interface list:Ethernet 1/0, Forward/Sparse, 3w1d/00:02:40Ethernet 2/0, Forward/Sparse, 2w0d/00:02:33
42IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Multicast Tree Building
Based on source addressBest path to source found in
unicast route tableDetermines where to send
joinJoins continue towards
source to build multicast treeMulticast data flows down
tree
RPF Calculation
R1
C
D
10.1.1.1
E1
E2Unicast Route Table
Network Interface10.1.0.0/24 E0
Join
Join
A
E0
E
SRC
B
43IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Multicast Tree Building
Based on source addressBest path to source found in
unicast route tableDetermines where to send
joinJoins continue towards
source to build multicast treeMulticast data flows down
tree
RPF Calculation
R1
C
D
A
R2
10.1.1.1
E1E0
E2E
Join
Join
SRC
B
44IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Multicast Tree Building
What if we have equal-cost paths?–We can’t use both
Tie-breaker–Use highest next-hop IP
address
RPF Calculation
R1
B C
D E
A
10.1.1.1
E1E0
E2Unicast Route TableNetwork Intfc Nxt-Hop10.1.0.0/24 E0 1.1.1.110.1.0.0/24 E1 1.1.2.1
1.1.2.11.1.1.1 Join
F
SRC
45IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Multicast State
rtr-a#show ip mroute 232.1.1.1(2.2.2.2, 232.1.1.1), 3w1d/00:02:40, flags: sIncoming interface: Ethernet 0/0, RPF nbr 207.109.83.33Outgoing interface list:Ethernet 1/0, Forward/Sparse, 3w1d/00:02:40Ethernet 2/0, Forward/Sparse, 2w0d/00:02:33
Multicast route entries are in (S,G) form.
Incoming interface points upstreamtoward the root of the tree (i.e. Source)
Outgoing interface list is where receivers have joined downstream and where packetswill be replicated and forwarded downstream.
rtr-b#show ip route 232.1.1.109% Network not in table
Multicast Group addressesare NEVER in the unicast route table.
46IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Multicast Routing & Forwarding
Key Point
–If you ever get confused by Multicast . . .
. . . just remember to “Stand on your head”.
(Because Multicast is an Upside-down world where we are interested in where the packet came from, not its destination address.)
47IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Multicast Fundamentals
Multicast Myth Busters
“Multicast is complicated, scary and hard to understand!”
48IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Multicast Fundamentals
See there . . .
. . . that wasn’t so hard, was it?
49IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Multicast Fundamentals
What you have just seen is calledPIM Single Source Multicast
or PIM-SSM
Best used for all One-to-Many applications which covers most common Multicast applications
50IP Multicast Survival Guide I-2nd Edition-rev4.pptx
But my Application is not One-to-Many it’s Many-to-Many so I can’t use SSM!
51IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Types of Multicast Trees
52IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Receiver 3
Multicast Distribution Tree TypesShortest Path or Source Distribution Tree (used by SSM)
Notation: (S1, G)S = SourceG = Group
Receiver 1
Source 1
Receiver 2
Source 2B D FA
C E
53IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Multicast Distribution TreesShortest Path or Source Distribution Tree (used by SSM)
Receiver 1
Source 1 Notation: (S2, G)S = SourceG = Group
Receiver 2
Source 2A B D F
C
These are the type of trees we’ve been talking about so far.
Receiver 3E
54IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Multicast Distribution TreesShared Distribution Tree (Unidirectional)
Notation: (*, G)* = All SourcesG = Group
(RP) PIM Rendezvous PointShared Tree
Receiver 1
Source 1
Receiver 2
Source 2A B FD
C E
RP
55IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Multicast Distribution TreesShared Distribution Tree (Unidirectional)
Notation: (*, G)* = All SourcesG = Group
(RP) PIM Rendezvous Point
Source Tree(s)(used to get traffic to RP)
Receiver 1
Source 1
Receiver 2
Source 2F
C E
DARP
B
Shared Tree
(This is PIM-ASM. More on this later.)
56IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Multicast Distribution TreesBidir Shared Distribution Tree
Notation: (*, G)* = All SourcesG = Group
(RP) PIM Rendezvous Point
Shared Tree (Up)
Receiver 1
Source 1
Receiver 2
Source 2F
C E
DARP
B
Shared Tree (Down)
57IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Bidirectional Multicasti.e. Bidir PIM
58IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Bidirectional (BiDir) PIM Idea:
– Use Shared Tree to bring traffic up from sources to the RP and then down to receivers– Receivers IGMP Join “ALL” Sources in Group (*, G)
Benefits:– Less state in routers
• Only (*, G) state is used• Source traffic follows the Shared Tree
– Flows up the Shared Tree to reach the RP– Then flows down the Shared Tree to reach all receivers
59IP Multicast Survival Guide I-2nd Edition-rev4.pptx
PIM Modifications for BiDir Operation All trees rooted at a point in the network
– This point is called the Rendezvous Point or RP– Data traveling from source toward RP is moving UPSTREAM– Data traveling from RP toward receivers is moving DOWNSTREAM
Designated Forwarders (DF)– One DF per link
• Router with best path to the RP is elected DF• Election mechanism insures all routers on link agree on who is DF• Prevents route loops from forming
BiDir (*,G) forwarding rules:– DF is the only router that picks-up upstream traveling packets off the link to forward towards
the RP
This is like a constrained L3 Spanning-Tree for the Group– Constrained because it only “spans” to Sources and Receivers for the Group
60IP Multicast Survival Guide I-2nd Edition-rev4.pptx
How do hosts Join a Shared Tree using IGMPv3?
61IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Router#sh ip igmp groups 239.1.2.21 detail
Flags: L - Local, U - User, SG - Static Group, VG - Virtual Group,SS - Static Source, VS - Virtual Source,Ac - Group accounted towards access control limit
Interface: GigabitEthernet3/3Group: 239.1.2.21Flags:Uptime: 00:00:22Group mode: EXCLUDE (Expires: 00:02:49)Last reporter: 192.168.102.11Source list is empty
IGMPv3 – Joining a Shared Tree for All Sources (*,G)
Type: Exclude (2)Group: 239.1.2.21
Source List: {}Report
(224.0.0.22)
192.168.102.10 192.168.102.11 192.168.102.12
H1 H2 H3H2
62IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Bidir Forwarding/Tree Building
E
A B CE1 (DF)
E0
E1 (DF)
E0
E1 (DF)
E0
E1 (DF)
E0
E1 (DF)
E0
E1 (DF)
E0
Receiver 1
F
D IGMP (*,G)Join
E0 (DF)
RP
63IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Bidir Forwarding/Tree Building
Bidir State created in “D”
E
A B CE1 (DF)
E0
E1 (DF)
E0
E1 (DF)
E0
E1 (DF)
E0
E1 (DF)
E0
E1 (DF)
E0
Receiver 1
F
(*, 224.1.1.1), 00:00:04/00:00:00, RP 172.16.21.1, flags: BCBidir-Upstream: Ethernet0, RPF nbr 172.16.9.1Outgoing interface list:
Ethernet0, Bidir-Upstream/Sparse-Dense, 00:00:04/00:00:00Ethernet1, Forward/Sparse-Dense, 00:00:04/00:02:55
D
E0 (DF)
RP
64IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Bidir Forwarding/Tree Building
Branch of Shared Tree Is Now Built Down to Receiver 1
E
A B CE1 (DF)
E0
E1 (DF)
E0
E1 (DF)
E0
E1 (DF)
E0
E1 (DF)
E0
E1 (DF)
E0
Receiver 1
PIM (*,G)Join
PIM (*,G)JoinE0 (DF)
D
RP
F
65IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Bidir Forwarding/Tree Building
Bidir State in RPE
A B CE1 (DF)
E0
E1 (DF)
E0
E1 (DF)
E0
E1 (DF)
E0
E1 (DF)
E0
E1 (DF)
E0
Receiver 1
F
D
E0 (DF)
(*, 224.1.1.1), 00:32:20/00:02:59, RP 172.16.21.1, flags: BBidir-Upstream: Null, RPF nbr 0.0.0.0Outgoing interface list:
Ethernet0, Forward/Sparse-Dense, 00:00:04/00:02:55
RP
66IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Bidir Forwarding/Tree Building
E
B CE1 (DF)
E0
E1 (DF)
E0
E1 (DF)
E0
E1 (DF)
E0
E1 (DF)
E0
E1 (DF)
E0
Receiver 1
F
D
(*, 224.1.1.1), 00:32:20/00:02:59, RP 172.16.21.1, flags: BPBidir-Upstream: Ethernet0, RPF nbr 172.16.7.1Outgoing interface list:
Ethernet0, Bidir-Upstream/Sparse-Dense, 00:32:20/00:00:00Source
Arriving Traffic from Source Causes Router “A” to Create (*, G) State
E0 (DF)
RP
A
67IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Bidir Forwarding/Tree Building
Arriving Traffic Causes Router “E” to create (*, G) StateSource
E1 (DF)
E0
E1 (DF)
E0
E1 (DF)
E0
E1 (DF)
E0
E0 (DF)
Receiver 1
A B CE1 (DF)
E0
E1 (DF)
E0
F
D
RP
(*, 224.1.1.1), 00:32:20/00:02:59, RP 172.16.21.1, flags: BPBidir-Upstream: Ethernet0, RPF nbr 172.16.7.1Outgoing interface list:
Ethernet0, Bidir-Upstream/Sparse-Dense, 00:32:20/00:00:00
E
68IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Bidir Forwarding/Tree Building
RP already has (*, G) StateSource
E1 (DF)
E0
E1 (DF)
E0
E1 (DF)
E0
E1 (DF)
E0
E0 (DF)
Receiver 1
E
A B CE1 (DF)
E0
E1 (DF)
E0
F
D
Bidir State in RP(*, 224.1.1.1), 00:32:20/00:02:59, RP 172.16.21.1, flags: B
Bidir-Upstream: Null, RPF nbr 0.0.0.0Outgoing interface list:
Ethernet0, Forward/Sparse-Dense, 00:00:04/00:02:55
RP
69IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Bidir Forwarding/Tree Building
Traffic flows up the Shared Tree . . .Source
E1 (DF)
E0
E1 (DF)
E0
E1 (DF)
E0
E1 (DF)
E0
E0 (DF)
Receiver 1
E
A B CE1 (DF)
E0
E1 (DF)
E0
F
D
RP
. . . and then back downthe Shared Tree
70IP Multicast Survival Guide I-2nd Edition-rev4.pptx
What Makes Multicast Complicated?
71IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Biggest Multicast Complicating FactorNetwork-Based Source Discovery Lazy One-to-Many Application Developers
– “Let’s just let the Network do all the work to keep track of Sources.”– Uses old and outdated IGMPv2 methods to join (*,G) only.
• Really!!!! IGMPv3 has been out for 10+ years!!• Even Apple OS supports IGMPv3
– Suffers from Capt. Midnight stream hijacking– Complicates Multicast Address management/allocation
• Now you have to worry about what application uses what Multicast Address
Ad-Hoc Multicast Applications– No “good” way to know or predict who will become a source.– Sometimes you just have to support Network-Based Source Discovery
Requires complex Any-Source Multicast (ASM) & Rendezvous Point Engineering/Mgmt– Or maybe BiDir Multicast
72IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Multicast Complicating FactorNetwork-Based Source Discovery Requires Any-Source Multicast (ASM)
– Much, much more complicated than SSM or Bidir– Requires physical Rendezvous Point (RP) router(s) & RP Redundancy methods– Uses Shortest-Path Trees (ala SSM) to first deliver traffic to RP– Then uses a common “Shared Tree” rooted at RP to deliver all Multicast traffic– Routers w/directly connected receivers then learn about new sources via Shared Tree– Then join Shortest-Path Tree to all the sources.
. . . or just use of Bidir Multicast (Bidir) . . .– A bit more complicated than Source Specific Multicast but easier than ASM.
73IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Joining Group with IGMPv2
74IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Joining/Leaving with IGMPv2 Key Differences with IGMPv3
– Membership Reports (Joins) sent to Group being Joined• i.e. Destination IP Address = Group Address
– Not a separate IGMP Control Group (224.0.0.22)• Reports (Joins) are mixed in with Group Data flows• All members hear each other’s “Joins”.• Permits Report suppression techniques to be used.• One Report packet needed per Group to be Joined/Renewed
– Only Group Joins (*,G) possible• No Source Include/Exclude List in the “Joins”• Not compatible with SSM
– Unless you use special tricks like SSM Mapping
– Leaving is basically the same for both V2 and V3• Except V3 has (S,G) Source-Group Specific as well as Group Specific (*,G) Queries
– Used when Host leaves (S,G) in SSM
75IP Multicast Survival Guide I-2nd Edition-rev4.pptx
IGMPv2 – Joining a Group
Joining host sends Report to 232.1.1.1 to receive ALL sources for group– Note: Control (Report) and Data using same Group address
Type: 0x16 (IGMPV2 Report)Group: 232.1.1.1
(232.1.1.1)
192.168.102.10 192.168.102.11 192.168.102.12
H1 H2 H3H2
76IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Router#show ip igmp groups 232.1.1.1 detail
Flags: L - Local, U - User, SG - Static Group, VG - Virtual Group,SS - Static Source, VS - Virtual Source,Ac - Group accounted towards access control limit
Interface: GigabitEthernet3/3Group: 232.1.1.1Flags:Uptime: 00:00:22Group mode: EXCLUDE (Expires: 00:02:49)Last reporter: 192.168.102.11Source list is empty
IGMPv2 – Joining a Group192.168.102.10 192.168.102.11 192.168.102.12
H1 H2 H3H2
77IP Multicast Survival Guide I-2nd Edition-rev4.pptx
IGMPv2 – Maintaining a Group
Type: 0x16 (IGMPV2 Report)Group: 232.1.1.1
(232.1.1.1)
192.168.102.10 192.168.102.11 192.168.102.12
H1 H2 H3H2 Type: 0x16 (IGMPV2 Report)Group: 232.1.1.1
(232.1.1.1)
Type: 0x16 (IGMPV2 Report)Group: 232.1.1.1
(232.1.1.1)
Router sends periodic General Queries– General Query: Group Field = 0.0.0.0
One member per group per subnet reports first Other members hear first report and suppress theirs
(224.0.0.1)Query
Group: 0.0.0.0
X X
78IP Multicast Survival Guide I-2nd Edition-rev4.pptx
IGMPv2 – Leaving a Group
Type: 0x17 (IGMPV2 Leave)Group: 232.1.1.1
(232.1.1.1)
192.168.102.10 192.168.102.11 192.168.102.12
H1 H2 H3H2
(224.0.0.1)Query
Group: 232.1.1.1
Last host leaves group; sends Leave message Router sends Group specific query No report is received Group times out
79IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Any-Source Multicasti.e. ASM PIM
(The original Sparse Mode PIM)
80IP Multicast Survival Guide I-2nd Edition-rev4.pptx
PIM-SM Shared Tree Join
Receiver
RP
(*, G) JoinShared Tree
(*, G) State Created OnlyAlong the Shared Tree
81IP Multicast Survival Guide I-2nd Edition-rev4.pptx
PIM-SM Sender Registration
Receiver
RP
(S, G) Join
Source
(S, G) Register (unicast)Source Tree
(S, G) State Created OnlyAlong the Source TreeTraffic Flow
Shared Tree
82IP Multicast Survival Guide I-2nd Edition-rev4.pptx
PIM-SM Sender Registration
Receiver
RPSource
Shared TreeSource Tree RP Sends a Register-Stop Back
to the First-Hop Router to Stop the Register Process(S, G) Register-Stop (unicast)
Traffic Flow
(S, G) Register (unicast)
(S, G) Traffic Begins Arriving at the RP via the Source Tree
83IP Multicast Survival Guide I-2nd Edition-rev4.pptx
PIM-SM Sender Registration
Receiver
RPSource
Shared TreeSource Tree
Traffic FlowSource Traffic Flows NativelyAlong SPT to RPFrom RP, Traffic Flows Downthe Shared Tree to Receivers
84IP Multicast Survival Guide I-2nd Edition-rev4.pptx
PIM-SM SPT Switchover
Receiver
RP
(S, G) Join
Source
Source TreeShared Tree
Last-Hop Router Joins the Source TreeAdditional (S, G) State Is Created Along New Part of the Source Tree
Traffic Flow
85IP Multicast Survival Guide I-2nd Edition-rev4.pptx
PIM-SM SPT Switchover
Receiver
RPSource
Source TreeShared Tree
(S, G)RP-bit Prune
Traffic Begins Flowing Down the New Branch of the Source TreeAdditional (S, G) State Is Created Along the Shared Tree to Prune Off (S, G) Traffic
Traffic Flow
86IP Multicast Survival Guide I-2nd Edition-rev4.pptx
PIM-SM SPT Switchover
Receiver
RPSource
Source TreeShared Tree
(S, G) Traffic Flow Is Now Pruned Off of the Shared Tree and Is Flowing to the Receiver via the Source Tree
Traffic Flow
87IP Multicast Survival Guide I-2nd Edition-rev4.pptx
PIM-SM SPT Switchover
Receiver
RPSource
Source TreeShared Tree
(S, G) Traffic Flow Is No Longer Needed by the RP so It Prunes the Flow of (S, G) Traffic
Traffic Flow
(S, G) Prune
88IP Multicast Survival Guide I-2nd Edition-rev4.pptx
PIM-SM SPT Switchover
Receiver
RPSource
Source TreeShared Tree
(S, G) Traffic Flow Is Now Only Flowing to the Receiver via a Single Branch of the Source Tree
Traffic Flow
89IP Multicast Survival Guide I-2nd Edition-rev4.pptx
All of the PIM modes you have seen so far (SSM, Bidir & ASM) are variations of PIM
Sparse Mode.
90IP Multicast Survival Guide I-2nd Edition-rev4.pptx
But What about PIM Dense Mode???
91IP Multicast Survival Guide I-2nd Edition-rev4.pptx
PIM-DM Uses Flood and Prune model
– Floods network and prunes back based on multicast group membership
Data Driven Events– Forwarding state created by data arrival.– Assert mechanism used to prune off redundant flows.– Non-Deterministic Behavior
• Can lead to black-holes and route loops
92IP Multicast Survival Guide I-2nd Edition-rev4.pptx
PIM-DM Flood & Prune
Source
Initial Flooding
Receiver
Multicast Packets(S, G) State created inevery router in the network!
93IP Multicast Survival Guide I-2nd Edition-rev4.pptx
PIM-DM Flood & Prune
Source
Pruning unwanted traffic
Receiver
Multicast Packets
Prune Messages
94IP Multicast Survival Guide I-2nd Edition-rev4.pptx
PIM-DM Flood & Prune
Results after Pruning
Source
Receiver
Multicast Packets
Flood & Prune processrepeats every 3 minutes!!!
(S, G) State still exists inevery router in the network!
95IP Multicast Survival Guide I-2nd Edition-rev4.pptx
PIM-DM Assert Mechanism
E0
Incoming Multicast Packet(Successful RPF Check)
E0
S0S0
Routers receive packet on an interface in their “oilist”!!– Only one router should continue sending to avoid
duplicate packets.
1
2 Routers send “PIM Assert” messages– Compare distance and metric values– Router with best route to source wins– If metric & distance equal, highest IP adr wins– Losing router stops sending (prunes interface)
1Assert
Assert
22
96IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Receiver
Initial Flow
Source
Multicast Packets
PIM-DM Assert Problem
Receiver
Duplicate Traffic
97IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Receiver
Sending Asserts
Source
Multicast Packets
PIM-DM Assert Problem
Receiver
Assert Messages
Loser
Winner
98IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Receiver
Assert Loser Prunes Interface
Source
Multicast Packets
PIM-DM Assert Problem
Receiver
Loser
Winner
99IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Receiver
Assert Winner Fails
Source
Multicast Packets
PIM-DM Assert Problem
ReceiverX
Loser
Winner
Traffic flow is cutoffuntil Prune times outon Assert Loser.
100IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Source
Interface previously Prunedby Assert Process
Normal Steady-State Traffic Flow
RPF Interface
Potential PIM-DM Route Loop
101IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Interface Fails
Source
This Router converges first
RPF Interface
X
Potential PIM-DM Route Loop
102IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Source
RPF Interface
XBut wait . . .This Router stillhasn’t converged yet
New Traffic Flow
Multicast Route Loop ! !
Potential PIM-DM Route Loop
103IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Click to edit source
“Fuggidaboudit!”“Fuggidaboudit!”Source: “The Wiseguys’s Guide to IP Multicast”, ©2005, T. Soprano
So what about PIM Dense Mode??
104IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Protocol Summary
“Sparse Mode Good, Dense Mode Bad!”
Source: “The Caveman’s Guide to IP Multicast”, ©2000, R. Davis
CONCLUSION #1
105IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Protocol Summary
“SSM and/or Bidir Sweet, ASM Nasty!”
Source: “Everyone that has ever had to deal with Network-based Source Discovery.
CONCLUSION #2
106IP Multicast Survival Guide I-2nd Edition-rev4.pptx
RP Configuration(For ASM & Bidir)
107IP Multicast Survival Guide I-2nd Edition-rev4.pptx
How Does the Network Learn RP Address? Static configuration
– Manually on every router in the PIM domain
AutoRP– Originally a Cisco® solution– Facilitated PIM-SM early transition
BSR– RFC 5059 – Bootstrap Router Mechanism for PIM
Anycast RP– Form of Static RP– Two routers share RP address– Requires MSDP
108IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Static RPs• Hard-configured RP address
‒ When used, must be configured on every router‒ All routers must have the same RP address‒ RP failover not possible
• Exception: If Anycast RPs are used
• Commandip pim rp-address [group-list ] [override]
‒ Optional group list specifies group range• Default: range = 224.0.0.0/4 (includes auto-RP groups!)
‒ Override keyword “overrides” auto-RP information• Default: auto-RP learned info takes precedence
109IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Auto-RP – From 10,000 Feet
Announce AnnounceAn
noun
ceAn
noun
ceAnnounce Announce
Anno
unce
Anno
unce
Announce
RP-Announcements Multicast to theCisco Announce (224.0.1.39) Group
A
C DC-RP
1.1.1.1C-RP
2.2.2.2
B
MA MA
110IP Multicast Survival Guide I-2nd Edition-rev4.pptx
A
C DC-RP
1.1.1.1C-RP
2.2.2.2
B
MA MA
Auto-RP – From 10,000 Feet
Discovery
RP-Discoveries Multicast to theCisco Discovery (224.0.1.40) Group
111IP Multicast Survival Guide I-2nd Edition-rev4.pptx
E
G
A
BSR – From 10,000 Feet
B C
C-BSR
F
C-BSR
D
C-BSR
BSR Election Process
BSR Msgs
BSR Msgs Flooded Hop-by-Hop
112IP Multicast Survival Guide I-2nd Edition-rev4.pptx
BSR – From 10,000 Feet
Highest Priority C-BSRIs Elected as BSR
BSR
E
A
B C
FD
G
113IP Multicast Survival Guide I-2nd Edition-rev4.pptx
BSR
C-RP
BSR – From 10,000 Feet
C-RP
E
A
B C
FD
G
114IP Multicast Survival Guide I-2nd Edition-rev4.pptx
A
C-RPC-RP
BSR – From 10,000 Feet
BSR Msgs
BSR Msgs Containing RP-SETFlooded Hop-by-Hop
BSR
E
B C
FD
G
A
115IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Anycast RP (with MSDP) Overview
MSDP
RecRec RecRec
Src Src
SA SAA10.1.1.1B
RP2
10.1.1.1
X
1
RP1
116IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Failover time based on Unicast
Convergence
Anycast RP (with MSDP) Overview
RecRec RecRec
SrcSrc
A10.1.1.1
B
RP2
10.1.1.1
1
XRP1
117IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Configuration Notes
118IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Group Mode vs. Interface Mode Group & Interface mode are independent.
– Interface Mode• Determines how the interface operates when sending/receiving multicast traffic.
– Group Mode• Determines whether the group is Sparse or Dense.• Based on knowledge of an RP for the Group or . . .• If SSM is configured for the Group
119IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Configuring Interface Interface Mode Configuration Commands
– Enables multicast forwarding on the interface.– Controls the interface’s mode of operation.ip pim dense-mode
• Interface mode is set to Dense mode operation.ip pim sparse-mode
• Interface mode is set to Sparse mode operation.ip pim sparse-dense-mode
• Interface mode is determined by the Group mode.– If Group is Dense, interface operates in Dense mode.– If Group is Sparse, interface operates in Sparse mode.
120IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Group Mode Group mode is controlled by local RP info
– Local RP Information• Stored in the Group-to-RP Mapping Cache• May be statically configured or learned via Auto-RP or BSR
– If RP info exists, Group = Sparse or Bidir• Depends on RP configuration
– If RP info does not exist, Group = Dense– Mode Changes are automatic.
• i.e. if RP info is lost, Group falls back to Dense!
Exception – SSM ip pim ssm {default | acl}
• Default is 232.0.0.0• Use acl to for other group ranges
– Overrides everything forcing groups into SSM mode
121IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Dense Mode Fallback Caused by loss of local RP information in older IOS releases.
– Entry in Group-to-RP mapping cache times out. Can happen when:
– All C-RP’s fail.– Auto-RP/BSR mechanism fails.
• Generally a result of network congestion. Group is switched over to Dense mode.
– Dense mode state is created in the network.– Dense mode flooding begins if interfaces configured with
ip pim sparse-dense-mode.– All existing PIM-SM SPT’s are dropped!
122IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Summary – PIM Configuration Steps Enable Multicast Routing on every router
ip multicast-routing
Configure every interface for PIM Sparse-Modeip pim sparse-mode
Configure the RP– Using Auto-RP or BSR (see next slides for details)
• Configure certain routers as Candidate RP(s)• All other routers automatically learn elected RP
– Static RP(s)ip pim rp-address [group-list ] [override]• RP addresses must be configured on every router
– Anycast RP(s) (see next slides for details)• Form of Static RP with two RP’s sharing same RP address• Requires MSDP to be run between the two Anycast RP’s
123IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Configuring Auto-RP Candidate RPs
ip pim send-rp-announce scope [group-list ] [interval ] [ bidir ]• Primary address of is used as RP-address
– If goes down, C-RP messages are not sent (use Loopback)
Mapping Agentsip pim send-rp-discovery [] scope [interval ]• Configure as Loopback Interface.
– Same reason recommended for C-RP
Auto-RP Listenersip pim autorp listener • Enable on all routers (even MA and C-RPs)• Enables all routers to listen to (and forward) RP-Announce and RP-Discover messages
– Allowing us to move away from old IOS sparse-dense operation.
124IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Configuring BSR – BSR Candidates Configured via global config command
ip pim bsr-candidate [accept-rp-candidate ]
BSR election:• C-BSR with highest becomes BSR • Tie-breaker: Highest-IP-Address• Preemption by better C-BSR at any time
Elected BSR– Receives Unicast messages from C-RPs
• Stores Group-to-RP mapping cache (with holdtime) for all C-RPs– Originates BSR Multicast messages (every 60 seconds)
• Contain ALL C-RP’s Group-to-RP Mapping Cache and IP Address of active BSR• All PIM routers receive, and independently elect same RP based on hash algorithm
125IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Configuring BSR – Candidate RPs Configured via global config command
ip pim rp-candidate [group-list | bidir | interval | priority ]
– All parameters as in AutoRP C-RP – except
C-RP learns IP address of active BSR via BSR election/messages C-RP Unicasts C-RP message to BSR every
– C-RP messages contain:• Group Ranges (default = 224.0.0.0/4) from • Candidate’s RP address with + • Holdtime = 3 x
126IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Configuring Anycast RP
MSDP(Established via TCP)
interface Loopback200description -> anycast RPip address 10.1.1.1 255.255.255.255ip pim sparse-mode
interface Loopback10ip address 10.10.10.10 255.255.255.255
ip msdp peer 20.20.20.20 connect-source Loopback10ip msdp originator-id Loopback10
ip pim rp-address 10.1.1.1
interface Loopback200description -> anycast RPip address 10.1.1.1 255.255.255.255ip pim sparse-dense-mode
interface Loopback10ip address 20.20.20.20 255.255.255.255
ip msdp peer 10.10.10.10 connect-source Loopback10ip msdp originator-id Loopback10
ip pim rp-address 10.1.1.1
B
RP2
10.1.1.1A
RP1
10.1.1.1
127IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Avoiding DM Flooding with Auto-RP Use global command
ip pim autorp listener– Added support for Auto-RP Environments.
• Modifies interface behavior.– Forces interfaces to always use DM for Auto-RP groups.– Only needed if Auto-RP is to be used.– Sort of a global : ip pim sparse-mode except auto-rp-groups
» Except you still have to put ip pim sparse-mode on all intrfcs
Use with interface command.ip pim sparse-mode
• Prevents DM Flooding.• Does not prevent DM Fallback!• All existing SPT’s will be lost!!!
128IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Avoiding DM Fallback in Auto-RP/BSR Prior to IOS 12.3(4)T, 12.2(28)S Use RP-of-last-resort
• Assign local Loopback as RP-of-last-resort on each router.• Example
ip pim rp-address 10access-list 10 deny 224.0.1.39access-list 10 deny 224.0.1.40access-list 10 permit any
– Must also use ip pim sparse-dense mode interface command to support Auto-RP.
129IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Avoiding DM Fallback … Totally!! New IOS global command
no ip pim dm-fallback Recommended Totally prevents DM Fallback!!
– No DM Flooding since all state remains in SM
Default RP Address = 0.0.0.0 [nonexistent]– Used if all RP’s fail.
• Results in loss of Shared Tree.• All SPT’s remain active.
Added in 12.2(28)S
130IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Summary Multicast is Connection Oriented
– Connections are unidirectional– No traffic will flow unless connection is established end-to-end
Multicast is upside down from Unicast– Connections (Joins) are initiated from Receiver to the Source– Remember to “Stand on your Head” when Troubleshooting
Enable Multicast everywhere within Multicast Domain.– On all routers & interfaces.
Use SSM or Bidir for simplicity– Avoid ASM at all costs!
• Sometimes “Stuff” Happens in Networks and you can’t avoid it.– Dense Mode – Fuggidaboudit!
131IP Multicast Survival Guide I-2nd Edition-rev4.pptx
• White Papers
• Web and Mailers
• Cisco Press
More Information
RTFB = “Read the Fine Book”
132IP Multicast Survival Guide I-2nd Edition-rev4.pptx
Multicast Bedtime Stories
IP Multicast �Survival Guide Part 1 �Second EditionRules of EngagementSurvival Guide GoalAgendaWhy Multicast?Unicast vs. MulticastMulticast AdvantagesMulticast DisadvantagesMulticast FundamentalsMulticast FundamentalsIP Multicast Group ConceptMulticast AddressingMulticast Addressing - 224/4Multicast Addressing - 224/4 Multicast AddressingMulticast AddressingHow are Multicast Flows IdentifiedHost-Router Signaling: IGMPIGMPv3 – Membership Report Packet FormatIGMPv3 – Query Packet FormatIGMPv3 – Joining Group “G” Source “S” IGMPv3 – Querier ElectionIGMPv3 – Maintaining StateIGMPv3 – Leaving Group “G” Source “S”IGMPv3 – Leaving Group “G” Source “S”IGMPv3 – Leaving Group “G” Source “S”IGMPv3 – Leaving Group “G” Source “S”Unicast vs. Multicast Routing/ForwardingUnicast vs. Multicast Routing/ForwardingUnicast vs. Multicast Routing/ForwardingMulticast Tree BuildingMulticast Routing & ForwardingMulticast Routing & ForwardingMulticast Routing & ForwardingMulticast Routing & ForwardingMulticast Routing & ForwardingMulticast Routing & ForwardingMulticast Routing & ForwardingMulticast Routing & ForwardingMulticast Routing & ForwardingMulticast Routing & ForwardingMulticast Tree BuildingMulticast Tree BuildingMulticast Tree BuildingMulticast StateMulticast Routing & ForwardingMulticast FundamentalsMulticast FundamentalsMulticast FundamentalsSlide Number 50Types of Multicast TreesMulticast Distribution Tree TypesMulticast Distribution TreesMulticast Distribution TreesMulticast Distribution TreesMulticast Distribution TreesBidirectional Multicast�i.e. Bidir PIMBidirectional (BiDir) PIMPIM Modifications for BiDir OperationHow do hosts Join a Shared Tree using IGMPv3?IGMPv3 – Joining a Shared Tree for All Sources (*,G)Bidir Forwarding/Tree BuildingBidir Forwarding/Tree BuildingBidir Forwarding/Tree BuildingBidir Forwarding/Tree BuildingBidir Forwarding/Tree BuildingBidir Forwarding/Tree BuildingBidir Forwarding/Tree BuildingBidir Forwarding/Tree BuildingWhat Makes Multicast Complicated?Biggest Multicast Complicating FactorMulticast Complicating FactorJoining Group with IGMPv2Joining/Leaving with IGMPv2IGMPv2 – Joining a GroupIGMPv2 – Joining a GroupIGMPv2 – Maintaining a GroupIGMPv2 – Leaving a GroupAny-Source Multicast�i.e. ASM PIM�(The original Sparse Mode PIM)PIM-SM Shared Tree JoinPIM-SM Sender RegistrationPIM-SM Sender RegistrationPIM-SM Sender RegistrationPIM-SM SPT SwitchoverPIM-SM SPT SwitchoverPIM-SM SPT SwitchoverPIM-SM SPT SwitchoverPIM-SM SPT SwitchoverSlide Number 89But What about PIM Dense Mode???PIM-DMPIM-DM Flood & PrunePIM-DM Flood & PrunePIM-DM Flood & PrunePIM-DM Assert MechanismPIM-DM Assert ProblemPIM-DM Assert ProblemPIM-DM Assert ProblemPIM-DM Assert ProblemPotential PIM-DM Route LoopPotential PIM-DM Route LoopPotential PIM-DM Route LoopSo what about PIM Dense Mode??Protocol SummaryProtocol SummaryRP Configuration�(For ASM & Bidir)How Does the Network Learn RP Address?Static RPsAuto-RP – From 10,000 FeetAuto-RP – From 10,000 FeetBSR – From 10,000 FeetBSR – From 10,000 FeetBSR – From 10,000 FeetBSR – From 10,000 FeetAnycast RP (with MSDP) OverviewAnycast RP (with MSDP) OverviewConfiguration NotesGroup Mode vs. Interface ModeConfiguring InterfaceGroup ModeDense Mode FallbackSummary – PIM Configuration StepsConfiguring Auto-RPConfiguring BSR – BSR CandidatesConfiguring BSR – Candidate RPsConfiguring Anycast RPAvoiding DM Flooding with Auto-RPAvoiding DM Fallback in Auto-RP/BSRAvoiding DM Fallback … Totally!!SummaryMore InformationMulticast Bedtime Stories