Professional Documents
Culture Documents
Table of Contents
Table of Contents........................................................................................................ 2
I.
I.
Recommended Resources
1. Books
Routing TCP/IP Volume II
http://www.amazon.com/Routing-Volume-CCIE-ProfessionalDevelopment/dp/1578700892
2. Online Resources
Multicast Technology Documentation
http://www.cisco.com/c/en/us/tech/ip/ip-multicast/index.html
IP Multicast SRND
http://www.cisco.com/application/pdf/en/us/guest/tech/tk363/c1501/ccmigration_09186
a008015e7cc.pdf
What is Multicast
Multicast Disadvantages
1. IP Multicast is UDP
2. Connectionless transmission implies
Best effor delivery, no acknowledgments
No congestion avoidance, no slow start
Possible duplicate packets, usually only during reconvergence
Possible out of order packets, no resequencing in UDP applications
3. Workaround for critical applications (financial, stock data)
Send multiple multicast feeds through different physical ports of the
network
o Primary multicast feed (A-Feed)
o Backup multicast feed (B-Feed)
And the application will receive both feeds in, and if there is
reconvergence event in A-Feed, we still have a backup copu from BFeed
Like in SAN (Storage Area Networking) terms: SAN-A, SAN-B
IGMPv1
IGMPv2
1. Enchances IGMPv1 by adding
Querier election
o If multiple routers on the segment, who sends queries?
Tunable timers
o Can speed up query response timeouts
Group specific queries
o Query sent to the group address instead of all multicast hosts
Explicit leave
o Speeds up convergence if no other hosts are joined to that group
2. Backwards compatible with IGMPv1
3. By default, IOS runs IGMPv2
IGMPv3
PIM Modes
1. Dense Mode
Considered implicit join
All traffic unless you say you dont want it
Uses Flood & Prune behavior
2. Sparse Mode
Considered explicit join
No traffic unless you ask for it
Uses Rendezvous Point (RP) to process join requests
3. PIM modes control how the tree is built, and who receives what traffic
More detail later
1. Once the tree from sender to receiver(s) is built, traffic begins to flow
2. Because PIM cant quarantee its network are loop-free
3. Before forwarding, Data Plane checks occur
Reverse Path Forwardin (RPF) check
o Packet come inbound, check the source address of the sender
o Corelate this to Unicast routing table (route back to the sender)
o Was traffic received on the correct interface?
Multicast Routing Table (MRIB/MFIB)
o What interface(s) should I forward the packets out?
1. During exchange of PIM messages, routers learn where sources and receivers
exist
Interface facing upstream towards source is the incoming interface
Downstream links to receivers are outgoing interface list or OIL
Split-horizon like behavior link cannot be in incoming and in OIL at
the same time
2. If RPF check passes
Packets flow from incoming interface to all interfaces in the OIL
3. More information at
Multicast Forwarding Information Base Overview
Verifying IPv4 Multicast Forwarding Using the MFIB
II.
Overview
1. RFC 3973 Protocol Independent Multicast Dense Mode (PIM-DM)
2. Uses push model or implicit join
Called flood and prune
All traffic flooded throughout entire network
Router that have no receivers prune (unjoin) unused links
3. Only suitable for small multicast implementations
Doesnt scale because of flooding and (S,G) State creation
Amount of source group information state, as a new sender come up to
the network, every PIM devices on the network are gonna know those
individual sources
3. Once prune occurs, traffic flow stops but (S,G) remains in the table
Even after prune, traffic is periodically re-flooded at a set interval
R(config)#ip multicast-routing <distributed>
! use distributed keyword if the platform running distributed cef for multicast
R(config-if)#ip pim dense-mode
R#show ip pim neighbor
! need to be checked both side
! DR - Designated Router in dense-mode is not used for anything
R#show ip mroute
R#show ip mfib
R#show ip mroute count
R#show ip mfib count
PIMv2 Hello, src: self, dst: 224.0.0.13, protocol: 103
IGMPv2 Query, src: self, dst: 224.0.0.1 (all host)
- Is anybody listening for particular multicast group?
- Client who still listen for multicast will answer with Report
IGMPv2 Report, src: self, dst: 224.0.1.40 (all host)
- (As soon as enable multicast routing and pim) The router by default,
generating its own IGP report
- Im a member of group 224.0.1.40 / become receiver for this group, for AutoRP feature
- To fix recursion logic problem in Auto-RP
o You have to know about RP before you join RP
o You cant join it unless you know it
o Always gonna receive traffic from the mapping-agent
2 diff
-
order:
Sender come 1st
Receiver come 1st
In the case dense-mode: isnt really matter, in sparse-mode it does
Sender:
R#ping 224.1.1.1 repeat 1000
PIM Router:
#show ip mroute 224.1.1.1
Incoming interface: Gi1.45, PRF nbr 155.1.45.4 (if 0.0.0.0, it means the source is
directly connected)
Outgoing interface list: Null
Flag: PT (Prune, SPT-bit)
Prune: meaning this route is being prune
SPT-bit: In case of sparse mode this is significant, in case of dense mode it always
set because its always (S,G) entry
Receiver:
R(config-subif)#ip igmp join-group 224.1.1.1 (IGMPv1 or IGMPv2)
When enable PIM, Default is IGMPv2 on
R(config-subif)#ip igmp join-group 224.1.1.1 (IGMPv3)
Enable the IGMPv3 on the interface of next-hop router toward receiver
R#show ip igmp membership
R#Show ip mroute
R#show ip mroute
RPF neighbor will only be one, mcast doesnt support load balancing per flow
III.
Overview
1. RFC 4601 Protocol Independent Multicast Sparse Mode (PIM-SM)
2. Uses pull model or explicit join
Traffic is not flooded unless you ask for it
3. Uses both Shared Trees / Rendezvous Point (RPT) / and Source Tree /
Shortest Path Trees (SPT) (assuming not running Source-Specific Multicast)
Dense mode uses only shortest path/source trees
More scalable than dense mode and usually the better design choice
RP
==
R1(config)#int lo0
R1(config-if)#ip pim sparse
R1(config-if)#exit
R1(config)#ip pim rp-address 150.1.1.1
PIM Routers
==========
R(config)#ip pim rp-address 150.1.1.1
Line protocol on Interface Tunnel0, changed state to up
R#show run int tunnel0
R#show ip pim tunnel
Tunnel0
Type : PIM Encap
RP
: 150.1.1.1
Source
: 155.1.146.6
Tunnel interface
For PIM register messages for encapsulating/decapsulating them
On the RP, gonna have 2 tunnels: 1 encap, 1 decap
Other, gonna have 1 tunnel, decap
Optimization to fix an order of operation problem based on who is the DR of the PIM
domain
Verify
R#show ip pim rp
Group: 224.0.1.40, RP: 150.1.1.1, uptime
R#show ip pim rp mapping
Group(s): 224.0.0.0/4, Static
RP: 150.1.1.1 (?)
(?) is for dns resolution, problem (timeout hang) if 150.1.1.1 is unresolvable
Fix with:
- #no ip domain-lookup
- #ip host ROUTER1 150.1.1.1 RP: 150.1.1.1 (ROUTER1)
Sender
======
R9#ping 224.3.3.3 repeat 10000
Result
-------R7(DR)#show ip mroute 224.3.3.3
AAA
IV.
V.
Auto-RP
Without the RP
Auto-RP Review
Auto-RP Caveats
1. Dynamically learned RP mappings are preferred over statically configured
ones
Auto-RP Solutions
1. Default RP assignment
Assign a static RP for groups 224.0.1.39 and 224.0.1.40
Defeats the purpose of automatic assignment
2. PIM Sparse-Dense Mode
Dense for group without an RP
Sparse for all others
3. Auto-RP Listener feature
Dense for 224.0.1.39/224.0.1.40 only
Sparse for others
VI.
Bootstrap Router
1. RFC 5059 Bootstrap Router (BSR) Mechanism for Protocol Independent
Multicast (PIM)
Functionally similar to Auto-RP
2. Defines two roles in BSR domain
RP Candidate
i. Analogous to Candidate RP in Auto-RP
ii. Uses unicast PIM to advertise itself to the Bootstrap Router
Bootstrap Router (BSR)
i. Analogous to Mapping Agent in Auto-RP
ii. Advertises RP information to other routers with multicast PIM on
a hop-by-hop basis