IGP Load Sharing Algorithms

Introduction

Load sharing can be based on equal or unequal cost of routes. Currently only EIGRP supports unequal cost load sharing. BGP has and optional feature called DMZ link which has similar behavior. Load sharing algorithms are depended on platforms and relate to the network's topology. There are two types of algorithms static and dynamic.

Load Sharing Algorithms

  • Cisco has a number of load sharing algorithms, but most of them can be categorized into two groups: Per Flow and Per Packet.
  • Load sharing is performed on the egress side of forwarding. If network have a substantially larger ratio of inbound traffic, load sharing might not make a lot of sense to use.
  • Load sharing algorithms is configured per platform and can't use both.
  • Recently a new method of load sharing has created two categories: static and dynamic.
    • Static is the classical per flow vs per packet load sharing, when only static fields in the frames/packets are used to decide egress path.
    • Dynamic is a new method that is able to move a flow to a different path and still eliminate packet reordering. For more info see IGP-Load-Sharing-Dynamic-Flowlets.

Per Flow

  • Per flow load sharing is also sometimes called per destination, which can be misleading since other fields are used.
  • Per flow will use a combination of source IP and destination IP as parameters into a harsh function that will return and ID of a link to send traffic over. Other field like layer 4 are also used to improve the hashing results.
  • The biggest benefits of per flow load sharing is that packets will always follow the same path per the hashed filed. This eliminated the problem of out of order packet delivery.
  • The drawback is not all links can be fully utilized and some might not be utilized at all. See igp-load-sharing-cef-polarization for a case study.
  • For specific algorithms of receptive platforms see C65K-Load-Sharing, ASR1K-Load-Sharing, ASR9K-Load-Sharing.

Per Packet

  • Per packet load sharing, does a round robin per each link.
  • This algorithm is not supported in ASR 1000 and higher models of Cisco routers.
  • The benefits is that it will equally spread the load over each link.
  • The biggest drawback is that it can deliver packets out of order, which significantly reduce the TCP throughput.

Examples

NX-OS

IOS-XR

IOS

Additional Resources

Configuring a Load-Balancing Scheme - IP Switching Cisco Express Forwarding Configuration Guide Cisco IOS XE Release 3S (Cisco ASR 1000)
ASR9000 XR: Load-balancing architecture and characteristics - Cisco Support DOC-26687

Comments

rating: +1+x
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License