< Home

Example for Configuring Multicast Load Splitting

Networking Requirements

In Figure 1, SwitchE connects to HostA and has three equal-cost routes to the multicast source (Source). According to the default reverse path forwarding (RPF) check policy, SwitchE will select one of these equal-cost routes to transmit multicast data. When the rate of multicast traffic is high, the network will become congested, lowering the quality of multicast services. To ensure the quality of multicast services, multicast load splitting needs to be configured so that multicast data can be transmitted through multiple equal-cost routes.

In this scenario, to avoid loops, ensure that all connected interfaces have STP disabled and connected interfaces are removed from VLAN 1. If STP is enabled and VLANIF interfaces of switches are used to construct a Layer 3 ring network, an interface on the network will be blocked. As a result, Layer 3 services on the network cannot run normally.

Figure 1 Networking diagram of multicast load splitting

Configuration Roadmap

The configuration roadmap is as follows:

  1. Configure IP addresses for interfaces on the switches.

  2. Configure a unicast routing protocol, Intermediate System-Intermediate System (IS-IS) in this example, to implement interworking among all switches and ensure that route costs are the same.

  3. Enable multicast routing on all switches and enable PIM-SM on all Layer 3 interfaces. Configure the loopback interface on SwitchA as a candidate bootstrap router (C-BSR) and candidate rendezvous point (C-RP).

  4. On SwitchE, configure stable-preferred multicast load splitting to ensure stable transmission of multicast services.

  5. On SwitchE, configure static multicast groups on the interface connected to the network segment of HostA, because HostA needs to receive data of these groups for a long time.

  6. On SwitchE, configure different multicast load splitting weights for the interfaces connected to the upstream switches to implement unbalanced load splitting, because HostA needs to receive multicast data of new groups.

