Implementing Multicast Service Reflection

The Cisco Multicast Service Reflection feature provides the capability for users to translate externally received multicast or unicast destination addresses to multicast or unicast addresses that conform to their organization’s internal addressing policy. Using this feature, users do not need to redistribute unicast routes from external sources at the translation boundary into their network infrastructure for Reverse Path Forwarding (RPF) to work properly. In addition, users can receive identical feeds from two ingress points in the network and route them independently.

Prerequisites for Implementing Multicast Service Reflection

  • Configure your multicast-enabled network with the necessary infrastructure to run either Protocol Independent Multicast Sparse Mode (PIM-SM), Bidirectional PIM (bidir-PIM), or PIM Source Specific Multicast (PIM-SSM). The configuration process may include configuring RPs, interface boundaries, or SSM ranges.

For configuration information, see Configuring Basic IP Multicast.

  • Confirm that the virtual interface for multicast service reflection (Vif1 interface) is installed in your border router and the Multicast Service Reflection application is installed and operational.

  • Each active receiver must initiate an Internet Group Management Protocol (IGMP) join to the multicast group that is defined on the router in the PIM domain.

Restrictions for Implementing Multicast Service Reflection

  • When translating groups of multicast packets that are destined for the same multicast group but are originating from different sources, as in the case when using PIM-SSM, all multicast packets destined for a particular SSM group will get mapped to a single (S, G) after translation has occurred. For example, if (10.1.1.1, 232.1.1.1) and (10.1.1.2, 232.1.1.1) need to be translated, they will appear as a single entry, for example, (192.168.1.2, 232.239.1.1), where 192.168.1.2 is an IP address that resides in the Vif IP subnet.

  • PIM and IGMP control packets are not translated.

  • Only one Vif is allowed in each VRF.

  • Only Vif1 is allowed in global configuration. Vif2 and Vif333 are allowed in VRFs.

  • For unicast-to-multicast destination translation and splitting configuration:

    • Rules with input interface configured have higher preference over those without input interface.

    • Extra static routes with the same mask length must be configured for each multicast service reflection rule. The mask length of the static route must be the same as the mask length of the rule.

    • The maximum split number for unicast-to-multicast destination splitting is limited to 2.

Information About Implementing Multicast Service Reflection

The following topics provide detailed information about implementing multicast service reflection, including its benefits.

Benefits of Implementing Multicast Service Reflection

  • Allows users to translate externally received multicast or unicast destination addresses to multicast or unicast addresses that conform to their company’s internal addressing policy. This allows the seperation of the private addressing scheme used by the content provider from the public addressing used by the service provider. The following types of translations are supported:

    • Multicast-to-Multicast Destination Translation

    • Multicast-to-Unicast Destination Translation

    • Unicast-to-Multicast Destination Translation

    • Multicast-to-Multicast Destination Splitting

    • Multicast-to-Unicast Destination Splitting

    • Unicast-to-Multicast Destination Splitting

  • Provides logical separation between private and public multicast networks.

  • Provides the flexibility to forward multicast packets—translated or untranslated—out the same outgoing interface.

  • Provides redundancy by allowing users to get identical feeds from two ingress points in the network and route them independently.

  • Allows users to use the subnet of their choice to be the source network and scope it appropriately.

Rendezvous Points

A rendezvous point (RP) is a role that a router performs when operating in PIM-SM or bidirectional PIM. An RP is required only in networks running PIM-SM or bidirectional PIM. In PIM-SM, only network segments with active receivers that have explicitly requested multicast data will be forwarded the traffic.

An RP acts as the meeting place for sources and receivers of multicast data. In a PIM-SM network, first hop designated routers with directly connected sources initially send their traffic to the RP. This traffic is then forwarded to receivers down a shared distribution tree. By default, when the last hop router with a directly connected receiver receives traffic from the shared tree, it immediately performs a shortest path tree switchover and sends a Join message towards the source, creating a source-based distribution tree between the source and the receiver.

PIM Sparse Mode

PIM sparse mode (PIM-SM) uses a pull model to deliver multicast traffic. Only network segments with active receivers that have explicitly requested the data will receive the traffic.

Unlike dense mode interfaces, sparse mode interfaces are added to the multicast routing table only when periodic Join messages are received from downstream routers, or when a directly connected member is on the interface. When forwarding from a LAN, sparse mode operation occurs if an RP is known for the group. If so, the packets are encapsulated and sent toward the RP. When no RP is known, the packet is flooded in a dense mode fashion. If the multicast traffic from a specific source is sufficient, the first hop router of the receiver may send Join messages toward the source to build a source-based distribution tree.

