Multicast Solutions
Multicast Solutions
Multicast Solutions
PIM Assert
Assert Election: Lowest AD > Lowest Metric to source > Highest IP Address
router ospf 1
distance 80
Rack1R1#show ip mroute 239.6.6.6
(*, 239.6.6.6), 00:02:05/stopped, RP 0.0.0.0, flags: DC
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
FastEthernet0/0, Forward/Sparse-Dense, 00:02:05/00:00:00
Serial0/0.1, Forward/Sparse-Dense, 00:02:05/00:00:00
(155.1.108.10, 239.6.6.6), 00:00:22/00:02:46, flags: T
Incoming interface: Serial0/0.1, RPF nbr 155.1.0.5
Outgoing interface list:
FastEthernet0/0, Forward/Sparse-Dense, 00:00:24/00:00:00,
PIM Accept RP
! Must be configured at both DR and RP
ip access-list standard ALLOWED_GROUPS
permit 224.10.10.10
permit 224.110.110.110
!
ip pim accept-rp 150.1.5.5 ALLOWED_GROUP
PIM Accept Register (Only accepts specific source to register with the RP)
R5:
ip access-list extended VLAN146_SOURCES
deny ip host 155.1.146.6 any
permit ip 155.1.146.0 0.0.0.255 any
!
route-map ACCEPT_REGISTER deny 10
match ip address VLAN146_SOURCES
!
route-map ACCEPT_REGISTER permit 100
!
ip pim accept-register route-map ACCEPT_REGISTER
%PIM-4-INVALID_SRC_REG: Received Register from 155.1.0.1 for
(155.1.146.66, 224.10.10.10), not willing to be RP
Multicast Tunneling
! SW3 creates tunnel to R1 to receive multicast streams
interface Tunnel 0
ip unnumbered Loopback0
tunnel source Loopback0
tunnel destination 150.1.1.1
ip pim sparse-dense-mode
!
router ospf 1
passive-interface Tunnel0
!
ip mroute 0.0.0.0 0.0.0.0 tunnel 0
!
ip access-list standard SPARSE_GROUPS
permit 224.0.0.0 0.255.255.255
!
ip pim rp-address 150.1.5.5 SPARSE_GROUPS
Auto-RP
interface Loopback0
ip pim sparse-dense-mode
!
ip pim send-rp-announce Loopback 0 scope 10
ip pim send-rp-discovery loopback 0 scope 10
224.0.1.40
Auto-RP - Filtering Candidate RPs (cRP & Group filtering, applied at the Mapping Agent)
ip access-list standard RP_LIST
permit 150.1.10.10
!
ip access-list standard GROUP_LIST
deny 224.110.110.110
permit any
!
ip pim rp-announce-filter rp-list RP_LIST group-list GROUP_LIST
Auto-RP Listener (Auto-RP without risking any groups falling back to dense mode forwarding)
interface FastEthernet 0/0
ip pim sparse-mode
!
ip pim autorp listener
R3:
interface tunnel 1
tunnel source Loopback0
tunnel destination 150.1.1.1
ip unnumbered Loopback0
ip pim sparse-mode
!
! Static mroute is needed to allow R3
hearing
! Auto-RP discoveries from R1.
!
ip mroute 150.1.1.1 255.255.255.255 Tunnel
1
!
router ospf 1
passive-interface Tunnel1
R5#no ip pim send-rp-discovery loopback 0 scope 10
Multicast Boundary
ip access-list standard PERMITTED_GROUPS
deny 232.0.0.0 7.255.255.255
permit any
!
interface FastEthernet 0/0
ip multicast boundary PERMITTED_GROUPS filter-autorp
NOTE: This feature applies filtering to both the control plane traffic (IGMP, PIM, AutoRP) and data
plane (installing multicast route states out of the configured interface).
! filter-autorp - the router will inspect any Auto-RP messages (announces or discovery) and filter
away
those not matching the access-list.
<< RP Candidate
<< BSR Candidate
Filtering BSR Messages (BSR messages are not flooded or received on this link)
interface FastEthernet0/0
ip pim bsr-border
R3:
interface FastEthernet0/0
ip igmp helper-address
155.1.0.5
ip pim dense-mode
!
interface Serial 1/0.1
ip pim dense-mode
IGMP Filtering
ip access-list standard IGMP_FILTER
permit 239.1.1.0 0.0.0.255
R5:
access-list 33 deny
155.1.0.3
access-list 33 permit any
!
interface Serial 0/0
ip pim sparse-mode
ip pim neighbor-filter 33
!
interface FastEthernet0/0
ip igmp access-group IGMP_FILTER
ip igmp limit 10
IGMP Timers
R1:
interface FastEthernet0/0
ip igmp query-interval 20
ip igmp query-max-response-time 4
ip igmp last-member-query-count <N> << number of query needed to check if there are any
other hosts on the segment that still need this group,
when the router receives a leave report. Default is 2.
ip igmp last-member-query-interval <ms> - Interval that the queries are sent, default is 1000ms.
R3:
ip access-list standard IMMEDIATE_LEAVE
permit 239.1.1.0 0.0.0.255
!
interface FastEthernet 0/0
ip igmp immediate-leave group-list IMMEDIATE_LEAVE
! If there is an IGMP leave message received on the interface for a group matching the access-list,
the mroute
! state is immediately removed, without any further delays.
R4:
interface FastEthernet0/1
ip igmp querier-timeout 60 << will attempt to become a designated querier if no response from
the querier
Rack1R4#show ip igmp interface fastEthernet 0/1
Multicast Helper Map (converts the broadcast destination address to the fixed multicast
address)
R1:
ip forward-protocol udp 5000
!
ip access-list extended TRAFFIC
permit udp any any eq 5000
permit udp any any eq 53
! Redirect broadcast packets to the selected multicast address. The access-list controls which
broadcast
! packets are eligible to be converted into the multicast
interface FastEthernet 0/0
ip multicast helper-map broadcast 239.1.1.100 TRAFFIC
R3:
ip forward-protocol udp 5000
ip multicast multipath
!
paths
Bidirectional PIM
PIM BiDir uses single distribution tree rooted at the RP for all sources and receivers at the same time.
When a source
sends multicast packets, they first flow up to the root of the tree (the RP) and then down to all
receivers. PIM BiDir does
not use source registration procedure. Every source may start sending at any time, and the packets
will flow upwards
to the RP. Packets are either dropped, if there are no receivers for this group or forwarded down the
BiDir tree.
Designated Forwarder - the router on the link that has shortest metric to reach the RP is the DF for
this link
R1, R3, R4, SW2, SW4:
ip pim bidir-enable
R5:
ip pim bidir-enable
ip access-list standard GROUP238
permit 238.0.0.0 0.255.255.255
! May use AutoRP or BSR
ip pim rp-candidate Loopback 0 group-list GROUP238 bidir
Rack1R1#show ip mroute 238.1.1.1
<< Mroute output of the receiver
(*, 238.1.1.1), 00:08:15/00:02:59, RP 150.1.5.5, flags: BCL
Bidir-Upstream: Serial0/0.1, RPF nbr 155.1.0.5
Outgoing interface list:
FastEthernet0/0, Forward/Sparse, 00:08:15/00:02:40
Serial0/0.1, Bidir-Upstream/Sparse, 00:08:15/00:00:00
Rack1R5#show ip mroute 238.1.1.1
<< Mroute output from the RP
(*, 238.1.1.1), 00:26:24/00:03:05, RP 150.1.5.5, flags: B
Bidir-Upstream: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Serial0/0, 155.1.0.1, Forward/Sparse, 00:12:58/00:00:00
FastEthernet0/0, Forward/Sparse, 00:26:24/00:02:53
R6:
interface FastEthernet 0/0.146
ip igmp version 3
ip igmp join 232.6.6.6 source 150.1.10.10
ip pim ssm range {default|range <Standard-ACL>}
NOTE: There are no shared trees in PIM SSM and no RPs used. The range specifies the groups that
are using SSM
signaling. The default keyword means that range 232.0.0.0/8 will be used for SSM. For the groups in
the SSM range, no
shared trees are allowed and (*,G) Joins are dropped.
Rack1R1#show ip igmp groups 232.6.6.6 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: FastEthernet0/0
Group:
232.6.6.6
Flags:
SSM
Uptime:
00:26:06
Group mode: INCLUDE
Last reporter: 155.1.146.6
Group 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 Flags
150.1.10.10 00:26:06 00:02:54 stopped Yes R
DVMRP Interoperability
ip dvmrp interoperability
!access-list 40 permit 155.1.0.0 0.0.255.255
!
interface FastEthernet0/1
ip dvmrp metric 1 list 40 eigrp 100
SW1:
router bgp 100
address-family ipv4 multicast
neighbor IBGP route-reflector-client
neighbor 150.1.3.3 peer-group IBGP
neighbor 150.1.6.6 peer-group IBGP
neighbor 150.1.9.9 peer-group IBGP
SW3:
router bgp 100
R4:
route-map PREPEND
set as-path prepend 200 200 200
!
router bgp 200
address-family ipv4 multicast
neighbor 155.1.146.6 activate
redistribute eigrp 100
neighbor 155.1.146.6 route-map PREPEND out
neighbor 150.1.5.5 activate
!
interface FastEthernet 0/1
ip pim sparse-mode
ip pim bsr-border
R5:
router bgp 200
address-family ipv4 multicast
neighbor 155.1.0.3 activate
redistribute eigrp 100
neighbor IBGP route-reflector-client
neighbor 150.1.4.4 peer-group IBGP
neighbor 150.1.8.8 peer-group IBGP
neighbor 150.1.10.10 peer-group IBGP
neighbor IBGP next-hop-self
!
interface Serial 0/0
ip pim sparse-mode
ip pim bsr-border
SW2:
router bgp 200
address-family ipv4 multicast
neighbor 150.1.5.5 activate
SW4:
router bgp 200
address-family ipv4 multicast
neighbor 150.1.5.5 activate
MSDP
R5:
ip msdp peer 150.1.7.7 connect-source Loopback 0
ip msdp peer 150.1.7.7 remote-as 100
SW2:
ip msdp peer 150.1.7.7 connect-source Loopback 0
ip msdp peer 150.1.7.7 remote-as 100
SW1:
ip msdp
ip msdp
ip msdp
ip msdp
peer
peer
peer
peer
150.1.5.5
150.1.5.5
150.1.8.8
150.1.8.8
remote-as 200
connect-source Loopback 0
remote-as 200
connect-source Loopback 0
: Enabled
: Enabled
: Disabled
:2
: 1000
Vlan 146:
-------IGMP snooping
: Enabled
IGMPv2 immediate leave
: Enabled
Explicit host tracking
: Enabled
Multicast router learning mode
: pim-dvmrp
Last Member Query Interval : 1000
CGMP interoperability mode : IGMP_ONLY
Rack1SW1#show ip igmp snooping groups vlan 146
Vlan Group
Type Version
Port List
---------------------------------------------------------------146
239.1.1.100 igmp v2
Fa0/1, Fa0/19
Catalyst IGMP Profiles (similar to ip igmp access group used in routers, only ingress)
SW4:
ip igmp profile 1
permit
range 232.0.0.0 232.255.255.255
range 239.0.0.0 239.255.255.255
!
interface FastEthernet 0/4
ip igmp filter 1
R4:
interface FastEthernet0/1
ip igmp join-group 239.4.4.4
ip igmp join-group 230.4.4.4
Rack1SW4#show ip igmp snooping groups vlan 146
Vlan Group
Version
Port List
-----------------------------------------------------------146
224.0.1.40
v2
Fa0/13
146
239.4.4.4
v2
Fa0/4