Friday, October 15, 2010

LAB: Multicast Load Sharing via Tunnel




By creating a tunnel between the two equal paths to the same destination and making this tunnel a passive-interface (i.e OSPF) not allowing unicast traffic to use the tunnel for routing, but instead allowing only multicast traffic to use the tunnel.

note: PIM is not enabled on physical serial interfaces. only the tunnels and LAN ethernet interfaces are PIM enabled.




CONFIGS @ PORKPIE


hostname Porkpie
!
ip multicast-routing
!

!
interface Loopback0
ip address 10.244.1.3 255.255.255.255
ip pim sparse-mode
!
interface Tunnel0
ip address 10.244.2.2 255.255.255.252
ip pim sparse-dense-mode
tunnel source Loopback0
tunnel destination 10.244.1.4
!
interface Ethernet0/0
ip address 10.1.2.1 255.255.255.0
ip pim sparse-dense-mode
ip cgmp
full-duplex
!
interface Serial1/0
no ip address
encapsulation frame-relay
serial restart-delay 0
!
interface Serial1/0.605 point-to-point
ip address 10.2.4.1 255.255.255.0
frame-relay interface-dlci 605
!
interface Serial1/0.609 point-to-point
description pvc to stetson
ip address 10.2.3.2 255.255.255.0
frame-relay interface-dlci 609
!
!
router ospf 1
log-adjacency-changes
passive-interface Tunnel0
network 10.0.0.0 0.255.255.255 area 0
!
!
ip mroute 10.244.1.4 255.255.255.255 Tunnel0
ip mroute 10.1.1.88 255.255.255.255 Tunnel0
!
end

CONFIGS @ HOMBURG



hostname Homburg
!
ip multicast-routing
!
!
interface Loopback0
ip address 10.244.1.4 255.255.255.0
ip pim sparse-mode
!
interface Tunnel0
ip address 10.244.2.1 255.255.255.252
ip pim sparse-dense-mode
tunnel source Loopback0
tunnel destination 10.244.1.3
!
interface Serial0/0
no ip address
encapsulation frame-relay
serial restart-delay 0
!
interface Serial0/0.305 point-to-point
ip address 10.2.1.1 255.255.255.0
frame-relay interface-dlci 305
!
interface Serial0/0.309 point-to-point
ip address 10.2.2.1 255.255.255.0
frame-relay interface-dlci 309
!
!
interface Ethernet1/0
ip address 10.1.1.1 255.255.255.0
ip pim sparse-dense-mode
ip cgmp
full-duplex
!
!
router ospf 1
log-adjacency-changes
passive-interface Tunnel0
network 10.0.0.0 0.255.255.255 area 0
!
!
ip pim send-rp-announce Loopback0 scope 5
ip pim send-rp-discovery scope 5
!
!
end
=========================================

SHOW COMMANDS

show ip route shows that it is using serial interfaces to reach the multicast source 10.1.1.88

Porkpie# show ip route 10.1.1.88
Routing entry for 10.1.1.0/24
Known via "ospf 1", distance 110, metric 138, type intra area
Last update from 10.2.3.1 on Serial1/0.609, 00:09:05 ago
Routing Descriptor Blocks:
* 10.2.4.2, from 10.244.1.2, 00:09:05 ago, via Serial1/0.605
Route metric is 138, traffic share count is 1
10.2.3.1, from 10.244.1.2, 00:09:05 ago, via Serial1/0.609
Route metric is 138, traffic share count is 1

also for Homburg lo0 10.244.1.4

Porkpie# show ip route 10.244.1.4
Routing entry for 10.244.1.4/32
Known via "ospf 1", distance 110, metric 129, type intra area
Last update from 10.2.3.1 on Serial1/0.609, 00:09:18 ago
Routing Descriptor Blocks:
10.2.4.2, from 10.244.1.2, 00:09:18 ago, via Serial1/0.605
Route metric is 129, traffic share count is 1
* 10.2.3.1, from 10.244.1.2, 00:09:18 ago, via Serial1/0.609
Route metric is 129, traffic share count is 1


for multicast routing, it is also unable to identify the incoming interface for the multicast group.

Porkpie#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,
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
Outgoing interface flags: H - Hardware switched, A - Assert winner
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 228.13.20.216), 00:47:07/stopped, RP 10.244.1.4, flags: SJC
Incoming interface: Null, RPF nbr 0.0.0.0, Mroute
Outgoing interface list:
Ethernet0/0, Forward/Sparse-Dense, 00:13:09/00:02:05

(10.1.1.88, 228.13.20.216), 00:08:46/00:00:38, flags: J
Incoming interface: Null, RPF nbr 0.0.0.0, Mroute
Outgoing interface list:
Ethernet0/0, Forward/Sparse-Dense, 00:08:46/00:02:05
th

PIM neighbor table shows that PIM is established between the two routers, but the problem is the returning packets back to 10.244.2.1 since Porkpie when returning the multicast packet back to Homburg, is using its unicast routing table to reach 10.244.2.1 via serial interfaces and not the tunnel this is due to tunnel0 is in passive-mode. so when the packets from 10.1.1.88 arrive on the tunnel interface the RPF check fails.

PIM Neighbor Table

Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority,
S - State Refresh Capable
Neighbor Interface Uptime/Expires Ver DR
Address Prio/Mode
10.244.2.1 Tunnel0 00:10:42/00:01:25 v2 1 / S

RPF check fails

*Mar 1 00:54:46.871: IP(0): s=10.244.1.4 (Tunnel0) d=228.13.20.26 id=3738, ttl=3, prot=17, len=48(48), RPF lookup failed for source
*Mar 1 00:54:46.879: IP(0): s=10.244.1.4 (Tunnel0) d=228.13.20.26 id=3738, ttl=3, prot=17, len=48(48), not RPF interface


SOLUTION:

adding a static multicast route @ porkpie will solve this return multicast traffic.

ip mroute 10.244.1.4 255.255.255.255 Tunnel0
ip mroute 10.1.1.88 255.255.255.255 Tunnel0

after adding the static mroute command

Porkpie#show ip mroute 228.13.20.216
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,
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
Outgoing interface flags: H - Hardware switched, A - Assert winner
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode


(*, 228.13.20.216), 01:02:00/stopped, RP 10.244.1.4, flags: SJC
Incoming interface: Tunnel0, RPF nbr 10.244.2.1, Mroute
Outgoing interface list:
Ethernet0/0, Forward/Sparse-Dense, 00:28:01/00:02:12

(10.1.1.88, 228.13.20.216), 00:02:32/00:00:27, flags: JT
Incoming interface: Tunnel0, RPF nbr 10.244.2.1, Mroute
Outgoing interface list:
Ethernet0/0, Forward/Sparse-Dense, 00:02:32/00:02:12

No comments:

Post a Comment