In the design of DUAL, we believed it was possible to use the TCP/IP header compression scheme used in Compressed SLIP [Jacobson 90]. This would reduce header overhead from 18+40 octets (AX.25, IP, TCP) to 5+5 bytes (DUAL, compressed TCP/IP).
We wished to use the header compression scheme in such a way that the compressed headers did not grow in size, and any alterations to the scheme were small. This has been accomplished. The altered scheme uses exactly the same compressed headers, and the original scheme has not changed dramatically.
The main limitation with the original TCP/IP header compression scheme is that it was designed for use over a slow point-to-point link. Therefore, each end of the link could assume the identity of the machine at the other end. TCP/IP headers are compressed using the method described in section 11.3, and each end keeps state tables of the compression for each TCP connection.
The compressed header sent instead of a normal TCP/IP header is usually 4 or 5 octets in length, and gives the `differences' between the last TCP/IP header for the TCP connection and the current TCP/IP header. As well, a `connection number' is sent to the destination, to allow it to find the correct state entry and uncompress the compressed TCP/IP header.