Transmission Control Protocol (TCP) is considered one of the most important protocols\ud in the Internet. An important mechanism in TCP is the congestion control\ud mechanism which controls TCP sending rate and makes TCP react to congestion\ud signals. Nowadays in heterogeneous networks, TCP may work in networks with some\ud links that have lossy nature (wireless networks for example). TCP treats all packet\ud loss as if they were due to congestion. Consequently, when used in networks that\ud have lossy links, TCP reduces sending rate aggressively when there are transmission\ud (non-congestion) errors in an uncongested network.\ud One solution to the problem is to discriminate between errors; to deal with congestion\ud errors by reducing TCP sending rate and use other actions for transmission\ud errors. In this work we investigate the problem and propose a solution using an\ud end-to-end error discriminator. The error discriminator will improve the current\ud congestion window mechanism in TCP and decide when to cut and how much to\ud cut the congestion window.\ud We have identified three areas where TCP interacts with drops: congestion window\ud update mechanism, retransmission mechanism and timeout mechanism. All of\ud these mechanisms are part of the TCP congestion control mechanism. We propose\ud changes to each of these mechanisms in order to allow TCP to cope with transmission\ud errors. We propose a new TCP congestion window action (CWA) for transmission\ud errors by delaying the window cut decision until TCP receives all duplicate acknowledgments\ud for a given window of data (packets in flight). This will give TCP a clear\ud image about the number of drops from this window. The congestion window size is\ud then reduced only by number of dropped packets. Also, we propose a safety mechanism\ud to prevent this algorithm from causing congestion to the network by using\ud an extra congestion window threshold (tthresh) in order to save the safe area where\ud there are no drops of any kind. The second algorithm is a new retransmission action\ud to deal with multiple drops from the same window. This multiple drops action\ud (MDA) will prevent TCP from falling into consecutive timeout events by resending\ud all dropped packets from the same window. A third algorithm is used to calculate\ud a new back-off policy for TCP retransmission timeout based on the network¿s available\ud bandwidth. This new retransmission timeout action (RTA) helps relating the\ud length of the timeout event with current network conditions, especially with heavy\ud transmission error rates.\ud The three algorithms have been combined and incorporated into a delay based\ud error discriminator. The improvement of the new algorithm is measured along with\ud the impact on the network in terms of congestion drop rate, end-to-end delay, average\ud queue size and fairness of sharing the bottleneck bandwidth. The results show that\ud the proposed error discriminator along with the new actions toward transmission\ud errors has increased the performance of TCP. At the same time it has reduced the\ud load on the network compared to existing error discriminators. Also, the proposed\ud error discriminator has managed to deliver excellent fairness values for sharing the\ud bottleneck bandwidth.\ud Finally improvements to the basic error discriminator have been proposed by\ud using the multiple drops action (MDA) for both transmission and congestion errors.\ud The results showed improvements in the performance as well as decreases in the\ud congestion loss rates when compared to a similar error discriminator.Ministry of Higher Education and\ud King Saud University in Saudi Arabia
To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.