Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

close
keyboard_arrow_left
list Table of Contents
file_download PDF
keyboard_arrow_right

Multicast Optimization Design and Implementation

date_range 21-Jun-24

Juniper Networks supports the multicast optimization features discussed in this section in both centrally-routed bridging (CRB) and edge-routed bridging (ERB) overlays.

This design assumes that an EVPN-VXLAN ERB overlay is already running for IPv4 unicast traffic. (See Edge-Routed Bridging Overlay Design and Implementation for information about configuring edge-routed bridging.) However, the multicast optimization features uses a centrally routed approach.

Note:

Starting in Junos OS and Junos OS Evolved Release 22.2R2, we recommend deploying the optimized intersubnet multicast (OISM) solution for ERB overlay unicast EVPN-VXLAN networks that include multicast traffic. OISM combines the best aspects of ERB and CRB overlay designs together to provide the most efficient multicast traffic flow in ERB overlay fabrics.

We describe the OISM configuration that we validated in our ERB overlay reference architecture here:

This section shows how to add centrally-routed multicast optimizations to the edge-routed bridging topology shown in Figure 1.

Figure 1: Topology for Multicast Optimizations in an Edge-Routed Bridging OverlayTopology for Multicast Optimizations in an Edge-Routed Bridging Overlay

Multicast is configured as follows:

  • Server leaf devices are set up in AR leaf role and for IGMP snooping.

  • Spine devices are set up in AR replicator role.

  • Border leaf devices are set up for multicast routing.

Note:

If your multicast environment requires assisted replication to handle large multicast flows and multicast routing, we recommend any of the QFX10000 line of switches for the border leaf and border spine roles. However, note that the QFX10002-60C switch supports multicast at a lower scale than the QFX10002-36Q/72Q switches. Also, we do not recommend any of the MX Series routers included in this reference design as a border leaf in a multicast environment with large multicast flows.

For an overview of multicast optimizations, see the Multicast Optimization section in Data Center Fabric Blueprint Architecture Components.

The following sections show how to configure and verify multicast assisted replication:

Configuring the Server Leaf

We are configuring AR and IGMP snooping on the server leaf. When IGMP snooping is enabled on a device, SMET is also enabled on the device by default.

  1. Enable IGMP snooping.
    content_copy zoom_out_map
    set protocols igmp-snooping vlan BD-1 
    set protocols igmp-snooping vlan BD-2 
    set protocols igmp-snooping vlan BD-3 
    set protocols igmp-snooping vlan BD-4 
    
  2. Enable AR in the leaf role. This causes the server leaf to only forward one copy of multicast traffic to the spine, which then performs replication of the multicast traffic.

    The replicator-activation-delay is the time, in seconds, the leaf waits before sending the replication to the AR replicator after receiving the AR replicator route from the replicator.

    content_copy zoom_out_map
    set protocols evpn assisted-replication leaf replicator-activation-delay 10
    

Configuring the Spine

We are configuring the spine as AR replicator device.

  1. Configure IP addressing for the loopback interfaces. One address is used for the AR replicator role (192.168.102.2). The other address (192.168.2.2) is used for the VTEP tunnel.
    content_copy zoom_out_map
    set interfaces lo0 unit 0 family inet address 192.168.2.2/32 preferred
    set interfaces lo0 unit 0 family inet address 192.168.102.2/32 
    
  2. Configure the spine to act as the AR replicator device.
    content_copy zoom_out_map
    set protocols evpn assisted-replication replicator inet 192.168.102.2
    set protocols evpn assisted-replication replicator vxlan-encapsulation-source-ip ingress-replication-ip
    
  3. Configure the loopback interface that is used in the VRF routing instance.
    content_copy zoom_out_map
    set interfaces lo0 unit 1 family inet
    
  4. Configure a VRF routing instance.
    content_copy zoom_out_map
    set routing-instances VRF-1 instance-type vrf
    set routing-instances VRF-1 interface lo0.1
    set routing-instances VRF-1 route-distinguisher 192.168.2.2:1
    set routing-instances VRF-1 vrf-target target:100:1 
    
  5. Configure VLANs to the border leaf.
    content_copy zoom_out_map
    set vlans BD-1 vlan-id 1
    set vlans BD-1 vxlan vni 100001
    set vlans BD-2 vlan-id 2
    set vlans BD-2 vxlan vni 100002
    set vlans BD-3 vlan-id 3
    set vlans BD-3 vxlan vni 100003
    set vlans BD-4 vlan-id 4
    set vlans BD-4 vxlan vni 100004 
    
  6. Configure the EVPN protocol with VXLAN encapsulation.
    content_copy zoom_out_map
    set protocols evpn encapsulation vxlan
    set protocols evpn default-gateway no-gateway-community
    set protocols evpn extended-vni-list all
    
  7. Configure the switch options, and specify that the loopback interface is the VTEP source interface.
    content_copy zoom_out_map
    set switch-options vtep-source-interface lo0.0
    set switch-options vrf-target target:10458:0
    set switch-options vrf-target auto
    

