XR Multicast VPN with SRv6—Dual Stack White Paper

Available Languages

Download Options

  • PDF
    (432.6 KB)
    View with Adobe Reader on a variety of devices
Updated:September 25, 2024

Bias-Free Language

The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.

Available Languages

Download Options

  • PDF
    (432.6 KB)
    View with Adobe Reader on a variety of devices
Updated:September 25, 2024
 

 

Implementing a dual-stack SRv6 and XR multicast VPN solution for seamless network integration

Introduction

In the ever-evolving landscape of network technology, the emergence of segment routing over IPv6 (SRv6) has created a new horizon for efficient traffic management, offering enhanced path control and network simplification. As networks shift toward using SRv6 to handle their traffic requirements, multicast currently lacks a solution that will be able to take advantage of SRv6's benefits. At the same time, multicast continues to be an indispensable technology for distributing data to multiple endpoints concurrently, proving its worth in bandwidth conservation and application scalability. Therefore, it is essential for multicast to simultaneously operate with a supported core along with SRv6 for unicast traffic. The dual-stack approach proposed in this document ensures that legacy Cisco IOS® XR Multicast VPN (MVPN) applications remain fully operational while network operators leverage the benefits of SRv6. This solution not only bridges the gap between unicast and multicast, but also paves the way for a smooth transition, minimizes operational complexities, and safeguards investment in existing network infrastructure. It exemplifies a forward-thinking strategy that accommodates the diverse requirements of modern networks, providing a cohesive platform for both current and future networking demands.

What will you learn?

In this document, we will delve into the intricacies of integrating XR MVPN technology within environments that have already deployed unicast SRv6. The document will guide you through the fundamental concepts, advantages, challenges, and potential strategies for ensuring the smooth coexistence of these two networking paradigms.

Why is it required?

There is a need for integrating multicast technology within SRv6 environments, especially in cases where Cisco advocates adopting SRv6 for new (greenfield) deployments and existing customers. It is crucial to identify and explain the methods by which multicast services can be preserved or enhanced in the context of an SRv6-based infrastructure. This entails a thorough examination of the technical adaptations and optimizations required for multicast to coexist with unicast SRv6 traffic.

Given the wide array of applications that rely on multicast for efficient data distribution, such as video conferencing, IPTV, and content delivery networks, the transition to SRv6 must account for these use cases to avoid service disruption. This encompasses detailing the seamless operation of multicast communications alongside the unicast flows that are native to SRv6.

Multicast in an SRv6 network

Multicast traffic management is a crucial aspect of contemporary networking, especially when it comes to efficiently distributing content such as video streaming, IPTV, and live broadcasts to multiple receivers. Traditionally, this has been achieved using protocols such as Internet Group Management Protocol (IGMP), Protocol Independent Multicast (PIM), and Multicast Source Discovery Protocol (MSDP) that work together to create multicast distribution trees. These trees ensure that multiple recipients can receive the same content simultaneously without requiring individual data streams per receiver, thereby conserving bandwidth and reducing network load.

The traditional multicast approach uses a concept known as "Rendezvous Points" (RPs) in PIM-Sparse Mode, which serve as aggregation points for receivers to join multicast groups and receive the multicast stream from the source. This method has been the foundation of multicast networking, providing a reliable mechanism for multicast data delivery. However, as network architectures evolve, new technologies like SRv6 are emerging, promising to revolutionize the way network traffic is managed.

With SRv6, network operators can define explicit routes for packets, implement service chaining, and apply network policies at scale without relying on complex signaling protocols or maintaining extensive state information within the network, unlike multicast routing protocols.

Despite the clear advantages of SRv6, implementing multicast with SRv6 remains a challenge. The primary reason for this is that multicast requires efficient replication of data across a branching tree structure, which is fundamentally different from the linear paths typically used in unicast SRv6 traffic. Multicast traffic needs to fan out to multiple destinations, and this necessitates a coexistence strategy that allows for SRv6's path-based routing to intersect with traditional multicast tree replication mechanisms.

