Sunteți pe pagina 1din 4

A Comparison of Techniques for Improving TCP Performance over Wireless Links

Jemish V. Maisuria
Electronics & Communication Department Government Engineering College, Surat, India jeams.maisuria@gmail.com

Rahul M. Patel
Networking & Telecommunication Department International Institute of Information Technology, Pune, India rahulrd87@gmail.com

Abstract Internet protocol architecture is totally based on layered approach. However, layer independence may lead to nonoptimal performance in wireless systems. In fact, many assumptions for the wired networks are not applicable to wireless environments. For example, all the losses in the wireless channel are not due to congestion, where packets can be lost due to the link failure. In this paper, we compare several schemes designed to improve the performance of TCP in such networks. These schemes are classified into three broad categories: end-to-end protocols, where the sender is aware of the wireless link; linklayer protocols, that provide local reliability; and split-connection protocols, which break the end-to-end connection into two parts at the base station. Our study shows that a reliable link-layer protocol with some knowledge of TCP provides very good performance. Furthermore, it is possible to achieve good performance without splitting the end-to-end connection at the base station. Keywords- slow start, congestion control, retry limit, retry count, RTT, cross-layer design, duplicate acknowledgment, cwnd, ssthresh.

segment loss as network congestion, and then reduces its transmission window. Transmission Control Protocol (TCP), the worldwide used reliable transport protocol in the Internet, but that is only efficient in a wired network. Throughput of TCP is degraded over wireless links, because links are characterized by a high and greatly varying bit error rate and by intermittent connectivity. In which, the performance can be improved using such an algorithm or layer, that used to detect the difference between that real congestion and other type of losses. Numerous approaches have therefore been proposed in the literature to optimize TCP performance in wireless networks. These works can be categorized into two main classes: The first class of researches, modify TCP to improve TCP compatibility to wireless networks, and the second class tries to improve TCP performance with no modifications to the TCP state machine but by modifying algorithms in other layers. A cross-layer approach would be simpler and flexible, with respect to the addition of a specific layer to implement this type of tasks. Here TCP-aware dynamic ARQ algorithm is therefore explained, in that utilizes TCP timing information to prioritize packet retransmission. Due to that the wrong triggering of Congestion control in TCP is avoided, that optimized throughput as well as the QoS of the wireless link also improved. The remainder of this paper is organized as follows. In the next Section, the second aforementioned category of research on TCP performance optimization is outlined as well as the focus is on comparison of techniques for improvement of TCP performance; In Section III concludes and discusses potential future work. II. RELATED STUDY

I.

INTRODUCTION

TCP is a transport layer protocol which provides a reliable, byte stream-based and connection-oriented service to the application layer. There are mainly three functions that can be identified in the TCP protocol: flow control, congestion control and error recovery. The flow control scheme allows an efficient exchange of data not exceeding the capacity of the receiver buffer. In fact, using the sliding window mechanism, TCP continuously controls the amount of "in-flight" data. The congestion control scheme probes the network status gradually, increasing the window size, until the network drops a segment. To limit the transmission rate according to network conditions and environment, TCP uses a variable cwnd, called "congestion window that represents the maximum number of packets in flight not yet acknowledged. TCP uses "cumulative acknowledgements" (ACKs) to notify to the sender the last segment received correctly and in order or not. If the ACK is not received and the timeout expiration at the sender without receiving the related ACK (or the receipt of duplicated ACKs) indicates the loss of the corresponding segment, thus triggering one of the implemented error recovery schemes. In any case, TCP considers the

Transport protocols were evaluated as a whole, which made it difficult to assess the strength or weakness of a particular congestion control or error detection mechanism. To be able to evaluate the impact that a specific error detection or congestion control mechanism has on transport protocol performance, The TCP sender was decomposed into three modules: data transmission, error detection and congestion control. The interfaces between these modules have been developed in a generic way; therefore each implementation of error detection can work with each implementation of congestion control. This modular design enabled us to create non--standardized TCP

