Table Of Contents
Per-Packet Load Balancing
First Published: November 5, 2001Last Updated: February 28, 2006
History for the Per-Packet Load Balancing Feature
Finding Support Information for Platforms and Cisco IOS Software Images
Use Cisco Feature Navigator to find information about platform support and Cisco IOS software image support. Access Cisco Feature Navigator at http://www.cisco.com/go/fn. You must have an account on Cisco.com. If you do not have an account or have forgotten your username or password, click Cancel at the login dialog box and follow the instructions that appear.
The Per-Packet Load Balancing feature allows data traffic to be evenly distributed in an IP network over multiple equal-cost connections. Per-packet load balancing uses round-robin techniques to select the output path without basing the choice on the packet content.
Load balancing is based on a combination of source and destination packet information; it allows you to optimize resources by distributing traffic over multiple paths for transferring data to a destination. You configure load balancing on outbound interfaces on a per-destination or per-packet basis.
Per-Destination and Per-Packet
Per-destination load balancing allows the router to distribute packets based on the destination address, and uses multiple paths to achieve load sharing. Packets for a given source-destination host pair are guaranteed to take the same path, even if multiple paths are available. For example, given two paths to the same network, all packets for destination1 on that network go over the first path, all packets for destination2 on that network go over the second path, and so on. Per-destination load balancing is enabled by default when you start the router, and is the preferred load balancing for most situations.
Per-packet load balancing allows the router to send successive data packets over paths without regard to individual hosts or user sessions. It uses the round-robin method to determine which path each packet takes to the destination. With per-packet load balancing enabled, the router sends one packet for destination1 over the first path, the second packet for (the same) destination1 over the second path, and so on. Per-packet load balancing ensures balancing over multiple links.
Although path utilization with per-packet load balancing is beneficial, packets for a given pair of source-destination hosts might take different paths. This means that per-packet load balancing can introduce reordering of packets. This load balancing method would be inappropriate for certain types of data traffic (such as voice traffic over IP) that depend on packets arriving at the destination in sequence.
Use per-packet load balancing to ensure that a path for a single source-destination pair does not get overloaded. If the bulk of data passing through parallel links is for a single pair, per-destination load balancing overloads a single link while other links have very little traffic. Enabling per-packet load balancing allows you to use alternate paths to the same busy destination.
Note The Cisco 10000 series and Cisco 12000 series Internet Router are configured by default to perform per-destination load balancing.
Implementing Per-Packet Load Balancing
On most Cisco IOS platforms, you need to separately configure load balancing for a destination IP prefix on each outgoing interface. Outgoing packets are then forwarded to the specified destination using the load balancing method that you configure.
Because of the Cisco 12000 series Internet router's distributed architecture, you configure load balancing on a per line card basis. This means that all traffic passing through the outgoing interfaces of a line card is switched with either per-packet or per-destination load balancing.
Avoid Path Congestion
Per-packet load balancing avoids overloading by spreading traffic for a given destination across different network links.
Improve Path Utilization
Data traffic is balanced over multiple links.
Using per-packet load balancing to share the traffic load across available paths to a given destination can cause out-of-sequence packets in a particular data flow. This can result in unsatisfactory data transmission for video and voice streaming.
Configuring Load Balancing in the Same Way on All E2 Line Cards
You must globally configure load balancing on E2 line cards so that it is performed either in per-destination or per-packet mode. It is not possible (as in other Cisco IOS software-based platforms) to configure some packet prefixes in per-destination mode and others in per-packet mode. Although you could configure one E2 line card in one load balancing mode and all other E2 line cards in the other mode, this would not be practical and would result in a limited use of the router. For this reason, Cisco recommends that you configure load balancing on all E2 line cards in the 12000 Series Internet Router in the same way: either per-packet or per-destination.
Related Features and Technologies
•Cisco Express Forwarding
•Multiprotocol Label Switching (MPLS)
See the following sections for configuration tasks for the Per-Packet Load Balancing feature. Each task in the list is identified as either required or optional:
•Enabling Per-Packet Load Balancing (required)
•Re-enabling Per-Destination Load Balancing (optional)
•Verifying Per-Packet Load Balancing (required)
Enabling Per-Packet Load Balancing
Router(config)# hw-module slotnumber ip load-sharing per-packet
Disables per-destination and enables per-packet load balancing.
Re-enabling Per-Destination Load Balancing
Router(config)# hw-module slotnumber ip load-sharing per-destination
Disables per-packet and re-enables per-destination load balancing.
Verifying Per-Packet Load Balancing
Enter the show running-config command to verify that per-packet load balancing is configured for a given line card. In the following example, the output line that displays the load balancing configured for the line card in slot 4 is shown in bold.Router# show running-configCurrent configuration : 1308 bytes!version 12.0no service padservice timestamps debug uptimeservice timestamps log uptimeno service password-encryption!hostname cisco12000!enable password lab!monitor event-trace eeprom stacktracehw-module slot 4 ip load-sharing per-packethw-module slot 1 ip multicast warphw-module slot 7 ip multicast warp!
This section provides an example of how to enable per-packet load balancing for the line card in slot 1 and then re-enable per-destination load balancing for the same line card:Router(config)# hw-module slot1 ip load-sharing per-packetRouter(config)# hw-module slot1 ip load-sharing per-destination
The following sections provide references related to Per-Packet Load Balancing.
Related Topic Document Title
Cisco IOS Configuration Fundamentals Configuration Guide, Release 12.0
Commands used for configuration
Cisco IOS Configuration Fundamentals Command Reference, Release 12.0
Cisco Express Forwarding
Configuring Cisco Express Forwarding
IP and IP Routing Configuration
Cisco IOS IP and IP Routing Configuration Guide, Release 12.1
MIB MIBs Link
To locate and download MIBs for selected platforms, Cisco IOS releases, and feature sets, use Cisco MIB Locator found at the following URL:
This section documents modified commands only.
hw-module slot ip load-sharing per-packet
To enable per-packet load balancing on a line card, use the hw-module slot ip load-sharing per-packet command in configuration mode. To disable per-packet load balancing, use the no form of this command.
hw-module slot number ip load-sharing per-packet
no hw-module slot number ip load-sharing per-packet
No default behavior or values.
Use this command to enable the per-packet load balancing on a supported line card.
The following example shows how to enable and disable per-packet load balancing on the line card in slot 1:Router(config)# hw-module slot1 ip load-sharing per-packetRouter(config)# no hw-module slot1 ip load-sharing per-packet
hw-module slot number ip load-sharing per-destination
Enables per-destination load balancing on the specified line card.
Cisco Express Forwarding—A high performance IP forwarding path. Forwarding can be done in software or hardware.
path—A valid route to reach a destination IP prefix. Specified in terms of a next-hop IP address and output interface.
session—A unidirectional end-to-end IP communication between two IP nodes. All packets in the session have the same source and destination address.
Note See Internetworking Terms and Acronyms for terms not included in this glossary.
Any Internet Protocol (IP) addresses used in this document are not intended to be actual addresses. Any examples, command display output, and figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses in illustrative content is unintentional and coincidental.
© 2001-2002, 2006 Cisco Systems, Inc. All rights reserved.