The ongoing development of SRv6 multicast aims to combine the flexibility and efficiency of SRv6 routing with the bandwidth-saving benefits of multicast. While the potential advantages are significant, achieving a fully operational SRv6 multicast environment is complex and requires careful planning, development, and collaboration across the networking community.

Current MVPN implementations require the presence of an IPv4 core and are not supported over an IPv6 core infrastructure. In the interim, while full integration of XR MVPN into the SRv6 landscape is being developed, dual-stack approaches may be employed. Networks can maintain traditional multicast routing over an IPv4 core for multicast services alongside SRv6 for unicast services. Such a dual-stack strategy allows network operators to leverage the benefits of SRv6 for specific traffic types or services, while continuing to rely on the proven multicast routing infrastructure for efficient content distribution. The industry's push toward SRv6 is opening doors to innovative solutions that aim to facilitate this coexistence.

Dual-stack solution

Refer to the topology below.

Multicast VPN and unicast SRv6 topology

Figure 1.            

Multicast VPN and unicast SRv6 topology

In the proposed dual-stack solution, services that rely on unicast communication will persist in being routed through a core network infrastructure that is enhanced with SRv6 capabilities. However, services that use multicast communication will be specifically set up to operate over a core network that employs IPv4 with MVPN functionality. This means that while individual data packets meant for a single destination will traverse the SRv6 core, group communications intended for multiple destinations will be handled by a separate core network designed around the IPv4 PIM core, for efficient distribution of data to multiple recipients.

Multicast SAFI

Unicast routing plays a foundational role in providing multicast services, as multicast routing relies on the underlying unicast routing infrastructure to function effectively. When setting up an MVPN network, the unicast address family identifier (SAFI) for VPNv4/VPNv6 within Border Gateway Protocol (BGP) is adequate. This will assist in correctly identifying the IPv4/IPv6 customer prefix, ensuring the successful execution of the multicast Reverse Path Forwarding (RPF) check. In a dual-stack scenario like the one above, where network operators require unicast and multicast traffic to coexist in an SRv6 network, a dedicated multicast SAFI can be used. Configuring this SAFI allows routers to maintain separate Routing Information Bases (RIBs) for unicast and multicast traffic, allowing for more efficient and scalable multicast routing within and across BGP-speaking networks.

Limitations

In a network core that uses SRv6, an IPv6 BGP peering relationship has been established specifically for the SRv6 infrastructure. When BGP peers are using IPv6, the routing information exchanged includes IPv6 next-hop addresses. However, when the goal is to support multicast traffic across a core network that relies on an IPv4 core, there arises a need for IPv4 next-hop addresses.

Although it is technically feasible to configure an IPv6 BGP session to carry source-specific multicast (SSM) routing information by activating the multicast SAFI as mentioned previously, this approach is not supported with the multicast SAFI. Therefore, to implement multicast in such an environment, it is necessary to establish a separate IPv4 BGP peering dedicated to multicast routing between the routers.

This dedicated IPv4 BGP peering for multicast will be adequate to enable the multicast SAFI, which is responsible for handling multicast routing information. Doing so ensures that multicast traffic is properly routed using IPv4 next hops within the IPv4 PIM core, even though the primary routing infrastructure of the network is based on SRv6.

We acknowledge the drawbacks of initiating an additional IPv4 session, as it introduces increased operational complexity, including the challenges associated with setting up, scaling, and maintaining the BGP session. To eliminate these complexities, we plan to address the above limitations in a forthcoming release. Until the feature becomes accessible, customers can utilize SRv6 and multicast services by following the methods outlined in this document.

Configuration

While SRv6 and multicast solutions require different sets of configurations, this document aims to emphasize the fundamental settings that serve as a starting point. In this section, we will provide an overview of the essential configurations necessary for the initial operation of both solutions in tandem. For more comprehensive configuration details, please refer to the specific configuration guides dedicated to each solution. These guides offer an in-depth exploration of the various configuration options available for SRv6 and multicast.

