DMVPN and Multicast(Static RP-2)
HQ:R11 Multicast Source BRANCH-A:R22 Multicast Receiver-A BRANCH-B:R33 Multicast Receiver-B
Create Lo0 interface on R1,
and configure it as a RP address.
R1 interface Tunnel0 ip address 10.0.0.1 255.255.255.0 ip nhrp map multicast dynamic ip nhrp network-id 123
ip nhrp redirect
ip ospf network point-to-multipoint
tunnel mode gre multipoint
tunnel source FastEthernet0/0
interface FastEthernet0/0 ip address 155.0.0.1 255.255.255.0
interface FastEthernet0/1 ip address 192.168.1.1 255.255.255.0
interface Loopback 0 ip address 1.1.1.1 255.255.255.255
router ospf 123 router-id 1.1.1.1 network 10.0.0.1 0.0.0.0 area 0 network 192.168.1.1 0.0.0.0 area 0
R2
interface Tunnel0 ip address 10.0.0.2 255.255.255.0 no ip redirects ip nhrp map multicast 155.0.0.1 ip nhrp map 10.0.0.1 155.0.0.1 ip nhrp network-id 123 ip nhrp nhs 10.0.0.1
ip nhrp shortcut ip ospf network point-to-multipoint tunnel mode gre multipoint
tunnel source FastEthernet0/0
interface FastEthernet0/0 ip address 155.0.0.2 255.255.255.0
interface FastEthernet0/1 ip address 192.168.2.2 255.255.255.0
router ospf 123 router-id 2.2.2.2 network 10.0.0.2 0.0.0.0 area 0 network 192.168.2.2 0.0.0.0 area 0
R3 interface Tunnel0 ip address 10.0.0.3 255.255.255.0 no ip redirects ip nhrp map multicast 155.0.0.1 ip nhrp map 10.0.0.1 155.0.0.1 ip nhrp network-id 123 ip nhrp nhs 10.0.0.1
ip nhrp shortcut ip ospf network point-to-multipoint tunnel mode gre multipoint
tunnel source FastEthernet0/0
interface FastEthernet0/0 ip address 155.0.0.3 255.255.255.0
interface FastEthernet0/1 ip address 192.168.3.3 255.255.255.0
router ospf 123 router-id 3.3.3.3 network 10.0.0.3 0.0.0.0 area 0 network 192.168.3.3 0.0.0.0 area 0
R1/R2/R3 crypto isakmp policy 123 encr 3des hash sha256 authentication pre-share group 2
crypto isakmp key CCIE address 0.0.0.0
crypto ipsec transform-set TRANS esp-3des esp-sha256-hmac mode transport
crypto ipsec profile PROFILE set transform-set TRANS
interface Tunnel0 tunnel protection ipsec profile PROFILE
R11 interface FastEthernet0/0 ip address 192.168.1.11 255.255.255.0
ip route 0.0.0.0 0.0.0.0 192.168.1.1
R22 interface FastEthernet0/0 ip address 192.168.2.22 255.255.255.0
ip route 0.0.0.0 0.0.0.0 192.168.2.2
R33 interface FastEthernet0/0 ip address 192.168.3.33 255.255.255.0
ip route 0.0.0.0 0.0.0.0 192.168.3.3
Configure Multicast Static RP
RP: R1 Loopback 0
R1 ip multicast-routing
interface Tunnel0 ip pim sparse-mode
interface FastEthernet0/1 ip pim sparse-mode
interface Loopback0 ip pim sparse-mode
ip pim rp-address 1.1.1.1
R2/R3
ip multicast-routing
interface Tunnel0 ip pim sparse-mode
interface FastEthernet0/1 ip pim sparse-mode
ip pim rp-address 1.1.1.1
show ip mroute
R1#sh ip mroute
(*, 224.0.1.40), 00:09:30/00:02:57, RP 1.1.1.1, flags: SJCL Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: FastEthernet0/1, Forward/Sparse, 00:09:30/00:02:57
R2#sh ip mroute
(*, 224.0.1.40), 00:27:04/00:02:58, RP 1.1.1.1, flags: SJCL Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: FastEthernet0/1, Forward/Sparse, 00:27:02/00:02:58
R3#sh ip mroute
(*, 224.0.1.40), 00:15:14/00:02:47, RP 1.1.1.1, flags: SJCL Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: FastEthernet0/1, Forward/Sparse, 00:15:14/00:02:47
show ip pim rp mapping
R1#sh ip pim rp mapping PIM Group-to-RP Mappings
Group(s): 224.0.0.0/4, Static RP: 1.1.1.1 (?)
R2#sh ip pim rp mapping PIM Group-to-RP Mappings
Group(s): 224.0.0.0/4, Static RP: 1.1.1.1 (?)
R3#sh ip pim rp mapping PIM Group-to-RP Mappings
Group(s): 224.0.0.0/4, Static RP: 1.1.1.1 (?)
show ip rpf 1.1.1.1
R1#sh ip rpf 1.1.1.1 RPF information for ? (1.1.1.1) RPF interface: Loopback0 RPF neighbor: ? (1.1.1.1) - directly connected RPF route/mask: 1.1.1.1/32 RPF type: multicast (connected) Doing distance-preferred lookups across tables RPF topology: ipv4 multicast base
R2#sh ip rpf 1.1.1.1 failed, no route exists
R3#sh ip rpf 1.1.1.1 failed, no route exists
RPF check is fail.
Send multicast packets
R11#ping 239.255.1.1 Type escape sequence to abort. Sending 1, 100-byte ICMP Echos to 239.255.1.1, timeout is 2 seconds: .
R1#sh ip mroute
(*, 239.255.1.1), 00:00:08/stopped, RP 1.1.1.1, flags: SP Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: Null
(192.168.1.11, 239.255.1.1), 00:00:08/00:02:51, flags: PT Incoming interface: FastEthernet0/1, RPF nbr 0.0.0.0 Outgoing interface list: Null
(*, 224.0.1.40), 00:11:34/00:02:45, RP 1.1.1.1, flags: SJCL Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: FastEthernet0/1, Forward/Sparse, 00:11:34/00:02:45
R2#sh ip mroute
(*, 224.0.1.40), 00:29:01/00:02:04, RP 1.1.1.1, flags: SJCL Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: FastEthernet0/1, Forward/Sparse, 00:29:00/00:02:04
R3#sh ip mroute
(*, 224.0.1.40), 00:17:18/00:02:40, RP 1.1.1.1, flags: SJCL Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: FastEthernet0/1, Forward/Sparse, 00:17:18/00:02:40
Incoming interface is still Null.
Set static mroute
R2/R3 ip mroute 1.1.1.1 255.255.255.255 10.0.0.1
R2#sh ip rpf 1.1.1.1 RPF information for ? (1.1.1.1) RPF interface: Tunnel0 RPF neighbor: ? (10.0.0.1) RPF route/mask: 1.1.1.1/32 RPF type: multicast (static) Doing distance-preferred lookups across tables RPF topology: ipv4 multicast base, originated from ipv4 unicast base
R3#sh ip rpf 1.1.1.1 RPF information for ? (1.1.1.1) RPF interface: Tunnel0 RPF neighbor: ? (10.0.0.1) RPF route/mask: 1.1.1.1/32 RPF type: multicast (static) Doing distance-preferred lookups across tables RPF topology: ipv4 multicast base, originated from ipv4 unicast base
R1#sh ip mroute
(*, 224.0.1.40), 00:00:01/00:02:58, RP 1.1.1.1, flags: SJCL Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: FastEthernet0/1, Forward/Sparse, 00:00:01/00:02:58
R2#sh ip mroute
(*, 224.0.1.40), 00:32:53/00:02:09, RP 1.1.1.1, flags: SJCL Incoming interface: Tunnel0, RPF nbr 10.0.0.1, Mroute Outgoing interface list: FastEthernet0/1, Forward/Sparse, 00:32:51/00:02:09
R3#sh ip mroute
(*, 224.0.1.40), 00:02:57/00:02:01, RP 1.1.1.1, flags: SJCL Incoming interface: Tunnel0, RPF nbr 10.0.0.1, Mroute Outgoing interface list: FastEthernet0/1, Forward/Sparse, 00:02:57/00:02:01
R2 and R3 successed RPF check, so Incoming interface became Tunnel 0.
Set ip igmp join-group command on R22/R33
R22/R33 interface FastEthernet0/0 ip igmp join-group 239.255.1.1
R1#sh ip mroute
(*, 224.0.1.40), 00:00:02/00:02:57, RP 1.1.1.1, flags: SJCL R2#sh ip mroute
(*, 239.255.1.1), 00:00:28/00:02:54, RP 1.1.1.1, flags: SJC
Incoming interface: Tunnel0, RPF nbr 10.0.0.1, Mroute Outgoing interface list: FastEthernet0/1, Forward/Sparse, 00:00:28/00:02:54
(*, 224.0.1.40), 00:39:07/00:01:59, RP 1.1.1.1, flags: SJCL Incoming interface: Tunnel0, RPF nbr 10.0.0.1, Mroute Outgoing interface list: FastEthernet0/1, Forward/Sparse, 00:39:06/00:01:59
R3#sh ip mroute (*, 239.255.1.1), 00:00:51/00:02:36, RP 1.1.1.1, flags: SJC Incoming interface: Tunnel0, RPF nbr 10.0.0.1, Mroute Outgoing interface list: FastEthernet0/1, Forward/Sparse, 00:00:51/00:02:36
(*, 224.0.1.40), 00:27:28/00:02:38, RP 1.1.1.1, flags: SJCL Incoming interface: Tunnel0, RPF nbr 10.0.0.1, Mroute Outgoing interface list: FastEthernet0/1, Forward/Sparse, 00:27:28/00:02:38
Send multicast packets again
R11#ping 239.255.1.1 Type escape sequence to abort. Sending 1, 100-byte ICMP Echos to 239.255.1.1, timeout is 2 seconds:
Reply to request 0 from 192.168.3.33, 156 ms Reply to request 0 from 192.168.2.22, 156 ms
show ip mroute
R1#sh ip mroute (*, 239.255.1.1), 00:03:05/00:02:49, RP 1.1.1.1, flags: S Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: Tunnel0, Forward/Sparse, 00:01:43/00:02:49
(192.168.1.11, 239.255.1.1), 00:03:05/00:03:24, flags: T Incoming interface: FastEthernet0/1, RPF nbr 0.0.0.0 Outgoing interface list: Tunnel0, Forward/Sparse, 00:01:43/00:03:11
(*, 224.0.1.40), 00:23:32/00:02:54, RP 1.1.1.1, flags: SJCL Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: Tunnel0, Forward/Sparse, 00:07:55/00:03:01 FastEthernet0/1, Forward/Sparse, 00:23:32/00:02:54
R2#sh ip mroute (*, 239.255.1.1), 00:02:06/stopped, RP 1.1.1.1, flags: SJC Incoming interface: Tunnel0, RPF nbr 10.0.0.1, Mroute Outgoing interface list: FastEthernet0/1, Forward/Sparse, 00:02:06/00:02:25
(192.168.1.11, 239.255.1.1), 00:00:40/00:02:19, flags: JT Incoming interface: Tunnel0, RPF nbr 10.0.0.1 Outgoing interface list: FastEthernet0/1, Forward/Sparse, 00:00:40/00:02:25
(*, 224.0.1.40), 00:40:44/00:02:22, RP 1.1.1.1, flags: SJCL Incoming interface: Tunnel0, RPF nbr 10.0.0.1, Mroute Outgoing interface list: FastEthernet0/1, Forward/Sparse, 00:40:43/00:02:22
R3#sh ip mroute (*, 239.255.1.1), 00:02:26/stopped, RP 1.1.1.1, flags: SJC Incoming interface: Tunnel0, RPF nbr 10.0.0.1, Mroute Outgoing interface list: FastEthernet0/1, Forward/Sparse, 00:02:26/00:01:56
(192.168.1.11, 239.255.1.1), 00:01:04/00:01:55, flags: JT Incoming interface: Tunnel0, RPF nbr 10.0.0.1 Outgoing interface list: FastEthernet0/1, Forward/Sparse, 00:01:04/00:01:56
(*, 224.0.1.40), 00:29:03/00:02:57, RP 1.1.1.1, flags: SJCL Incoming interface: Tunnel0, RPF nbr 10.0.0.1, Mroute Outgoing interface list: FastEthernet0/1, Forward/Sparse, 00:29:03/00:02:57
R2#ping 1.1.1.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds: ..... Success rate is 0 percent (0/5)
R2#sh ip route 1.1.1.1 % Network not in table
R2#sh ip pim rp mapping PIM Group-to-RP Mappings
Group(s): 224.0.0.0/4, Static RP: 1.1.1.1 (?)
R2#sh ip rpf 1.1.1.1 RPF information for ? (1.1.1.1) RPF interface: Tunnel0 RPF neighbor: ? (10.0.0.1) RPF route/mask: 1.1.1.1/32 RPF type: multicast (static) Doing distance-preferred lookups across tables RPF topology: ipv4 multicast base, originated from ipv4 unicast base
R2 and R3 can NOT reach 1.1.1.1 as unicast,
but they can comunicate multicast via 1.1.1.1 as a RP address.
Remove Static mroute and Configure Static unicastroute
R2/R3
no ip mroute 1.1.1.1 255.255.255.255 10.0.0.1
ip route 1.1.1.1 255.255.255.255 10.0.0.1
clear ip mroute *
R2#sh ip rpf 1.1.1.1 RPF information for ? (1.1.1.1) RPF interface: Tunnel0 RPF neighbor: ? (10.0.0.1) RPF route/mask: 1.1.1.1/32 RPF type: unicast (static) Doing distance-preferred lookups across tables RPF topology: ipv4 multicast base, originated from ipv4 unicast base
R3#sh ip rpf 1.1.1.1 RPF information for ? (1.1.1.1) RPF interface: Tunnel0 RPF neighbor: ? (10.0.0.1) RPF route/mask: 1.1.1.1/32
RPF type: unicast (static)
Doing distance-preferred lookups across tables RPF topology: ipv4 multicast base, originated from ipv4 unicast base
R2#sh ip mroute
(*, 224.0.1.40), 00:00:02/00:02:57, RP 1.1.1.1, flags: SJCL Incoming interface: Tunnel0, RPF nbr 10.0.0.1, Mroute Outgoing interface list: FastEthernet0/1, Forward/Sparse, 00:00:02/00:02:57
R3#sh ip mroute
(*, 224.0.1.40), 00:00:02/00:02:57, RP 1.1.1.1, flags: SJCL Incoming interface: Tunnel0, RPF nbr 10.0.0.1, Mroute Outgoing interface list: FastEthernet0/1, Forward/Sparse, 00:00:02/00:02:57
R2 and R3 successed RPF check by unicast static-routing,
so Incoming interface became Tunnel 0.
Send multicast packets again
R11#ping 239.255.1.1 Type escape sequence to abort. Sending 1, 100-byte ICMP Echos to 239.255.1.1, timeout is 2 seconds:
Reply to request 0 from 192.168.3.33, 252 ms Reply to request 0 from 192.168.2.22, 256 ms
show ip mroute
R1#sh ip mroute (*, 239.255.1.1), 00:04:53/00:03:23, RP 1.1.1.1, flags: S Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: Tunnel0, Forward/Sparse, 00:02:20/00:03:23
(192.168.1.11, 239.255.1.1), 00:00:18/00:02:41, flags: T Incoming interface: FastEthernet0/1, RPF nbr 0.0.0.0 Outgoing interface list: Tunnel0, Forward/Sparse, 00:00:18/00:03:23
(*, 224.0.1.40), 00:23:32/00:02:54, RP 1.1.1.1, flags: SJCL Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: Tunnel0, Forward/Sparse, 00:02:20/00:03:14
Loopback0, Forward/Sparse, 00:05:03/00:02:59
R2#sh ip mroute (*, 239.255.1.1), 00:05:34/stopped, RP 1.1.1.1, flags: SJC Incoming interface: Tunnel0, RPF nbr 10.0.0.1 Outgoing interface list: FastEthernet0/1, Forward/Sparse, 00:05:34/00:02:25
(192.168.1.11, 239.255.1.1), 00:00:38/00:02:21, flags: JT Incoming interface: Tunnel0, RPF nbr 10.0.0.1 Outgoing interface list: FastEthernet0/1, Forward/Sparse, 00:00:38/00:02:25
(*, 224.0.1.40), 00:05:39/00:02:28, RP 1.1.1.1, flags: SJCL Incoming interface: Tunnel0, RPF nbr 10.0.0.1 Outgoing interface list: FastEthernet0/1, Forward/Sparse, 00:40:43/00:02:22
R3#sh ip mroute (*, 239.255.1.1), 00:03:46/stopped, RP 1.1.1.1, flags: SJC Incoming interface: Tunnel0, RPF nbr 10.0.0.1 Outgoing interface list: FastEthernet0/1, Forward/Sparse, 00:03:46/00:02:13
(192.168.1.11, 239.255.1.1), 00:01:01/00:01:58, flags: JT Incoming interface: Tunnel0, RPF nbr 10.0.0.1 Outgoing interface list: FastEthernet0/1, Forward/Sparse, 00:01:01/00:02:13
(*, 224.0.1.40), 00:03:56/00:02:14, RP 1.1.1.1, flags: SJCL Incoming interface: Tunnel0, RPF nbr 10.0.0.1 Outgoing interface list: FastEthernet0/1, Forward/Sparse, 00:03:56/00:02:14
R2#ping 1.1.1.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 92/163/212 ms
R2#sh ip route 1.1.1.1 Routing entry for 1.1.1.1/32 Known via "static", distance 1, metric 0 Routing Descriptor Blocks: * 10.0.0.1 Route metric is 0, traffic share count is 1
R2 and R3 can reach 1.1.1.1 as unicast as well.