Procedure

  1. Configure IP addresses for interfaces on the switches. SwitchA is used as an example in the following operations. Configurations of the other switches are similar.

    # Create VLANs and add Layer 2 physical interfaces to the VLANs.

    <HUAWEI> system-view
    [HUAWEI] sysname SwitchA
    [SwitchA] vlan batch 10 20 30 40
    [SwitchA] interface gigabitethernet0/0/4
    [SwitchA-GigabitEthernet0/0/4] port link-type trunk
    [SwitchA-GigabitEthernet0/0/4] port trunk allow-pass vlan 10
    [SwitchA-GigabitEthernet0/0/4] quit
    [SwitchA] interface gigabitethernet0/0/1
    [SwitchA-GigabitEthernet0/0/1] port link-type trunk
    [SwitchA-GigabitEthernet0/0/1] port trunk allow-pass vlan 20
    [SwitchA-GigabitEthernet0/0/1] quit
    [SwitchA] interface gigabitethernet0/0/2
    [SwitchA-GigabitEthernet0/0/2] port link-type trunk
    [SwitchA-GigabitEthernet0/0/2] port trunk allow-pass vlan 30
    [SwitchA-GigabitEthernet0/0/2] quit
    [SwitchA] interface gigabitethernet0/0/3
    [SwitchA-GigabitEthernet0/0/3] port link-type trunk
    [SwitchA-GigabitEthernet0/0/3] port trunk allow-pass vlan 40
    [SwitchA-GigabitEthernet0/0/3] quit

    # Configure IP addresses and masks for Layer 3 interfaces.

    [SwitchA] interface vlanif 10
    [SwitchA-Vlanif10] ip address 10.110.1.2 24
    [SwitchA-Vlanif10] quit
    [SwitchA] interface vlanif 20
    [SwitchA-Vlanif20] ip address 192.168.1.1 24
    [SwitchA-Vlanif20] quit
    [SwitchA] interface vlanif 30
    [SwitchA-Vlanif30] ip address 192.168.2.1 24
    [SwitchA-Vlanif30] quit
    [SwitchA] interface vlanif 40
    [SwitchA-Vlanif40] ip address 192.168.3.1 24
    [SwitchA-Vlanif40] quit
    [SwitchA] interface loopback0
    [SwitchA-LoopBack0] ip address 10.1.1.1 32
    [SwitchA-LoopBack0] quit

  2. Configure IS-IS to implement interworking among all switches and ensure that route costs are the same (SwitchA as an example).

    [SwitchA] isis 1
    [SwitchA-isis-1] network-entity 10.0000.0000.0001.00
    [SwitchA-isis-1] quit
    [SwitchA] interface vlanif 10
    [SwitchA-Vlanif10] isis enable 1
    [SwitchA-Vlanif10] quit
    [SwitchA] interface vlanif 20
    [SwitchA-Vlanif20] isis enable 1
    [SwitchA-Vlanif20] quit
    [SwitchA] interface vlanif 30
    [SwitchA-Vlanif30] isis enable 1
    [SwitchA-Vlanif30] quit
    [SwitchA] interface vlanif 40
    [SwitchA-Vlanif40] isis enable 1
    [SwitchA-Vlanif40] quit
    [SwitchA] interface loopback0
    [SwitchA-LoopBack0] isis enable 1
    [SwitchA-LoopBack0] quit

  3. Enable multicast routing on all switches and enable Protocol Independent Multicast - Sparse Mode (PIM-SM) on all Layer 3 interfaces (SwitchA as an example).

    [SwitchA] multicast routing-enable
    [SwitchA] interface vlanif 10
    [SwitchA-Vlanif10] pim sm
    [SwitchA-Vlanif10] quit
    [SwitchA] interface vlanif 20
    [SwitchA-Vlanif20] pim sm
    [SwitchA-Vlanif20] quit
    [SwitchA] interface vlanif 30
    [SwitchA-Vlanif30] pim sm
    [SwitchA-Vlanif30] quit
    [SwitchA] interface vlanif 40
    [SwitchA-Vlanif40] pim sm
    [SwitchA-Vlanif40] quit
    [SwitchA] interface loopback 0
    [SwitchA-LoopBack0] pim sm
    [SwitchA-LoopBack0] quit

  4. On all switches, specify the IP address of Loopback0 on SwitchA as a static RP address (SwitchA as an example).

    [SwitchA] pim
    [SwitchA-pim] static-rp 10.1.1.1
    [SwitchA-pim] quit

  5. Configure stable-preferred multicast load splitting on SwitchE.

    [SwitchE] multicast load-splitting stable-preferred

  6. Configure static multicast groups on the interface of SwitchE connected to the network segment of HostA.

    # Configure static multicast groups 225.1.1.1 to 225.1.1.3 on VLANIF 140.

    [SwitchE] interface Vlanif140
    [SwitchE-Vlanif140] igmp static-group 225.1.1.1 inc-step-mask 32 number 3
    [SwitchE-Vlanif140] quit

  7. Verify the configuration of stable-preferred multicast load splitting.

    # Source (10.110.1.1/24) sends multicast data to multicast groups 225.1.1.1 to 225.1.1.3. HostA can receive multicast data from Source. Brief information about the PIM routing table on SwitchE is as follows:

    [SwitchE] display pim routing-table brief
     VPN-Instance: public net
     Total 3 (*, G) entries; 3 (S, G) entries
    
      00001.(*, 225.1.1.1)
           Upstream interface:Vlanif100
           Number of downstream:1
      00002.(10.110.1.1, 225.1.1.1)
           Upstream interface:Vlanif100
           Number of downstream:1
      00003.(*, 225.1.1.2)
           Upstream interface:Vlanif80
           Number of downstream:1
      00004.(10.110.1.1, 225.1.1.2)
           Upstream interface:Vlanif80
           Number of downstream:1
      00005.(*, 225.1.1.3)
           Upstream interface:Vlanif60
           Number of downstream:1
      00006.(10.110.1.1, 225.1.1.3)
           Upstream interface:Vlanif60
           Number of downstream:1
    

    (*, G) and (S, G) entries are evenly distributed on the three equal-cost routes. The upstream interfaces of the routes are VLANIF 100, VLANIF 80, and VLANIF 60, respectively.

    The load splitting algorithm processes (*, G) and (S, G) entries separately using the same rule.

  8. Set different multicast load splitting weights for upstream interfaces of SwitchE to implement uneven multicast load splitting.

    # Set the multicast load splitting weight of VLANIF 60 to 3.

    [SwitchE] interface Vlanif60
    [SwitchE-Vlanif60] multicast load-splitting weight 3
    [SwitchE-Vlanif60] quit

    # Set the multicast load splitting weight of VLANIF 80 to 2.

    [SwitchE] interface Vlanif80
    [SwitchE-Vlanif80] multicast load-splitting weight 2
    [SwitchE-Vlanif80] quit

  9. Configure new static multicast groups on the interface of SwitchE connected to the network segment of HostA.

    # Configure static multicast groups 225.1.1.4 to 225.1.1.6 on VLANIF 140.

    [SwitchE] interface Vlanif140
    [SwitchE-Vlanif140] igmp static-group 225.1.1.4 inc-step-mask 32 number 3
    [SwitchE-Vlanif140] quit

  10. Verify the configuration of uneven multicast load splitting.

    # Source (10.110.1.1/24) sends multicast data to multicast groups 225.1.1.1 to 225.1.1.6. HostA can receive multicast data from Source. Brief information about the PIM routing table on SwitchE is as follows:

    [SwitchE] display pim routing-table brief
     VPN-Instance: public net
     Total 6 (*, G) entries; 6 (S, G) entries
    
      00001.(*, 225.1.1.1)
           Upstream interface:Vlanif60
           Number of downstream:1
      00002.(10.110.1.1, 225.1.1.1)
           Upstream interface:Vlanif60
           Number of downstream:1
      00003.(*, 225.1.1.2)
           Upstream interface:Vlanif80
           Number of downstream:1
      00004.(10.110.1.1, 225.1.1.2)
           Upstream interface:Vlanif80
           Number of downstream:1
      00005.(*, 225.1.1.3)
           Upstream interface:Vlanif100
           Number of downstream:1
      00006.(10.110.1.1, 225.1.1.3)
           Upstream interface:Vlanif100
           Number of downstream:1
      00007.(*, 225.1.1.4)
           Upstream interface:Vlanif60
           Number of downstream:1
      00008.(10.110.1.1, 225.1.1.4)
           Upstream interface:Vlanif60
           Number of downstream:1
      00009.(*, 225.1.1.5)
           Upstream interface:Vlanif60
           Number of downstream:1
      00010.(10.110.1.1, 225.1.1.5)
           Upstream interface:Vlanif60
           Number of downstream:1
      00011.(*, 225.1.1.6)
           Upstream interface:Vlanif80
           Number of downstream:1
      00012.(10.110.1.1, 225.1.1.6)
           Upstream interface:Vlanif80
           Number of downstream:1
    

    The upstream interfaces of existing (*, G) and (S, G) entries remain unchanged. VLANIF 60 has a larger multicast load splitting weight (3) than VLANIF 80 (2). Therefore, more new (*, G) and (S, G) entries are distributed to the route with VLANIF 60 as the upstream interface. The multicast load splitting weight of VLANIF 100 is 1 (default value), smaller than the weights of VLANIF60 and VLANIF80. Therefore, the route with VLANIF 100 as the upstream interface does not have new entries.

Configuration Files

  • SwitchA configuration file

    #
    sysname SwitchA
    #
    vlan batch 10 20 30 40
    #
    multicast routing-enable
    #
    isis 1
     network-entity 10.0000.0000.0001.00
    #
    interface Vlanif10
     ip address 10.110.1.2 255.255.255.0
     isis enable 1
     pim sm
    #
    interface Vlanif20
     ip address 192.168.1.1 255.255.255.0
     isis enable 1
     pim sm
    #
    interface Vlanif30
     ip address 192.168.2.1 255.255.255.0
     isis enable 1
     pim sm
    #
    interface Vlanif40
     ip address 192.168.3.1 255.255.255.0
     isis enable 1
     pim sm
    #
    interface GigabitEthernet0/0/1
     port link-type trunk
     port trunk allow-pass vlan 20
    #
    interface GigabitEthernet0/0/2
     port link-type trunk
     port trunk allow-pass vlan 30
    #
    interface GigabitEthernet0/0/3
     port link-type trunk
     port trunk allow-pass vlan 40
    #
    interface GigabitEthernet0/0/4
     port link-type trunk
     port trunk allow-pass vlan 10
    #
    interface LoopBack0
     ip address 10.1.1.1 255.255.255.255
     isis enable 1
     pim sm
    #
    pim
     static-rp 10.1.1.1
    #
    return
  • SwitchB configuration file

    #
    sysname SwitchB
    #
    vlan batch 20 60
    #
    multicast routing-enable
    #
    isis 1
     network-entity 10.0000.0000.0002.00
    #
    interface Vlanif20
     ip address 192.168.1.2 255.255.255.0
     isis enable 1
     pim sm
    #
    interface Vlanif60
     ip address 192.168.4.1 255.255.255.0
     isis enable 1
     pim sm
    #
    interface GigabitEthernet0/0/1
     port link-type trunk
     port trunk allow-pass vlan 20
    #
    interface GigabitEthernet0/0/2
     port link-type trunk
     port trunk allow-pass vlan 60
    #
    pim
     static-rp 10.1.1.1
    #
    return
  • SwitchC configuration file

    #
    sysname SwitchC
    #
    vlan batch 30 80
    #
    multicast routing-enable
    #
    isis 1
     network-entity 10.0000.0000.0003.00
    #
    interface Vlanif30
     ip address 192.168.2.2 255.255.255.0
     isis enable 1
     pim sm
    #
    interface Vlanif80
     ip address 192.168.5.1 255.255.255.0
     isis enable 1
     pim sm
    #
    interface GigabitEthernet0/0/1
     port link-type trunk
     port trunk allow-pass vlan 30
    #
    interface GigabitEthernet0/0/2
     port link-type trunk
     port trunk allow-pass vlan 80
    #
    pim
     static-rp 10.1.1.1
    #
    return
  • SwitchD configuration file

    #
    sysname SwitchD
    #
    vlan batch 40 100
    #
    multicast routing-enable
    #
    isis 1
     network-entity 10.0000.0000.0004.00
    #
    interface Vlanif40
     ip address 192.168.3.2 255.255.255.0
     isis enable 1
     pim sm
    #
    interface Vlanif100
     ip address 192.168.6.1 255.255.255.0
     isis enable 1
     pim sm
    #
    interface GigabitEthernet0/0/1
     port link-type trunk
     port trunk allow-pass vlan 40
    #
    interface GigabitEthernet0/0/2
     port link-type trunk
     port trunk allow-pass vlan 100
    #
    pim
     static-rp 10.1.1.1
    #
    return
  • SwitchE configuration file

    #
    sysname SwitchE
    #
    vlan batch 60 80 100 140
    #
    multicast routing-enable
    multicast load-splitting stable-preferred
    #
    isis 1
     network-entity 10.0000.0000.0005.00
    #
    interface Vlanif60
     ip address 192.168.4.2 255.255.255.0
     isis enable 1
     pim sm
     multicast load-splitting weight 3
    #
    interface Vlanif80
     ip address 192.168.5.2 255.255.255.0
     isis enable 1
     pim sm
     multicast load-splitting weight 2
    #
    interface Vlanif100
     ip address 192.168.6.2 255.255.255.0
     isis enable 1
     pim sm
    #
    interface Vlanif140
     ip address 10.110.2.2 255.255.255.0
     isis enable 1
     pim sm
     igmp static-group 225.1.1.1 inc-step-mask 0.0.0.1 number 3
     igmp static-group 225.1.1.4 inc-step-mask 0.0.0.1 number 3
    #
    interface GigabitEthernet0/0/1
     port link-type trunk
     port trunk allow-pass vlan 60
    #
    interface GigabitEthernet0/0/2
     port link-type trunk
     port trunk allow-pass vlan 80
    #
    interface GigabitEthernet0/0/3
     port link-type trunk
     port trunk allow-pass vlan 100
    #
    interface GigabitEthernet0/0/4
     port link-type trunk
     port trunk allow-pass vlan 140
    #
    pim
     static-rp 10.1.1.1
    #
    return
Copyright © Huawei Technologies Co., Ltd.
Copyright © Huawei Technologies Co., Ltd.
< Previous topic