IP Switching / Routing Background
Data Plane
To ensure that all packets associated with a flow take the same next hop, routers (hardware or software) use flow hashing. This means that for every packet, the router creates a hash of the packet headers, coupled with some other information such as incoming port. Some fixed number of bits of the hash are used as a modulo on the number of available hops to select for the next hop. This method of determining the next hop for a flow allows routers to ensure that all packets associated with a flow take the same path without requiring them to maintain per-flow state.