PIM-SM distributes information about active sources by forwarding data packets on the shared tree. Because PIM-SM uses shared trees (at least, initially), it requires the use of a rendezvous point (RP). The RP must be administratively configured in the network.

In sparse mode, a router assumes that other routers do not want to forward multicast packets for a group, unless there is an explicit request for the traffic. When hosts join a multicast group, the directly connected routers send PIM Join messages toward the RP. The RP tracks multicast groups. Hosts that send multicast packets are registered with the RP by the first hop router of that host. The RP then sends Join messages toward the source. At this point, packets are forwarded on a shared distribution tree. If the multicast traffic from a specific source is sufficient, the first hop router of the host may send Join messages toward the source to build a source-based distribution tree.

First-hop designated routers with directly connected sources register with the RP and then data is forwarded down the shared tree to the receivers. The edge routers learn about a particular source when they receive data packets on the shared tree from that source through the RP. The edge router then sends PIM (S, G) Join messages toward that source. Each router along the reverse path compares the unicast routing metric of the RP address to the metric of the source address. If the metric for the source address is better, it will forward a PIM (S, G) Join message toward the source. If the metric for the RP is the same or better, then the PIM (S, G) Join message will be sent in the same direction as the RP. In this case, the shared tree and the source tree would be considered congruent.

If the shared tree is not an optimal path between the source and the receiver, the routers dynamically create a source tree and stop traffic from flowing down the shared tree. This behavior is the default behavior in Cisco IOS software. Network administrators can force traffic to stay on the shared tree by using the Cisco IOS ip pim spt-threshold infinity command.

PIM-SM scales well to a network of any size, including those with WAN links. The explicit join mechanism prevents unwanted traffic from flooding the WAN links.

Vif Interface

The Vif interface is similar to a loopback interface--it is a logical IP interface that is always up when the router is active.

The Vif interface needs to reside on its own unique subnet, and that subnet should be advertised in the Interior Gateway Protocol (IGP) updates (RIP, EIGRP, OSPF, ISIS).

The Vif interface maintains information about the input interface, private-to-public mgroup mappings, mask length, which defines your pool range, and the source of the translated packet.


Note


  • Multicast-to-multicast and multicast-to-unicast scenarios can be configured only under the Vif1 interface. Unicast-to-multicast scenarios can be configured under all the Vif interfaces, and are not restricted to the Vif1 interface.

  • Vif1 is attached to the default VRF; Vifn can be used for user-created VRF.


Multicast Service Reflection Application

Cisco multicast service reflection is an application running in Cisco IOS XE software interrupt level switching that processes packets forwarded by Cisco IOS XE software to the Vif interface. Unlike IP multicast Network Address Translation (NAT), which only translates the source IP address, the IP reflect service translates both source and destination addresses. Multicast service reflection is especially useful when users that have not yet moved to the new multicast group still need to receive the untranslated stream.

Multicast service reflection is implemented using an interface CLI statement. Each configured multicast service reflection CLI statement establishes a packet match and rewrite operation acting on packets sent by Cisco IOS XE unicast or multicast packet routing onto the Vif interface. The matched and rewritten packet is sent back into Cisco IOS XE unicast or multicast packet routing, where it is handled like any other packet arriving from an interface.

The Vif interface is a receiver for the original stream and makes it appear that the new stream is coming from a source directly connected to the Vif subnet. The Vif interface is a Designated Router (DR) for active sources and registers with the appropriate RP.

More than one multicast service reflection operation can be configured to match the same packets, which allows you to replicate the same received traffic to multiple destination addresses. The maximum split number for unicast-to-multicast destination splitting is limited to 2.

How to Implement Multicast Service Reflection

Configuring Multicast Service Reflection

Perform this task to configure multicast service reflection.

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. ip multicast-routing [distributed ]
  4. interface type number
  5. ip pim sparse-mode
  6. no shutdown
  7. exit
  8. Repeat Steps 4 through 7 for each PIM interface.
  9. interface Vif
  10. ip address ip-address mask [secondary ]
  11. ip pim sparse-mode
  12. ip service reflect input-interface destination destination-address to new-destination-address mask-len number source ip-address OR ip service reflect input-interface destination destination-address to new-destination-address mask-len number source old-range to new-range src-mask-len mask
  13. ip igmp static-group {* | group-address [source {source-address | ssm-map }]}
  14. end

DETAILED STEPS

  Command or Action Purpose

Step 1

enable

Example:


Router> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:


Router# configure terminal

Enters global configuration mode.

Step 3

ip multicast-routing [distributed ]

Example:


Router(config)# ip multicast-routing

Enables IP multicast routing.

  • Use the distributed keyword to enable the Multicast Distributed Switching feature.

Step 4

interface type number

Example:


Router(config)# interface ethernet 0

