A New Modified Split-Connection Approach for Improving TCP Performance Over Wireless Networks Yashar Komijani University of Tehran y.komijany@ece.ut.ac.ir Arash Hooshmand University of Tehran arash@cad.ece.ut.ac.ir Abstract- One of the most important challenges in providing Internet connectivity to mobile users is TCP performance degradation in wireless environments, due to its inability to distinguish congestion losses from corruptions. One of the most effective solutions to this problem is Split-Connection which has not been practical yet because of suffering from End-to-End semantic violation of TCP acknowledgements. In this paper, different Split-Connection methods are compared and a novel, practical and efficient modification to Split- Connection is proposed to preserve the End-to-End semantic without compromising its performance. I. INTRODUCTION Fast growth of Internet popularity and mobile communication has made it necessary to provide users with Internet connectivity, using wireless technology. However, there are several problems in providing Internet over wireless networks which have been recently challenged by researchers. TCP performance degradation over wireless links is one of these problems that is well considered during last years. Although several solutions have been proposed to the problem, the results are still far from ideal conditions. A. Background on TCP TCP [1] has been used in Internet as a transport protocol to provide a reliable byte-stream service to upper layers by exchange of data and acknowledgement packets (Ack) between sender and receiver. It limits the number of outstanding packets using a sliding window and uses Ack arrivals as a clock to send new data packets to the network The first TCP congestion control mechanism developed by Jacobson [2] is used in Tahoe, the core of which is a variable-size sliding window which adapts the number of outstanding packets to instant network state using the information carried by acknowledgment packets. Tahoe has a cyclic window evolution which includes Slow Start and Congestion Avoidance phases. During Slow Start phase, window is rapidly grown up to the estimated capacity of the network and then Congestion Avoidance is employed to probe for further network capacity. This growth is continued until an overflow occurs in one of the intermediate buffers and one of the sent packets is lost. Packet loss is detected by timer expiry and the window size is reduced to one packet and Slow Start is then employed again to fill the connection pipe and start the self-clocking mechanism. Half of maximum window size just before timer expiry is selected to be an estimation of network capacity for the next cycle. In Reno version [3] developed by Jacobson, Fast Retransmission and Fast Recovery mechanisms were added and resulted in better performance. Fast Retransmission enables sender to detect losses long before coarse-grained TCP timer expiry by inferring the reception of three duplicate Acks as a sign of packet loss. Fast Recovery is used after Fast Retransmission to reduce the window size to half of its value and invoke Congestion Avoidance without return to Slow Start. Interested readers are referred to [2, 3, 4] for a detailed description of Tahoe and Reno, to [5] for an analytical analysis and to [7] for a simulation study. B. Previous Works The problem of improving TCP performance over wireless links has been investigated during last few years by research community and lots of methods are proposed. Based on these works, the main causes of TCP performance degradation over wireless links can be classified in following three groups [11]: 1) Congestion and corruption loss differentiation: TCP infers packet loss as a sign of congestion and reduces its window size. In the presence of wireless links, packets may also be lost due to corruptions caused by fading effects and hand offs. Hence TCP performance is degraded in wireless links because of inability to distinguish between congestion and these corruption losses. When packet loss exceeds a minimum threshold, consecutive window size reduction results in very poor performance [5, 6]. The classic solution to this problem is employing Explicit Loss Notification [12] in which receiver informs sender of packet loss. Knowing that the corruption is the cause of packet loss, sender does not reduce its window and just retransmits the lost packet. ELN Implementation has several practical issues which are not solved yet. The most important problem is how receiver can find out whether packet loss is occurred due to congestion or corruption. Another problem is that ELN needs End-to-End TCP modification. Others have proposed other solutions to congestion and corruption differentiation, most of them based on using RTT interarrival times [13]. 2) Multiple packet loss in a window: Another well-known problem of TCP in wireless environments is that TCP can not recover from multiple packet loss in a window without resorting to a coarse-grained timer expiry [7]. The reason is that TCP uses a cumulative acknowledgement that one Ack acknowledges reception of all previous data segments. Multiple packet losses are common especially in wireless links due to burst errors caused by fading and hand offs.