Tunneling multicast over a GRE tunnel or other overlay technology is sometimes necessary to over come a lack of support in the underlying network. GRE tunnels can be used to send multicast traffic across a network that doesn't support multicast. Configuration is straightforward and multicast traffic can be routed via the tunnel either by static routes or by manipulating IGP to send traffic over the tunnel. The ip mroute source-address source-mask next-hop can be used to manipulate just the multicast packets without having to change how unicast traffic routes.
Concepts tested
- PIM Sparse mode
- Sparse mode over GRE tunnels
- Static RP addressing
- Enable PIM sparse mode on the interfaces between receiver and R1
- Enable PIM sparse mode on the interfaces between R4 and the source.
- Do not configure multicast or PIM on R2 and R3
- Configure R4 as the RP using it's loopback 0 interface.
- Configure a GRE tunnel between R1 and R4 and enable PIM sparse mode on the tunnel
- Configure the reciever to join the group 239.0.0.1 and have the source router successfully ping this group.
- Make sure that multicast traffic uses the GRE tunnel
GNS3 configuration file, requires IOS v15 for the 7200 router: Link
Solution
Receiver(config)#ip multicast-routing
Receiver(config)#ip pim rp-address 4.4.4.4
Receiver(config)#int g0/0
Receiver(config-if)#ip pim sparse-mode
Receiver(config-if)#ip igmp join-group 232.0.0.1
R1(config)#ip multicast-routing
R1(config)#ip pim rp-address 4.4.4.4
R1(config)#int g1/0
R1(config-if)#ip pim sparse-mode
R1(config)#int tunnel 10
R1(config-if)#ip address 10.1.1.1 255.255.255.0
R1(config-if)#tunnel source loopback 0
R1(config-if)#tunnel destination 4.4.4.4
R1(config-if)#ip pim sparse-mode
R1(config-if)#exit
R1(config)#ip mroute 0.0.0.0 0.0.0.0 tu 10
R1(config)#router ospf 1
R1(config-router)#passive-interface tunnel 10
R4(config)#ip multicast-routing
R4(config)#ip pim rp-address 4.4.4.4
R4(config)#int loopback 0
R4(config-if)#ip pim sparse-mode
R4(config-if)#int g2/0
R4(config-if)#ip pim sparse-mode
R4(config-if)#exit
R4(config)#int tunnel 10
R4(config-if)#ip address 10.1.1.2 255.255.255.0
R4(config-if)#tunnel source loopback 0
R4(config-if)#tunnel destination 1.1.1.1
R4(config-if)#ip pim sparse-mode
R4(config-router)#passive-interface tunnel 10
Source(config)#ip multicast-routing
Source(config)#int g0/0
Source(config-if)#ip pim sparse-mode
Verification
If we have everything in place we should be able to ping our receiver and see our *,G and S,G on the RP.
Source#ping 239.1.1.1 rep 500
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 239.1.1.1, timeout is 2 seconds:
Reply to request 0 from 120.0.10.254, 224 ms
Reply to request 1 from 120.0.10.254, 156 ms
Reply to request 2 from 120.0.10.254, 140 ms
Reply to request 3 from 120.0.10.254, 152 ms
Reply to request 4 from 120.0.10.254, 160 ms
R4#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,
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:07:21/00:03:01, RP 4.4.4.4, flags: S
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Tunnel10, Forward/Sparse, 00:07:21/00:03:01
(120.0.45.5, 239.1.1.1), 00:02:16/00:00:43, flags: T
Incoming interface: GigabitEthernet2/0, RPF nbr 120.0.45.5
Outgoing interface list:
Tunnel10, Forward/Sparse, 00:02:16/00:03:12
Verification
If we have everything in place we should be able to ping our receiver and see our *,G and S,G on the RP.
Source#ping 239.1.1.1 rep 500
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 239.1.1.1, timeout is 2 seconds:
Reply to request 0 from 120.0.10.254, 224 ms
Reply to request 1 from 120.0.10.254, 156 ms
Reply to request 2 from 120.0.10.254, 140 ms
Reply to request 3 from 120.0.10.254, 152 ms
Reply to request 4 from 120.0.10.254, 160 ms
R4#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,
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:07:21/00:03:01, RP 4.4.4.4, flags: S
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Tunnel10, Forward/Sparse, 00:07:21/00:03:01
(120.0.45.5, 239.1.1.1), 00:02:16/00:00:43, flags: T
Incoming interface: GigabitEthernet2/0, RPF nbr 120.0.45.5
Outgoing interface list:
Tunnel10, Forward/Sparse, 00:02:16/00:03:12
No comments:
Post a Comment