Enters interface configuration mode for the specified interface type and number.

Step 5

ip pim sparse-mode

Example:


Router(config-if)# ip pim sparse-mode

Enables PIM sparse mode on the interface.

Step 6

no shutdown

Example:


Router(config-if)# no shutdown

Enables an interface.

Step 7

exit

Example:


Router(config-if)# exit

Exits interface configuration mode, and returns to global configuration mode.

Step 8

Repeat Steps 4 through 7 for each PIM interface.

--

Step 9

interface Vif

Example:


Router(config)# interface Vif1

Enters interface configuration mode for the Vif interface.

Step 10

ip address ip-address mask [secondary ]

Example:


Router(config-if)# ip address 10.1.1.1 255.255.255.0

Sets a primary or secondary IP address for an interface.

Step 11

ip pim sparse-mode

Example:


Router(config-if)# ip pim sparse-mode

Enables PIM sparse mode on an interface.

Step 12

ip service reflect input-interface destination destination-address to new-destination-address mask-len number source ip-address OR ip service reflect input-interface destination destination-address to new-destination-address mask-len number source old-range to new-range src-mask-len mask

Example:

Router(config-if)# ip service reflect ethernet0 destination 66.0.0.7 to 239.3.3.0 mask-len 32 source 10.1.1.2
Router(config-if)# ip service reflect GigabitEthernet5 destination 66.0.0.7 to 239.3.3.0 mask-len 32 source 10.1.1.0 to 22.1.1.0 src-mask-len 24

Matches and rewrites multicast packets routed to the Vif interface.

  • The matched and rewritten packets are sent back into Cisco multicast packet routing (or unicast routing if the destination is unicast), where they are handled like any other packets arriving from an interface.

The ip service reflect destination A.B.C.D. to E.F.G.H. mask-len source command can be used to configure multicast-to-multicast, multicast-to-unicast, and unicast-to-multicast scenarios.

  • If A.B.C.D is a unicast address and E.F.G.H is a multicast address, a unicast-to-multicast scenario is configured.

  • If A.B.C.D is a multicast address and E.F.G.H is a multicast address, a multicast-to-multicast scenario is configured.

  • If A.B.C.D is a multicast address and E.F.G.H is a unicast address, a multicast-to-unicast scenario is configured.

Step 13

ip igmp static-group {* | group-address [source {source-address | ssm-map }]}

Example:


Router(config-if)# ip igmp static-group 224.1.1.1

Configures the router to be a statically connected member of the specified group on the interface, and forwards traffic destined for the multicast group onto the interface.

  • This step is only applicable for multicast-to-multicast and multicast-to-unicast scenarios; not applicable for unicast-to-multicast scenarios.

Step 14

end

Example:


Router(config-if)# end

Exits interface configuration mode, and returns to privileged EXEC mode.

Configuration Examples for Multicast Service Reflection

The following examples show the configurations for multicast service reflection.

Example: Multicast-to-Multicast Destination Translation

The following example shows how to implement multicast service reflection (multicast-to-multicast destination translation) in a service provider network. Multicast-to-Multicast Destination Translation allows service providers to translate externally received content provider multicast destination addresses to multicast destination addresses that conform to the service provider’s internal addressing policy.

This example uses the topology illustrated in the following figure.

Figure 1. Multicast Service Reflection (Multicast-to-Multicast Destination Translation) in a Service Provider Network: Example Topology

In this example topology, a content provider is sending financial market information to a service provider, which in turn is sending that information to active receivers (brokerage houses). The service provider may be receiving market data from multiple content providers.

Router R1 is an edge router in the service provider’s PIM domain.

Router R1 has a loopback interface and is acting as the RP for the 224.1.1.0/24 address range.

Router R1 has a Vif1 interface and is running the multicast service reflection application.

Router R2 has a loopback interface and is acting as the RP for the 239.2.2.0/24 address range.

Enter these commands on the router running the multicast service reflection application (R1):

configure terminal
ip multicast-routing distributed
interface <all IP numbered interfaces>
ip pim sparse-mode
no shutdown
!
! Configure the loopback interface for the Service Provider RP
!
interface loopback 0
ip address 192.168.2.1 255.255.255.255
ip pim sparse-mode
!
ip pim rp-address 192.168.2.1 mcast-content-provider-groups override
ip pim rp-address 192.168.2.2 mcast-service-provider-groups override
ip access-list standard mcast-content-provider-groups
permit 224.1.1.0 0.0.0.255
ip access-list standard mcast-service-provider-groups
permit 239.2.2.0 0.0.0.255
!
! Configure the Vif1 virtual interface for multicast service reflection
!
interface Vif1
ip address 10.1.1.1 255.255.255.0
ip pim sparse-mode
ip service reflect Ethernet 0 destination 224.1.1.0 to 239.2.2.0 mask-len 24 source 10.1.1.2
ip igmp static-group 224.1.1.0
ip igmp static-group 224.1.1.1
ip igmp static-group 224.1.1.2
ip igmp static-group 224.1.1.3
.
.
.
ip igmp static-group 224.1.1.255

