Professional Documents
Culture Documents
INTRODUCTION
Linux kernel provides with the most efficient TCP/IP protocol
stack implementation. In this project we aim at customization of the
protocol stack by introducing a new protocol subsystem in the
transport layer of the TCP/IP stack. The new protocol can be defined
as IP Compression,IP payload compression is a protocol to reduce
the size of IP datagrams. This protocol will increase the overall
communication performance between a pair of communicating
hosts/gateways ("nodes") by compressing the datagrams, provided
the nodes have sufficient computation power, through either CPU
capacity or a compression coprocessor, and the communication is
over slow or congested links.
OBJECTIVE
The IP Payload Compression allows the compression of IP
datagrams by supporting different compression algorithms. In this
project we make use of the DEFLATE compression algorithm.
DEFLATE is a lossless data compression algorithm that uses a
combination of the LZ77 algorithm and Huffman coding.
The project include's the following modules,
1.Netfilter Subsystem Implementation
2.Packet Compression
3.Packet Decompression
4.Embedding of Ipcomp header on to the packet
2.Packet Compression
The compression process entails compressing the data from
the IP datagram and placing the result after the IPComp header. For
example, compressing a TCP datagram;
Before: IP TCP ...
After: IP IPCOMP (TCP ...)
3.Packet Decompression
If the received datagram is compressed, the receiver must
reset the decompression history prior to processing the datagram.
This ensures that each datagram can be decompressed
independently of any other, as is needed when datagrams are
received out of order. Following the reset of the decompression
history, the receiver decompresses the Payload Data field.
4.Embedding of Ipcomp header on to the packet
IPComp header is inserted immediately preceding the
compressed payload. The original IP header is modified to indicate
the usage of the IPComp protocol and the reduced size of the IP
datagram.