TcpIp Compression in Satellite Environment

download TcpIp Compression in Satellite Environment

of 24

Transcript of TcpIp Compression in Satellite Environment

  • 8/9/2019 TcpIp Compression in Satellite Environment

    1/24

    TCP/IP HeaderCompression for

    Satellite Environment

    Dmitry BatenkovDmitry Batenkov

    Vladislav ZolotarovVladislav Zolotarov

    Ittay EyalIttay Eyal

    Itai RavidItai Ravid

    Doris FischerDoris Fischer

  • 8/9/2019 TcpIp Compression in Satellite Environment

    2/24

    Part I

    Satellite Environment

    Dmitry BatenkovDmitry Batenkov

    Vladislav ZolotarovVladislav Zolotarov

  • 8/9/2019 TcpIp Compression in Satellite Environment

    3/24

    Compressor

    Satellite

    Channel

    Simulator

    Decompressor

    Server Client

    Topology (5 stations case)

  • 8/9/2019 TcpIp Compression in Satellite Environment

    4/24

    Server Client

    Compressor SATSIM Decompressor

    Topology (3 stations case)

  • 8/9/2019 TcpIp Compression in Satellite Environment

    5/24

    Compression

    module

    Compression

    thread

    Receiving

    moduleFrom

    Server

    Sending

    moduleTo

    SatSim

    Compression station

  • 8/9/2019 TcpIp Compression in Satellite Environment

    6/24

    Sending

    module

    Receiving

    module

    Decompression

    module

    Decompression

    thread

    SatSim Client

    Sending

    module

    Receiving

    moduleForwarding thread

    Decompression station

  • 8/9/2019 TcpIp Compression in Satellite Environment

    7/24

    Decompressor

    Server Sending

    module

    Receiving

    moduleForwarding thread

    Compressor Receiving

    module

    Sending

    module

    SATSIM Module

    Satellite channel simulator

    (5 stations case)

  • 8/9/2019 TcpIp Compression in Satellite Environment

    8/24

    Server Client

    Sending

    module

    Receiving

    moduleForwarding thread

    Receiving

    module

    Sending

    module

    SATSIM Module

    Compression

    module

    Decompression

    module

    Satellite channel simulator

    (3 stations case)

  • 8/9/2019 TcpIp Compression in Satellite Environment

    9/24

    SendPacket()

    NDIS AdapterWinDis

    Sending thread

    APC callback

    Recycling

    Sending module

  • 8/9/2019 TcpIp Compression in Satellite Environment

    10/24

    GetNextPacket()

    Receiving thread

    NDIS Adapter

    APC callback

    WinDis

    Posting

    initial reads

    Posting

    additional

    reads

    Access synchronization

    Receiving module

  • 8/9/2019 TcpIp Compression in Satellite Environment

    11/24

    Main thread

    Receiving

    module

    Compression

    module BER

    Sending

    module

    Decompression

    module

    Delay = 0

    Second threadTS

    TS

    TS

    TS

    TS

    TS

    Due time

    arrived?

    SATSIM

  • 8/9/2019 TcpIp Compression in Satellite Environment

    12/24

    Part IITCP/IP Header Compression

    Ittay EyalDoris Fischer

    Itai Ravid

  • 8/9/2019 TcpIp Compression in Satellite Environment

    13/24

    TCP/IP HeaderCompression

    Protocol for compressing the TCP/IP header

    part of the packet

    Based on RFC1144 created by Van Jacobsonin 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

  • 8/9/2019 TcpIp Compression in Satellite Environment

    14/24

    TCP/IP HeaderCompression 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, crucialbecause of the long delay time while crossing

    the atmosphere

  • 8/9/2019 TcpIp Compression in Satellite Environment

    15/24

    Protocol Main Ideas

    High percentage of the packet header stay

    constant during a connection

    Therefore if we knew what were the fields inthe 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)

  • 8/9/2019 TcpIp Compression in Satellite Environment

    16/24

    Protocol Details

    V. 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 eachtime 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

  • 8/9/2019 TcpIp Compression in Satellite Environment

    17/24

    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 1s bits will indicate a

    changed field

  • 8/9/2019 TcpIp Compression in Satellite Environment

    18/24

    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 didnt change

    COMPRESSED_TCP the packet header is

    fully compressed

  • 8/9/2019 TcpIp Compression in Satellite Environment

    19/24

    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

  • 8/9/2019 TcpIp Compression in Satellite Environment

    20/24

    Protocol

    Details

    Cont.

    The changed fields (in which we send the

    difference values) are added to the previous

    packet header stored in the decompressioncomputer

    Checksum is recalculated according to the

    updated fields content

  • 8/9/2019 TcpIp Compression in Satellite Environment

    21/24

    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 communicationprocess) are recovered using the regular

    TCP/IP protocol. Regardless to the

    compression process

  • 8/9/2019 TcpIp Compression in Satellite Environment

    22/24

    Benefit of HeaderCompression

    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)

    Compressionbenefit(%)

    Pol .

  • 8/9/2019 TcpIp Compression in Satellite Environment

    23/24

    Benefit of HeaderCompression

    Header benef t ofcompressed packet (wit noise)

    -

    -- 3

    - 2

    -

    23

    3 6 3 6 7

    File size (Bytes)

    Com

    pressionbenefit(%)

  • 8/9/2019 TcpIp Compression in Satellite Environment

    24/24