Configuring the Border Leaf

This section describes how to set up multicast routing on the border leafs.

Note:

We do not configure AR on the border leafs. In this network design, the two border leafs share a multihomed ESI, and one of the border leaf devices supports AR but the other does not. In this situation, we do not recommend configuring AR on the border leaf that supports this feature. However, if your network includes two border leafs that share a multihomed ESI, and both border leaf devices support AR, we support the configuration of AR on both border leafs.

  1. Configure VLANs
    content_copy zoom_out_map
    set vlans BD-1 vlan-id 1
    set vlans BD-1 l3-interface irb.1
    set vlans BD-1 vxlan vni 100001
    set vlans BD-2 vlan-id 2
    set vlans BD-2 l3-interface irb.2
    set vlans BD-2 vxlan vni 100002
    set vlans BD-3 vlan-id 3
    set vlans BD-3 l3-interface irb.3
    set vlans BD-3 vxlan vni 100003
    set vlans BD-4 vlan-id 4
    set vlans BD-4 l3-interface irb.4
    set vlans BD-4 vxlan vni 100004
    
  2. Configure the EVPN protocol with VXLAN encapsulation.
    content_copy zoom_out_map
    set protocols evpn encapsulation vxlan
    set protocols evpn default-gateway no-gateway-community
    set protocols evpn extended-vni-list all
    
    Note:

    On QFX5130 and QFX5700 switches, also include the host-profile unified forwarding profile option to support an EVPN-VXLAN environment (see Layer 2 Forwarding Tables for details):

    content_copy zoom_out_map
    set system packet-forwarding-options forwarding-profile host-profile
  3. Configure the switch options and specify that the loopback interface is the VTEP source interface.
    content_copy zoom_out_map
    set switch-options vtep-source-interface lo0.0
    set switch-options vrf-target target:10458:0
    set switch-options vrf-target auto
    
  4. Configure the IRBs.
    content_copy zoom_out_map
    set interfaces irb unit 1 virtual-gateway-accept-data
    set interfaces irb unit 1 family inet address 10.0.1.239/24 preferred
    set interfaces irb unit 1 family inet address 10.0.1.239/24 virtual-gateway-address 10.0.1.254
    set interfaces irb unit 1 family inet6 nd6-stale-time 1200
    set interfaces irb unit 1 family inet6 address 2001:db8::10:0:1:239/112 preferred
    set interfaces irb unit 1 family inet6 address 2001:db8::10:0:1:239/112 virtual-gateway-address 2001:db8::10:0:1:254
    set interfaces irb unit 1 family inet6 address fe80:10:0:1::239/64 virtual-gateway-address fe80:10:0:1::254
    set interfaces irb unit 1 virtual-gateway-v4-mac 00:00:5e:00:00:04
    set interfaces irb unit 1 virtual-gateway-v6-mac 00:00:5e:00:00:04
    set interfaces irb unit 2 virtual-gateway-accept-data
    set interfaces irb unit 2 family inet address 10.0.2.239/24 preferred
    set interfaces irb unit 2 family inet address 10.0.2.239/24 virtual-gateway-address 10.0.2.254
    set interfaces irb unit 2 family inet6 nd6-stale-time 1200
    set interfaces irb unit 2 family inet6 address 2001:db8::10:0:2:239/112 preferred
    set interfaces irb unit 2 family inet6 address 2001:db8::10:0:2:239/112 virtual-gateway-address 2001:db8::10:0:2:254
    set interfaces irb unit 2 family inet6 address fe80:10:0:2::239/64 virtual-gateway-address fe80:10:0:2::254
    set interfaces irb unit 2 virtual-gateway-v4-mac 00:00:5e:00:00:04
    set interfaces irb unit 2 virtual-gateway-v6-mac 00:00:5e:00:00:04
    set interfaces irb unit 3 virtual-gateway-accept-data
    set interfaces irb unit 3 family inet address 10.0.3.239/24 preferred
    set interfaces irb unit 3 family inet address 10.0.3.239/24 virtual-gateway-address 10.0.3.254
    set interfaces irb unit 3 family inet6 nd6-stale-time 1200
    set interfaces irb unit 3 family inet6 address 2001:db8::10:0:3:239/112 preferred
    set interfaces irb unit 3 family inet6 address 2001:db8::10:0:3:239/112 virtual-gateway-address 2001:db8::10:0:3:254
    set interfaces irb unit 3 family inet6 address fe80:10:0:3::239/64 virtual-gateway-address fe80:10:0:3::254
    set interfaces irb unit 3 virtual-gateway-v4-mac 00:00:5e:00:00:04
    set interfaces irb unit 3 virtual-gateway-v6-mac 00:00:5e:00:00:04
    set interfaces irb unit 4 virtual-gateway-accept-data
    set interfaces irb unit 4 family inet address 10.0.4.239/24 preferred
    set interfaces irb unit 4 family inet address 10.0.4.239/24 virtual-gateway-address 10.0.4.254
    set interfaces irb unit 4 family inet6 nd6-stale-time 1200
    set interfaces irb unit 4 family inet6 address 2001:db8::10:0:4:239/112 preferred
    set interfaces irb unit 4 family inet6 address 2001:db8::10:0:4:239/112 virtual-gateway-address 2001:db8::10:0:4:254
    set interfaces irb unit 4 family inet6 address fe80:10:0:4::239/64 virtual-gateway-address fe80:10:0:4::254
    set interfaces irb unit 4 virtual-gateway-v4-mac 00:00:5e:00:00:04
    set interfaces irb unit 4 virtual-gateway-v6-mac 00:00:5e:00:00:04
    
  5. Configure a VRF routing instance.
    content_copy zoom_out_map
    set routing-instances VRF-1 instance-type vrf
    set routing-instances VRF-1 interface lo0.1
    set routing-instances VRF-1 interface irb.1
    set routing-instances VRF-1 interface irb.2
    set routing-instances VRF-1 interface irb.3
    set routing-instances VRF-1 interface irb.4
    set routing-instances VRF-1 route-distinguisher 192.186.0.1:1
    set routing-instances VRF-1 vrf-target target:100:1
    
  6. Configure PIM for multicast routing at the border leaf devices.
    content_copy zoom_out_map
    set routing-instances VRF-1 protocols pim rp local address 10.0.1.239
    set routing-instances VRF-1 protocols pim interface irb.1 family inet
    set routing-instances VRF-1 protocols pim interface irb.1 mode sparse-dense
    set routing-instances VRF-1 protocols pim interface irb.2 family inet
    set routing-instances VRF-1 protocols pim interface irb.2 mode sparse-dense
    set routing-instances VRF-1 protocols pim interface irb.3 family inet
    set routing-instances VRF-1 protocols pim interface irb.3 mode sparse-dense
    set routing-instances VRF-1 protocols pim interface irb.4 family inet
    set routing-instances VRF-1 protocols pim interface irb.4 mode sparse-dense
    