Enter these commands on the router that is the RP in the service provider network (R2):

ip multicast-routing distributed
interface <all IP numbered interfaces>
ip pim sparse-mode
no shutdown
!
interface loopback 0
ip address 192.168.2.2 255.255.255.255
ip pim sparse-mode
!
ip pim rp-address 192.168.2.2 mcast-service-provider-groups override
ip access-list standard mcast-service-provider-groups
permit 239.2.2.0 0.0.0.255
!

Enter these commands on all the other routers in the service provider network (R3):

ip multicast-routing distributed
interface <all IP numbered interfaces>
ip pim sparse-mode
no shutdown
!
ip pim rp-address 192.168.2.2 mcast-service-provider-groups override
ip access-list standard mcast-service-provider-groups
permit 239.2.2.0 0.0.0.255
end

Example: Multicast-to-Unicast Destination Translation

The following example shows how to implement multicast service reflection (multicast-to-unicast destination translation) in a service provider network. Multicast-to-Unicast Destination Translation allows service providers to translate externally received content provider multicast destination addresses to unicast destination addresses that conform to the service provider’s internal addressing policy.

This example uses the topology illustrated in the following figure.

Figure 2. Multicast Service Reflection (Multicast-to-Unicast Destination Translation) in a Service Provider Network: Example Topology

In this example topology, a content provider is sending financial market information to a service provider, which in turn is sending that information to active receivers (brokerage houses). The service provider may be receiving market data from multiple content providers.

Router R1 is an edge router in the service provider’s PIM domain.

Router R1 has a loopback interface and is acting as the RP for the 224.1.1.0/24 address range.

Router R1 has a Vif1 interface and is running the multicast service reflection application.

Routers R2 and R3 are non PIM enabled routers running unicast routing only in the service provider network.

Enter these commands on the router running the multicast service reflection application (R1):

configure terminal
ip multicast-routing distributed
interface <all IP numbered interfaces>
ip pim sparse-mode
no shutdown
!
! Configure the loopback interface for the Service Provider RP
!
interface loopback 0
ip address 192.168.2.1 255.255.255.255
ip pim sparse-mode
!
ip pim rp-address 192.168.2.1 mcast-content-provider-groups override
ip access-list standard mcast-content-provider-groups
permit 224.1.1.10 0.0.0.255
!
! Configure the Vif1 virtual interface for multicast service reflection
!
interface Vif1
ip address 10.1.1.1 255.255.255.0
ip pim sparse-mode
ip service reflect Ethernet 0 destination 224.1.1.0 to 10.3.3.0 mask-len 24 source 10.1.1.2
end

Example: Unicast-to-Multicast Destination Translation

The following example shows how to implement multicast service reflection (unicast-to-multicast destination translation) in a service provider network. Unicast-to-Multicast Destination Translation allows service providers to translate externally received content provider unicast destination addresses to multicast destination addresses that conform to the service provider’s internal addressing policy.

This example uses the topology illustrated in the following figure.

Figure 3. Multicast Service Reflection (Unicast-to-Multicast Destination Translation) in a Service Provider Network: Example Topology

In this example topology, a content provider is sending financial market information to a service provider, which in turn is sending that information to active receivers (brokerage houses). The service provider may be receiving market data from multiple content providers.

Router R1 is an edge router in the service provider’s PIM domain.

Router R1 has a Vif1 interface and is running the multicast service reflection application.

Router R2 has a loopback interface and is acting as the RP for the 239.3.3.0/24 address range.

Router R3 is another edge router in the service provider’s PIM domain.

Enter these commands on the router running the multicast service reflection application (R1):

configure terminal
ip multicast-routing distributed
interface <all IP numbered interfaces>
ip pim sparse-mode
no shutdown
!
ip pim rp-address 192.168.2.2 mcast-service-provider-groups override
ip access-list standard mcast-service-provider-groups
permit 239.3.3.0 0.0.0.255
!
! Configure the Vif1 virtual interface for multicast service reflection
!
interface Vif1
ip address 10.1.1.1 255.255.255.0
ip pim sparse-mode
ip service reflect Ethernet 0 destination 10.1.1.2 to 239.3.3.2 mask-len 32 source 10.1.1.2
ip route 10.1.1.2 255.255.255.255 vif1

Enter these commands on the router that is the RP in the service provider network (R2):

