Method and device for selective transport level spoofing based on information in transport level packet
First Claim
1. A device for use in a system comprising said device, a first apparatus, and a second apparatus, said device comprising:
- a selective spoofing unit that (a) obtains, from a transport level connection between the first apparatus and the second apparatus, a transport level packet sent by the first apparatus to the second apparatus, (b) determines, in accordance with a value in a field of the transport level packet, what application is using the transport level connection, (c) decides whether or not to perform transport level spoofing on the transport level connection, in accordance with the determination of what application is using the transport level connection, (d) selectively performs transport level spoofing on the transport level connection in accordance with the decision of whether or not to perform transport level spoofing, wherein the transport level spoofing comprises (i) locally acknowledging, to the first apparatus, receipt of the transport level packet and (ii) taking on, from the first apparatus, the responsibility of retransmitting the transport level packet if necessary, (e) decides, in a case that said selective spoofing unit has decided to perform transport level spoofing on the transport level connection, whether or not to modify the transport level packet, in accordance with the determination of what application is using the transport level connection, (f) selectively modifies the transport level racket in accordance with the decision of whether or not to modify the transport level packet, and (g) sends the transport level packet, having been modified if such is decided, to the second apparatus,wherein at least one of the following conditions is satisfied;
(1) the selective modification comprises varying the following field of the transport level packet;
a TCP Option, TCP Maximum Segment Size;
(2) the selective modification comprises varying the following field of the transport level packet;
a three-way handshake parameter field, and(3) the selective modification comprises varying the following field of the transport level packet;
a connection priority field.
13 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for enhancing the performance of a network by performing selective spoofing, i.e., determining whether or not to spoof a connection. Selective spoofing provides the ability to discriminate among different connections, only allocating TCP spoofing resources to those where spoofing will improve performance and assigning spoofing parameters based on the specific applications using the connections. The selective spoofing is applicable to a wide variety of communication links, including both slow and fast links, high latency links, and links with low and high error rates. The selective spoofing functions are used either alone or together with other performance enhancing features. Those features include spoofing the conventional TCP three-way handshake, local data acknowledgement, multiplexing multiple connections across a single connection, data compression/encryption, prioritization, and path selection. The selective spoofing is particularly useful for links with high latency and/or high bit error rates.
86 Citations
40 Claims
-
1. A device for use in a system comprising said device, a first apparatus, and a second apparatus, said device comprising:
-
a selective spoofing unit that (a) obtains, from a transport level connection between the first apparatus and the second apparatus, a transport level packet sent by the first apparatus to the second apparatus, (b) determines, in accordance with a value in a field of the transport level packet, what application is using the transport level connection, (c) decides whether or not to perform transport level spoofing on the transport level connection, in accordance with the determination of what application is using the transport level connection, (d) selectively performs transport level spoofing on the transport level connection in accordance with the decision of whether or not to perform transport level spoofing, wherein the transport level spoofing comprises (i) locally acknowledging, to the first apparatus, receipt of the transport level packet and (ii) taking on, from the first apparatus, the responsibility of retransmitting the transport level packet if necessary, (e) decides, in a case that said selective spoofing unit has decided to perform transport level spoofing on the transport level connection, whether or not to modify the transport level packet, in accordance with the determination of what application is using the transport level connection, (f) selectively modifies the transport level racket in accordance with the decision of whether or not to modify the transport level packet, and (g) sends the transport level packet, having been modified if such is decided, to the second apparatus, wherein at least one of the following conditions is satisfied; (1) the selective modification comprises varying the following field of the transport level packet;
a TCP Option, TCP Maximum Segment Size;(2) the selective modification comprises varying the following field of the transport level packet;
a three-way handshake parameter field, and(3) the selective modification comprises varying the following field of the transport level packet;
a connection priority field. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method comprising:
-
obtaining, from a transport level connection between a first apparatus and a second apparatus, a transport level packet sent by the first apparatus to the second apparatus; determining, in accordance with a value in a field of the transport level packet, what application is using the transport level connection; deciding, in accordance with the determination of what application is using the transport level connection, whether or not to perform transport level spoofing on the transport level connection; selectively performing transport level spoofing on the transport level connection in accordance with the decision, wherein the transport level spoof comprises (a) locally acknowledging, to the first apparatus, receipt of the transport level packet and (b) taking on, from the first apparatus, the responsibility of retransmitting the transport level packet to the second apparatus if necessary; determining, in accordance with the determination of what application is using the transport level connection, whether or not to modify the transport level packet before forwarding the same to the second apparatus; selectively modifying the transport level packet in accordance with the determination of whether or not to modify the transport level packet; and sending the transport level packet, whether modified or not, to the second apparatus, wherein at least one of the following conditions is satisfied; (1) said selective modifying comprises varying the following field of the transport level packet;
a TCP Option, TCP Maximum Segment Size;(2) said selective modifying comprises varying the following field of the transport level packet;
a three-way handshake parameter field; and(3) said selective modifying comprises varying the following field of the transport level packet;
a connection priority field. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A device for use in a system comprising said device, a first apparatus, and a second apparatus, said device comprising:
-
a selective spoofing unit that (a) obtains, from a transport level connection between the first apparatus and the second apparatus, a transport level packet sent by the first apparatus to the second apparatus, (b) decides whether or not to perform transport level spoofing on a transport level connection, in accordance with information in the transport level packet, (c) selectively performs transport level spoofing on the transport level connection in accordance with the decision of whether or not to perform transport level spoofing, wherein the transport level spoofing comprises (i) locally acknowledging, to the first apparatus, receipt of the transport level packet and (ii) taking on, from the first apparatus, the responsibility of retransmitting the transport level packet if necessary, (d) decides, in a case that said selective spoofing unit has decided to perform transport level spoofing on the transport level connection, whether or not to modify the transport level packet, in accordance with a field in the transport level packet, (e) selectively modifies the transport level packet in accordance with the decision of whether or not to modify the transport level packet, and (f) sends the transport level packet, having been modified if such is decided, to the second apparatus, wherein at least one of the following conditions is satisfied; (1) the selective modification comprises varying the following field of the transport level packet;
a TCP Option, TCP Maximum Segment Size;(2) the selective modification comprises varying the following field of the transport level packet;
a three-way handshake parameter field;(3) the selective modification comprises varying the following field of the transport level packet;
a connection priority field. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37, 38)
-
-
39. A method comprising:
-
obtaining, from a transport level connection between a first apparatus and a second apparatus, a transport level packet sent by the first apparatus to the second apparatus; deciding, in accordance with information in the transport level packet, whether or not to perform transport level spoofing on the transport level connection; selectively performing transport level spoofing on the transport level connection in accordance with the decision, wherein the transport level spoofing comprises (a) locally acknowledging, to the first apparatus, receipt of the transport level packet and (b) taking on, from the first apparatus, the responsibility of retransmitting the transport level packet to the second apparatus if necessary; determining, in accordance with a field in the transport level packet, whether or not to modify the transport level packet before forwarding the same to the second apparatus; selectively modifying the transport level packet in accordance with the determination of whether of not to modify the transport level packet; and sending the transport level packet, whether modified or not, to the second apparatus, wherein at least one of the following conditions is satisfied; (1) said selective modifying comprises varying the following field of the transport level packet;
a TCP Option, TCP Maximum Segment Size;(2) said selective modifying comprises varying the following field of the transport level packet;
a three-way handshake parameter field;(3) said selective modifying comprises varying the following field of the transport level packet;
a connection priority field.
-
-
40. A device for use in a system comprising said device, a first apparatus, and a second apparatus, said device comprising:
-
means for obtaining, from a TCP connection between the first apparatus and the second apparatus, a TCP packet sent by the first apparatus to the second apparatus; first determining means for determining, in accordance with the TCP port number field of the TCP packet, whether or not to perform TCP spoofing; means for performing TCP spoofing in accordance with the determination by said first determining means, wherein the TCP spoofing comprises (a) locally acknowledging, to the first apparatus, receipt of the transport level packet and (b) taking on, from the first apparatus, the responsibility of retransmitting the transport level packet to the second apparatus if necessary; second determining means for determining, in accordance with the TCP port number field of the TCP packet, whether or not to vary a field of the TCP packet before forwarding the same to the second apparatus; means for varying a field of the TCP packet in accordance with the determination by said second determining means, wherein the field is the TCP Option, TCP Maximum Segment Size; and means for sending the TCP packet, whether varied or not, to the second apparatus.
-
Specification