NAT Device Address Switching for Multi-Homed SCTP Connections
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional Network Address Translator (NAT) devices fail to seamlessly process messages when multi-homed endpoints in a Stream Control Transmission Protocol (SCTP) connection switch to a different network address, as they are configured to store connection state using a single host network address, lacking a mechanism for substituting different network addresses once a connection is established.
Innovation Solution
A method and apparatus that receive messages with multiple private network addresses, create and store mappings to corresponding public addresses, and link context information for processing subsequent messages, enabling NAT devices to automatically handle address changes by using stored context information for subsequent communications between multi-homed hosts and servers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If conventional NAT devices store connection state using a single host network address, then the connection state management is simple, but the device cannot process messages when multi-homed endpoints switch to a different network address
Solution Approach 1:
The connection state is segmented into multiple independent address bindings, each associated with a specific network address of the multi-homed endpoint. Instead of storing a single address-to-state mapping, the NAT device maintains separate binding entries for each address, allowing independent management and switching between addresses while maintaining the same connection state context.
Solution Approach 2:
The connection state management transitions from a one-dimensional single-address model to a multi-dimensional model where multiple network addresses are associated with a single connection state. This dimensional expansion allows the NAT device to track and manage multiple address bindings (private address 1, private address 2, etc.) all pointing to the same connection context, enabling seamless address switching.
2Reliability
If NAT devices maintain single address-to-state mapping, then memory usage is efficient, but seamless communication during address switching cannot be achieved
Solution Approach 1:
A single connection state object serves multiple network addresses simultaneously. The connection state is designed to be address-agnostic, functioning as a universal context that can be accessed through any of the multi-homed endpoint's addresses. This multi-functionality allows the same state object to handle packets from or to any address in the set, ensuring communication continuity without duplicating state data for each address.
Solution Approach 2:
Instead of copying the entire connection state for each address binding, the system creates lightweight references or pointers to the shared state object. Each address binding stores a reference to the connection state rather than a full duplicate, minimizing memory overhead while enabling fast address switching through reference redirection.
3Adaptability or versatility
If conventional NAT uses single connection object identified by five-tuple, then connection identification is straightforward, but no mechanism exists for substituting different network addresses once connection is established
Solution Approach 1:
An intermediary mapping layer is introduced between the five-tuple connection identification and the actual connection state. This mapping layer maintains address bindings that associate multiple private addresses with a single connection state object. When a packet arrives with a different address, the intermediary mapping translates the address to the correct connection state, enabling address substitution without changing the fundamental five-tuple identification mechanism.
Solution Approach 2:
The connection object structure transitions from static single-address binding to dynamic multi-address binding. The connection state object can dynamically associate with different network addresses during its lifetime, allowing the endpoint to switch addresses without creating new connection objects. This dynamic binding enables flexible address substitution while maintaining connection integrity.
Data Source
AI summary
Approaches to recover from faults associated with multi-homed clients having transport protocol connections that pass through network address translators are disclosed. In one approach, context information for a connection, between a first host and a second host, referencing one of several multi-homed network addresses of the first host, is automatically re-used when the second host switches to a different address of the first host, for example, when the first host becomes unavailable at the original address. Embodiments support seamless switchover of SCTP connections over NAT devices.


