vSwitch Load Balancing Policies in VMware

It is important to understand the Network Load balancing policies that we have in ESXi and How the vSwitch is going to handle the Load across the Physical Network card that we configured in a NIC team.

To start with the same, there were about 5 Network Load balancing policies we have in ESXi, as listed below.

  • Route based on originating virtual port ID
  • Route based on IP hash
  • Route based on source MAC hash
  • Use Explicit fail-over order
  • Route based on physical NIC load (Only available for Distributed Switch)

Its very important to understand how each of these policies work when multiple physical configured in a NIC team for a given vSwitch or a dvSwitch. So lets get started.

Route based on originating virtual port ID

This  Route based on originating virtual port ID is the default policy. The virtual machine outbound traffic is mapped to a specific physical Network Card based on the virtual port ID to which this virtual machine is connected to. The Virtual Port ID is nothing but the port where the virtual maching is plugged into. So the Port ID is taken into consideration to select the particular physical NIC card to send and receive the traffic untill that physical card is failed. When configured, only one VMNIC (physical NIC) is used per virtual NIC or VMkernel port. If a NIC’s link goes down, the virtual NICs and VMkernel ports are reassigned to the remaining NICs in the team, and the host sends out advertisements to the physical switch to ensure the MAC address table is updated.
This load balancing technique is very simple and fast, and does not require any external physical switch configuration. The Network Detection policies like “Link Status or Beacon Probing” can be used with this  load balancing Policy. This load balancing policy can be set both at vSwitch or PortGroup level.

Route based on IP hash

Route based on IP Hash works by taking the hash of both the source and destination IP addresses and this algorithm helps in choosing the appropriate uplink in the team to send and receive the traffic.  If the  virtual machine is communicating with multiple IP addresses then the traffic can use all the Phsycial network cards in the team.  Route based on IP Hash load balancing requires that the physical switch configuration, the ports has to be configured as EtherChannel. Beacon probing is not supported when vSwitch is configured with the Route based on the IP Hash . Only link status mechansim can be used as a to detect the link failures. This policy has got the higher CPU overhead and is not compatible with all the Physical switches that you use in your environment. This load balancing policy can be set both at vSwitch or PortGroup level.

Route based on source MAC hash

This Route based on source MAC hash algorithm chooses Physical NIC to utilize for sending and receiving the traffic based on the source Virtual Machine MAC address. No Physical Switch Configuration is required for this Load balancing policy. This load balancing policy can be set both at vSwitch or PortGroup level. When used, traffic from a given virtual machine vNIC is consistently sent to the same physical adapter unless there is a failover happens to the another adapter in the NIC team and the Replies are also received on the same physical adapter, as the physical switch learns about the port association.

Use Explicit fail-over order

Always use the highest order uplink from the list of Active adapters which passes failover detection criteria, and is an equivalent to a fail over policy.  Its not really a Load balancing policy

Route based on physical NIC load 

Its available only with the Distributed Switches, hence we need to have a Enterprise Plus license. 
The Route based on Physical NIC load is also know as the Load Based Teaming (LBT). This the most efficient load balancing algorithm which calculates the work loads of the actual Physical NICs. When this policy is configured the portgroup actively monitors the uplink utilization, when an uplink reaches 75% utilization for 30 seconds, the load based teaming tries to move the virtual machine traffic to  the other free uplinks. 

So based on the requirements select the load balancing policy that works for you.


Leave a Reply