The concept of anycast is predicated on the longest match method of routing packets. Consequently its possible to have multiple devices with the same IP address. AnycastRP allows the sharing of a single IP across multiple RP's for load sharing. MSDP is used to track source sessions between RP's so that receivers joining different RPs will have full understanding of all domain sources.
Concepts tested
- Configuring PIM SM
- Configure BSR RP using anycast addressing
- Configuring MSDP
- Verification of configuration
Lab Tasks
- Configure PIM SM on all paths between R7 and R8
- Configure R1 and R6 as candidate RPs and R2 as the BSR
- Use anycast to distribute load between the RP's using the address 120.1.1.1
- The RPs must communicate source registration between each other
GNS3 v1.1.2 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 sparse-mode
R1(config-if)#exit
R1(config)#int g2/0
R1(config-if)#ip pim sparse-mode
R1(config-if)#exit
R1(config)#int loopback 10
R1(config-if)#ip address 120.1.1.1 255.255.255.255
R1(config-if)#ip pim sparse-mode
R1(config-if)#exit
R1(config)#
R1(config)#ip pim rp-candidate loopback 10
R1(config)#
R1(config)#ip msdp originator-id loopback 0
R1(config)#ip msdp peer 6.6.6.6 connect-source loopback 0
R1(config)#end
R2(config)#ip multicast-routing
R8(config)#int loopback 0
R8(config-if)#ip pim sparse-mode
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 sparse-mode
R1(config-if)#exit
R1(config)#int g2/0
R1(config-if)#ip pim sparse-mode
R1(config-if)#exit
R1(config)#int loopback 10
R1(config-if)#ip address 120.1.1.1 255.255.255.255
R1(config-if)#ip pim sparse-mode
R1(config-if)#exit
R1(config)#
R1(config)#ip pim rp-candidate loopback 10
R1(config)#
R1(config)#ip msdp originator-id loopback 0
R1(config)#ip msdp peer 6.6.6.6 connect-source loopback 0
R1(config)#end
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)#
R2(config)#ip pim bsr-candidate loopback 0
R2(config)#
R2(config)#int loopback 0
R2(config-if)#ip pim sparse-mode
R2(config-if)#exit
R2(config)#
R2(config)#ip pim bsr-candidate loopback 0
R2(config)#
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
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
R5(config)#ip multicast-routing
R5(config)#int g0/0
R5(config-if)#ip pim sparse-mode
R5(config-if)#exit
R5(config)#int g1/0
R5(config-if)#ip pim sparse-mode
R5(config-if)#exit
R6(config)#ip multicast-routing
R6(config)#int g0/0
R6(config-if)#ip pim sparse-mode
R6(config-if)#exit
R6(config)#int g1/0
R6(config-if)#ip pim sparse-mode
R6(config-if)#exit
R6(config)#int g2/0
R6(config-if)#ip pim sparse-mode
R6(config-if)#exit
R7(config)#ip multicast-routing
R7(config)#int g0/0
R7(config-if)#ip pim sparse-mode
R7(config-if)#exit
R8(config)#ip multicast-routing
R8(config)#int g0/0
R8(config-if)#ip pim sparse-mode
R8(config-if)#exit
Verification
First lets join R8's loopback to 239.1.1.1
First lets join R8's loopback to 239.1.1.1
R8(config)#int loopback 0
R8(config-if)#ip pim sparse-mode
R8(config-if)#ip igmp join-group 239.1.1.1
R8#sh ip mroute 239.1.1.1
(*, 239.1.1.1), 00:05:31/00:02:56, RP 120.1.1.1, flags: SJCL
Incoming interface: GigabitEthernet0/0, RPF nbr 120.0.18.1
Outgoing interface list:
Loopback0, Forward/Sparse, 00:00:03/00:02:56
(*, 239.1.1.1), 00:05:31/00:02:56, RP 120.1.1.1, flags: SJCL
Incoming interface: GigabitEthernet0/0, RPF nbr 120.0.18.1
Outgoing interface list:
Loopback0, Forward/Sparse, 00:00:03/00:02:56
R1#sh ip mroute 239.1.1.1
(*, 239.1.1.1), 00:00:35/00:03:20, RP 120.1.1.1, flags: S
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
GigabitEthernet2/0, Forward/Sparse, 00:00:35/00:03:20
(*, 239.1.1.1), 00:00:35/00:03:20, RP 120.1.1.1, flags: S
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
GigabitEthernet2/0, Forward/Sparse, 00:00:35/00:03:20
R6#sh ip mroute 239.1.1.1
Group 239.1.1.1 not found
Group 239.1.1.1 not found
Now lets start our source on R7
R7#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 8.8.8.8, 228 ms
Reply to request 1 from 8.8.8.8, 168 ms
Reply to request 2 from 8.8.8.8, 108 ms
R6#sh ip mroute 239.1.1.1
(*, 239.1.1.1), 00:00:18/stopped, RP 120.1.1.1, flags: SP
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list: Null
(120.0.67.7, 239.1.1.1), 00:00:18/00:02:41, flags: TA
Incoming interface: GigabitEthernet2/0, RPF nbr 120.0.67.7
Outgoing interface list:
GigabitEthernet1/0, Forward/Sparse, 00:00:18/00:03:12
Now lets look at R1 for a S,G entry
R1#sh ip mroute 239.1.1.1
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,
G - Received BGP C-Mroute, g - Sent BGP C-Mroute,
Q - Received BGP S-A Route, q - Sent BGP S-A Route,
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
(*, 239.1.1.1), 00:02:04/00:03:25, RP 120.1.1.1, flags: S
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
GigabitEthernet2/0, Forward/Sparse, 00:02:04/00:03:25
(120.0.67.7, 239.1.1.1), 00:00:33/00:02:27, flags: MT
Incoming interface: GigabitEthernet1/0, RPF nbr 120.0.31.3
Outgoing interface list:
GigabitEthernet2/0, Forward/Sparse, 00:00:33/00:03:25
R1#sh ip mroute 239.1.1.1
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,
G - Received BGP C-Mroute, g - Sent BGP C-Mroute,
Q - Received BGP S-A Route, q - Sent BGP S-A Route,
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
(*, 239.1.1.1), 00:02:04/00:03:25, RP 120.1.1.1, flags: S
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
GigabitEthernet2/0, Forward/Sparse, 00:02:04/00:03:25
(120.0.67.7, 239.1.1.1), 00:00:33/00:02:27, flags: MT
Incoming interface: GigabitEthernet1/0, RPF nbr 120.0.31.3
Outgoing interface list:
GigabitEthernet2/0, Forward/Sparse, 00:00:33/00:03:25
We have our S,G entry created via MSDP PIM-SA communication.
No comments:
Post a Comment