Verifying Assisted Replication on the Server Leaf

The server leaf is in the role of AR leaf device. This means that it does not perform ingress replication. Instead, it forwards one copy of multicast traffic to the spine, which is configured as the AR replicator device.

  1. Verify that the spines are in the role of Assisted Replicator and are receiving Type 3 routes. Address 192.168.102.1 is Spine 1, and address 192.168.102.2 is Spine 2.
    content_copy zoom_out_map
    user@server-leaf> show route table bgp.evpn.0 match-prefix 3:*100001*192.168.102.* extensive | match "3:192.168.2|ASSISTED-REPLICATION" 
    3:192.168.2.1:10000::100001::192.168.102.1/248 IM (2 entries, 0 announced)
                    PMSI: Flags 0x8: Label 6250: Type ASSISTED-REPLICATION 192.168.102.1 Role AR-REPLICATOR
                    PMSI: Flags 0x8: Label 6250: Type ASSISTED-REPLICATION 192.168.102.1 Role AR-REPLICATOR
    3:192.168.2.2:10000::100001::192.168.102.2/248 IM (2 entries, 0 announced)
                    PMSI: Flags 0x8: Label 6250: Type ASSISTED-REPLICATION 192.168.102.2 Role AR-REPLICATOR
                    PMSI: Flags 0x8: Label 6250: Type ASSISTED-REPLICATION 192.168.102.2 Role AR-REPLICATOR
    
    
    content_copy zoom_out_map
    user@server-leaf>  show route table bgp.evpn.0 match-prefix 3:*100001*192.168.102.1* extensive
    bgp.evpn.0: 156388 destinations, 299429 routes (156388 active, 0 holddown, 0 hidden)
    3:192.168.2.1:10000::100001::192.168.102.1/248 IM (2 entries, 0 announced)
            *BGP    Preference: 170/-101
                    Route Distinguisher: 192.168.2.1:10000
                    PMSI: Flags 0x8: Label 6250: Type ASSISTED-REPLICATION 192.168.102.1 Role AR-REPLICATOR
                    Next hop type: Indirect, Next hop index: 0
                    Address: 0x1a6b08f0
                    Next-hop reference count: 4000
                    Source: 192.168.2.1
                    Protocol next hop: 192.168.102.1
                    Indirect next hop: 0x2 no-forward INH Session ID: 0x0
                    State: <Active Int Ext>
                    Local AS: 4210000001 Peer AS: 4210000001
                    Age: 4:58:08    Metric2: 0 
                    Validation State: unverified 
                    Task: BGP_4210000001.192.168.2.1
                    AS path: I 
                    Communities: target:32897:268535457 encapsulation:vxlan(0x8) evpn-mcast-flags:0x4:extended-MH-AR
                    Import Accepted
                    Localpref: 100
                    Router ID: 192.168.2.1
                    Secondary Tables: default-switch.evpn.0
                    Indirect next hops: 1
                            Protocol next hop: 192.168.102.1
                            Indirect next hop: 0x2 no-forward INH Session ID: 0x0
                            Indirect path forwarding next hops: 1
                                    Next hop type: Router
                                    Next hop: 172.16.109.0 via ae3.0
                                    Session Id: 0x0
                                    192.168.102.1/32 Originating RIB: inet.0
                                      Node path count: 1
                                      Forwarding nexthops: 1
                                            Nexthop: 172.16.109.0 via ae3.0
                                            Session Id: 0
             BGP    Preference: 170/-101
                    Route Distinguisher: 192.168.2.1:10000
                    PMSI: Flags 0x8: Label 6250: Type ASSISTED-REPLICATION 192.168.102.1 Role AR-REPLICATOR
                    Next hop type: Indirect, Next hop index: 0
                    Address: 0x1a6b08f0
                    Next-hop reference count: 4000
                    Source: 192.168.2.2
                    Protocol next hop: 192.168.102.1
                    Indirect next hop: 0x2 no-forward INH Session ID: 0x0
                    State: <NotBest Int Ex>
                    Inactive reason: Not Best in its group - Cluster list length
                    Local AS: 4210000001 Peer AS: 4210000001
                    Age: 5:14:41    Metric2: 0 
                    Validation State: unverified 
                    Task: BGP_4210000001.192.168.2.2
                    AS path: I  (Originator)
                    Cluster list:  192.168.2.10
                    Originator ID: 192.168.2.1
                    Communities: target:32897:268535457 encapsulation:vxlan(0x8) evpn-mcast-flags:0x4:extended-MH-AR
                    Import Accepted
                    Localpref: 100
                    Router ID: 192.168.2.2
                    Secondary Tables: default-switch.evpn.0
                    Indirect next hops: 1
                            Protocol next hop: 192.168.102.1
                            Indirect next hop: 0x2 no-forward INH Session ID: 0x0
                            Indirect path forwarding next hops: 1
                                    Next hop type: Router
                                    Next hop: 172.16.109.0 via ae3.0
                                    Session Id: 0x0
                                    192.168.102.1/32 Originating RIB: inet.0
                                      Node path count: 1
                                      Forwarding nexthops: 1
                                            Nexthop: 172.16.109.0 via ae3.0
                                            Session Id: 0
    
  2. Verify the spine that is set up as the AR device for the VLAN. 192.168.102.2 is the address of the AR device.
    content_copy zoom_out_map
    user@server-leaf> show evpn multicast-snooping assisted-replication next-hops l2-domain-id 100001    
    Instance: default-switch
    AR Role: AR Leaf
    
      VN Identifier: 100001
        Load Balance Nexthop Index: 134135
          Load balance to:
          Nexthop Index    Interface        AR IP
          23119            vtep.32881       192.168.102.1
          21753            vtep.32770       192.168.102.2 (Designated Node)

