load-balance (Forwarding Options)
Syntax
load-balance { indexed-load-balance; per-flow { hash-seed; } per-prefix { hash-seed number; } }
Hierarchy Level
[edit forwarding-options], [edit logical-systems logical-system-name forwarding-options], [edit logical-systems logical-system-name routing-instances routing-instance-name forwarding-options], [edit routing-instances routing-instance-name forwarding-options]
Description
Enable per-prefix or per-flow load balancing so that the router or switch elects a next hop independently of the route selected by other routers or switches.
For the active route, when there are multiple equal-cost paths to the same destination, by default, Junos OS chooses in a random fashion one of the next-hop addresses to install into the forwarding table. Whenever the set of next hops for a destination changes in any way, the next-hop address is chosen again, also in a random fashion.
You can configure Junos OS so that, for the active route, all next-hop addresses for a destination are installed in the forwarding table. This is called per-packet load balancing. You can use load balancing to spread traffic across multiple paths between routing devices. The behavior of the per-packet load-balancing function varies according to the version of the Internet Processor ASIC in the routing device.
On routing devices with an Internet Processor I ASIC, when per-packet load balancing is configured, traffic between routing devices with multiple paths is spread in a random fashion across the available interfaces. The forwarding table balances the traffic headed to a destination, transmitting packets in round-robin fashion among the multiple next hops (up to a maximum of eight equal-cost load-balanced paths). The traffic is load-balanced on a per-packet basis.
Per-packet load distribution uses a hashing algorithm that distributes packets over equal-cost links. The algorithm is designed to distribute packets to prevent any single link from being saturated. However, per-packet load balancing offers no guarantee of equal distribution of traffic over equal-cost links, nor does it guarantee that increasing the number of Internet flows creates a better hash distribution.
On routing devices with the Internet Processor II ASIC and T Series Internet Processor
II ASIC, when per-packet load balancing is configured, traffic between routing devices with
multiple paths is divided into individual traffic flows (up to a maximum of 16 equal-cost
load-balanced paths). On some platforms, you can increase the number of paths by using the chassis maximum-ecmp
statement. With this statement, you can change the maximum number of equal-cost load-balanced
paths to 32 or 64. Packets for each individual flow are kept on a single interface. To recognize
individual flows in the transit traffic, the routing device examines each of the following:
Source IP address
Destination IP address
Protocol
Source port number
Destination port number
Source interface index
Type of service (ToS)
The routing device recognizes packets in which all of these parameters are identical, and it ensures that these packets are sent out through the same interface. This prevents problems that might otherwise occur with packets arriving at their destination out of their original sequence.
Load balancing is not supported on management and internal Ethernet (fxo) interfaces because this type of interface cannot handle the routing process. On fxp interfaces, you cannot configure multiple next hops and enable load balancing.
Options
The remaining statements are explained separately. See CLI Explorer.
Required Privilege Level
routing—To view this statement in the configuration.
routing-control—To add this statement to the configuration.
Release Information
Statement introduced in Junos OS Release 9.0.
Support for per-flow load balancing introduced in Junos OS Release 9.3.