ip multicast-routing distributed
interface <all IP numbered interfaces>
ip pim sparse-mode
no shutdown
!
interface loopback 0
ip address 192.168.2.2 255.255.255.255
ip pim sparse-mode
!
ip pim rp-address 192.168.2.2 mcast-service-provider-groups override
ip access-list standard mcast-service-provider-groups
permit 239.3.3.0 0.0.0.255

Enter these commands on all the other routers in the service provider network (R3):

ip multicast-routing distributed
interface <all IP numbered interfaces>
ip pim sparse-mode
no shutdown
ip pim rp-address 192.168.2.2 mcast-service-provider-groups override
ip access-list standard mcast-service-provider-groups
permit 239.3.3.0 0.0.0.255
end

Example: Multicast-to-Multicast Destination Splitting

The following example shows how to implement multicast service reflection (multicast-to-multicast destination splitting, where the multicast single stream is converted into two unique multicast streams) in a service provider network. Multicast-to-Multicast Destination Splitting allows service providers to translate externally received content provider multicast destination addresses to multiple multicast destination addresses that conform to the service provider’s internal addressing policy.

This example uses the topology illustrated in the following figure.

Figure 4. Multicast Service Reflection (Multicast-to-Multicast Destination Splitting) in a Service Provider Network: Example Topology

In this example topology, a content provider is sending financial market information to a service provider, which in turn is sending that information to active receivers (brokerage houses). The service provider may be receiving market data from multiple content providers.

Router R1 is an edge router in the service provider’s PIM domain.

Router R1 has a loopback configured and is acting as an RP for the 224.1.1.0/24 address range.

Router R1 has a Vif1 interface and is running the multicast service reflection application.

Routers R2 and R4 have multiple loopback interfaces and are acting as anycast RPs for the 239.2.2.0 and 239.3.3.0 address ranges.

Router R3 and R5 are edge routers in the service provider’s PIM domain.

Enter these commands on the router running the multicast service reflection application (R1):

configure terminal
ip multicast-routing distributed
interface <all IP numbered interfaces>
ip pim sparse-mode
no shutdown
!
! Configure the loopback interface for the Service Provider RP
!
interface loopback 0
ip address 192.168.2.1 255.255.255.255
ip pim sparse-mode
!
ip pim rp-address 192.168.2.1 mcast-content-provider-groups override
ip pim rp-address 192.168.0.254 mcast-service-provider-groups override
ip access-list standard mcast-content-provider-groups
permit 224.1.1.0 0.0.0.255
ip access-list standard mcast-service-provider-groups
permit 239.2.2.0 0.0.0.255
ip access-list standard mcast-service-provider-groups
permit 239.3.3.0 0.0.0.255
!
! Configure the Vif1 virtual interface for multicast service reflection
!
interface Vif1
ip address 10.1.1.1 255.255.255.0
ip pim sparse-mode
ip service reflect Ethernet 0 destination 224.1.1.0 to 239.2.2.0 mask-len 24 source 10.1.1.2
ip service reflect Ethernet 0 destination 224.1.1.0 to 239.3.3.0 mask-len 24 source 10.1.1.2 ip igmp static-group 224.1.1.0
ip igmp static-group 224.1.1.1 ip igmp static-group 224.1.1.2 ip igmp static-group 224.1.1.3
.
.
.
ip igmp static-group 224.1.1.254

Enter these commands on the R2 router that is an anycast RP in the service provider network:

ip multicast-routing distributed
interface <all IP numbered interfaces>
ip pim sparse-mode
no shutdown
!
interface loopback 0
ip address 192.168.2.2 255.255.255.255
ip pim sparse-mode
!
interface loopback 1
description --- Anycast RP ---
ip address 192.168.0.254 255.255.255.255
ip pim sparse-mode
!
ip msdp peer 192.168.2.3 connect-source Loopback0 ip msdp originator-id Loopback0
!
ip pim rp-address 192.168.0.254 mcast-service-provider-groups override
ip access-list standard mcast-service-provider-groups
permit 239.2.2.0 0.0.0.255
ip access-list standard mcast-service-provider-groups
permit 239.3.3.0 0.0.0.255

Enter these commands on the R4 router that is an anycast RP in the service provider network:

ip multicast-routing distributed
interface <all IP numbered interfaces>
ip pim sparse-mode
no shutdown
!
interface loopback 0
ip address 192.168.2.3 255.255.255.255
ip pim sparse-mode interface loopback 1
ip address 192.168.0.254 255.255.255.255
ip pim sparse-mode
!
ip pim rp-address 192.168.0.254 mcast-service-provider-groups override
ip access-list standard mcast-service-provider-groups
permit 239.2.2.0 0.0.0.255
ip access-list standard mcast-service-provider-groups
permit 239.3.3.0 0.0.0.255
!
ip msdp peer 192.168.2.2 connect-source Loopback0 ip msdp originator-id Loopback0

