Method and arrangement to maintain a TCP connection
First Claim
1. A method of maintaining a connection established in a multi-hop network between a first host and a second host and passing through at least one network node that is designed to release the connection after a certain time of inactivity the method comprising the steps of:
- sending from the first host towards the second host at least one probe packet having a time-to-live information field set to a probe value Lprobe;
receiving either a corresponding acknowledge packet ACK or a corresponding time-to-live exceeded packet;
decrementing the probe value Lprobe if an acknowledge packet ACK is received or incrementing the probe value Lprobe if a time-to-live exceeded packet is received;
repeating the steps using a binary search algorithm until a hop value LHV has been determined that is less than the number of hops the probe packet needs to make in order to reach the second host but greater than or equal to the number of hops the probe packet needs to make in order to reach the network node;
wherein a number of probe packets that need to be sent in order to determine the hop value LHV is equal to log 2(Lmax), wherein Lmax is equal to a maximum number of hops; and
sending a keep-alive packet from the first host towards the second host where the keep-alive packet is designed to delay the release of the connection and having a time-to-live information field set to the hop value LHV.
1 Assignment
0 Petitions
Accused Products
Abstract
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).
-
Citations
20 Claims
-
1. A method of maintaining a connection established in a multi-hop network between a first host and a second host and passing through at least one network node that is designed to release the connection after a certain time of inactivity the method comprising the steps of:
-
sending from the first host towards the second host at least one probe packet having a time-to-live information field set to a probe value Lprobe; receiving either a corresponding acknowledge packet ACK or a corresponding time-to-live exceeded packet; decrementing the probe value Lprobe if an acknowledge packet ACK is received or incrementing the probe value Lprobe if a time-to-live exceeded packet is received; repeating the steps using a binary search algorithm until a hop value LHV has been determined that is less than the number of hops the probe packet needs to make in order to reach the second host but greater than or equal to the number of hops the probe packet needs to make in order to reach the network node; wherein a number of probe packets that need to be sent in order to determine the hop value LHV is equal to log 2(Lmax), wherein Lmax is equal to a maximum number of hops; and sending a keep-alive packet from the first host towards the second host where the keep-alive packet is designed to delay the release of the connection and having a time-to-live information field set to the hop value LHV. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A host adapted to maintain a connection established in a multi-hop network with another host passing through a network node that is designed to release the connection after a certain time of inactivity, comprising:
a processor, configured to; provide a probe packet having a time-to-live information field set a probe value Lprobe; receive either an acknowledge packet ACK or a time-to-live exceeded packet; decrement the probe value Lprobe if the acknowledge packet ACK is received or increment the probe value Lprobe if the time-to-live exceeded packet is received; perform a binary search algorithm to determine a hop value LHV that is less than a number of hops the probe packet needs to make to reach the another host but greater than or equal to the number of hops the probe packet needs to make to reach the network node; wherein a number of probe packets that need to be sent in order to determine the hop value LHV is equal to log 2(Lmax), wherein Lmax is equal to a maximum number of hops; and provide a keep-alive packet for the another host designed to delay a release of the connection and having a time-to-live information field set to the hop value LHV. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
Specification