versions, for example Tahoe congestion control with Sack error detection, to evaluate the performance of such a protocol. Not only were we able to use non--standard combination of TCPs congestion control and error detection mechanisms, but the modular design also facilitates the development of new protocols. Through the principles of modular design and object oriented class derivation we could develop a new congestion control or error detection strategy within a day. By combining this new strategy with the existing working modules, development times for new protocols was considerably reduced. In this paper, we seek to answer the following specific questions: What combination of mechanisms results in best performance for each of the protocol classes? How important is it for link-layer schemes to be aware of TCP algorithms to achieve high end-toend throughput? How useful are selective acknowledgments in dealing with lossy links, especially in the presence of burst losses? Is it important for the end-to-end connection to be split in order to effectively shield the sender from wireless losses and obtain the best performance?

It is always dangerous to introduce new mechanisms in a huge network without knowing exactly how they behave. New optimizations can be tested at the last hop, without jeopardizing the stability of the Internet. It is easy to use different protocols for wired and wireless networks. Disadvantages:

Loss of end-to-end semantics, an acknowledgement to a sender no longer means that a receiver really has received a packet ---foreign agents might crash. Higher latency possible due to buffering of data within the foreign agent and forwarding to a new foreign agent Security issue the foreign agent must be a trusted entity. B. Mobile TCP What if the mobile node is disconnected? In I-TCP more packets are buffered at AP .in Snooping TCP no more snooping, missing acknowledgement, TCP goes to slow-start. but mobile TCP Improve efficiency by Special handling of lengthy and/or frequent disconnections. M-TCP splits as I-TCP does unmodified TCP fixed network to supervisory host (SH), optimized TCP SH to MH. work of Supervisory host is to no caching, no local retransmission monitors all packets, if disconnection detected set sender window size to 0.sender automatically goes into persistent mode old or new SH reopen the window Advantages:

We answer these questions by studying the various protocols. A. Indirect-TCP

End-to-end semantics. When mobile host is disconnected, it avoids useless retransmissions and slow-start. No buffering, handover is easy. Disadvantages:

Packet loss at the wireless link propagates back to sender. Not a good idea for heavy traffic. C. Snooping TCP

Figure 1. Indirect - TCP