Enter these commands on the R3 and R5 routers in the service provider network:

ip multicast-routing distributed
ip pim rp-address 192.168.0.254 mcast-service-provider-groups override
ip access-list standard mcast-service-provider-groups
permit 239.2.2.0 0.0.0.255
permit 239.3.3.0 0.0.0.255
!

Example: Multicast-to-Unicast Destination Splitting

The following example shows how to implement multicast service reflection (multicast-to-unicast destination splitting, where the multicast single stream is converted into two unique unicast streams) in a service provider network. Multicast-to-Unicast Destination Splitting allows service providers to translate externally received content provider multicast destination addresses to multiple unicast destination addresses that conform to the service provider’s internal addressing policy.

This example uses the topology illustrated in the following figure.

Figure 5. Multicast Service Reflection (Multicast-to-Unicast Destination Splitting) in a Service Provider Network: Example Topology

In this example topology, a content provider is sending financial market information to a service provider, which in turn is sending that information to active receivers (brokerage houses). The service provider may be receiving market data from multiple content providers.

Router R1 is an edge router in the service provider’s PIM domain.

Router R1 is acting as a RP for the 224.1.1.0/24 address range.

Router R1 has a Vif1 interface and is running the multicast service reflection application.

Routers R2, R3, R4 and R5 are not PIM enabled and are running unicast routing only in the service provider network.

Enter these commands on the router running the multicast service reflection application (R1):

configure terminal
ip multicast-routing distributed
interface <all IP numbered interfaces>
ip pim sparse-mode
no shutdown
!
! Configure the loopback interface for the Service Provider RP
!
interface loopback 0
ip address 192.168.2.1 255.255.255.255
ip pim sparse-mode
!
ip pim rp-address 192.168.2.1 mcast-content-provider-groups override
ip access-list standard mcast-content-provider-groups
permit 224.1.1.0 0.0.0.255
!
! Configure the Vif1 virtual interface for multicast service reflection
!
interface Vif1
ip address 10.1.1.1 255.255.255.0
ip pim sparse-mode
ip service reflect Ethernet 0 destination 224.1.1.0 to 10.3.3.0 mask-len 24 source 10.1.1.2
ip service reflect Ethernet 0 destination 224.1.1.0 to 10.5.5.0 mask-len 24 source 10.1.1.2
ip igmp static-group 224.1.1.0
ip igmp static-group 224.1.1.1
ip igmp static-group 224.1.1.2
ip igmp static-group 224.1.1.3
.
.
.
ip igmp static-group 224.1.1.255
!
end

Example: Unicast-to-Multicast Destination Splitting

The following example shows how to implement multicast service reflection (unicast-to-multicast destination splitting, where the unicast single stream is converted into two unique multicast streams) in a service provider network. Unicast-to-Multicast Destination Splitting allows service providers to translate externally received content provider unicast destination addresses to multiple multicast destination addresses that conform to the service provider’s internal addressing policy.

This example uses the topology illustrated in the following figure.

Figure 6. Multicast Service Reflection (Unicast-to-Multicast Destination Splitting) in a Service Provider Network: Example Topology

In this example topology, a content provider is sending financial market information to a service provider, which in turn is sending that information to active receivers (brokerage houses). The service provider may be receiving market data from multiple content providers.

Router R1 is an edge router in the service provider’s PIM domain.

Router R1 has a Vif1 interface and is running the multicast service reflection application.

Routers R2 and R4 have multiple loopback interfaces and are acting as anycast RPs for the 239.2.2.0 and 239.3.3.0 address ranges.

Router R3 and R5 are other edge routers in the service provider’s PIM domain.

Enter these commands on the router running the multicast service reflection application (R1):

configure terminal
ip multicast-routing distributed
interface <all IP numbered interfaces>
ip pim sparse-mode
no shutdown
!
ip pim rp-address 192.168.2.1 mcast-content-provider-groups override
ip pim rp-address 192.168.0.254 mcast-service-provider-groups override
ip access-list standard mcast-content-provider-groups
permit 224.1.1.0 0.0.0.255
ip access-list standard mcast-service-provider-groups
permit 239.2.2.0 0.0.0.255
ip access-list standard mcast-service-provider-groups
permit 239.3.3.0 0.0.0.255
!
! Configure the Vif1 virtual interface for multicast service reflection
!
interface Vif1
ip address 10.1.1.1 255.255.255.0
ip pim sparse-mode
ip service reflect Ethernet 0 destination 10.1.1.2 to 239.3.3.2 mask-len 32 source 10.1.1.2
ip service reflect Ethernet 0 destination 10.1.1.2 to 239.2.2.2 mask-len 32 source 10.1.1.2
ip route 10.1.1.2 255.255.255.255 vif1

