TCP Connection Maintenance via Spoofed Keep-Alive Packets

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-hop networks, TCP connections are often terminated by NATs due to binding timers, causing issues for long-duration connections, especially in wireless networks where keep-alive packets drain mobile terminal batteries.

Innovation Solution

Using the time-to-live (TTL) mechanism in IP packets to send keep-alive packets that reach the NAT but not the mobile terminal, thereby delaying connection release without disturbing the terminal.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Duration of action of stationary object

If keep-alive packets are sent from server to mobile terminal to restart NAT binding timer, then TCP connection is maintained through NAT, but mobile terminal battery is drained due to wake-up of transmission facilities

Engineering Contradiction:
ImproveTCP connection duration through NATVSAvoidmobile terminal battery energy
Core Design Contradiction:
Duration of action of stationary objectVSUse of energy by moving object

Solution Approach 1:

The patent extracts the keep-alive packet's destination from the mobile terminal by using a spoofed intermediate IP address (the NAT gateway's address) instead of the terminal's real address. This allows the packet to reach the NAT and restart its binding timer without being delivered to the terminal, thus maintaining the connection while avoiding battery drain.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The NAT gateway acts as an intermediary by receiving keep-alive packets with spoofed source addresses, restarting its binding timer based on these packets, while the actual source (server) remains undetected. This intermediary mechanism allows connection maintenance without direct communication between server and terminal.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Duration of action of stationary object

If short-lived TCP connections are used to prevent NAT release, then connection durability issue is avoided, but architectural complexity increases requiring out of band signalling protocols

Engineering Contradiction:
ImproveTCP connection durationVSAvoidnetwork architectural complexity
Core Design Contradiction:
Duration of action of stationary objectVSDevice complexity

Solution Approach 1:

The server performs self-service by automatically sending keep-alive packets with spoofed source addresses to maintain TCP connections through NAT gateways. This eliminates the need for external signalling protocols or complex architectural changes, as the connection maintenance is handled autonomously by the server using modified TCP packet construction.

Inventive Principle:
Principle #25Self-service

3Quantity of substance

If NAT releases old and inactive connections to manage finite memory, then memory capacity is preserved, but legitimate long-duration connections are terminated

Engineering Contradiction:
ImproveNAT memory capacityVSAvoidTCP connection reliability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The server implements periodic action by sending keep-alive packets at regular intervals (e.g., every 30 seconds) to actively maintain TCP connections through the NAT gateway. This periodic refresh prevents the NAT from releasing the connection due to inactivity, ensuring connection reliability while allowing the NAT to manage its memory resources for other connections.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS8751669B2Method and arrangement to maintain a TCP connection
Publication Date: 2014.06.10 TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
  • US8751669B2 patent drawing
  • US8751669B2 patent drawing
  • US8751669B2 patent drawing

AI summary

The present invention relates to a method and an arrangement to maintain a TCP connection (230) between two hosts (140, 250) in a multi-hop network (110,120). If the connection (230) is inactive (no IP packets sent or received) during a certain period of time, it may happen that the connection (230) is released by certain intermediate network entities such as a Network Address Translation NAT function (130). The current invention overcomes this problem by sending keep-alive packets (210) from one of the hosts (250) towards the other (140) at regular intervals. Said packets (210) prevent the NAT (130) from releasing the connection (230). In order to not disturb the other host (140) e.g. a mobile terminal in a sleeping mode, the keep-alive packets (210) are adapted in such way that they are sent far enough to reach the NAT (130) but not all way to the other host (140).