Verifying Assisted Replication on the Spine

Verify that server leaf devices 1 through 4 are AR leaf devices. (The loopback addresses of server leaf devices 1 through 4 are 192.168.0.1, 192.168.0.2, 192.168.0.3, and 192.168.0.4, respectively.) The border leaf devices are not set up for assisted replication.
content_copy zoom_out_map
user@spine> show route table bgp.evpn.0 match-prefix 3:*100001*192.168.0.* extensive | match "3:192.168.0.|LEAF"| except "PMSI|Path" 
3:192.168.0.1:10000::100001::192.168.0.1/248 IM (1 entry, 1 announced)
     PMSI: Flags 0x10: Label 6250: Type INGRESS-REPLICATION 192.168.0.1 AR-LEAF  ## Leaf 1
     PMSI: Flags 0x10: Label 6250: Type INGRESS-REPLICATION 192.168.0.1 AR-LEAF
3:192.168.0.2:10::100001::192.168.0.2/248 IM (1 entry, 1 announced)
     PMSI: Flags 0x10: Label 6250: Type INGRESS-REPLICATION 192.168.0.2 AR-LEAF  ## Leaf 2
     PMSI: Flags 0x10: Label 6250: Type INGRESS-REPLICATION 192.168.0.2 AR-LEAF
