tcp/ip header compression for satellite environment dmitry batenkov vladislav zolotarov ittay eyal...
TRANSCRIPT
![Page 1: TCP/IP Header Compression for Satellite Environment Dmitry Batenkov Vladislav Zolotarov Ittay Eyal Itai Ravid Doris Fischer](https://reader030.vdocuments.us/reader030/viewer/2022032708/56649e7f5503460f94b828d7/html5/thumbnails/1.jpg)
TCP/IP Header Compression for Satellite Environment
Dmitry BatenkovDmitry Batenkov
Vladislav ZolotarovVladislav Zolotarov
Ittay EyalIttay Eyal
Itai RavidItai Ravid
Doris FischerDoris Fischer
![Page 2: TCP/IP Header Compression for Satellite Environment Dmitry Batenkov Vladislav Zolotarov Ittay Eyal Itai Ravid Doris Fischer](https://reader030.vdocuments.us/reader030/viewer/2022032708/56649e7f5503460f94b828d7/html5/thumbnails/2.jpg)
Part ISatellite Environment
Dmitry BatenkovDmitry Batenkov
Vladislav ZolotarovVladislav Zolotarov
![Page 3: TCP/IP Header Compression for Satellite Environment Dmitry Batenkov Vladislav Zolotarov Ittay Eyal Itai Ravid Doris Fischer](https://reader030.vdocuments.us/reader030/viewer/2022032708/56649e7f5503460f94b828d7/html5/thumbnails/3.jpg)
CompressorSatelliteChannel
SimulatorDecompressor
Server Client
Topology (5 stations case)
![Page 4: TCP/IP Header Compression for Satellite Environment Dmitry Batenkov Vladislav Zolotarov Ittay Eyal Itai Ravid Doris Fischer](https://reader030.vdocuments.us/reader030/viewer/2022032708/56649e7f5503460f94b828d7/html5/thumbnails/4.jpg)
Server Client
Compressor SATSIM Decompressor
Topology (3 stations case)
![Page 5: TCP/IP Header Compression for Satellite Environment Dmitry Batenkov Vladislav Zolotarov Ittay Eyal Itai Ravid Doris Fischer](https://reader030.vdocuments.us/reader030/viewer/2022032708/56649e7f5503460f94b828d7/html5/thumbnails/5.jpg)
Compressionmodule
Compressionthread
Receivingmodule
From Server
Sendingmodule
To SatSim
Compression station
![Page 6: TCP/IP Header Compression for Satellite Environment Dmitry Batenkov Vladislav Zolotarov Ittay Eyal Itai Ravid Doris Fischer](https://reader030.vdocuments.us/reader030/viewer/2022032708/56649e7f5503460f94b828d7/html5/thumbnails/6.jpg)
Sendingmodule
Receivingmodule
Decompressionmodule
Decompressionthread
SatSim Client
Sendingmodule
Receivingmodule
Forwarding thread
Decompression station
![Page 7: TCP/IP Header Compression for Satellite Environment Dmitry Batenkov Vladislav Zolotarov Ittay Eyal Itai Ravid Doris Fischer](https://reader030.vdocuments.us/reader030/viewer/2022032708/56649e7f5503460f94b828d7/html5/thumbnails/7.jpg)
Decompressor
Server Sendingmodule
Receivingmodule
Forwarding thread
Compressor Receivingmodule
Sendingmodule
SATSIM Module
Satellite channel simulator (5 stations case)
![Page 8: TCP/IP Header Compression for Satellite Environment Dmitry Batenkov Vladislav Zolotarov Ittay Eyal Itai Ravid Doris Fischer](https://reader030.vdocuments.us/reader030/viewer/2022032708/56649e7f5503460f94b828d7/html5/thumbnails/8.jpg)
Server Client
Sendingmodule
Receivingmodule
Forwarding thread
Receivingmodule
Sendingmodule
SATSIM Module
Compressionmodule
Decompressionmodule
Satellite channel simulator (3 stations case)
![Page 9: TCP/IP Header Compression for Satellite Environment Dmitry Batenkov Vladislav Zolotarov Ittay Eyal Itai Ravid Doris Fischer](https://reader030.vdocuments.us/reader030/viewer/2022032708/56649e7f5503460f94b828d7/html5/thumbnails/9.jpg)
SendPacket()
NDIS AdapterWinDis
Sending thread
APC callbackRecycling
Access synchronization
Sending module
![Page 10: TCP/IP Header Compression for Satellite Environment Dmitry Batenkov Vladislav Zolotarov Ittay Eyal Itai Ravid Doris Fischer](https://reader030.vdocuments.us/reader030/viewer/2022032708/56649e7f5503460f94b828d7/html5/thumbnails/10.jpg)
GetNextPacket()
Receiving thread
NDIS Adapter
APC callback
WinDis
Postinginitial reads
Postingadditional
reads
Access synchronization
Receiving module
![Page 11: TCP/IP Header Compression for Satellite Environment Dmitry Batenkov Vladislav Zolotarov Ittay Eyal Itai Ravid Doris Fischer](https://reader030.vdocuments.us/reader030/viewer/2022032708/56649e7f5503460f94b828d7/html5/thumbnails/11.jpg)
Main thread
Receivingmodule
Compressionmodule BER
Sendingmodule
Decompressionmodule
Delay = 0
Second threadTS
TS
TS
TS
TS
TS
Due timearrived?
Synchronizaton
SATSIM
![Page 12: TCP/IP Header Compression for Satellite Environment Dmitry Batenkov Vladislav Zolotarov Ittay Eyal Itai Ravid Doris Fischer](https://reader030.vdocuments.us/reader030/viewer/2022032708/56649e7f5503460f94b828d7/html5/thumbnails/12.jpg)
Part IITCP/IP Header Compression
Ittay Eyal
Doris Fischer
Itai Ravid
![Page 13: TCP/IP Header Compression for Satellite Environment Dmitry Batenkov Vladislav Zolotarov Ittay Eyal Itai Ravid Doris Fischer](https://reader030.vdocuments.us/reader030/viewer/2022032708/56649e7f5503460f94b828d7/html5/thumbnails/13.jpg)
TCP/IP Header Compression
Protocol for compressing the TCP/IP header part of the packet
Based on RFC1144 created by Van Jacobson in 1990, during his research work at Cisco Ltd.
Compression can get up to 1/8 the size of the original header (from 40 bytes into 5 bytes)
Originally meant to speed up Low-Speed Serial Links
![Page 14: TCP/IP Header Compression for Satellite Environment Dmitry Batenkov Vladislav Zolotarov Ittay Eyal Itai Ravid Doris Fischer](https://reader030.vdocuments.us/reader030/viewer/2022032708/56649e7f5503460f94b828d7/html5/thumbnails/14.jpg)
TCP/IP Header Compression – Cont.
In TCP/IP packet the header size is 40 bytes
Though in low speed connections the overhead of an error in the header part of the packet takes a high percentage of the communication
In some modern technology (like satellite communication) we find this overhead, crucial because of the long delay time while crossing the atmosphere
![Page 15: TCP/IP Header Compression for Satellite Environment Dmitry Batenkov Vladislav Zolotarov Ittay Eyal Itai Ravid Doris Fischer](https://reader030.vdocuments.us/reader030/viewer/2022032708/56649e7f5503460f94b828d7/html5/thumbnails/15.jpg)
Protocol Main Ideas
High percentage of the packet header stay constant during a connection
Therefore if we knew what were the fields in the previous packet header, we can omit fields that stay constant in the current packet header
We can decrease size of fields that change in a small amount by passing only the difference in the fields content (difference relative to the previous packet header)
![Page 16: TCP/IP Header Compression for Satellite Environment Dmitry Batenkov Vladislav Zolotarov Ittay Eyal Itai Ravid Doris Fischer](https://reader030.vdocuments.us/reader030/viewer/2022032708/56649e7f5503460f94b828d7/html5/thumbnails/16.jpg)
Protocol DetailsV. Jacobson suggests we keep an uncompressed copy of the previous packet header, on each side of the connection
That way we will update its changed fields each time we get a packet
A full packet header will be passed only in the first packet of a connection (passing also constant fields of the header) or after an error
Afterwards we will pass only the changed fields in the packet header
![Page 17: TCP/IP Header Compression for Satellite Environment Dmitry Batenkov Vladislav Zolotarov Ittay Eyal Itai Ravid Doris Fischer](https://reader030.vdocuments.us/reader030/viewer/2022032708/56649e7f5503460f94b828d7/html5/thumbnails/17.jpg)
Protocol Details – Cont.Since not all the fields change in the same time, we will pass a bit mask field in each beginning of a compressed packet
The bit mask field will indicate which fields have changed from the previous packet header
The bit mask will have a constant order, though only the 1’s bits will indicate a changed field
![Page 18: TCP/IP Header Compression for Satellite Environment Dmitry Batenkov Vladislav Zolotarov Ittay Eyal Itai Ravid Doris Fischer](https://reader030.vdocuments.us/reader030/viewer/2022032708/56649e7f5503460f94b828d7/html5/thumbnails/18.jpg)
Protocol Details – Cont.In V. Jacobson suggestion he indicates the packet compression kind:
TYPE_IP - header content wasn’t touched
UNCOMPRESSED_TCP – if the connection number is stamped into the header (in the IPPROTO_TCP field), but the content of the other fields didn’t change
COMPRESSED_TCP – the packet header is fully compressed
![Page 19: TCP/IP Header Compression for Satellite Environment Dmitry Batenkov Vladislav Zolotarov Ittay Eyal Itai Ravid Doris Fischer](https://reader030.vdocuments.us/reader030/viewer/2022032708/56649e7f5503460f94b828d7/html5/thumbnails/19.jpg)
Protocol Details – Cont.According to the packet type the decompressing computer can determine how it should handle the packet
Decompression is done easily because we know what was the previous packet header content
The reversed process is done in order to decompress the packet headers
![Page 20: TCP/IP Header Compression for Satellite Environment Dmitry Batenkov Vladislav Zolotarov Ittay Eyal Itai Ravid Doris Fischer](https://reader030.vdocuments.us/reader030/viewer/2022032708/56649e7f5503460f94b828d7/html5/thumbnails/20.jpg)
Protocol Details – Cont.
The changed fields (in which we send the difference values) are added to the previous packet header stored in the decompression computer
Checksum is recalculated according to the updated fields content
![Page 21: TCP/IP Header Compression for Satellite Environment Dmitry Batenkov Vladislav Zolotarov Ittay Eyal Itai Ravid Doris Fischer](https://reader030.vdocuments.us/reader030/viewer/2022032708/56649e7f5503460f94b828d7/html5/thumbnails/21.jpg)
Assurance of the protocolFields content is always recoverable, because in all times we know what content was in the previous packet
We can calculate the current full packet header, in each new packet that arrives
Lost packets (during the communication process) are recovered using the regular TCP/IP protocol. Regardless to the compression process
![Page 22: TCP/IP Header Compression for Satellite Environment Dmitry Batenkov Vladislav Zolotarov Ittay Eyal Itai Ravid Doris Fischer](https://reader030.vdocuments.us/reader030/viewer/2022032708/56649e7f5503460f94b828d7/html5/thumbnails/22.jpg)
Benefit of Header Compression
Header benefit of compressed packet (without noise)
0
0.01
0.02
0.03
0.04
13906 44544 489971 6726428 3.5E+07 8.7E+07
File size (Bytes)
Co
mp
ress
ion
ben
efit
(%
)
Poly.
![Page 23: TCP/IP Header Compression for Satellite Environment Dmitry Batenkov Vladislav Zolotarov Ittay Eyal Itai Ravid Doris Fischer](https://reader030.vdocuments.us/reader030/viewer/2022032708/56649e7f5503460f94b828d7/html5/thumbnails/23.jpg)
Benefit of Header Compression
Header benefit of compressed packet (with noise)
-0.5
-0.4
-0.3
-0.2
-0.10
0.1
0.2
0.3
0.4
13906 44544 38965 489971
File size (Bytes)
Co
mp
ress
ion
ben
efit
(%
)
![Page 24: TCP/IP Header Compression for Satellite Environment Dmitry Batenkov Vladislav Zolotarov Ittay Eyal Itai Ravid Doris Fischer](https://reader030.vdocuments.us/reader030/viewer/2022032708/56649e7f5503460f94b828d7/html5/thumbnails/24.jpg)