NAT Port Manager Using Remainder-Based Port Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current network address translation (NAT) port managers allocate source ports randomly, making it difficult for reverse packets to locate the same services processor that processed the original packet, leading to inefficiencies in processing and resource consumption.

Innovation Solution

A two-level port bitmap management system is introduced, which determines a translated source port using a remainder calculated from packet information, allowing the NAT port manager to select a logical port efficiently without requiring a forwarding session, enabling reverse packets to be processed by the same services processor.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If source ports are allocated randomly in current NAT port managers, then port allocation simplicity is maintained, but reverse packets cannot locate the same services processor leading to processing inefficiency

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidport management system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the port management system into two levels: a cache bitmap layer for quick remainder-based lookup and a port bitmap layer for detailed port allocation. This segmentation allows efficient reverse packet routing while maintaining organized port management structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the port allocation parameter from random selection to remainder-based deterministic selection. By calculating the remainder of the destination port divided by the number of service processors, the system deterministically assigns ports that enable reverse packets to reach the correct service processor.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If a forwarding session is installed to track packet processing, then reverse packets can be correctly routed, but memory and processor resources are consumed

Engineering Contradiction:
Improvereverse packet routing accuracyVSAvoidmemory resources
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts the essential routing information (remainder value) from the complex forwarding session data structure. By storing only the remainder in the cache bitmap, the system achieves reliable reverse packet routing without maintaining complete forwarding session state, thus reducing memory consumption.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent creates a simplified copy of the routing information in the cache bitmap layer. Instead of storing complete forwarding session data, it stores a compact remainder value that is sufficient for reverse packet routing, reducing the quantity of stored information while maintaining routing accuracy.

Inventive Principle:
Principle #26Copying

3Reliability

If forwarding sessions are installed for each packet, then reverse packet routing is ensured, but processor resources and processing time are consumed

Engineering Contradiction:
Improvepacket routing accuracyVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary action by pre-calculating and storing the remainder value in the cache bitmap before reverse packet arrival. This allows the system to quickly determine the correct service processor for reverse packets without performing complex lookup operations at the time of packet processing.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9961046B2NAT port manager for enabling port mapping using remainders
Publication Date: 2018.05.01 JUNIPER NETWORKS INC
  • US9961046B2 patent drawing
  • US9961046B2 patent drawing
  • US9961046B2 patent drawing

AI summary

A network device may include one or more processors. The one or more processors may receive a call from a services processor to allocate network address translation resources for a data packet. The one or more processors may determine an identifier associated with the services processor. The one or more processors may allocate network address translation resources using a network address port translation manager based on the identifier. The network address translation port manager may be a two-level port bitmap management system that determines a translated source port for the data packet.