While routing packets over multiple links towards destination, the Router can load balance the traffic across links. Load balancing is based on a combination of source and destination packet information. We can configure load balancing on outbound interfaces on a per-destination or per-packet basis –
- Per Destination Load Balance
- Per Packet Load balance
Let us have more insight into both the Load balancing methods and pros and cons of each.
PER-DESTINATION LOAD BALANCE
Per Destination Load balancing is the default load balancing method enabled on the router. Packets for a given source-destination host pair will take the same path, even if multiple paths are available.In case majority of traffic is for a same source and destination pair, traffic will use the same path leading to underutilization of other paths. Per Destination is the preferred load balancing for most situations.
PER-PACKET LOAD BALANCE
Per Packet load balancing method creates traffic distribution on a round robin fashion ie to say that a router sends one packet for destination over the first path, the second packet for the same destination over the second path, third again at first path and so on.Per packet load balancing is useful when equal utilization of paths to same destination is required this method avoids path congestion also. One caveat to this method of routing – It may result in out-of-order or reordered packets which may introduce some issues to sensitive and rich media applications like voice or video. Some other application which are severely affected by packet reordering is Fast Sequenced Transport for SNA over IP or voice/video streams.CEF and process switching support per packet load balancing methodology. Process switching is processor intensive and not recommended routers traversing high volume traffic. CEF on the other hand introduces no performance impact and can be used safely.By default, on most Cisco routers, fast switching is enabled under interfaces. This is a demand caching scheme that does per-destination load-balancing.To set per-packet load-balancing, enable process switching (or in other words disable fast switching). Since By default, on Cisco routers, fast switching is enabled under interfaces. This is a caching arrangement that does per-destination load-balancing.
Related- Process vs Fast Switching
Following command will be used for per packet load balancing under process Switching –
Router(config-if)# no ip route-cache
Now the router CPU looks at every single packet and load balances on the number of routes in the routing table for the destination. This will be CPU intensive because the CPU must do all the processing. To re-enable fast switching, use these commands:
Router(config-if)# ip route-cache
In IOS software release 11.1(17)CC a new forwarding mechanism called Cisco Express Forwarding (CEF) has been introduced for Cisco 7200 and 7500 series routers. CEF can efficiently use multiple parallel links without additional hardware multiplexers.
Following command will be used for per packet load balancing under CEF Switching –
Router(config)# ip cef [distributed]