No relevant resource is found in the selected language.

This site uses cookies. By continuing to browse the site you are agreeing to our use of cookies. Read our privacy policy>


To have a better experience, please upgrade your IE browser.


What Are the Principles and Applications of Two-Level Load Balancing?

Publication Date:  2013-01-07 Views:  50 Downloads:  0
Issue Description

Applicable scenario:

As shown in the following networking diagram, there are 1,000 data flows with variable source and destination IP addresses. The routes to specific destinations on Router A, Router B, and Router C all participate in load balancing. Each router has two outbound interfaces. Router A evenly distributes the 1,000 data flows to the routes destined for Router B and Router C separately with each router receiving 500 data flows. If Router B distributes the 500 data flows using the same hash algorithm as Router A, all the 500 data flows are forwarded through outbound interface 1, which does not load balance the traffic. To evenly distribute the 500 data flows from Router B, two-level load balancing can be configured on Router B.

Handling Process

Whether to configure and how to configure two-level load balancing depends on the software versions running on NE40Es, NE80Es, and NE5000Es:

By default, two-level load balancing is enabled on NE40Es, NE80Es, and NE5000Es running V300R003 early versions, V300R006 early versions, and V600R001 versions earlier than V600R001SPC800. Two-level load balancing can only be disabled only after a register is configured. Two-level load balancing is enabled manually on NE40Es, NE80Es, and NE5000Es running versions later than V300R007. The commands used for enabling and disabling two-level load balancing are listed as follows:

//To enable two-level load balancing for traffic on all LPUs, run the following commands as needed.

load-balance avoid-degradation vll all

load-balance avoid-degradation ipv4 all

load-balance avoid-degradation ipv6 all

load-balance avoid-degradation mpls all

//To enable two-level load balancing for traffic on a specific LPU, run the following commands as needed.

load-balance avoid-degradation vll slot slot-id

load-balance avoid-degradation ipv4 slot slot-id

load-balance avoid-degradation ipv6 slot slot-id

load-balance avoid-degradation mpls slot slot-id

//To disable two-level load balancing, run the following commands as needed.

Undo load-balance avoid-degradation vll /all

Undo load-balance avoid-degradation ipv4 /all

Undo load-balance avoid-degradation ipv6 /all

Undo load-balance avoid-degradation mpls /all

The preceding rules and commands apply to LPUF-20s, LPUF-21s, and LPUF-40s.

Root Cause

Two-level load balancing is implemented by adding the TTL value to the hash key calculation. The cause for this algorithm lies in that if two load balancing processes use the same hash key for a hash algorithm, the same flow is always distributed to the same link, causing unbalanced traffic forwarding. By taking the TTL value into account, if the TTL value is odd, two-level load balancing requires modification of the order of the hash keys so that the calculated result is different from the preceding load balancing process. In this way, traffic forwarding is balanced. If the TTL value is even, the hash keys are not modified no matter whether two-level load balancing is enabled or not.