PIM Sparse Mode
(PIM-SM) PIM Sparse Mode explicitly builds unidirectional shared trees rooted at
a (RP) rendezvous point per
group and optionally creates shortest-path trees per source. (PIM-SM) PIM Sparse Mode generally
scales fairly well for wide-area usage.
Sparse-mode protocol does not forward the group traffic to any
other router unless it receives a message from that router requesting copies of packets sent to a particular group.
The PIM spare mode operation begins with the packet being
forwarded to a special router called the rendezvous point (RP).
PIM Sparse Mode uses explicit join means (not receive unless you ask for it). PIM Sparse Mode uses both a shared tree & source tree, more scalable.
let's see the configuration for a better understanding.
Topology:
GOAL:
- configure the topology as per the diagram
- configure the IP addresses as per the topology
- configure OSPF 100 to advertise the interfaces
- configure manually IGMP multicast group membership on router 2 for testing.
- configure router 2 loopback (120.1.1.1) a static rendezvous point (RP) advertised in OSPF 100 with the mask 32.
- configure the RP address on all the routers.
R1#show ip interface brief
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 10.1.1.1 YES NVRAM up up
Serial3/0 1.1.1.1 YES NVRAM up up
Serial3/2 3.3.3.2 YES NVRAM up up
R2#show ip interface brief
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 20.1.1.1 YES NVRAM up up
Serial3/0 1.1.1.2 YES NVRAM up up
Serial3/1 2.2.2.1 YES NVRAM up up
Loopback0 120.1.1.1 YES NVRAM up up
R3#show ip interface brief
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 30.1.1.1 YES NVRAM up up
Serial3/1 2.2.2.2 YES NVRAM up up
Serial3/2 3.3.3.1 YES NVRAM up up
Serial3/3 4.4.4.2 YES NVRAM up up
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 40.1.1.1 YES NVRAM up up
Serial3/3 4.4.4.1 YES NVRAM up up
R1(config)#router ospf 100
R1(config-router)#network 10.0.0.0 0.255.255.255 area 0
R1(config-router)#network 1.0.0.0 0.255.255.255 area 0
R1(config-router)#network 3.0.0.0 0.255.255.255 area 0
R1(config-router)#exit
*Nov 19 20:58:03.523: %OSPF-5-ADJCHG: Process 100, Nbr
120.1.1.1 on Serial3/0 from LOADING to FULL, Loading Done
*Nov 19 20:58:52.515: %OSPF-5-ADJCHG: Process 100, Nbr
30.1.1.1 on Serial3/2 from LOADING to FULL, Loading Done
R2(config)#router ospf 100
R2(config-router)#network 20.0.0.0 0.255.255.255 area 0
R2(config-router)#network 2.0.0.0 0.255.255.255 area 0
R2(config-router)#network 1.0.0.0 0.255.255.255 area 0
R2(config-router)#exit
*Nov 19 20:58:03.611: %OSPF-5-ADJCHG: Process 100, Nbr
3.3.3.2 on Serial3/0 from LOADING to FULL, Loading Done
*Nov 19 20:58:57.567: %OSPF-5-ADJCHG: Process 100, Nbr
30.1.1.1 on Serial3/1 from LOADING to FULL, Loading Done
R3(config-router)#network 30.0.0.0 0.255.255.255 area 0
R3(config-router)#network 3.0.0.0 0.255.255.255 area 0
R3(config-router)#network 2.0.0.0 0.255.255.255 area 0
R3(config-router)#network 4.0.0.0 0.255.255.255 area 0
R3(config-router)#exit
*Nov 19 20:58:52.531: %OSPF-5-ADJCHG: Process 100, Nbr
3.3.3.2 on Serial3/2 from LOADING to FULL, Loading Done
*Nov 19 20:58:57.443: %OSPF-5-ADJCHG: Process 100, Nbr
120.1.1.1 on Serial3/1 from LOADING to FULL, Loading Done
R4(config)#router ospf 100
R4(config-router)#network 40.0.0.0 0.255.255.255 area 0
R4(config-router)#network 4.0.0.0 0.255.255.255 area 0
R4(config-router)#exit
*Nov 19 21:01:57.783: %OSPF-5-ADJCHG: Process 100, Nbr
30.1.1.1 on Serial3/3 from LOADING to FULL, Loading Done
R1(config)#ip multicast-routing
R1(config)#interface serial 3/0
R1(config-if)#ip pim sparse-mode
R1(config-if)#exit
R1(config-if)#interface serial 3/2
R1(config-if)#ip pim sparse-mode
R1(config-if)#exit
R1(config)#interface fastEthernet 0/0
R1(config-if)#ip pim sparse-mode
R1(config-if)#exit
*Nov 19 21:07:27.535: %PIM-5-DRCHG: DR change from neighbor
0.0.0.0 to 10.1.1.1 on interface FastEthernet0/0
R2(config)#ip multicast-routing
R2(config)#interface serial 3/0
R2(config-if)#ip pim sparse-mode
R2(config-if)#exit
R2(config)#interface serial 3/1
R2(config-if)#ip pim sparse-mode
R2(config-if)#exit
R2(config)#interface fastEthernet 0/0
R2(config-if)#ip pim sparse-mode
R2(config-if)#exit
R3(config)#ip multicast-routing
R3(config)#interface serial 3/1
R3(config-if)#ip pim sparse-mode
R3(config-if)#exit
R3(config)#interface serial 3/2
R3(config-if)#ip pim sparse-mode
R3(config-if)#exit
R3(config)#interface serial 3/3
R3(config-if)#ip pim sparse-mode
R3(config-if)#exit
R3(config)#interface fastEthernet 0/0
R3(config-if)#ip pim sparse-mode
R3(config-if)#exit
R4(config)#ip multicast-routing
R4(config)#interface serial 3/3
R4(config-if)#ip pim sparse-mode
R4(config-if)#exit
R4(config)#interface fastEthernet 0/0
R4(config-if)#ip pim sparse-mode
R4(config-if)#exit
*Nov 19 21:12:44.031: %PIM-5-DRCHG: DR change from neighbor
0.0.0.0 to 40.1.1.1 on interface FastEthernet0/0
R1#show ip pim interface
Address
Interface Ver/ Nbr
Query DR DR
Mode Count Intvl
Prior
10.1.1.1
FastEthernet0/0 v2/S 0
30 1 10.1.1.1
1.1.1.1 Serial3/0 v2/S 1
30 1 0.0.0.0
3.3.3.2
Serial3/2 v2/S 1
30 1 0.0.0.0
R2(config)#router ospf 100
R2(config-router)#network 120.0.0.0 255.0.0.0 area 0
R2(config-router)#exit
R1(config)#ip pim rp-address 120.1.1.1
R1(config)#exit
*Nov 19 22:18:17.103: %LINEPROTO-5-UPDOWN: Line protocol on
Interface Tunnel0, changed state to up
R2(config)#interface loopback 0
R2(config-if)#ip ospf network point-to-point
R2(config-if)#exit
*Nov 19 22:18:16.771: %PIM-6-INVALID_RP_JOIN: Received (*,
224.0.1.40) Join from 1.1.1.1 for invalid RP 120.1.1.1
R2(config)#ip pim rp-address 120.1.1.1
*Nov 19 22:18:33.263: %LINEPROTO-5-UPDOWN: Line protocol on
Interface Tunnel0, changed state to up
*Nov 19 22:18:33.375: %LINEPROTO-5-UPDOWN: Line protocol on
Interface Tunnel1, changed state to up
R2(config)#interface fastEthernet 0/0
R2(config-if)#ip igmp join-group 224.2.2.2
R2(config-if)#exit
(let see some show command for verification)
From Router 4
From Router 2
From Router 1
From Router 2
From Router 3
From Router 4