TCP/IP Header Compression for Satellite Environment Dmitry Batenkov Vladislav Zolotarov Ittay Eyal...

24
TCP/IP Header Compression for Satellite Environment Dmitry Batenkov Dmitry Batenkov Vladislav Vladislav Zolotarov Zolotarov Ittay Eyal Ittay Eyal Itai Ravid Itai Ravid Doris Doris Fischer Fischer

Transcript of TCP/IP Header Compression for Satellite Environment Dmitry Batenkov Vladislav Zolotarov Ittay Eyal...

Page 1: TCP/IP Header Compression for Satellite Environment Dmitry Batenkov Vladislav Zolotarov Ittay Eyal Itai Ravid Doris Fischer.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.