Wednesday, December 3, 2014

Multicast - Stub multicast routing and IGMP helper

Overview

Creating a multicast hub site is often done to address bandwidth and resource limitations for a given site. A hub site does not establish PIM adjacency with upstream neighbors thereby preventing the sending and receiving of PIM messages. In order to allow downstream receivers to join multicast groups and receive multicast traffic the upstream router to the stub router uses the ip igmp helper-address [upstream-router-IP] command along with enabling PIM DM on downstream receiver interfaces. The stub router enables PIM DM on its upstream and downstream interfaces but also configures the ip pim neighbor-filter [access-list] command to prevent PIM neighbor establishment.

Concepts tested
  • Configure PIM Sparse and dense mode
  • Create multicast stub router
  • Configure ip igmp helper
Topology







Lab Tasks
  • Configure PIM SM on all paths between R1 and the source router.
  • Ensure the Reciever can join any multicast group but does not participate in PIM messaging or form any PIM neighbors
  • Verify the configuration
GNS3 configuration file, requires IOS v15 for the 7200 router: Link


Solution

R1(config)#ip multicast-routing
R1(config)#int g0/0
R1(config-if)#ip pim sparse-mode
R1(config-if)#exit
R1(config)#int g1/0
R1(config-if)#ip pim dense-mode
R1(config-if)#ip igmp helper-address 2.2.2.2
R1(config-if)#ip igmp helper-address 3.3.3.3
R1(config-if)#exit

R2(config)#ip multicast-routing
R2(config)#int g0/0
R2(config-if)#ip pim sparse-mode
R2(config-if)#exit
R2(config)#int g1/0
R2(config-if)#ip pim sparse-mode
R2(config-if)#exit
R2(config)#int loopback 0
R2(config-if)#ip pim sparse-mode
R2(config-if)#exit
R2(config)#ip pim rp-candidate loopback 0

R3(config)#ip multicast-routing
R3(config)#int g0/0
R3(config-if)#ip pim sparse-mode
R3(config-if)#exit
R3(config)#int g1/0
R3(config-if)#ip pim sparse-mode
R3(config-if)#exit
R3(config)#int loopback 0
R3(config-if)#ip pim sparse-mode
R3(config-if)#exit
R3(config)#ip pim rp-candidate loopback 0

R4(config)#ip multicast-routing
R4(config)#int g0/0
R4(config-if)#ip pim sparse-mode
R4(config-if)#exit
R4(config)#int g1/0
R4(config-if)#ip pim sparse-mode
R4(config-if)#exit
R4(config)#int loopback 0
R4(config-if)#ip pim sparse-mode
R4(config-if)#exit
R4(config)#int s3/0
R4(config-if)#ip pim sparse-mode
R4(config-if)#exit
R4(config)#ip pim bsr-candidate loopback 0

Source(config)#ip multicast-routing
Source(config)#int g0/0
Source(config-if)#ip pim sparse-mode
Source(config-if)#exit

Receiver(config)#ip multicast-routing
Receiver(config)#ip access-list standard PIM_FILTER
Receiver(config-std-nacl)#deny 120.0.10.1
Receiver(config-std-nacl)#permit any
Receiver(config-std-nacl)#exit
Receiver(config)#int g0/0
Receiver(config-if)#ip pim neighbor-filter PIM_FILTER
Receiver(config-if)#ip pim dense-mode
Receiver(config-if)#ip igmp join-group 239.1.1.1
Receiver(config-if)#exit


Verification

Source#ping 239.1.1.1 rep 1000

Type escape sequence to abort.
Sending 1000, 100-byte ICMP Echos to 239.1.1.1, timeout is 2 seconds:

Reply to request 0 from 120.0.10.254, 140 ms
Reply to request 1 from 120.0.10.254, 168 ms
Reply to request 3 from 120.0.10.254, 184 ms

Receiver#sh ip igmp groups
IGMP Connected Group Membership
Group Address    Interface                Uptime    Expires   Last Reporter   Group Accounted
239.1.1.1        GigabitEthernet0/0       00:35:21  00:02:57  120.0.10.254


R1#sh ip mroute 239.1.1.1


(*, 239.1.1.1), 00:33:37/stopped, RP 2.2.2.2, flags: SJC
  Incoming interface: GigabitEthernet0/0, RPF nbr 120.0.0.2
  Outgoing interface list:
    GigabitEthernet1/0, Forward/Dense, 00:03:37/00:00:00

(120.0.45.5, 239.1.1.1), 00:28:24/00:01:11, flags: T
  Incoming interface: GigabitEthernet0/0, RPF nbr 120.0.0.3
  Outgoing interface list:
    GigabitEthernet1/0, Forward/Dense, 00:03:37/00:00:00







No comments:

Post a Comment