Network Address Translation Service Unit Selection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In network address translation, existing systems face challenges in ensuring that inbound and outbound packet flows for a subscriber communication session are processed by the same service processing unit (SPU) within a NAT device, especially when the packets have different 5-tuple information in their headers, which can lead to inefficient packet processing and resource utilization.
Innovation Solution
A network device with multiple SPUs applies a service unit selection function to outbound packets to select the appropriate SPU for network address translation, ensuring that both inbound and outbound packets of a communication session are directed to the same SPU by determining a public network address and port that produces a consistent result, thereby avoiding internal packet redirection and optimizing session-aware services.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If network address translation is performed on outbound packets with different 5-tuple information, then public network addresses are successfully allocated for routability, but inbound and outbound packets may be directed to different service processing units causing processing inefficiency
Solution Approach 1:
The patent applies a service unit selection function to the outbound packet header before NAT translation to determine which service processing unit will handle the packet. This preliminary selection ensures that the same SPU will process both the outbound and subsequent inbound packets, preventing the need for internal redirection and maintaining processing efficiency while still allowing flexible NAT address allocation.
Solution Approach 2:
The patent modifies the packet header parameters (specifically the 5-tuple information) in a controlled manner during NAT translation. By carefully selecting which parameters to change and how to change them, the system maintains consistency in service unit selection while achieving the necessary address translation for public routability.
2Reliability
If service unit selection is based on outbound packet headers, then consistent SPU selection is achieved, but additional computational overhead is introduced for determining translation parameters
Solution Approach 1:
The service unit selection function is applied to outbound packets before NAT translation to pre-determine which SPU will handle the session. This preliminary action ensures consistent session handling while allowing the NAT translation parameters to be determined subsequently without compromising session reliability.
Solution Approach 2:
The outbound packet itself provides the information needed for service unit selection through its header fields. The selection function uses existing packet header data (source/destination addresses and ports) to determine SPU assignment, eliminating the need for external control mechanisms and reducing overall system complexity.
3Manufacturing precision
If internal packet redirection is implemented to ensure session-aware services are applied correctly, then service accuracy is improved, but packet forwarding delay increases
Solution Approach 1:
By determining the service processing unit assignment before NAT translation using the service unit selection function, the system ensures that both outbound and inbound packets are directed to the same SPU from the outset. This eliminates the need for internal packet redirection, maintaining service application accuracy while avoiding the time delays that would result from redirecting packets between SPUs.
Data Source
AI summary
A network device having multiple service units receives an outbound packet of a communication session, where the service units can perform network address translation (NAT) on the outbound packet. The outbound packet includes a private source network address and source port. The network device applies a service unit selection function to a header of the outbound packet to produce a first result, and selects, based on the first result, a service unit to perform NAT for packets of the communication session. The network device determines a port for network address translation that produces a second result equal to the first result when the service unit selection function is applied to the portion of the header when the portion includes a selected public network address and determined port. The service unit can thereby perform session-aware services on packets of the communication session without redirecting the packets between the service units.


