Host-to-Host Congestion Control for TCP

0

Host-to-Host Congestion Control for TCP:


The Transmission Control Protocol (TCP) carries most Internet traffic, so performance of the Internet depends to a great extent on how well TCP works. Performance characteristics of a particular version of TCP are defined by the congestion control algorithm it employs. This paper presents a survey of various congestion control proposals that preserve the original host-to-host idea of TCP—namely, that neither sender nor receiver relies on any explicit notification from the network. The proposed solutions focus on a variety of problems, starting with the basic problem of eliminating the phenomenon of congestion collapse, and also include the problems of effectively using the available network resources in different types of environments (wired, wireless, high-speed, long-delay, etc.). In a shared, highly distributed, and heterogeneous environment such as the Internet, effective network use depends not only on how well a single TCP based application can utilize the network capacity, but also on how well it cooperates with other applications transmitting data through the same network. Our survey shows that over the last 20 years many host-to-host techniques have been developed that address several problems with different levels of reliability and precision. There have been enhancements allowing senders to detect fast packet losses and route changes. Other techniques have the ability to estimate the loss rate, the bottleneck buffer size, and level of congestion. The survey describes each congestion control alternative, its strengths and its weaknesses. Additionally, techniques that are in common use or available for testing are described.


Existing System:
Existing TCP specification: The standard already requires receivers to report the sequence number of the last in-order delivered data packet each time a packet is received, even if received out of order . For example, in response to a data packet sequence 5,6,7,10,11,12, the receiver will ACK the packet sequence 5,6,7,7,7,7. In the idealized case, the absence of reordering guarantees that an out-of-order delivery occurs only if some packet has been lost. Thus, if the sender sees several ACKs carrying the same sequence numbers (duplicate ACKs), it can be sure that the network has failed to deliver some data and can act accordingly..

Proposed System:
The Host to Host congestion control proposals that build a foundation for all currently known host-to-host algorithms. This foundation includes
1)   The basic principle of probing the available network resources, 2) Loss-based and delay-based techniques to estimate the congestion state in the network, and
3)  Techniques to detect packet losses quickly

TCP standard specifies a sliding window based flow control. This flow control has several mechanisms. First, the sender buffers all data before the transmission, assigning a sequence number to each buffered byte. Continuous blocks of the buffered data are packetized into TCP packets that include a sequence number of the first data byte in the packet. Second, a portion (window) of the prepared packets is transmitted to the receiver using the IP protocol. As soon as the sender receives delivery confirmation for at least one data packet, it transmits a new portion of packets. Finally, the sender holds responsibility for a data block until the receiver explicitly confirms delivery of the block. As a result, the sender may eventually decide that a particular unacknowledged data block has been lost and start recovery procedures (e.g., retransmit one or several packets). To acknowledge data delivery, the receiver forms an ACK packet that carries one sequence number and (optionally) several pairs of sequence numbers. The former, a cumulative ACK, indicates that all data blocks having smaller sequence numbers have already been delivered. The latter, a selective ACK explicitly indicates the ranges of sequence numbers of delivered data packets. To be more precise, TCP does not have a separate ACK packet, but rather uses flags and option fields in the common TCP header for acknowledgment purposes. (A TCP packet can be both a data packet and an ACK packet at the same time.) However, without loss of generality, we will discuss a notion of ACK packets as a separate entity.

Modules:
Tcp Host to host Network module:
Congestion Collapse module:
Congestion Avoidance & Packet Recovery Module:
Calculate RTO & RTT Module

System Specifications:

1) Hardware Requirements:
SYSTEM                       : Pentium IV 2.4 GHz
HARD DISK                : 40 GB
FLOPPY DRIVE          : 1.44 MB
MONITOR                   : 15 VGA colour
MOUSE                        : Logitech.
RAM                             : 256 MB
KEYBOARD                : 110 keys enhanced.

2) Software Requirements:
Operating system         : Windows XP Professional
Front End                     :Java Technology
Tool                             :Eclipse 3.3

About the author

Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus. Aenean fermentum, eget tincidunt.

0 comments:

Recent Posts