Split a TCP connection at the foreign agent into 2 TCP connections, hosts in the fixed part of the network do not notice the characteristics of the wireless part no changes to the TCP protocol for hosts connected to the wired Internet, optimized TCP protocol for mobile host. The access point acts as proxy in both directions. AP acknowledges to both the sender and receiver. Re-transmission on wireless links is handled locally. During handover, the buffered packets, as well as the system state (packet sequence number, acknowledgements, ports, etc Advantages:

Figure 2. Snooping TCP

No changes in the fixed network necessary, no changes for the hosts (TCP protocol) necessary, all current optimizations to TCP still work Simple to control, mobile TCP is used only for one hop between, e.g., a foreign agent and mobile host, transmission errors on the wireless link do not propagate into the fixed network therefore, a very fast retransmission of packets is possible, the short delay on the mobile hop is known.

In Indirect TCP, 2 TCP sessions .But in snooping TCP, 1TCP session. The access point snoops into the traffic and buffers packets for fast re-transmission. Transparent extension of TCP within the foreign agent changes of TCP only within the foreign agent buffering of packets sent to the mobile host lost packets on the wireless link (both directions!) will be retransmitted immediately by the mobile host or foreign agent, respectively (so called local retransmission)the foreign agent therefore snoops the packet flow and recognizes acknowledgements in both directions, it also filters ACKs

Data transfer to the mobile host: FA buffers data until it receives ACK of the MH, FA detects packet loss via duplicated ACKs or time-out fast retransmission possible, transparent for the fixed network. Data transfer from the mobile host: FA detects packet loss on the wireless link via sequence numbers; FA answers directly with a NACK to the MH, MH can now retransmit data with only a very short delay.

bytes, and the second on receiving the last 256 bytes of the data. The sender, instead of receiving of one ACK and increasing the congestion window once, receives two ACKs and therefore increases the window twice This is amplification phase. During this phase TCP client sends additional ACK packets. The amplification phase ends when we detect that the sender has entered the Congestion Avoidance mode on the server's side. In such an event we know that the server reaches its previous window size and we can return to the normal operation. E. TCP Adaptive Congestion Control To overcome the weaknesses of TCP New Reno, an adaptive congestion control algorithm is developed. This proposed algorithm modifies TCP New Reno congestion control. TCP Adaptive Congestion Control during slow start phase of a new TCP connection, TCP limits its capacity by sending one packet per RTT, assuming that the sender is unaware of network condition, and hence it starts with a very basic value one. For higher value of RTT, this results into an excessive delay, in slow start phase. We take ssthresh to calculate the value of parameter reflecting approximation of a link. All TCP connections are going to update one global variable nvar0, which basically reflects link condition. Whenever any ongoing connection detects a packet loss on the network, its ssthresh value is used to recalculate nvar0. Whenever a new connection is established, instead of starting from cwnd = 1, we start using cwnd = nvar0. This will allow higher value of nvar0, under better link conditions, whereas for poor link conditions nvar0 is set to its minimum value 1. This will not only reduce tslowstart time, but also facilitate an initialization of cwnd dynamically. A Cross layer Adaptive Policy

Advantages:

End-to-end semantics is preserved. Handover is easy. ITCP requires a careful handover of the system state. Here it falls back to the standard solution if no enhancements. Disadvantages:

Snooping TCP does not isolate the wireless link as good as I-TCP snooping might be useless depending on encryption schemes D. TCP Taba TCP Taba changes the state machine of the client TCP implementation. The behavior of taba client is different and can be described by the following state machine: 1. 2. 3. 4. 5. 6. Upon receiving message M(s) if Slow Start Detected then start TCP Taba else RET URN to normal TCP (Congestion Avoidance) end if.

A retransmission at the MAC layer occurs, when the 802.11 acknowledgement is not received by the transmitter within the specified delay, is indicated in the frame through the retry bit of the MAC header. For each retransmission, a counter is incremented until a threshold, named to retry limit, is reached. This is the basic LDA used at the MAC layer of the proposed scheme. The idea is to count the number of MAC retransmission for each of the n segments composing the current TCP window. When the TCP layer is alerted by the reception of three duplicated acknowledgments, the above count will be very useful. For one of these not acknowledged segments, if the number of MAC retransmission is equal to the threshold, we consider that the loss is due to interferences and not due to network congestion. F. TCP-Aware Dynamic ARQ Retransmissions at the link-layer are performed via the local link ARQ algorithm, which has two main advantages compared with TCP end-to-end retransmissions. Firstly, retransmissions at the link-layer are performed faster, due to the local link having a much smaller RTT this is seen in figure below. Secondly, if retransmissions at the link-layer are successful, packet losses can be hidden from TCP.[2] Thus the cwnd will not be incorrectly altered. In this work, we assume the stop-and-wait ARQ algorithm over the link-layer. Unacknowledged packets are therefore successfully

Figure 3. TCP trace under ACK amplification.

First we operate as usual, based on the current client TCP implementation. The changes start, when we detect the SlowStart mode on the servers side. We know that the reason of the Slow-Start is multiple packet drops. We also know that the server will increment its congestion window size, every time when we send it an ACK. In order to return its window to the previous value as soon as possible we send multiple ACKs to the server, based on the single data packet we received. For example if we get 512 bytes of the data, we can acknowledge them with two subsequent ACKs: the first on receiving 256

retransmitted if the required number of retransmission attempts is less than or equal to the maximum allowed number of retransmissions. We try to select an appropriate value for the maximum number of retransmissions (Nret), as well as an appropriate order of retransmissions, so as to optimize the ARQ algorithm.

remains in this procedure. If any of the Pijs which are located in Q2 or Q3 have an RTOTCP close to expiration, the RTOTCP will expire before the packet has one more retransmission chance at the local link. Hence to solve this, the retransmission starts from Pi11j11, and simultaneously RTOi21j21 and RTOi31j31 are compared with RTT. If either of these is less than 2RTT, the corresponding packet will be retransmitted first, then the procedure will continue with Pi11j11. At the beginning of each retransmission, this procedure will be repeated. After the Q1 retransmission is performed, the algorithm will continueretransmissions from Pi21j21 with the same routine, and then retransmits Pi31j31 etc. The maximum number of retransmission attempts is as much as higher for this purpose in wireless networks. Hence, after the retransmission attempt, the packet is discarded. III. CONCLUSIONS

Figure 4. RTTs at the end-to-end TCP layer and at the local link-layer

ARQ serves similar reliability functions to TCP, albeit at a different layer. Hence the assignment of ARQ parameters without having taking advantage of information from the TCP state machine is suboptimal for TCP flows. We therefore define a cross-layer interaction with the TCP layer, by assigning Nret, as well as the retransmission priority for each packet, dynamically. An ultimate objective is to achieve a TCP-aware dynamic ARQ algorithm, under the assumption that we possess information on the TCP timer when the Retransmission Time Out (RTOTCP) is close to expiration. Note that ensuring that the packet arrives rapidly at the receiver becomes more critical in this case. The details of our algorithm are described as follows. Every non-ACK packet is categorized in a priority queue, according to its weight. The packet weight is assigned based on RTOTCP and the number of transmission attempts of the packet. If we denote Pij as the jth packet in the queue from TCP flow i, then wij , the weighting of Pij , is described by wij = 104 nij + RTOij ----------(1) where nij is the number of reattempts of packet Pij. The RTT of TCP is of the order of one second (103 ms), thus the coefficient 104 normalizes the weighting function value to the RTOTCP. We subsequently define three queues, namely Q1, Q2, and Q3, and each Pij is placed in one of these queues at a position according to its weight. Retransmission starts from Q1 and is followed by Q2, and then Q3. The main idea for implementing these queues is to avoid retransmitting any specific packet iteratively. The priority of each packet is changed after each retransmission, by replacing its queue. One main weak point

Today the world is going towards wireless network as well as high data rates on it and most of them are using hybrid ARQ technique for scheduling packet and according to us TCPaware dynamic ARQ is same one as above. In this paper, we have presented a comparative analysis of several techniques to improve the end-to-end performance of TCP over lossy, wireless hops. We categorize these techniques as end-to-end, link-layer or split-connection based. In future work, it would be interesting to further investigate the influence on end-to-end performance of including extra TCP parameters, such as the cwnd, in the packet priority weighting function. REFERENCES
[1] A CAUTIONARY PERSPECTIVE ON CROSS-LAYER DESIGN, By Vikas kawadia, bbn technologies and P. R. Kumar, university of illinois at urbana-champaign, 2005. CROSS-LAYER DESIGN TO IMPROVE WIRELESS TCP PERFORMANCE WITH LINK-LAYER ADAPTATION, By Toktam Mahmoodi, Vasilis Friderikos, Oliver Holland, A. Hamid Aghvami Centre for Telecommunication Research, Kings College London, Strand, London WC2R 2LS, UK, 2007.. TCP CROSS LAYER ADAPTIVE POLICY - THROUGHPUT OPTIMIZATION OVER WIRELESS LINKS,By Purvang D. Dalal, Electronics & Communication Department, Dharmsinh Desai University, Nadiad, Gujarat and K. S. Dasgupta, Director, SITTA, Space Application Center, ISRO, Ahmadabad, Gujarat, INDIA, 2010.. A SIMPLE CROSS-LAYER APPROACH TO REDUCE DUPLICATE ACKNOWLEDGEMENTS FOR TCP OVER WLAN, By Arsahd Hussain, M. Saad Akbar and Mubashir A. Cheema, Department of Electrical Engineering and Department of Computer Science, National University of Computer and Emerging Sciences National University of Computer and Emerging Sciences, Lahore, Pakistan. M. Allman, V. Paxson, and W. Stevens. TCP Congestion Control, April 1999, RFC 2581. DYNAMIC RESOURCE ALLOCATION BASED ON A TCP-MAC CROSS-LAYER APPROACH FOR INTERACTIVE SATELLITE NETWORKS, By Paolo Chini, Giovanni Giambene, CNIT - University of Siena, 2005. IMPROVING TCP PERFORMANCE USING CROSS-LAYER FEEDBACK IN WIRELESS LANS, By Qian Wang and Dongfeng Yuan, School of Information Science and Engineering, Shandong University, Jinan, Shandong, P.R. China, 2010.

[2]

[3]

[4]

[5] [6]

[7]

S-ar putea să vă placă și