Date created: Wednesday, February 7, 2018 4:27:22 PM. Last modified: Wednesday, March 28, 2018 5:17:11 PM
PIM-SM (ASM and SSM) in GRT
A basic multicast deployment inside the GRT using PIM-SM Any Source Multicast:
CLI Outputs:
SOURCE1#ping 230.0.0.1 source fa0/0 repeat 1000 Type escape sequence to abort. Sending 1000, 100-byte ICMP Echos to 230.0.0.1, timeout is 2 seconds: Packet sent with a source address of 10.0.11.2 Reply to request 0 from 10.0.21.1, 156 ms Reply to request 1 from 10.0.21.1, 76 ms Reply to request 1 from 10.0.21.1, 80 ms Reply to request 2 from 10.0.21.1, 52 ms Reply to request 3 from 10.0.21.1, 64 ms SOURCE2#ping 230.0.0.1 source 10.0.12.2 repeat 1000 Type escape sequence to abort. Sending 1000, 100-byte ICMP Echos to 230.0.0.1, timeout is 2 seconds: Packet sent with a source address of 10.0.12.2 Reply to request 0 from 10.0.21.1, 120 ms Reply to request 1 from 10.0.21.1, 56 ms Reply to request 1 from 10.0.21.1, 112 ms Reply to request 2 from 10.0.21.1, 116 ms PE1#show ip mroute IP Multicast Routing Table Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected, L - Local, P - Pruned, R - RP-bit set, F - Register flag, T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet, X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement, U - URD, I - Received Source Specific Host Report, Z - Multicast Tunnel, z - MDT-data group sender, Y - Joined MDT-data group, y - Sending to MDT-data group, V - RD & Vector, v - Vector Outgoing interface flags: H - Hardware switched, A - Assert winner Timers: Uptime/Expires Interface state: Interface, Next-Hop or VCD, State/Mode (*, 230.0.0.1), 00:28:37/stopped, RP 10.0.0.3, flags: SPF Incoming interface: FastEthernet1/1, RPF nbr 10.0.13.3 Outgoing interface list: Null (10.0.12.2, 230.0.0.1), 00:01:20/00:02:13, flags: FT Incoming interface: FastEthernet0/1, RPF nbr 0.0.0.0 Outgoing interface list: FastEthernet1/1, Forward/Sparse, 00:01:20/00:03:11 (10.0.11.2, 230.0.0.1), 00:02:01/00:02:10, flags: FT Incoming interface: FastEthernet0/0, RPF nbr 0.0.0.0 Outgoing interface list: FastEthernet1/1, Forward/Sparse, 00:02:01/00:03:06 (*, 224.0.1.40), 03:55:16/00:02:46, RP 10.0.0.3, flags: SJCL Incoming interface: FastEthernet1/1, RPF nbr 10.0.13.3 Outgoing interface list: Loopback0, Forward/Sparse, 03:55:16/00:02:46 RP1#show ip mroute IP Multicast Routing Table Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected, L - Local, P - Pruned, R - RP-bit set, F - Register flag, T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet, X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement, U - URD, I - Received Source Specific Host Report, Z - Multicast Tunnel, z - MDT-data group sender, Y - Joined MDT-data group, y - Sending to MDT-data group, V - RD & Vector, v - Vector Outgoing interface flags: H - Hardware switched, A - Assert winner Timers: Uptime/Expires Interface state: Interface, Next-Hop or VCD, State/Mode (*, 230.0.0.1), 00:27:20/stopped, RP 10.0.0.3, flags: S Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: FastEthernet1/0, Forward/Sparse, 00:11:44/00:03:22 (10.0.12.2, 230.0.0.1), 00:00:03/00:03:27, flags: T Incoming interface: FastEthernet1/1, RPF nbr 10.0.13.1 Outgoing interface list: FastEthernet1/0, Forward/Sparse, 00:00:03/00:03:26 (10.0.11.2, 230.0.0.1), 00:00:07/00:03:26, flags: T Incoming interface: FastEthernet1/1, RPF nbr 10.0.13.1 Outgoing interface list: FastEthernet1/0, Forward/Sparse, 00:00:07/00:03:22 (*, 224.0.1.40), 03:53:10/00:03:20, RP 10.0.0.3, flags: SJCL Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: FastEthernet1/1, Forward/Sparse, 03:40:36/00:03:15 FastEthernet1/0, Forward/Sparse, 03:41:30/00:03:20 Loopback0, Forward/Sparse, 03:53:10/00:02:29 PE2#show ip mroute IP Multicast Routing Table Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected, L - Local, P - Pruned, R - RP-bit set, F - Register flag, T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet, X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement, U - URD, I - Received Source Specific Host Report, Z - Multicast Tunnel, z - MDT-data group sender, Y - Joined MDT-data group, y - Sending to MDT-data group, V - RD & Vector, v - Vector Outgoing interface flags: H - Hardware switched, A - Assert winner Timers: Uptime/Expires Interface state: Interface, Next-Hop or VCD, State/Mode (*, 230.0.0.1), 00:24:30/stopped, RP 10.0.0.3, flags: SJC Incoming interface: FastEthernet1/0, RPF nbr 10.0.23.3 Outgoing interface list: FastEthernet0/0, Forward/Sparse, 00:12:29/00:02:22 (10.0.12.2, 230.0.0.1), 00:00:49/00:02:10, flags: JT Incoming interface: FastEthernet1/0, RPF nbr 10.0.23.3 Outgoing interface list: FastEthernet0/0, Forward/Sparse, 00:00:49/00:02:22 (10.0.11.2, 230.0.0.1), 00:00:52/00:02:07, flags: JT Incoming interface: FastEthernet1/0, RPF nbr 10.0.23.3 Outgoing interface list: FastEthernet0/0, Forward/Sparse, 00:00:52/00:02:22 (*, 224.0.1.40), 03:51:06/00:02:21, RP 10.0.0.3, flags: SJCL Incoming interface: FastEthernet1/0, RPF nbr 10.0.23.3 Outgoing interface list: FastEthernet0/0, Forward/Sparse, 00:10:39/00:02:21 Loopback0, Forward/Sparse, 03:51:06/00:01:56 LISTENER1#show ip mroute IP Multicast Routing Table Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected, L - Local, P - Pruned, R - RP-bit set, F - Register flag, T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet, X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement, U - URD, I - Received Source Specific Host Report, Z - Multicast Tunnel, z - MDT-data group sender, Y - Joined MDT-data group, y - Sending to MDT-data group, V - RD & Vector, v - Vector Outgoing interface flags: H - Hardware switched, A - Assert winner Timers: Uptime/Expires Interface state: Interface, Next-Hop or VCD, State/Mode (*, 230.0.0.1), 00:10:34/00:02:25, RP 0.0.0.0, flags: SJPL Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: Null (*, 224.0.1.40), 00:10:35/00:02:24, RP 0.0.0.0, flags: DPL Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: Null
Device Configs:
! PR1 ! ip multicast-routing ip pim register-source Loopback0 ip pim rp-address 10.0.0.3 int lo0 ip address 10.0.0.3 255.255.255.255 ip pim sparse-mode exit int fa1/1 no shut description Link-to-PE1 ip addr 10.0.13.3 255.255.255.0 ip ospf 1 area 0 ip pim sparse-mode exit int fa1/0 no shut description Link-to-PE2 ip addr 10.0.23.3 255.255.255.0 ip ospf 1 area 0 ip pim sparse-mode exit router ospf 1 router-id 10.0.0.3 passive-interface default no passive-interface fa1/1 no passive-interface fa1/0 network 10.0.0.3 0.0.0.0 area 0 exit ! PE1 ! ip multicast-routing ip pim rp-address 10.0.0.3 int lo0 ip address 10.0.0.1 255.255.255.255 ip pim sparse-mode exit int fa0/0 no shut description Link-to-SOURCE1 ip addr 10.0.11.1 255.255.255.0 ip pim sparse-mode exit int fa0/1 no shut description Link-to-SOURCE2 ip addr 10.0.12.1 255.255.255.0 ip ospf 1 area 0 ip pim sparse-mode exit int fa1/1 no shut description Link-to-RP1 ip addr 10.0.13.1 255.255.255.0 ip pim sparse-mode ip ospf 1 area 0 exit router ospf 1 router-id 10.0.0.1 passive-interface default no passive-interface fa1/1 network 10.0.0.1 0.0.0.0 area 0 network 10.0.11.0 0.0.0.255 area 0 ! The source addresses must be visible to build the RPF tree network 10.0.12.0 0.0.0.255 area 0 exit ! PE2 ! ip multicast-routing ip pim rp-address 10.0.0.3 int lo0 ip address 10.0.0.2 255.255.255.255 ip pim sparse-mode exit int fa0/0 no shut description Link-to-LISTENER1 ip addr 10.0.21.2 255.255.255.0 ip pim sparse-mode exit int fa1/0 no shut description Link-to-RP1 ip addr 10.0.23.2 255.255.255.0 ip ospf 1 area 0 ip pim sparse-mode exit router ospf 1 router-id 10.0.0.2 passive-interface default no passive-interface fa1/0 network 10.0.0.2 0.0.0.0 area 0 ! The listener addresses aren't required in the IGP exit ! SOURCE1 ! ip multicast-routing int fa0/0 no shut description Link-to-PE1 ip addr 10.0.11.2 255.255.255.0 exit ! SOURCE2 ! ip multicast-routing int fa0/1 no shut description Link-to-PE1 ip addr 10.0.12.2 255.255.255.0 exit ! LISTENER1 ! ip multicast-routing ip route 0.0.0.0 0.0.0.0 10.0.21.2 int fa0/0 no shut description Link-to-PE2 ip addr 10.0.21.1 255.255.255.0 ip pim sparse-mode ip igmp join-group 230.0.0.1 exit
SSM:
When LISTENER1 is configured with "ip igmp join-group 230.0.0.1" it joins the *,230.0.0.1 group. This is not source specific which is why both SOURCE1 and SOURCE2 receive replies to their ICMP echo requests (LISTENER1 is receiving both multicast IP streams, the ICMP echo requests). To implement SSM the global configuration command "ip pim ssm default" must be added to PE1, RP1, PE2 and LISTENER1. "ip igmp version 3" must be applied to fa0/0 on PE2 and LISTENER1 and then the IGMP join command on LISTENER1 under fa0/0 must be replaced with "ip igmp join-group 232.0.0.1 source 10.0.12.2". IGMPv2 doesn't support SSM join requests and SSM isn't enabled by default on IOS.
Now that SSM is configured SOURCE1 and SOURCE2 must ping a different multicast group address, something inside 232.0.0.0/8 which is the reserved SSM range by RFC4607. LISTENER1 will now only respond to the ICMP echo requests coming from 10.0.12.2 (SOURCE2):
LISTENER1#show ip mroute
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
L - Local, P - Pruned, R - RP-bit set, F - Register flag,
T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
U - URD, I - Received Source Specific Host Report,
Z - Multicast Tunnel, z - MDT-data group sender,
Y - Joined MDT-data group, y - Sending to MDT-data group,
V - RD & Vector, v - Vector
Outgoing interface flags: H - Hardware switched, A - Assert winner
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(10.0.12.2, 232.0.0.1), 00:10:59/00:02:21, flags: sPLTI
Incoming interface: FastEthernet0/0, RPF nbr 10.0.21.2
Outgoing interface list: Null
(*, 224.0.1.40), 00:14:49/00:02:21, RP 0.0.0.0, flags: DPL
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list: Null
PE2#show ip mroute
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
L - Local, P - Pruned, R - RP-bit set, F - Register flag,
T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
U - URD, I - Received Source Specific Host Report,
Z - Multicast Tunnel, z - MDT-data group sender,
Y - Joined MDT-data group, y - Sending to MDT-data group,
V - RD & Vector, v - Vector
Outgoing interface flags: H - Hardware switched, A - Assert winner
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(10.0.12.2, 232.0.0.1), 00:09:02/00:02:06, flags: sTI
Incoming interface: FastEthernet1/0, RPF nbr 10.0.23.3
Outgoing interface list:
FastEthernet0/0, Forward/Sparse, 00:08:22/00:02:06
(*, 224.0.1.40), 00:13:16/00:02:45, RP 10.0.0.3, flags: SJCL
Incoming interface: FastEthernet1/0, RPF nbr 10.0.23.3
Outgoing interface list:
FastEthernet0/0, Forward/Sparse, 00:13:16/00:02:06
Loopback0, Forward/Sparse, 00:13:16/00:02:45
RP1#show ip mroute
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
L - Local, P - Pruned, R - RP-bit set, F - Register flag,
T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
U - URD, I - Received Source Specific Host Report,
Z - Multicast Tunnel, z - MDT-data group sender,
Y - Joined MDT-data group, y - Sending to MDT-data group,
V - RD & Vector, v - Vector
Outgoing interface flags: H - Hardware switched, A - Assert winner
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(10.0.12.2, 232.0.0.1), 00:09:21/00:02:58, flags: sT
Incoming interface: FastEthernet1/1, RPF nbr 10.0.13.1
Outgoing interface list:
FastEthernet1/0, Forward/Sparse, 00:08:41/00:02:58
(*, 224.0.1.40), 00:37:58/00:02:43, RP 10.0.0.3, flags: SJCL
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
FastEthernet1/0, Forward/Sparse, 00:36:04/00:02:43
FastEthernet1/1, Forward/Sparse, 00:37:12/00:02:30
Loopback0, Forward/Sparse, 00:37:57/00:02:07
PE1#show ip mroute
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
L - Local, P - Pruned, R - RP-bit set, F - Register flag,
T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
U - URD, I - Received Source Specific Host Report,
Z - Multicast Tunnel, z - MDT-data group sender,
Y - Joined MDT-data group, y - Sending to MDT-data group,
V - RD & Vector, v - Vector
Outgoing interface flags: H - Hardware switched, A - Assert winner
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(10.0.12.2, 232.0.0.1), 00:09:33/00:02:47, flags: sT
Incoming interface: FastEthernet0/1, RPF nbr 0.0.0.0
Outgoing interface list:
FastEthernet1/1, Forward/Sparse, 00:08:53/00:02:47
(*, 224.0.1.40), 00:38:29/00:02:33, RP 10.0.0.3, flags: SJCL
Incoming interface: FastEthernet1/1, RPF nbr 10.0.13.3
Outgoing interface list:
Loopback0, Forward/Sparse, 00:38:28/00:02:33
SOURCE2#ping 232.0.0.1 repeat 1000
Type escape sequence to abort.
Sending 1000, 100-byte ICMP Echos to 232.0.0.1, timeout is 2 seconds:
Reply to request 0 from 10.0.21.1, 116 ms
Reply to request 1 from 10.0.21.1, 124 ms
Reply to request 2 from 10.0.21.1, 100 ms
Reply to request 3 from 10.0.21.1, 120 ms
SOURCE1#
SOURCE1#ping 232.0.0.1 repeat 1000
Type escape sequence to abort.
Sending 1000, 100-byte ICMP Echos to 232.0.0.1, timeout is 2 seconds:
......
Previous page: Explicit Path Interop (IOS-XR and Junos)
Next page: NAT