The following configuration snippet accurately defines the BGP peer for IPV4, including the SAFI that is necessary for the proper functioning of a multicast solution:

Router(config)#router bgp 101

Router(config-bgp)#neighbor 201.3.3.3

Router(config-bgp-nbr)# remote-as 101

Router(config-bgp-nbr)# update-source Loopback0

Router(config-bgp-nbr-af)# address-family ipv4 multicast

Router(config-bgp-nbr-af)# !

Router(config-bgp-nbr-af)# address-family ipv4 mvpn

Router(config-bgp-nbr-af)# !

Router(config-bgp-nbr-af)# address-family ipv6 mvpn

Router(config-bgp-nbr-af)# !

Router(config-bgp-nbr-af)# address-family vpnv4 multicast

Router(config-bgp-nbr-af)# !

Router(config-bgp-nbr-af)# address-family vpnv6 multicast

Router(config-bgp-nbr-af)# !

Router(config-bgp-nbr-af)# !

Router(config-bgp-nbr-af)#!

The configuration outlined below successfully establishes a BGP peering for IPV6 and includes the necessary SAFI that is essential for the operation of an SRv6 solution:

Router(config)#router bgp 101

Router(config-bgp-nbr-af)# neighbor 201:3::3

Router(config-bgp-nbr)# remote-as 101

Router(config-bgp-nbr)# update-source Loopback0

Router(config-bgp-nbr)# address-family ipv4 unicast

Router(config-bgp-nbr-af)# route-policy pass_all in

Router(config-bgp-nbr-af)# route-policy pass_all out

Router(config-bgp-nbr-af)# !

Router(config-bgp-nbr-af)# address-family vpnv4 unicast

Router(config-bgp-nbr-af)# default-originate

Router(config-bgp-nbr-af)# !

Router(config-bgp-nbr-af)# address-family ipv6 unicast

Router(config-bgp-nbr-af)# route-policy pass_all in

Router(config-bgp-nbr-af)# route-policy pass_all out

Router(config-bgp-nbr-af)# !

Router(config-bgp-nbr-af)# address-family vpnv6 unicast

Router(config-bgp-nbr-af)# default-originate

Router(config-bgp-nbr-af)# !

Router(config-bgp-nbr-af)# !

Router(config-bgp-nbr-af)#!

Enabling dual-stack support with SRv6 unicast and IPv4 multicast

This section includes a minimal sample configuration to enable dual-stack support with SRv6 unicast and IPv4 multicast. For more detailed information about various profile-based multicast routing and other SRv6 options refer to the Multicast Configuration Guide and Segment Routing Configuration Guide.

Enabling SRv6 involves the following high-level configuration steps:

      Configure SRv6 locator(s)

      Enable SRv6 under IS-IS

      Enable SRv6 services under BGP

The following example shows how to globally enable SRv6 and configure a locator:

Router(config)# segment-routing srv6

Router(config-srv6)# locators

Router(config-srv6-locators)# locator uLOC1

Router(config-srv6-locator)# micro-segment behavior unode psp-usd

Router(config-srv6-locator)# prefix 2001:0:8::/48

The following example shows how to configure SRv6 under the Intermediate System to Intermediate System (IS-IS) protocol:

Router(config)# router isis core

Router(config-isis)# address-family ipv6 unicast

Router(config-isis-af)# segment-routing srv6

Router(config-isis-srv6)# locator uLOC1 level 1

Router(config-isis-srv6-loc)# exit

The following example shows how to configure SRv6 under BGP:

Router(config)# router bgp 100 segment-routing srv6

This example shows how to assign an SRv6 locator:

Router(config)# router bgp 100 segment-routing srv6 locator uLOC1

This example shows how to enable SRv6 and configure the SRv6 locator for all Virtual Routing and Forwarding instances (VRFs) under the VPNv4 address family, with per-VRF label allocation mode:

Router(config)# router bgp 100

Router(config-bgp)# address-family vpnv4 unicast

