Ip – TCP/IP Header compression

ipipv4protocol-theoryrfctcp

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

If the packet doesn't contain the IP of the sender, how does the receiver know from where it got the packet?

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.

...and according to which packet headers that it (receiver) stored it "rebuilds" the packet?

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.

Related Topic