Method and apparatus for determining the landing zone of a TCP packet
First Claim
1. An automated method of determining whether a TCP (Transmission Control Protocol) packet lands in-zone within a wrap-around TCP sequence space, the method comprising:
- setting an anchor configured to identify a TCP sequence number N bits in length and representable as [N−
1;
0], wherein N is an integer greater than zero;
calculating a test value N+1 bits in length and representable as [N;
0] by;
selecting bit [N−
1] of said anchor;
adding 1 to said selected bit to generate bits [N;
N−
1] of said test value;
copying bits [N−
2;
0] of said anchor to said test value; and
comparing a TCP sequence number of the TCP packet to said test value.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for determining whether a TCP packet lands in-zone or out-of-zone of a TCP sequence space. An anchor representing the TCP sequence number of the last TCP data byte, plus one, is updated each time a TCP data packet is received. When a new TCP packet is received, the most significant bit, bit [31], is extracted from the anchor. A two-bit value is formed by adding 1 to the extracted bit. This two-bit value is pre-pended to bits [30:0] of the anchor, as bits [32:31], to produce a 33-bit test value. Then, the sequence number of the last TCP byte of the received packet is then compared to the anchor and the test value. If the sequence number is greater than or equal to the anchor, and less than the test value, the packet lands in-zone and may be processed normally.
-
Citations
13 Claims
-
1. An automated method of determining whether a TCP (Transmission Control Protocol) packet lands in-zone within a wrap-around TCP sequence space, the method comprising:
-
setting an anchor configured to identify a TCP sequence number N bits in length and representable as [N−
1;
0], wherein N is an integer greater than zero;calculating a test value N+1 bits in length and representable as [N;
0] by;selecting bit [N−
1] of said anchor;adding 1 to said selected bit to generate bits [N;
N−
1] of said test value;copying bits [N−
2;
0] of said anchor to said test value; andcomparing a TCP sequence number of the TCP packet to said test value. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer readable medium storing instructions that, when executed by a computer, cause the computer to perform a method of determining whether a TCP (Transmission Control Protocol) packet lands in-zone within a wrap-around TCP sequence space, the method comprising:
-
setting an anchor configured to identify a TCP sequence number N bits in length and representable as [N−
1;
0], wherein N is an integer greater than zero;calculating a test value N+1 bits in length and representable as [N;
0] by;selecting bit [N−
1] of said anchor;adding 1 to said selected bit to generate bits [N;
N−
1] of said test value;copying bits [N−
2;
0] of said anchor to said test value; andcomparing a TCP sequence number of the TCP packet to said test value.
-
-
8. An automated method of determining the landing zone of a received packet formatted according to a communication protocol in which packet data are sequentially numbered in a wrap-around sequence space, the method comprising:
-
receiving a first packet over a communication connection; configuring an anchor to identify a sequence number of data expected to be received with a subsequent packet received over the connection; extracting a most significant bit of the anchor; adding 1 to the extracted bit to produce a sum; copying all bits of the anchor except the most significant bit into a test value; pre-pending said sum as the most significant bits of said test value; and receiving the subsequent packet; identifying a sequence number of data contained in the subsequent packet; and comparing the identified sequence number with the anchor and the test value. - View Dependent Claims (9, 10, 11, 12)
-
-
13. An apparatus for determining the landing zone of a TCP (Transmission Control Protocol) packet, comprising:
-
an anchor line configured to carry a binary anchor value N bits in length, wherein N>
0;a multiplexer configured to; input bit [N−
1] of said anchor; andoutput bits [N;
N−
1] of a binary test value N+1 bits in length;wherein said bits [N;
N−
1] of said test value comprise the sum of said bit [N−
1] of said anchor plus one;a test value line configured to carry said test value; wherein bits [N−
2;
0] of said test value are equal to bits [N−
2;
0] of said anchor.
-
Specification