IP Multicast over EoMPLS
IP Multicast over EoMPLS
Network topology:
The scenario is to send IP multicast traffic across EoMPLS Pseudowire between PE1 and PE2 routers. PIM Sparse-mode is used with Static RP allocation for simplicity.
Configuration
The EoMPLS configuration on PE1 and PE2 routers is as follows-
EoMPLS Configuration
PE1 router:
interface Loopback 0
ip address 1.1.1.1 255.255.255.255
ip ospf 1 area 0
!
interface fastethernet 1/0
no ip address
xconnect 3.3.3.3 100 encapsulation mpls
!
PE2 router:
interface Loopback 0
ip address 3.3.3.3 255.255.255.255
ip ospf 1 area 0
!
interface fastethernet 1/1
no ip address
xconnect 1.1.1.1 100 encapsulation mpls
!
The following output shows the status of the Pseudowire. It also shows the labels that will be imposed on all IP packets (including PIM Hellos and other multicast packets) that are received on the Attachment Circuit (AC) from Edge-1 to Edge-2 router.
PW Status on PE1
PE1# show mpls l2transport vc
Local intf Local circuit Dest address VC ID Status
------------- -------------------------- --------------- ---------- ----------
Fa1/0 Ethernet 3.3.3.3 100 UP
PE1# show mpls l2transport vc detail
Local interface: Fa1/0 up, line protocol up, Ethernet up
Destination address: 3.3.3.3, VC ID: 100, VC status: up
Output interface: Fa1/1, imposed label stack {17 16}
Preferred path: not configured
Default path: active
Next hop: 10.1.1.2
Create time: 00:54:56, last status change time: 00:41:41
Signaling protocol: LDP, peer 3.3.3.3:0 up
Targeted Hello: 1.1.1.1(LDP Id) -> 3.3.3.3, LDP is UP
Status TLV support (local/remote) : enabled/supported
LDP route watch : enabled
Label/status state machine : established, LruRru
Last local dataplane status rcvd: No fault
Last local SSS circuit status rcvd: No fault
Last local SSS circuit status sent: No fault
Last local LDP TLV status sent: No fault
Last remote LDP TLV status rcvd: No fault
Last remote LDP ADJ status rcvd: No fault
MPLS VC labels: local 16, remote 16
Group ID: local 0, remote 0
MTU: local 1500, remote 1500
Remote interface description:
Sequencing: receive disabled, send disabled
Control Word: On (configured: autosense)
VC statistics:
transit packet totals: receive 878, send 863
transit byte totals: receive 330596, send 98468
transit packet drops: receive 0, seq error 0, send 0
Multicast configuration on Edge routers
Rendezvous Point (RP) is statically configured for only customer network. The Loopback 0 IP address (12.1.1.1) on Edge-2 router is set to become the RP for the customer PIM network.
Multicast configuration on Edge-1
ip multicast-routing
!
interface fastethernet 0/0
description to PE1
ip address 172.16.1.1 255.255.255.0
ip pim sparse-mode
ip ospf 12 area 0
!
interface fastethernet 0/1
description to Multicast Receiver
ip address 192.68.1.1 255.255.255.0
ip pim sparse-mode
ip ospf 12 area 0
!
ip pim rp-address 12.1.1.1
Multicast configuration on Edge-2
ip multicast-routing
!
interface Loopback 0
ip address 12.1.1.1 255.255.255.255
ip ospf 12 area 0
!
interface fastethernet 0/0
description to PE2
ip address 172.16.1.2 255.255.255.0
ip pim sparse-mode
ip ospf 12 area 0
!
interface fastethernet 0/1
description to Multicast Source
ip address 192.168.2.1 255.255.255.0
ip pim sparse-mode
ip ospf 12 area 0
!
ip pim rp-addess 12.1.1.1
The show ip pim interface command shows the interfaces enabled for PIM on the router. Edge-2 router is elected DR (Designated Router) for the network 172.16.1.0/24 since it has the higher IP Address 172.16.1.2. DR priority is same for both Edge-1 and Edge-2 routers and hence highest IP address wins.
PIM-enabled interfaces on Edge-1
Edge-1# show ip pim interface
Address Interface Ver/ Nbr Query DR DR
Mode Count Intvl Prior
172.16.1.1 FastEthernet0/0 v2/S 1 30 1 172.16.1.2
192.168.1.1 FastEthernet0/1 v2/S 0 30 1 192.168.1.1
The show ip pim neighbor command shows PIM neighbors. In this case, the PIM neighbor for Edge-1 will be Edge-2 router, and vice versa.
PIM neighbor for Edge-1
Edge-1# 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
172.16.1.2 FastEthernet0/0 00:01:15/00:01:28 v2 1 / DR S
Since the RP is statically configured, no election takes places and since Edge-1 router can reach the RP using the OSPF, it selects Edge-2 router as its RPF.
show ip rpf 12.1.1.1
Edge-1# show ip rpf 12.1.1.1
RPF information for ? (12.1.1.1)
RPF interface: FastEthernet0/0
RPF neighbor: ? (172.16.1.2)
RPF route/mask: 12.1.1.1/32
RPF type: unicast (ospf 12)
RPF recursion count: 0
Doing distance-preferred lookups across tables
Source sending traffic but no receivers
The source (192.168.2.10) starts sending multicast traffic to multicast IP address 239.10.10.1. However, since there are no receivers at the moment, the Edge-2 router will not allow this traffic to be sent over to the Pseudowire.
No receivers yet
Edge-2# show ip mroute 239.10.10.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
(*, 239.10.10.1), 00:22:55/stopped, RP 12.1.1.1, flags: SP
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list: Null
(192.168.2.10, 239.10.10.1), 00:00:08/00:02:51, flags: PT
Incoming interface: FastEthernet0/1, RPF nbr 0.0.0.0
Outgoing interface list: Null
Edge-1# show ip mroute 239.10.10.1
Group 239.10.10.1 not found
Receiver opens network stream for 239.10.10.1
The host 192.168.1.10 desires to join the multicast group 239.10.10.1. It sends an IGMP Membership Report messages to all routers on the subnet. The DR i.e. Edge-1 router also receives this message and creates a (*, 239.10.10.1) routing entry in its multicast routing table.
IGMPv2 messages received by Edge-1
Edge-1#
*Mar 1 00:25:41.571: IGMP(0): Received v2 Report on FastEthernet0/1 from 192.168.1.10 for 239.10.10.1
*Mar 1 00:25:41.575: IGMP(0): Received Group record for group 239.10.10.1, mode 2 from 192.168.1.10 for 0 sources
*Mar 1 00:25:41.579: IGMP(0): WAVL Insert group: 239.10.10.1 interface: FastEthernet0/1Successful
*Mar 1 00:25:41.583: IGMP(0): Switching to EXCLUDE mode for 239.10.10.1 on FastEthernet0/1
*Mar 1 00:25:41.587: IGMP(0): Updating EXCLUDE group timer for 239.10.10.1
*Mar 1 00:25:41.587: IGMP(0): MRT Add/Update FastEthernet0/1 for (*,239.10.10.1) by 0
*Mar 1 00:25:41.587: PIM(0): Check RP 12.1.1.1 into the (*, 239.10.10.1) entry
Once the (*, 239.10.10.1) entry is created, Edge-1 creates a Join/ Prune message containing RP-address to its RPF neighbor i.e Edge-2 router.
Sending Join/ Prune message to RPF neighbor
*Mar 1 00:25:41.595: PIM(0): Building Triggered (*,G) Join / (S,G,RP-bit) Prune message for 239.10.10.1
*Mar 1 00:25:41.599: PIM(0): Insert (*,239.10.10.1) join in nbr 172.16.1.2's queue
*Mar 1 00:25:41.603: PIM(0): Building Join/Prune packet for nbr 172.16.1.2
*Mar 1 00:25:41.603: PIM(0): Adding v2 (12.1.1.1/32, 239.10.10.1), WC-bit, RPT-bit, S-bit Join
*Mar 1 00:25:41.603: PIM(0): Send v2 join/prune to 172.16.1.2 (FastEthernet0/0)
*Mar 1 00:25:41.771: PIM(0): Insert (192.168.2.10,239.10.10.1) join in nbr 172.16.1.2's queue
*Mar 1 00:25:41.783: PIM(0): Building Join/Prune packet for nbr 172.16.1.2
*Mar 1 00:25:41.787: PIM(0): Adding v2 (192.168.2.10/32, 239.10.10.1), S-bit Join
*Mar 1 00:25:41.791: PIM(0): Send v2 join/prune to 172.16.1.2 (FastEthernet0/0)
*Mar 1 00:25:42.419: IGMP(0): Received v2 Report on FastEthernet0/1 from 192.168.1.10 for 239.10.10.1
*Mar 1 00:25:42.423: IGMP(0): Received Group record for group 239.10.10.1, mode 2 from 192.168.1.10 for 0 sources
*Mar 1 00:25:42.427: IGMP(0): Updating EXCLUDE group timer for 239.10.10.1
*Mar 1 00:25:42.427: IGMP(0): MRT Add/Update FastEthernet0/1 for (*,239.10.10.1) by 0
When Edge-2 router receives this Join/ Prune message, it puts its fastethernet 0/0 in Forwarding state i.e. the interface on which these messages were received.
Edge-2 receives Join/Prune messages
Edge-2#
*Mar 1 00:25:38.731: PIM(0): Received v2 Join/Prune on FastEthernet0/0 from 172.16.1.1, to us
*Mar 1 00:25:38.731: PIM(0): Join-list: (*, 239.10.10.1), RPT-bit set, WC-bit set, S-bit set
*Mar 1 00:25:38.739: PIM(0): Add FastEthernet0/0/172.16.1.1 to (*, 239.10.10.1), Forward state, by PIM *G Join
*Mar 1 00:25:38.747: PIM(0): Add FastEthernet0/0/172.16.1.1 to (192.168.2.10, 239.10.10.1), Forward state, by PIM *G Join
*Mar 1 00:25:38.943: PIM(0): Received v2 Join/Prune on FastEthernet0/0 from 172.16.1.1, to us
*Mar 1 00:25:38.947: PIM(0): Join-list: (192.168.2.10/32, 239.10.10.1), S-bit set
Edge-2#
*Mar 1 00:25:38.951: PIM(0): Update FastEthernet0/0/172.16.1.1 to (192.168.2.10, 239.10.10.1), Forward state, by PIM SG Join
*Mar 1 00:25:48.919: PIM(0): Send RP-reachability for 239.10.10.1 on FastEthernet0/0
As the flag 'T' and (192.168.2.10, 239.10.10.1) entry suggests, the RP creates this entry, switches to SPT-tree and sends periodic Join/Prune messages towards the source to improve efficiency otherwise individual packets are sent to the RP.
Edge-2 router now has Fastethernet 0/0 interface in its outgoing interface list.
Creating oil
Edge-2# show ip mroute 239.10.10.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
(*, 239.10.10.1), 00:27:21/00:02:34, RP 12.1.1.1, flags: S
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
FastEthernet0/0, Forward/Sparse, 00:01:54/00:02:34
(192.168.2.10, 239.10.10.1), 00:04:34/00:03:26, flags: T
Incoming interface: FastEthernet0/1, RPF nbr 0.0.0.0
Outgoing interface list:
FastEthernet0/0, Forward/Sparse, 00:01:54/00:02:35
Edge-1 router receives traffic on Fastethernet 0/0 interface and hence puts in Incoming interface list while the receiver is connected to Fastethernet 0/1 interface and hence it is put in Outgoing interface list.
show ip mroute on Edge-1
Edge-1# show ip mroute 239.10.10.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
(*, 239.10.10.1), 00:00:49/stopped, RP 12.1.1.1, flags: SJC
Incoming interface: FastEthernet0/0, RPF nbr 172.16.1.2
Outgoing interface list:
FastEthernet0/1, Forward/Sparse, 00:00:49/00:02:44
(192.168.2.10, 239.10.10.1), 00:00:48/00:02:14, flags: JT
Incoming interface: FastEthernet0/0, RPF nbr 172.16.1.2
Outgoing interface list:
FastEthernet0/1, Forward/Sparse, 00:00:48/00:02:44