Enter these commands on the R2 router that is the anycast RP in the service provider network:

ip multicast-routing distributed
interface <all IP numbered interfaces>
ip pim sparse-mode
no shutdown
!
interface loopback 0
ip address 192.168.2.2 255.255.255.255
ip pim sparse-mode
!
interface loopback 1
description --- Anycast RP ---
ip address 192.168.0.254 255.255.255.255
ip pim sparse-mode
!
ip pim rp-address 192.168.0.254 mcast-service-provider-groups override
ip access-list standard mcast-service-provider-groups
permit 239.2.2.0 0.0.0.255
ip access-list standard mcast-service-provider-groups
permit 239.3.3.0 0.0.0.255
!
ip msdp peer 192.168.2.3 connect-source Loopback0
ip msdp originator-id Loopback0

Enter these commands on the R4 router that is the anycast RP in the service provider network:

ip multicast-routing distributed
interface <all IP numbered interfaces>
ip pim sparse-mode
no shutdown
!
interface loopback 0
ip address 192.168.2.3 255.255.255.255
ip pim sparse-mode
!
interface loopback 1
description --- Anycast RP ---
ip address 192.168.0.254 255.255.255.255
ip pim sparse-mode
!
ip pim rp-address 192.168.0.254 mcast-service-provider-groups override
ip access-list standard mcast-service-provider-groups
permit 239.2.2.0 0.0.0.255
ip access-list standard mcast-service-provider-groups
permit 239.3.3.0 0.0.0.255
ip msdp peer 192.168.2.2 connect-source Loopback0
ip msdp originator-id Loopback0

Enter these commands on all of the other routers in the service provider network:

ip multicast-routing distributed
interface <all IP numbered interfaces>
ip pim sparse-mode
no shutdown
!
ip pim rp-address 192.168.0.254 mcast-service-provider-groups override
ip access-list standard mcast-service-provider-groups
permit 239.2.2.0 0.0.0.255
ip access-list standard mcast-service-provider-groups
permit 239.3.3.0 0.0.0.255
end

Verifying Multicast Service Reflection Configuration

Use the following show commands to verify Multicast Service Reflection configuration:

  • show ip cef

  • show ip mroute

  • show ip mfib

  • show platform hardware qfp active interface

  • show ip multicast

  • show platform hardware qfp active feature uni-sr

Use the show ip cef command to display a summary of the Cisco Express Forwarding (CEF) Information Base (FIB). This command is applicable only to unicast-to-multicast scenarios.
interface Vif1
ip address 10.1.1.1 255.255.255.0
ip pim sparse-mode
ip service reflect Ethernet 0 destination 10.1.1.2 to 239.3.3.2 mask-len 32 source 10.1.1.2
end
ip route 10.1.1.2 255.255.255.255 vif1

For the above configuration, the show ip cef command displays the following output:

