I'm reading RFC 1144 and I'm trying to figure out how the TCP/IP header compression works. As I understand it, the sender only sends a couple of fields that are likely to be changed.
If the packet doesn't contain the IP of the sender, how does the receiver know which IP address it needs to respond to?
Which packet headers does the receiver store to "rebuild" the packet?
More Info :
Suppose i have a receiver lets call it R and two Senders S1 and S2 .
at first S1 and S2 sends SYN streams to R , so R stores in an array their headers (complete headers) , next S1 sends a compressed packet , how R knows according to which header it must rebuild the packet ?
note : we are talking about layer 3 (network) with no mac addresses and source ip .
Best Answer
TCP Syn-segments are always sent uncompressed. After each host has received a SYN-segment, they know the other side's IP address. They can then compress the following segments' headers, because the IP address is remembered and re-entered in the header by the decompressor.
According to the headers of the packets that were tranmitted uncompressed, at least the first two (SYN) segments of the connection, one in each direction.