3:192.168.0.3:10000::100001::192.168.0.3/248 IM (1 entry, 1 announced)
     PMSI: Flags 0x10: Label 6250: Type INGRESS-REPLICATION 192.168.0.3 AR-LEAF  ## Leaf 3
     PMSI: Flags 0x10: Label 6250: Type INGRESS-REPLICATION 192.168.0.3 AR-LEAF
3:192.168.0.4:10000::100001::192.168.0.4/248 IM (2 entries, 1 announced)
     PMSI: Flags 0x10: Label 6250: Type INGRESS-REPLICATION 192.168.0.4 AR-LEAF  ## Leaf 4
     PMSI: Flags 0x10: Label 6250: Type INGRESS-REPLICATION 192.168.0.4 AR-LEAF
3:192.168.0.10:10000::100001::192.168.0.10/248 IM (1 entry, 1 announced)  ## Border Leaf 1
3:192.168.0.11:10000::100001::192.168.0.11/248 IM (1 entry, 1 announced)  ## Border Leaf 2

content_copy zoom_out_map
user@spine>  show route table bgp.evpn.0 match-prefix 3:*100001*192.168.0.1 extensive 
bgp.evpn.0: 362179 destinations, 504791 routes (347873 active, 14306 holddown, 0 hidden)
3:192.168.0.1:10000::100001::192.168.0.1/248 IM (1 entry, 1 announced)
TSI:
Page 0 idx 0, (group overlay-bgp-rr type Internal) Type 1 val 0x1af46804 (adv_entry)
   Advertised metrics:
     Nexthop: 192.168.0.1
     Localpref: 100
     AS path: [4210000001] I
     Communities: target:32897:268535457 encapsulation:vxlan(0x8) evpn-mcast-flags:0x1:snooping-enabled
     PMSI: Flags 0x10: Label 6250: Type INGRESS-REPLICATION 192.168.0.1 AR-LEAF
     Cluster ID: 192.168.2.10
     Originator ID: 192.168.0.1
