ECMP Packet Forwarding via Symmetric Hash Path Consistency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Inconsistent forwarding paths for packets in both directions of a service flow in an ECMP scenario complicate network maintenance, fault diagnosis, and deployment of session detection-based devices like firewalls.
Innovation Solution
Implementing a symmetric hash algorithm on network devices to ensure that packets in forward and reverse flows are routed along the same path by determining a path identifier based on hash values, using a consistent method for both devices to maintain path consistency across directions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If ECMP is used to implement network load balancing and redundancy backup, then network reliability and throughput are improved, but path consistency between forward and reverse flows deteriorates
Solution Approach 1:
The patent applies asymmetry by introducing direction-specific parameters (source/destination IP addresses and port numbers) into the hash calculation. This creates different hash values for forward and reverse flows, allowing each direction to be independently routed while maintaining overall path consistency through coordinated hash-to-path mapping between peer devices.
Solution Approach 2:
The patent changes the parameters used in hash calculation from traditional single-direction parameters to include both source and destination IP addresses along with port numbers. This parameter expansion enables the system to generate distinct yet coordinated hash values for bidirectional flows, resolving the contradiction between load balancing and path consistency.
2Adaptability or versatility
If different hash algorithms are configured on peer network devices, then device adaptability is improved, but path consistency between devices deteriorates
Solution Approach 1:
The patent implements universality by establishing a standardized hash algorithm configuration that can be universally applied across all peer network devices. This standardization ensures that regardless of device type or vendor, all devices use the same hashing methodology, guaranteeing consistent path selection while maintaining broad device compatibility and adaptability.
Solution Approach 2:
The patent employs feedback mechanisms where network devices exchange information about their hash algorithm configurations and path selections. This feedback loop allows devices to adjust and synchronize their routing decisions, ensuring path consistency is maintained across the network while accommodating different device capabilities through iterative coordination.
3Productivity
If traditional ECMP path selection is used, then network throughput is improved through load balancing, but network maintenance and fault diagnosis complexity increases
Solution Approach 1:
The patent applies preliminary action by pre-establishing a deterministic mapping between hash values and path identifiers before actual data transmission begins. This pre-computed mapping table allows network devices to quickly determine the correct path for any given flow without complex real-time calculations, simplifying maintenance and fault diagnosis while maintaining load balancing effectiveness.
Solution Approach 2:
The patent uses copying by creating and distributing identical hash algorithm implementations and path mapping tables across all peer network devices. This ensures that each device has an exact copy of the routing logic, making maintenance simpler through standardization and enabling easier fault diagnosis by comparing configurations across devices to identify deviations.
Data Source
AI summary
A method for packet forwarding based on equal-cost multi-path and a network device, in order to resolve problems that are caused by inconsistent forwarding paths for packets in two directions of a same service flow in an equal-cost multi-path scenario. A first network device performs calculation on characteristic information in a packet using a hash algorithm to obtain a hash value, determines, according to a correspondence between hash values and path identifiers that is acquired in advance, a path identifier corresponding to the hash value, and forwards the packet to a second network device through a path that corresponds to the path identifier, where the path is one of the N equal-cost paths. There exist N equal-cost paths for packet forwarding between the first network device and the second network device. The same hash algorithm is configured on the two network devices respectively.


