Multicast Load Splitting
Load splitting is different from load balancing. Load splitting provides a way to distribute data streams destined for the same destination to multiple equal-cost paths, which may not result in a balanced traffic load on the paths. Load balancing is a special form of load splitting and distributes even data traffic loads on multiple equal-cost paths.
Implementation
By default, a router selects an RPF route from multiple equal-cost optimal routes to forward multicast packets according to the following RPF check policy:
- If the equal-cost routes are in the same routing table, for example, a unicast routing table, multicast static routing table, or MBGP routing table, the router selects the route with the largest next-hop address as the RPF route.
- If the equal-cost routes are in different routing tables, the router selects one of the three routes as the RPF route according to the following rules:
- If the longest match rule is configured, the router selects the route with the longest mask. If multiple routes have the longest mask length, the router selects the one with the highest preference. If multicast routes have the highest preference, the router uses the following order of priority: multicast static route, MBGP route, and unicast route.
- If the longest match rule is not configured, the router selects the route with the highest preference. If multicast routes have the highest preference, the router selects the one with the longest mask. If multiple routes have the longest mask length, the router uses the following order of priority: multicast static route, MBGP route, and unicast route.
In this default configuration, the router selects only one route as the RPF route, regardless of which condition is met.
Multicast load splitting enables a router to distribute multicast traffic to multiple equal-cost routes, instead of selecting only one route based on the RPF check policy.
Multicast Load Splitting Modes
Various methods are available to split (*, G) and (S, G) data streams in different scenarios.
Load splitting by group address
In Figure 7-6, the source sends data streams to different multicast groups (G1 to G10). Router7, Router6, and Router5 each have two equal-cost paths to the source. These routers use route selection algorithms to select an optimal path for data sent to each group. In this load splitting mode, streams transmitted on different paths are sent to different groups.
Load splitting by source address
In Figure 7-7, different sources (S1 to S10) send data streams to the same group. Router7, Router6, and Router5 each have two equal-cost paths to the sources. These routers use route selection algorithms to select an optimal path for data from each source. In this load splitting mode, streams transmitted on different paths are sent from different sources.
Load splitting by source address and group address
In Figure 7-8, different sources (S1 to S10) send data streams to different groups (G1 to G10). Router7, Router6, and Router5 each have two equal-cost paths to the sources. These routers use route selection algorithms to select an optimal path for each (S, G) stream. In this load splitting mode, streams transmitted on different paths have different source and group addresses.
Other load splitting methods
The following load balancing methods can also be used on the network shown in Figure 7-9:
Stable-preferred load splitting
When route flapping occurs on a multicast network, frequent changes of multicast traffic distribution on equal-cost paths will cause the route flapping to become worse. Stable-preferred load splitting can be configured to solve this problem. When route flapping occurs, a router with stable-preferred load splitting adjusts traffic distribution on equal-cost paths until route flapping ends. When the network topology becomes stable, the router evenly distributes (S, G) streams from the same source to equal-cost paths.
Balance-preferred load splitting
Balance-preferred load splitting enables routers to immediately adjust traffic distribution among equal-cost paths immediately when route flapping occurs on a multicast network. When the network topology becomes stable, the router evenly distributes (S, G) streams from the same source to equal-cost paths.
Unbalanced load splitting
Unbalanced load splitting is a supplement to stable-preferred and balance-preferred load splitting and does not change their behavior. In unbalanced load splitting mode, (S, G) streams are distributed to equal-cost paths in proportion to the weights of the paths. As transmission paths on a network have different capabilities, load on some paths may need to be manually adjusted. In this case, load splitting weights can be configured on upstream interfaces of a router to implement unbalanced load splitting. A larger weight allows the corresponding path to transmit more (*, G) and (S, G) streams.