Administrator Guide

Flow-based Hashing for ECMP
Flow-based hashing is one of RTAG7 hashing techniques to cater to ECMP routing in multi-tier networks. It addresses traffic polarization
issues by ensuring proper flow distribution between ECMP members in the higher layers of a multi-tier network. It facilitates a dynamic
hash function selection across different nodes in the network on a macro flow basis, by reducing route starvation and the unfair
distribution of bandwidth between members.
Polarization
Multipath routing is a method that is often used to address data forwarding issues during network failures so that the network traffic
reaches its desired destination. Multipath routing in IP networks is typically implemented using Equal-Cost Multipath (ECMP) routing,
which employs load balancing algorithms to distribute the traffic over multiple paths towards its destination. In a multi-tier network where
load balancing is performed at each tier, static hash algorithms polarize the traffic where load balancing is ineffective in the higher tiers.
The polarization effect is exaggerated if all the nodes in the network have to choose from the same set of ECMP paths. Traffic
polarization results in packet reordering and route flapping. The following figure explains the traffic polarization effect. Router B performs
the same hash as router A and all the traffic goes through the same path to router D, while no traffic is redirected to router E. The
following figure explains the traffic polarization effect:
Figure 36. Before Polarization Effect
Router B performs the same hash as router A and all the traffic goes through the same path to router D, while no traffic is redirected to
router E.
Some of the anti-polarization techniques used generally to mitigate unequal traffic distribution in LAG/ECMP as follows:
1. Configuring different hash-seed values at each node - Hash seed is the primary parameter in hash computations that determine
distribution of traffic among the ECMP paths. The ECMP path can be configured different in each of the nodes “hash-algorithm seed-
value” would result in better traffic distribution for a given flow, by reducing Polarization effect.
2. Configuring Ingress port as an additional load-balancing parameters [using “load-balance ingress-port enable”] would reduce the
polarization effect.
3. Configuring different load-balancing parameters at each tier. In Router A, the hash fields for load balancing could be source-ip, dest-ip,
vlan, protocol, L4-source-port and L4-dest-port, whereas on Router B, the hash fields use only source-ip, dest-ip, and protocol
4. Configuring different hash algorithms at different tiers. For example, Router A could use crc16 as the hash algorithm while router B can
use XOR16 as the hash algorithm.
Configuration and Benefits
298
Equal Cost Multi-Path (ECMP)