Page 0 idx 1, (group overlay-bgp type Internal) Type 1 val 0x1af46510 (adv_entry)
   Advertised metrics:
     Nexthop: 192.168.0.1
     Localpref: 100
     AS path: [4210000001] I
     Communities: target:32897:268535457 encapsulation:vxlan(0x8) evpn-mcast-flags:0x1:snooping-enabled
     PMSI: Flags 0x10: Label 6250: Type INGRESS-REPLICATION 192.168.0.1 AR-LEAF
     Cluster ID: 192.168.2.10
     Originator ID: 192.168.0.1
    Advertise: 0000001e
Path 3:192.168.0.1:10000::100001::192.168.0.1
from 192.168.0.1
Vector len 4.  Val: 0 1
        *BGP    Preference: 170/-101
                Route Distinguisher: 192.168.0.1:10000
                PMSI: Flags 0x10: Label 6250: Type INGRESS-REPLICATION 192.168.0.1 AR-LEAF
                Next hop type: Indirect, Next hop index: 0
                Address: 0x11bd0d90
                Next-hop reference count: 35023
                Source: 192.168.0.1
                Protocol next hop: 192.168.0.1
                Indirect next hop: 0x2 no-forward INH Session ID: 0x0
                State: <Active Int Ext>
                Local AS: 4210000001 Peer AS: 4210000001
                Age: 18:34:04   Metric2: 0 
                Validation State: unverified 
                Task: BGP_4210000001.192.168.0.1
                Announcement bits (1): 1-BGP_RT_Background 
                AS path: I 
                Communities: target:32897:268535457 encapsulation:vxlan(0x8) evpn-mcast-flags:0x1:snooping-enabled
                Import Accepted
                Localpref: 100
                Router ID: 192.168.0.1
                Secondary Tables: default-switch.evpn.0
                Indirect next hops: 1
                        Protocol next hop: 192.168.0.1
                        Indirect next hop: 0x2 no-forward INH Session ID: 0x0
                        Indirect path forwarding next hops: 1
                                Next hop type: Router
                                Next hop: 172.16.101.1 via ae1.0
                                Session Id: 0x0
                                192.168.0.1/32 Originating RIB: inet.0
                                  Node path count: 1
                                  Forwarding nexthops: 1
                                        Nexthop: 172.16.101.1 via ae1.0
                                        Session Id: 0

Multicast Optimization with a Centrally Routed Multicast Design— Feature Summary

Table 1 provides a history of the features described in this section and their support within this reference design.

Table 1: Multicast Optimization Feature Summary (Centrally Routed Multicast Design)

Hardware

IGMPv2 Snooping

EVPN Type 6 SMET Routes

Inter-VNI Multicast with PIM Gateway

Assisted Replication

PIM to External Rendezvous Point (From Border)

QFX51001

Not supported

Not supported

Not supported

Not supported

Not supported

QFX5110-32Q, QFX5110-48S

18.1R3-S3

18.4R2

Not supported

Not supported

Not supported

QFX5120-48Y

18.4R2

18.4R2

Not supported

Not supported

Not supported

QFX5120-32C

19.1R2

19.1R2

Not supported

Not supported

Not supported

QFX5200-32C1, QFX5200-48Y1

Not supported

Not supported

Not supported

Not supported

Not supported

QFX10002-36Q/72Q, QFX10008, QFX10016

18.1R3-S3

18.4R2

18.1R3-S3

18.4R2

17.3R3-S1

QFX10002-60C2

20.2R2

20.2R2

20.2R2

20.2R2

20.2R2

MX204; MX240, MX480, MX960 with MPC7E; MX10003;

Not supported

Not supported

Not supported

Not supported

Not supported

1Make sure that IGMP snooping is not enabled on these QFX switches. If IGMP snooping is inadvertently enabled, these switches might process EVPN Type 6 routes that are reflected to them.

2The QFX10002-60C switch supports multicast at a lower scale than the QFX10002-36Q/72Q switches.

external-footer-nav
Ask AI
close

How can I help you today?

LLMs can make mistakes. Verify important information.
chat_add_on New topic
send progress_activity
This conversation will be monitored and recorded. Any information you provide will be subject to our Privacy Notice and may be used for quality assurance purposes. Do not include any personal or sensitive information. Ask AI can make mistakes. Verify generated output for accuracy.
Protected by hCaptcha arrow_drop_down arrow_drop_up
Juniper Networks, Inc. | Privacy Notice | Terms of Use