Network system with TCP/IP protocol spoofing
First Claim
Patent Images
1. An apparatus on the internet, said apparatus comprising:
- TCP packet receiving means for receiving a TCP packet sent on the internet from a first apparatus on the internet, the TCP packet having a destination address of a second apparatus on the internet; and
protocol spoofing means for sending a TCP ACK to the first apparatus on the internet in response to said TCP packet receiving means receiving from the internet the TCP packet from the first apparatus on the internet so as to spoof receipt of the TCP packet by the second apparatus on the internet.
0 Assignments
0 Petitions
Accused Products
Abstract
A system in which a personal computer sends messages into a TCP/IP network using a conventional dial-up link and downloads data from the TCP/IP network using a high-speed one-way satelite link. A preferred embodiment uses a conventional SLIP provider to connect to the TCP/IP network and uses a commercial software TCP/IP package that has a standard driver interface. A spoofing protocol compensates for the long propagation delays inherent to satellite communication.
142 Citations
101 Claims
-
1. An apparatus on the internet, said apparatus comprising:
-
TCP packet receiving means for receiving a TCP packet sent on the internet from a first apparatus on the internet, the TCP packet having a destination address of a second apparatus on the internet; and
protocol spoofing means for sending a TCP ACK to the first apparatus on the internet in response to said TCP packet receiving means receiving from the internet the TCP packet from the first apparatus on the internet so as to spoof receipt of the TCP packet by the second apparatus on the internet. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
wherein said TCP ACK receiving means receives the reply TCP ACK from the second apparatus on the internet via a link that has a speed that is lower than that of the satellite link. -
8. An apparatus according to claim 4, wherein said TCP packet sending means sends the TCP packet to the second apparatus, and said TCP ACK receiving means receives the reply TCP ACK from the second apparatus on the internet, via different physical links.
-
9. An apparatus according to claim 1, wherein an acknowledgment for the TCP packet is discarded before reaching the first apparatus.
-
-
10. A method comprising:
-
a TCP packet receiving step of receiving a TCP packet sent on the internet from a first apparatus on the internet, the TCP packet having a destination address of a second apparatus on the internet; and
a protocol spoofing step of sending a TCP ACK to the first apparatus on the internet in response to said TCP packet receiving means receiving from the internet the TCP packet from the first apparatus on the internet so as to spoof receipt of the TCP packet by the second apparatus on the internet, wherein said TCP packet receiving step and said protocol spoofing step are effected by an apparatus on the internet other than the first apparatus and the second apparatus.
-
-
11. An apparatus on a network, said apparatus comprising:
-
a TCP packet receiving unit configured to receive a TCP packet sent on the network from a first apparatus on the network, the TCP packet having a destination address of a second apparatus on the network; and
a protocol spoofer configured to send a TCP ACK to the first apparatus on the network in response to said TCP packet receiving unit receiving from the network the TCP packet from the first apparatus on the network so as to spoof receipt of the TCP packet by the second apparatus on the network. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
wherein said TCP ACK receiving unit receives the reply TCP ACK from the second apparatus on the network via a link that has a data capacity that is lower than that of the satellite link. -
18. An apparatus according to claim 14, wherein said TCP packet sending unit sends the TCP packet to the second apparatus, and said TCP ACK receiving unit receives the reply TCP ACK from the second apparatus on the network, via different physical links.
-
19. An apparatus according to claim 11, wherein an acknowledgment for the TCP packet is discarded before reaching the first apparatus.
-
-
20. An apparatus comprising:
-
a receiving unit that is configured to receive data sent from a source apparatus; and
a TCP ACK sender that is configured to send a TCP ACK to the source apparatus, the TCP ACK being arranged to spoof receipt of the data by a destination apparatus coupled to said apparatus via a satellite link. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55)
wherein the source apparatus is an application server, and wherein said apparatus is a gateway. -
22. An apparatus according to claim 20, wherein the destination apparatus is a personal computer.
-
23. An apparatus according to claim 20, wherein the destination apparatus is a personal computing device.
-
24. An apparatus according to claim 20, further comprising a data sending unit that is configured to send the data to the destination apparatus via the satellite link.
-
25. An apparatus according to claim 24, wherein said data sending unit sends the data in a packet.
-
26. An apparatus according to claim 24, wherein the destination apparatus sends a TCP ACK in response to receipt of the data, which TCP ACK is discarded before reaching the source apparatus.
-
27. An apparatus according to claim 26, wherein said apparatus discards the TCP ACK sent by the destination apparatus.
-
28. An apparatus according to claim 24, wherein said data sending unit resends the data in response to non-receipt of a TCP ACK from the destination apparatus within a predetermined amount of time.
-
29. An apparatus according to claim 28, wherein the acknowledgment is a TCP ACK.
-
30. An apparatus according to claim 28, wherein the acknowledgment is a TCP ACK from the destination apparatus.
-
31. An apparatus according to claim 24, wherein the data is sent an additional time to the destination apparatus in response to non-receipt of a TCP ACK from the destination apparatus within a predetermined amount of time.
-
32. An apparatus according to claim 31, wherein the sending of the data an additional time to the destination apparatus is effected by said apparatus.
-
33. An apparatus according to claim 24, wherein said apparatus stores the data in a memory and deletes the data from the memory in response to receiving acknowledgment that the destination apparatus has received the data.
-
34. An apparatus according to claim 33, wherein the acknowledgment is a TCP ACK.
-
35. An apparatus according to claim 34, wherein the acknowledgment is from the destination apparatus.
-
36. An apparatus according to claim 33, wherein said apparatus deletes the data from the memory in response to receiving the acknowledgment.
-
37. An apparatus according to claim 20, further comprising an ACK editing unit that is configured so that upon receipt from the destination apparatus of a TCP ACK for the data, the TCP ACK containing data, said ACK editing unit edits the TCP ACK by replacing the ACK number in the TCP ACK with the highest in-sequence sequence number of packets sent by the source apparatus and sends the edited TCP ACK to the source apparatus.
-
38. An apparatus according to claim 20, wherein when the destination apparatus sends a TCP ACK for the data, the TCP ACK containing data, the ACK number in the TCP ACK is replaced with the highest in-sequence number of packets sent by the source apparatus and the resulting TCP ACK is then sent to the source apparatus.
-
39. An apparatus according to claim 38, wherein the replacement is effected by said apparatus.
-
40. An apparatus according to claim 20, wherein the TCP ACK is sent in an IP packet having a source address corresponding to the destination apparatus.
-
41. An apparatus according to claim 40, wherein the TCP ACK has a source port corresponding to the destination apparatus.
-
42. An apparatus according to claim 20, wherein the TCP ACK has a source port corresponding to the destination apparatus.
-
43. An apparatus according to claim 20, wherein when the destination apparatus sends data addressed to the source apparatus, the ACK number of a TCP packet containing the data and addressed to the source apparatus is set to the highest in-sequence number of packets sent by the source apparatus.
-
44. An apparatus according to claim 43, wherein said apparatus effects the setting of the ACK number of the TCP packet.
-
45. An apparatus according to claim 20, further comprising a data sending unit that is configured to address the data for transmission to the destination apparatus.
-
46. An apparatus according to claim 45, wherein said data sending unit sends the data in a packet.
-
47. An apparatus according to claim 45, wherein the destination apparatus sends a TCP ACK in response to receipt of the data, which TCP ACK is discarded before reaching the source apparatus.
-
48. An apparatus according to claim 47, wherein said apparatus discards the TCP ACK sent by the destination apparatus.
-
49. An apparatus according to claim 45, wherein said data sending unit effects retransmission of the data in response to non-receipt of an acknowledgment for the data within an amount of time.
-
50. An apparatus according to claim 49, wherein the acknowledgment is a TCP ACK.
-
51. An apparatus according to claim 49, wherein the acknowledgment is a TCP ACK from the destination apparatus.
-
52. An apparatus according to claim 45, wherein said apparatus stores the data in a memory until receiving an acknowledgment for the data.
-
53. An apparatus according to claim 52, wherein said apparatus deletes the data from the memory in response to receiving the acknowledgment.
-
54. An apparatus according to claim 52, wherein the acknowledgment is a TCP ACK.
-
55. An apparatus according to claim 54, wherein the acknowledgment is from the destination apparatus.
-
-
56. A method comprising:
-
a data receiving step of receiving at a first apparatus on a network data sent by a second apparatus on the network;
a TCP ACK sending step of sending by the first apparatus on the network to the second apparatus on the network of a TCP ACK spoofing receipt by a third apparatus on the network of the data, the third apparatus being coupled to the first apparatus via a wireless link of the network. - View Dependent Claims (57, 58, 59, 60, 61, 62, 63, 64, 65)
wherein said method further comprises a step of sending by the first apparatus to the third apparatus of the data via the wireless link, wherein said method further comprises a step of resending to the third apparatus of the data in response to non-receipt of a TCP ACK from the third apparatus within a predetermined amount of time, wherein said spoofing is effected by setting the source port of the TCP ACK sent by the first apparatus to the second apparatus to correspond to the third apparatus, and sending the TCP ACK in an IP packet having a source address corresponding to the third apparatus. -
65. A method according to claim 64, wherein the acknowledgment is a TCP ACK from the third apparatus.
-
-
66. An apparatus comprising:
-
receiving means for receiving data sent from a source apparatus; and
TCP ACK sending means for sending a TCP ACK to the source apparatus, the TCP ACK being arranged to spoof receipt of the data by a destination apparatus coupled to said apparatus via a satellite link. - View Dependent Claims (67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101)
wherein the source apparatus is an application server, and wherein said apparatus is a gateway. -
68. An apparatus according to claim 66, wherein the destination apparatus is a personal computer.
-
69. An apparatus according to claim 66, wherein the destination apparatus is a personal computing device.
-
70. An apparatus according to claim 66, further comprising data sending means for sending the data to the destination apparatus via the satellite link.
-
71. An apparatus according to claim 70, wherein said data sending means sends the data in a packet.
-
72. An apparatus according to claim 70, wherein the destination apparatus sends a TCP ACK in response to receipt of the data, which TCP ACK is discarded before reaching the source apparatus.
-
73. An apparatus according to claim 72, wherein said apparatus discards the TCP ACK sent by the destination apparatus.
-
74. An apparatus according to claim 70, wherein said data sending means resends the data in response to non-receipt of a TCP ACK from the destination apparatus within a predetermined amount of time.
-
75. An apparatus according to claim 74, wherein the acknowledgment is a TCP ACK.
-
76. An apparatus according to claim 74, wherein the acknowledgment is a TCP ACK from the destination apparatus.
-
77. An apparatus according to claim 70, wherein the data is sent an additional time to the destination apparatus in response to non-receipt of a TCP ACK from the destination apparatus within a predetermined amount of time.
-
78. An apparatus according to claim 77, wherein the sending of the data an additional time to the destination apparatus is effected by said apparatus.
-
79. An apparatus according to claim 70, wherein said apparatus stores the data in a memory and deletes the data from the memory in response to receiving acknowledgment that the destination apparatus has received the data.
-
80. An apparatus according to claim 79, wherein the acknowledgment is a TCP ACK.
-
81. An apparatus according to claim 80, wherein the acknowledgment is from the destination apparatus.
-
82. An apparatus according to claim 79, wherein said apparatus deletes the data from the memory in response to receiving the acknowledgment.
-
83. An apparatus according to claim 66, further comprising ACK editing means, wherein upon receipt from the destination apparatus of a TCP ACK for the data, the TCP ACK containing data, said ACK editing means edits the TCP ACK by replacing the ACK number in the TCP ACK with the highest in-sequence sequence number of packets sent by the source apparatus and sends the edited TCP ACK to the source apparatus.
-
84. An apparatus according to claim 66, wherein when the destination apparatus sends a TCP ACK for the data, the TCP ACK containing data, the ACK number in the TCP ACK is replaced with the highest in-sequence number of packets sent by the source apparatus and the resulting TCP ACK is then sent to the source apparatus.
-
85. An apparatus according to claim 84, wherein the replacement is effected by said apparatus.
-
86. An apparatus according to claim 66, wherein the TCP ACK is sent in an IP packet having a source address corresponding to the destination apparatus.
-
87. An apparatus according to claim 86, wherein the TCP ACK has a source port corresponding to the destination apparatus.
-
88. An apparatus according to claim 66, wherein the TCP ACK has a source port corresponding to the destination apparatus.
-
89. An apparatus according to claim 66, wherein when the destination apparatus sends data addressed to the source apparatus, the ACK number of a TCP packet containing the data and addressed to the source apparatus is set to the highest in-sequence number of packets sent by the source apparatus.
-
90. An apparatus according to claim 89, wherein said apparatus effects the setting of the ACK number of the TCP packet.
-
91. An apparatus according to claim 66, further comprising data sending means for addressing the data for transmission to the destination apparatus.
-
92. An apparatus according to claim 91, wherein said data sending means sends the data in a packet.
-
93. An apparatus according to claim 91, wherein the destination apparatus sends a TCP ACK in response to receipt of the data, which TCP ACK is discarded before reaching the source apparatus.
-
94. An apparatus according to claim 93, wherein said apparatus discards the TCP ACK sent by the destination apparatus.
-
95. An apparatus according to claim 91, wherein said data sending means effects retransmission of the data in response to non-receipt of an acknowledgment for the data within an amount of time.
-
96. An apparatus according to claim 95, wherein the acknowledgment is a TCP ACK.
-
97. An apparatus according to claim 95, wherein the acknowledgment is a TCP ACK from the destination apparatus.
-
98. An apparatus according to claim 91, wherein said apparatus stores the data in a memory until receiving an acknowledgment for the data.
-
99. An apparatus according to claim 98, wherein said apparatus deletes the data from the memory in response to receiving the acknowledgment.
-
100. An apparatus according to claim 98, wherein the acknowledgment is a TCP ACK.
-
101. An apparatus according to claim 100, wherein the acknowledgment is from the destination apparatus.
-
Specification