router# show ip cef
10.1.1.2/32 attached Vif1
Use the show ip mroute command to display the contents of the multicast routing (mroute) table:
router# 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, 
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, N - Received BGP Shared-Tree Prune, 
n - BGP C-Mroute suppressed, Q - Received BGP S-A Route, q - Sent BGP S-A Route, V - RD & Vector, v - Vector, 
p - PIM Joins on route, x - VxLAN group, c - PFP-SA cache created entry, * - determined by Assert, 
# - iif-starg configured on rpf intf, e - encap-helper tunnel flag, l - LISP decap ref count contributor 
Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join, t - LISP transit group
Timers: Uptime/Expires Interface state: Interface, Next-Hop or VCD, State/Mode (*, 239.0.0.0), 00:04:49/stopped, RP 192.168.0.254, flags: SJCF 
Incoming interface: Null, RPF nbr 0.0.0.0 
Outgoing interface list: 
GigabitEthernet3, Forward/Sparse, 00:04:49/00:02:39, flags: (
10.1.1.3, 239.0.0.0), 00:00:05/00:02:54, flags: FT 
Incoming interface: Vif1, RPF nbr 0.0.0.0 
Outgoing interface list: 
GigabitEthernet3, Forward/Sparse, 00:00:05/00:03:24, flags:
Use the show ip mfib command to display the forwarding entries and interfaces in the Multicast Forwarding Information Base (MFIB):
router# show ip mfib 239.3.3.0
(10.1.1.3,239.3.3.0) Flags: HW
SW Forwarding: 0/0/0/0, Other: 1/0/1
HW Forwarding: 1379885/2999/96/2249, Other: 0/0/0
Vif1 Flags: A NS
GigabitEthernet4 Flags: F NS
Pkts: 0/0/0 Rate: 0 pps
Use the show platform hardware qfp active interface command to display the interface status. This command is applicable only to unicast-to-multicast scenarios.
router# show platform hardware qfp active interface if-name vif1
Protocol 1 - ipv4_output 
FIA handle - CP:0x56518a67abc8 DP:0xe6642780 
IPV4_VFR_REFRAG (M) 
IPV4_UC_SR_REPLICA_LOOKUP 
IPV4_OUTPUT_L2_REWRITE (M) 
IPV4_OUTPUT_FRAG (M) 
IPV4_OUTPUT_DROP_POLICY (M) 
DEF_IF_DROP_FIA (M)
Use the show ip multicast command to display information about IP multicast global configuration parameters:
router# show ip multicast
Multicast Routing: enabled
Multicast Multipath: disabled
Multicast Route limit: No limit
Limit for number of sources per group: 10
Limit for number of OIFs in this MVRF: 8000
The pim is turned off in this MVRF as the configured OIFs limit per MVRF has reached.
Limit for number of OIFs in the router: 8000
Multicast Triggered RPF check: enabled
Multicast Fallback group mode: Dense
Use the show platform hardware qfp active feature uni-sr command to display the status of the unicast-to-multicast destination translation or splitting. This command is applicable only to unicast-to-multicast scenarios.
router# show platform hardware qfp active feature uni-sr 
Vif1: 
unicast service reflect info: 
vif name: Vif1 
vif if_handle: 2013
ingress name: GigabitEthernet5 
ingress if_handle: 10 
replica count: 1 
replica rule HW addr: 0x00000000e94e5c10 
hash val: 5 
prefix: 66.0.0.7/32 
replica node info: 
    translated source: 10.1.1.3 
    translated destination: 239.3.3.0/32 
    replica rule HW addr: 0x00000000ead98880 
    match: octets 164427264 packets 1712784

Troubleshooting and Debugging

Use the debug ip multicast service-reflect command to debug multicast destination reflection configuration:

debug ip multicast service-reflect
IP multicast service reflect debugging is on
    int vif1 router
    ip service reflect destination 66.0.0.7 to 239.0.0.0 mask-len 32 source 10.1.1.3 
    *May 19 12:53:33.566: MSR(0) [default]: Sync SR rule (0.0.0.0, 0.0.0.0) sgrp idx: 0 grp idx: 0, pim op: 0

Additional References

Related Documents

Related Topic

Document Title

Cisco IOS commands

Cisco IOS Master Commands List, All Releases

Multicast commands: complete command syntax, command mode, command history, defaults, usage guidelines, and examples

Cisco IOS IP Multicast Command Reference

Standards

Standards

Title

No new or modified standards are supported by this feature, and support for existing standards has not been modified by this feature.

--

MIBs

MIBs

MIBs Link

No new or modified MIBs are supported by this feature.

To locate and download MIBs for selected platforms, Cisco software releases, and feature sets, use Cisco MIB Locator found at the following URL:

http://www.cisco.com/go/mibs

RFCs

RFCs

Title

No new or modified RFCs are supported by this feature, and support for existing RFCs has not been modified by this feature.

--

Technical Assistance

Description

Link

The Cisco Support website provides extensive online resources, including documentation and tools for troubleshooting and resolving technical issues with Cisco products and technologies.

To receive security and technical information about your products, you can subscribe to various services, such as the Product Alert Tool (accessed from Field Notices), the Cisco Technical Services Newsletter, and Really Simple Syndication (RSS) Feeds.

Access to most tools on the Cisco Support website requires a Cisco.com user ID and password.

http://www.cisco.com/cisco/web/support/index.html

Feature Information for Multicast Service Reflection

The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Table 1. Feature Information for Multicast Service Reflection

Feature Name

Releases

Feature Information

Multicast Service Reflection

Cisco IOS XE 3.4S

The Cisco Multicast Service Reflection feature allows you to translate externally received multicast or unicast destination addresses to multicast or unicast addresses that conform to their organization’s internal addressing policy. Using this feature, users do not need to redistribute unicast routes from external sources at the translation boundary into their network infrastructure for Reverse Path Forwarding (RPF) to work properly. In addition, users can receive identical feeds from two ingress points in the network and route them independently.

The following command was introduced or modified: ip service reflect.

Unicast-to-Multicast Destination Translation and Splitting

Cisco IOS XE Cupertino 17.9.1a

This feature introduces unicast-to-multicast destination translation and splitting configurations.

The show platform hardware qfp active feature uni-sr , and debug ip multicast service-reflect commands were introduced.