Cisco Multicast VPN Configuration
In this example we will do Cisco Multicast VPN Configuration.We will run Source Specific Multicast (SSM) on Internet Service Provider network which is transparent to Customer Edge Sites.Customer Edge sites will use PIM Sparse Mode with Static RP.
Configurations of R1(CE-1)
ip multicast-routing
interface Loopback0
ip address 1.1.1.1 255.255.255.255
ip pim sparse-mode
ip igmp join-group 224.1.1.2
!
interface FastEthernet0/0
ip address 192.168.12.1 255.255.255.0
ip pim sparse-mode
ip route 0.0.0.0 0.0.0.0 192.168.12.2
ip pim rp-address 1.1.1.1
Configurations of R2(PE-1)
ip vrf a
rd 1234:1
route-target export 1234:1
route-target import 1234:1
mdt default 232.1.1.1
!
no ip domain lookup
ip multicast-routing
ip multicast-routing vrf a
!
interface Loopback0
ip address 2.2.2.2 255.255.255.255
ip pim sparse-mode
ip ospf 1 area 0
!
interface FastEthernet0/0
ip address 192.168.23.2 255.255.255.0
ip pim sparse-mode
no ip mroute-cache
ip ospf network point-to-point
mpls ip
!
interface FastEthernet0/1
ip vrf forwarding a
ip address 192.168.12.2 255.255.255.0
ip pim sparse-mode
router ospf 1
log-adjacency-changes
network 192.168.0.0 0.0.255.255 area 0
!
router bgp 1234
no synchronization
bgp log-neighbor-changes
neighbor 3.3.3.3 remote-as 1234
neighbor 3.3.3.3 update-source Loopback0
no auto-summary
!
address-family vpnv4
neighbor 3.3.3.3 activate
neighbor 3.3.3.3 send-community extended
exit-address-family
!
address-family ipv4 vrf a
redistribute connected
redistribute static
no synchronization
exit-address-family
!
ip route vrf a 1.1.1.1 255.255.255.255 192.168.12.1
!
ip pim ssm range 1
ip pim vrf a rp-address 1.1.1.1
!
access-list 1 permit 232.0.0.0 0.255.255.255
Configurations of R3(BGP Route-Reflector of ISP):
ip multicast-routing
!
interface Loopback0
ip address 3.3.3.3 255.255.255.255
ip ospf 1 area 0
!
interface FastEthernet0/0
ip address 192.168.23.3 255.255.255.0
ip pim sparse-mode
no ip mroute-cache
ip ospf network point-to-point
mpls ip
!
interface FastEthernet0/1
ip address 192.168.34.3 255.255.255.0
ip pim sparse-mode
no ip mroute-cache
mpls ip
!
router ospf 1
log-adjacency-changes
network 192.168.0.0 0.0.255.255 area 0
!
router bgp 1234
no synchronization
bgp log-neighbor-changes
neighbor 2.2.2.2 remote-as 1234
neighbor 2.2.2.2 update-source Loopback0
neighbor 4.4.4.4 remote-as 1234
neighbor 4.4.4.4 update-source Loopback0
no auto-summary
!
address-family vpnv4
neighbor 2.2.2.2 activate
neighbor 2.2.2.2 send-community extended
neighbor 2.2.2.2 route-reflector-client
neighbor 4.4.4.4 activate
neighbor 4.4.4.4 send-community extended
neighbor 4.4.4.4 route-reflector-client
exit-address-family
!
access-list 1 permit 232.0.0.0 0.255.255.255
!
mpls ldp router-id Loopback0 force
Configurations of R4(PE-2)
ip vrf a
rd 1234:1
route-target export 1234:1
route-target import 1234:1
mdt default 232.1.1.1
!
no ip domain lookup
ip multicast-routing
ip multicast-routing vrf a
!
interface Loopback0
ip address 4.4.4.4 255.255.255.255
ip pim sparse-mode
ip ospf 1 area 0
!
interface FastEthernet0/0
ip address 192.168.34.4 255.255.255.0
ip pim sparse-mode
mpls ip
!
interface FastEthernet0/1
ip vrf forwarding a
ip address 192.168.45.4 255.255.255.0
ip pim sparse-mode
!
router ospf 1
log-adjacency-changes
network 192.168.0.0 0.0.255.255 area 0
!
router bgp 1234
no synchronization
bgp log-neighbor-changes
neighbor 3.3.3.3 remote-as 1234
neighbor 3.3.3.3 update-source Loopback0
no auto-summary
!
address-family vpnv4
neighbor 3.3.3.3 activate
neighbor 3.3.3.3 send-community extended
exit-address-family
!
address-family ipv4 vrf a
redistribute connected
no synchronization
exit-address-family
!
ip pim ssm range 1
ip pim vrf a rp-address 1.1.1.1
!
access-list 1 permit 232.0.0.0 0.255.255.255
mpls ldp router-id Loopback0 force
Configuration of R5 (CE-2)
ip multicast-routing
!
interface FastEthernet0/1
ip address 192.168.45.5 255.255.255.0
ip pim sparse-mode
!
ip route 0.0.0.0 0.0.0.0 192.168.45.4
!
ip pim rp-address 1.1.1.1
Lets check the PIM neighborships and mroute tables:
R2#show ip pim vrf a neighbor
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
192.168.12.1 FastEthernet0/1 01:33:34/00:01:29 v2 1 / S
4.4.4.4 Tunnel0 00:42:38/00:01:23 v2 1 / DR S
R2#show ip pim neighbor
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
192.168.23.3 FastEthernet0/0 01:33:32/00:01:32 v2 1 / DR S
R2#show ip mroute vrf a
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
(*, 224.1.1.1), 00:31:21/00:02:39, RP 1.1.1.1, flags: S
Incoming interface: FastEthernet0/1, RPF nbr 192.168.12.1
Outgoing interface list:
Tunnel0, Forward/Sparse, 00:31:21/00:02:39
(*, 224.0.1.40), 01:34:17/00:02:34, RP 1.1.1.1, flags: SJCL
Incoming interface: FastEthernet0/1, RPF nbr 192.168.12.1
Outgoing interface list:
Tunnel0, Forward/Sparse, 00:42:50/00:02:35
R2#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
(2.2.2.2, 232.1.1.1), 00:44:02/00:03:27, flags: sT
Incoming interface: Loopback0, RPF nbr 0.0.0.0
Outgoing interface list:
FastEthernet0/0, Forward/Sparse, 00:42:57/00:02:52
(4.4.4.4, 232.1.1.1), 00:44:09/00:02:57, flags: sTIZ
Incoming interface: FastEthernet0/0, RPF nbr 192.168.23.3
Outgoing interface list:
MVRF a, Forward/Sparse, 00:44:09/00:00:00
(*, 224.0.1.40), 01:34:24/00:02:45, RP 0.0.0.0, flags: DCL
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
FastEthernet0/0, Forward/Sparse, 01:34:24/00:00:00
R2#show ip pim vrf a rp mapping
PIM Group-to-RP Mappings
Group(s): 224.0.0.0/4, Static
RP: 1.1.1.1 (?)
Route table of PE-1 for vrf a:
R2#show ip route vrf a
C 192.168.12.0/24 is directly connected, FastEthernet0/1
1.0.0.0/32 is subnetted, 1 subnets
S 1.1.1.1 [1/0] via 192.168.12.1
B 192.168.45.0/24 [200/0] via 4.4.4.4, 01:28:55
Route table of PE-2 for vrf a:
R4#show ip route vrf a
B 192.168.12.0/24 [200/0] via 2.2.2.2, 01:29:30
1.0.0.0/32 is subnetted, 1 subnets
B 1.1.1.1 [200/0] via 2.2.2.2, 01:29:31
C 192.168.45.0/24 is directly connected, FastEthernet0/1
Lets start multicast traffic from R5:
R5#ping
Protocol [ip]:
Target IP address: 224.1.1.2
Repeat count [1]: 10
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]: yes
Interface [All]: FastEthernet0/1
Time to live [255]:
Source address: 192.168.45.5
Type of service [0]:
Set DF bit in IP header? [no]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 10, 100-byte ICMP Echos to 224.1.1.2, timeout is 2 seconds:
Packet sent with a source address of 192.168.45.5
Reply to request 2 from 192.168.12.1, 170 ms
Reply to request 3 from 192.168.12.1, 159 ms
We see that multicast ICMP echo packets getting reply from CE-1(R1).
Lets check the mroute table counts of PE-1 again:
R2#sh ip mroute vrf a 224.1.1.2
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
(*, 224.1.1.2), 00:02:42/stopped, RP 1.1.1.1, flags: SP
Incoming interface: FastEthernet0/1, RPF nbr 192.168.12.1
Outgoing interface list: Null
(192.168.45.5, 224.1.1.2), 00:02:42/00:01:05, flags: T
Incoming interface: Tunnel0, RPF nbr 4.4.4.4
Outgoing interface list:
FastEthernet0/1, Forward/Sparse, 00:02:42/00:02:48, A
R2#sh ip mroute vrf a 224.1.1.2 count
IP Multicast Statistics
3 routes using 1698 bytes of memory
2 groups, 0.50 average sources per group
Forwarding Counts: Pkt Count/Pkts(neg(-) = Drops) per second/Avg Pkt Size/Kilobits per second
Other counts: Total/RPF failed/Other drops(OIF-null, rate-limit etc)
Group: 224.1.1.2, Source count: 1, Packets forwarded: 8, Packets received: 11
RP-tree: Forwarding: 0/0/0/0, Other: 2/0/2
Source: 192.168.45.5/32, Forwarding: 8/0/100/0, Other: 9/1/0
R2#show ip mroute 232.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,
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
(2.2.2.2, 232.1.1.1), 00:53:05/00:03:15, flags: sT
Incoming interface: Loopback0, RPF nbr 0.0.0.0
Outgoing interface list:
FastEthernet0/0, Forward/Sparse, 00:52:01/00:02:40
(4.4.4.4, 232.1.1.1), 00:53:12/00:02:55, flags: sTIZ
Incoming interface: FastEthernet0/0, RPF nbr 192.168.23.3
Outgoing interface list:
MVRF a, Forward/Sparse, 00:53:12/00:00:00
R2#show ip mroute 232.1.1.1 count
IP Multicast Statistics
4 routes using 2040 bytes of memory
2 groups, 1.00 average sources per group
Forwarding Counts: Pkt Count/Pkts(neg(-) = Drops) per second/Avg Pkt Size/Kilobits per second
Other counts: Total/RPF failed/Other drops(OIF-null, rate-limit etc)
Group: 232.1.1.1, Source count: 2, Packets forwarded: 479, Packets received: 483
Source: 2.2.2.2/32, Forwarding: 190/0/70/0, Other: 194/0/4
Source: 4.4.4.4/32, Forwarding: 289/0/94/0, Other: 289/0/0
We see that the multicast packets for this vrf is comming from Tunnel0 whic is automatically created for multicast traffic on PE routers.The multicast traffic goes along the ISP paths are GRE encapsulated.Tunnel source is loopback IP address BGP source address and destination is mdt default multicast address for this vrf which is 232.1.1.1 in this example.
R2# show interface tu0
Tunnel0 is up, line protocol is up
Hardware is Tunnel
Interface is unnumbered. Using address of Loopback0 (2.2.2.2)
MTU 1514 bytes, BW 9 Kbit/sec, DLY 500000 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation TUNNEL, loopback not set
Keepalive not set
Tunnel source 2.2.2.2 (Loopback0), destination 232.1.1.1
Tunnel protocol/transport GRE/IP Multicast
Key disabled, sequencing disabled
Checksumming of packets disabled
Tunnel TTL 255
Fast tunneling enabled
Tunnel transmit bandwidth 8000 (kbps)
Tunnel receive bandwidth 8000 (kbps)
Last input 00:00:01, output 00:00:27, output hang never
Last clearing of "show interface" counters never
Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
Queueing strategy: fifo
Output queue: 0/0 (size/max)
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
306 packets input, 29232 bytes, 0 no buffer
Received 0 broadcasts, 0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
350 packets output, 24418 bytes, 0 underruns
0 output errors, 0 collisions, 0 interface resets
0 unknown protocol drops
0 output buffer failures, 0 output buffers swapped out
No comments:
Post a Comment