Example for Configuring Multicast Load Splitting
Networking Requirements
In Figure 7-16, RouterE connects to HostA and has three equal-cost routes to the multicast source (Source). According to the default reverse path forwarding (RPF) check policy, RouterE will select one of these equal-cost routes to transmit multicast data. When the rate of multicast traffic is high, the network may 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.
Configuration Roadmap
The configuration roadmap is as follows:
Configure IP addresses for the interfaces on each router.
Configure a unicast routing protocol, Intermediate System-Intermediate System (IS-IS) in this example, to implement interworking among all routers and ensure that route costs are the same.
Enable multicast routing on all routers, enable Protocol Independent Multicast Sparse Mode (PIM-SM) on all interfaces, and configure loopback 0 of RouterA as a candidate bootstrap router (C-BSR) and candidate rendezvous point (C-RP).
On RouterE, configure stable-preferred multicast load splitting to ensure stable transmission of multicast services.
On RouterE, configure static multicast groups on the interface connected to HostA, because HostA needs to receive data of these groups for a long time.
On RouterE, configure different multicast load splitting weights for the interfaces connected to the upstream routers to implement unbalanced load splitting, because HostA needs to receive multicast data of new groups.
Procedure
- Configure IP addresses for the interfaces on the routers. RouterA is used as an example, and configurations of the other routers are similar.
<Huawei> system-view [Huawei] sysname RouterA [RouterA] interface gigabitethernet 1/0/0 [RouterA-GigabitEthernet1/0/0] ip address 10.110.1.2 24 [RouterA-GigabitEthernet1/0/0] quit [RouterA] interface gigabitethernet 2/0/1 [RouterA-GigabitEthernet2/0/1] ip address 192.168.1.1 24 [RouterA-GigabitEthernet2/0/1] quit [RouterA] interface gigabitethernet 2/0/2 [RouterA-GigabitEthernet2/0/2] ip address 192.168.2.1 24 [RouterA-GigabitEthernet2/0/2] quit [RouterA] interface gigabitethernet 2/0/3 [RouterA-GigabitEthernet2/0/3] ip address 192.168.3.1 24 [RouterA-GigabitEthernet2/0/3] quit [RouterA] interface loopback0 [RouterA-LoopBack0] ip address 10.10.1.1 32 [RouterA-LoopBack0] quit
- Configure IS-IS to implement interworking among all the routers and ensure that route costs are the same (RouterA as an example).
[RouterA] isis [RouterA-isis-1] network-entity 10.0000.0000.0001.00 [RouterA-isis-1] quit [RouterA] interface gigabitethernet 1/0/0 [RouterA-GigabitEthernet1/0/0] isis enable [RouterA-GigabitEthernet1/0/0] quit [RouterA] interface gigabitethernet 2/0/1 [RouterA-GigabitEthernet2/0/1] isis enable [RouterA-GigabitEthernet2/0/1] quit [RouterA] interface gigabitethernet 2/0/2 [RouterA-GigabitEthernet2/0/2] isis enable [RouterA-GigabitEthernet2/0/2] quit [RouterA] interface gigabitethernet 2/0/3 [RouterA-GigabitEthernet2/0/3] isis enable [RouterA-GigabitEthernet2/0/3] quit [RouterA] interface loopback0 [RouterA-LoopBack0] isis enable [RouterA-LoopBack0] quit
- Enable multicast routing on all the routers and enable PIM-SM all interfaces (RouterA as an example).
[RouterA] multicast routing-enable [RouterA] interface gigabitethernet 1/0/0 [RouterA-GigabitEthernet1/0/0] pim sm [RouterA-GigabitEthernet1/0/0] quit [RouterA] interface gigabitethernet 2/0/1 [RouterA-GigabitEthernet2/0/1] pim sm [RouterA-GigabitEthernet2/0/1] quit [RouterA] interface gigabitethernet 2/0/2 [RouterA-GigabitEthernet2/0/2] pim sm [RouterA-GigabitEthernet2/0/2] quit [RouterA] interface gigabitethernet 2/0/3 [RouterA-GigabitEthernet2/0/3] pim sm [RouterA-GigabitEthernet2/0/3] quit [RouterA] interface loopback 0 [RouterA-LoopBack0] pim sm [RouterA-LoopBack0] quit
- Configure a C-RP on RouterA.
# Configure Loopback0 of RouterA as a C-BSR and C-RP.
[RouterA] pim [RouterA-pim] c-bsr loopback 0 [RouterA-pim] c-rp loopback 0 [RouterA-pim] quit
- Configure stable-preferred multicast load splitting on RouterE.
[RouterE] multicast load-splitting stable-preferred
- Configure static multicast groups on the interface of RouterE connected to HostA.
# Configure static multicast groups 225.1.1.1 to 225.1.1.3 on GE2/0/0.
[RouterE] interface gigabitethernet2/0/0 [RouterE-GigabitEthernet2/0/0] igmp static-group 225.1.1.1 inc-step-mask 32 number 3 [RouterE-GigabitEthernet2/0/0] quit
- 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 RouterE is as follows:
<RouterE> display pim routing-table brief VPN-Instance: public net Total 3 (*, G) entries; 3 (S, G) entries 00001.(*, 225.1.1.1) Upstream interface:GE1/0/3 Number of downstream:1 00002.(10.110.1.1, 225.1.1.1) Upstream interface:GE1/0/3 Number of downstream:1 00003.(*, 225.1.1.2) Upstream interface:GE1/0/2 Number of downstream:1 00004.(10.110.1.1, 225.1.1.2) Upstream interface:GE1/0/2 Number of downstream:1 00005.(*, 225.1.1.3) Upstream interface:GE1/0/1 Number of downstream:1 00006.(10.110.1.1, 225.1.1.3) Upstream interface:GE1/0/1 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 GE1/0/1, GE1/0/2, and GE1/0/3, respectively.
The load splitting algorithm processes (*, G) and (S, G) entries separately using the same rule.
- Set different multicast load splitting weights for upstream interfaces of RouterE to implement uneven multicast load splitting.
# Set the multicast load splitting weight of GE1/0/1 to 3.
[RouterE] interface gigabitethernet 1/0/1 [RouterE-GigabitEthernet1/0/1] multicast load-splitting weight 3 [RouterE-GigabitEthernet1/0/1] quit
# Set the multicast load splitting weight of GE1/0/2 to 2.
[RouterE] interface gigabitethernet 1/0/2 [RouterE-GigabitEthernet1/0/2] multicast load-splitting weight 2 [RouterE-GigabitEthernet1/0/2] quit
- Configure new static multicast groups on the interface of RouterE connected to HostA.
# Configure static multicast groups 225.1.1.4 to 225.1.1.6 on GE2/0/0.
[RouterE] interface gigabitethernet 2/0/0 [RouterE-GigabitEthernet2/0/0] igmp static-group 225.1.1.4 inc-step-mask 32 number 3 [RouterE-GigabitEthernet2/0/0] quit
- 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 RouterE is as follows:
<RouterE> display pim routing-table brief VPN-Instance: public net Total 6 (*, G) entry; 6 (S, G) entries 00001.(*, 225.1.1.1) Upstream interface:GE1/0/3 Number of downstream:1 00002.(10.110.1.1, 225.1.1.1) Upstream interface:GE1/0/3 Number of downstream:1 00003.(*, 225.1.1.2) Upstream interface:GE1/0/2 Number of downstream:1 00004.(10.110.1.1, 225.1.1.2) Upstream interface:GE1/0/2 Number of downstream:1 00005.(*, 225.1.1.3) Upstream interface:GE1/0/1 Number of downstream:1 00006.(10.110.1.1, 225.1.1.3) Upstream interface:GE1/0/1 Number of downstream:1 00007.(*, 225.1.1.4) Upstream interface:GE1/0/1 Number of downstream:1 00008.(10.110.1.1, 225.1.1.4) Upstream interface:GE1/0/1 Number of downstream:1 00009.(*, 225.1.1.5) Upstream interface:GE1/0/1 Number of downstream:1 00010.(10.110.1.1, 225.1.1.5) Upstream interface:GE1/0/1 Number of downstream:1 00011.(*, 225.1.1.6) Upstream interface:GE1/0/1 Number of downstream:1 00012.(10.110.1.1, 225.1.1.6) Upstream interface:GE1/0/2 Number of downstream:1 00013.(*, 225.1.1.7) Upstream interface:GE1/0/1 Number of downstream:1 00014.(10.110.1.1, 225.1.1.7) Upstream interface:GE1/0/1 Number of downstream:1 00015.(*, 225.1.1.8) Upstream interface:GE1/0/1 Number of downstream:1 00016.(10.110.1.1, 225.1.1.8) Upstream interface:GE1/0/2 Number of downstream:1 00017.(*, 225.1.1.9) Upstream interface:GE1/0/1 Number of downstream:1 00018.(10.110.1.1, 225.1.1.9) Upstream interface:GE1/0/1 Number of downstream:1
The upstream interfaces of existing (*, G) and (S, G) entries remain unchanged. GE1/0/1 has a larger multicast load splitting weight (3) than GE1/0/2 (2). Therefore, more new (*, G) and (S, G) entries are distributed to the route with GE1/0/1 as the upstream interface. The multicast load splitting weight of GE1/0/3 is 1 (default value), smaller than the weights of GE1/0/1 and GE1/0/2. Therefore, the route with GE1/0/3 as the upstream interface does not have new entries.
Configuration Files
RouterA configuration file
# sysname RouterA # multicast routing-enable # isis 1 network-entity 10.0000.0000.0001.00 # interface GigabitEthernet1/0/0 ip address 10.110.1.2 255.255.255.0 isis enable 1 pim sm # interface GigabitEthernet2/0/1 ip address 192.168.1.1 255.255.255.0 isis enable 1 pim sm # interface GigabitEthernet2/0/2 ip address 192.168.2.1 255.255.255.0 isis enable 1 pim sm # interface GigabitEthernet2/0/3 ip address 192.168.3.1 255.255.255.0 isis enable 1 pim sm # interface LoopBack0 ip address 10.10.1.1 255.255.255.255 isis enable 1 pim sm # pim c-bsr LoopBack0 c-rp LoopBack0 # return
RouterB configuration file
# sysname RouterB # multicast routing-enable # isis 1 network-entity 10.0000.0000.0002.00 # interface GigabitEthernet1/0/0 ip address 192.168.1.2 255.255.255.0 isis enable 1 pim sm # interface GigabitEthernet2/0/0 ip address 192.168.4.1 255.255.255.0 isis enable 1 pim sm # return
RouterC configuration file
# sysname RouterC # multicast routing-enable # isis 1 network-entity 10.0000.0000.0003.00 # interface GigabitEthernet1/0/0 ip address 192.168.2.2 255.255.255.0 isis enable 1 pim sm # interface GigabitEthernet2/0/0 ip address 192.168.5.1 255.255.255.0 isis enable 1 pim sm # return
RouterD configuration file
# sysname RouterD # multicast routing-enable # isis 1 network-entity 10.0000.0000.0004.00 # interface GigabitEthernet1/0/0 ip address 192.168.3.2 255.255.255.0 isis enable 1 pim sm # interface GigabitEthernet2/0/0 ip address 192.168.6.1 255.255.255.0 isis enable 1 pim sm # return
RouterE configuration file
# sysname RouterE # multicast routing-enable multicast load-splitting stable-preferred # isis 1 network-entity 10.0000.0000.0005.00 # interface GigabitEthernet1/0/1 ip address 192.168.4.2 255.255.255.0 isis enable 1 pim sm multicast load-splitting weight 3 # interface GigabitEthernet1/0/2 ip address 192.168.5.2 255.255.255.0 isis enable 1 pim sm multicast load-splitting weight 2 # interface GigabitEthernet1/0/3 ip address 192.168.6.2 255.255.255.0 isis enable 1 pim sm # interface GigabitEthernet2/0/0 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 # return