Abstract
TCP is the widely used protocol on the Internet because of its reliability and congestion control mechanisms. TCP congestion control works by reducing the TCP sender's congestion window whenever there is a packet loss. But on channels with high error rates, like wireless links, packets are lost more due to error than due to congestion. But TCP does not differentiate between error and congestion losses and hence reduces the sending rate for losses due to error also, which unnecessarily reduces the throughput of the connection. This research proposes a scheme where we determine the cause of a packet loss at the receiver based on Explicit Congestion Notification (ECN). The ECN bit is set in the TCP header by intermediate routers if congestion is building up at that node. The receiver keeps track of the packets it receives and whenever a packet is lost, it decides whether the loss was due to congestion or error based on the number of packets it has received so far with ECN bit set. Probability that a packet has been lost due to congestion is directly proportional to the number of marked packets received. If the loss was determined to be not due to congestion, then the receiver informs the sender through an Explicit Loss Notification (ELN). If the ELN bit is set, the TCP sender retransmits the lost packet immediately and does not reduce the congestion window. This scheme is compared with TCP Reno based on simulations using the Network Simulator. The proposed scheme results in significant increase in throughput on lossy links.
Kamakshisundaram, Raguram (2001). Distinguishing congestion and error losses: an ECN/ELN based scheme. Master's thesis, Texas A&M University. Available electronically from
https : / /hdl .handle .net /1969 .1 /ETD -TAMU -2001 -THESIS -K35.