Router(config-bgp-af)# vrf all

Router(config-bgp-af-vrfall)# segment-routing srv6

Router(config-bgp-af-vrfall-srv6)# locator Node1-locator

Router(config-bgp-af-vrfall-srv6)# alloc mode per-vrf

Router(config-bgp-af-vrfall-srv6)# exit

Router(config-bgp-af-vrfall)# exit

Router(config-bgp-af)# exit

Enabling multicast involves the following steps:

      Enable VRF routing for the customer’s VRF

      Configure route policy

      Configure router PIM

      Activate multicast routing configuration

The following example shows how to configure a VRF:

Router(config)#vrf one

Router(config-vrf)# address-family ipv4 unicast

Router(config-vrf-af)# import route-target

Router(config-vrf-import-rt)# 1:1

Router(config-vrf-import-rt)# !

Router(config-vrf-import-rt)# export route-target

Router(config-vrf-export-rt)# 1:1

Router(config-vrf-export-rt)# !

Router(config-vrf-export-rt)# !

The following example shows how to configure route policy:

Router(config)#route-policy rpf-for-one

Router(config-rpl)# set core-tree pim-default

Router(config-rpl)#end-policy

Router(config)#!

The following example shows how to configure PIM:

Router(config)#router pim

Router(config-pim)# address-family ipv4

Router(config-pim-default-ipv4)# interface Loopback0

Router(config-pim-ipv4-if)# enable

Router(config-pim-ipv4-if)# !

Router(config-pim-ipv4-if)# interface GigabitEthernet0/0/0/3

Router(config-pim-ipv4-if)# !

Router(config-pim-ipv4-if)# vrf one

Router(config-pim-one)# address-family ipv4

Router(config-pim-one-ipv4)# rpf topology route-policy rpf-for-one

Router(config-pim-one-ipv4)# !

Router(config-pim-one-ipv4)# !

Router(config-pim-one-ipv4)# !

Router(config-pim-one-ipv4)#!

The following example shows how to configure multicast routing:

Router(config)#multicast-routing

Router(config-mcast)# address-family ipv4

Router(config-mcast-default-ipv4)# interface Loopback0

Router(config-mcast-default-ipv4-if)# enable

Router(config-mcast-default-ipv4-if)# !

Router(config-mcast-default-ipv4-if)# interface GigabitEthernet0/0/0/3

Router(config-mcast-default-ipv4-if)# enable

Router(config-mcast-default-ipv4-if)# !

Router(config-mcast-default-ipv4-if)# mdt source Loopback0

Router(config-mcast-default-ipv4)# !

Router(config-mcast-default-ipv4)# vrf one

Router(config-mcast-one)# address-family ipv4

Router(config-mcast-one-ipv4)# mdt source Loopback0

Router(config-mcast-one-ipv4)# mdt data 232.100.100.0/24

Router(config-mcast-one-ipv4)# mdt default ipv4 232.100.1.1

Router(config-mcast-one-ipv4)# rate-per-route

Router(config-mcast-one-ipv4)# interface all enable

Router(config-mcast-one-ipv4)# !

Router(config-mcast-one-ipv4)# accounting per-prefix

Router(config-mcast-one-ipv4)# !

Router(config-mcast-one-ipv4)# !

Summary

In conclusion, the dual-stack SRv6 unicast and multicast coexisting solution offers a pragmatic and forward-compatible approach for contemporary networks. By acknowledging the persistent relevance of multicast for efficient data distribution and the advanced features of SRv6 for unicast traffic management, this solution delivers a comprehensive networking strategy. It ensures that the deployment of cutting-edge SRv6 technology does not disrupt the operation of critical multicast services, thus providing a seamless operational experience. This integration facilitates a non-disruptive evolution of network infrastructure, empowering network operators to embrace the future of networking without forsaking the established multicast protocols upon which many services still rely. Ultimately, the dual-stack solution stands as a testament to the importance of interoperability and thoughtful transition planning in the realm of network design and management.

 

Learn more