Address Tagging for NAT Traversal

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for handling data with embedded addresses traversing a Network Address Translation (NAT) device are complex, expensive, and fail when addresses are encrypted, or integrity checks are compromised due to address translation.

Innovation Solution

The method involves sending data packets with a header containing fields that identify an application type and a tag serving as a substitute address, where the tag is positioned in the payload, allowing only header translation without payload analysis, thus avoiding the need for stateful inspection and supporting a broad range of protocols.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If application-specific knowledge (ALG) is added within the NAT device to handle embedded addresses, then applications which embed IP addresses in the payload can be supported, but the device complexity and cost increase significantly

Engineering Contradiction:
Improvesupport for applications with embedded addressesVSAvoidNAT device complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the address handling functionality by introducing a tag in the payload that references an address stored in the header. This separates the actual address data from the payload content, allowing the NAT device to handle only the header address while the payload contains a simple tag reference, thereby reducing the need for complex application-specific inspection

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a tag as an intermediary element between the payload and the actual address. The tag serves as a placeholder that references the address in the header, allowing the NAT device to work with simplified data structures while still supporting applications that need embedded address information

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If stateful inspection is performed on the payload to locate embedded addresses, then accurate address translation can be achieved, but the processing time and computational resources increase

Engineering Contradiction:
Improveaddress translation accuracyVSAvoidpacket processing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary action by placing the address in the header and creating a tag reference in the payload before the packet reaches the NAT device. This pre-configuration allows the NAT device to perform simple header translation without needing to inspect or search through the payload content, significantly reducing processing time while maintaining translation accuracy

Inventive Principle:
Principle #10Preliminary action

3Stability of the object's composition

If the NAT device inspects and translates embedded addresses in the payload, then address consistency is maintained, but encrypted protocol streams cannot be handled

Engineering Contradiction:
Improveaddress consistencyVSAvoidencrypted protocol support
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The patent extracts the address information from the payload and places it in the header, with the payload containing only a tag reference. This extraction allows the NAT device to translate addresses in the header without needing to inspect or decrypt the payload, enabling support for encrypted protocol streams while maintaining address consistency through the header-tag mechanism

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS7680104B2Address tagging for network address translation (NAT) traversal
Publication Date: 2010.03.16 CISCO TECHNOLOGY INC
  • US7680104B2 patent drawing
  • US7680104B2 patent drawing
  • US7680104B2 patent drawing

AI summary

Disclosed are methods and apparatus for generating, as well as processing data that is traversing (or will be traversing) a translation device, such as a Network Address Translation (NAT) device. In one embodiment, a method of sending data from a first node to a second node is disclosed. The method includes sending a data packet having a header and a payload whereby the header includes (i) one or more fields which identify an application type that uses addresses and indicates that there is a tag present in the payload that serves as a substitute for an address and (ii) an address and whereby the payload includes a tag that is positioned so that it serves as a substitution for an address that is used the identified application. The one or more fields are associated with the address of the header.