TCP Connection Maintenance via Spoofed Keep-Alive Packets
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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
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.
Data Source
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).


