Wireless networks deviate from wired ones in many properties: the bit-error rate is a magnitude higher, the medium is shared by many entities, and the data rate is lower. The Transmission Control Protocol (TCP) has been designed with fast, low bit-error rate networks in mind. Many TCP variants with different congestion control algorithms, adapted TCP for networks with a high bandwidth-delay product. These modifications try to keep the virtual channel filled at all times with a maximum number of segments in flight. The delays are often small.
In contrast, wireless networks experience much higher error rates and often have to deal with node mobilty. Lost segments are usually not a sign of internetwork congestion but due to the properties of the medium. Many approaches exist for this application scenario: Mobile TCP, Snooping TCP, I-TCP, Westwood+, etc. The TCP-Proxy project focuses on a specific application scenario that cannot be solved by proposed solutions.
The radio technology (STANAG 5066) in the application scenario provides data rates between 75 bps and 9600 bps with delays up to 20 s. Retransmission timeouts are the result when using standard TCP variants as congestions is assumed. Therefore, a TCP-Proxy shall be used on every host to provide the following features:
- The TCP-Proxies are transparent to all communicating hosts
- No TCP parameter changes of hosts are required
- TCP RTOs are suppressed
- TCP flows are adapted to low data rates
- Any kind of higher level protocol can be used
- TCP end-to-end semantic is preserved as much as possible
As with I-TCP, the end-to-end connection is broken into three parts. Each host communicates with a foreign host via a local TCP-Proxy. The following figure shows the network architecture: