Overview of Techniques for Improving QoS of TCP over Wireless Links

9 downloads 35 Views 384KB Size Report
Overview of Techniques for Improving QoS of TCP over Wireless Links. Jemish V. Maisuria ... International Institute of Information Technology,. Pune, India.
2012 International Conference on Communication Systems and Network Technologies

Overview of Techniques for Improving QoS of TCP over Wireless Links Jemish V. Maisuria

Rahul M. Patel

Electronics & Communication Department Government Engineering College, Surat, India [email protected]

Networking & Telecommunication Department International Institute of Information Technology, Pune, India [email protected]

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 [1].

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 for hybrid network without splitting the wired and wireless connection at the base station.

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 [2].

Keywords- slow start, congestion control, retry limit, retry count, RTT, cross-layer design, duplicate acknowledgment, cwnd, ssthresh.

I.

INTRODUCTION

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.

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.

II.

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 TCP’s 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,

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 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 978-0-7695-4692-6/12 $26.00 © 2012 IEEE DOI 10.1109/CSNT.2012.86

RELATED STUDY

363 368 366



development times for new protocols was considerably reduced [4].

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.

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?

Disadvantages:

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

We answer these questions by studying the various protocols.



A. Indirect-TCP

Advantages:

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 [5]. •

Figure 2. Snooping TCP

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

Advantages:

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. 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.

o

367 369 364

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.

o



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.

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.

Advantages:

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.

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.

Upon receiving message M(s)

2.

if Slow Start Detected then

3.

start TCP Taba

4.

else

5.

RET URN to normal TCP (Congestion Avoidance)

6.

end if.



A Cross layer Adaptive Policy

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 [3].

Figure 3. TCP trace under ACK amplification.

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 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

First we operate as usual, based on the current client TCP implementation. The changes start, when we detect the SlowStart mode on the server’s 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 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 [7].

368 370 365

appropriate order of retransmissions, so as to optimize the ARQ algorithm [3].

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. •

Algorithm

1.

IF wij IS LESS THAN 104 THEN Q1 ĕ Pij

2.

ELSE IF wij IS LESS THAN 2 * 104 THEN Q2 ĕ Pij

3.

ELSE IF wij IS LESS THAN 3 * 104 THEN Q3 ĕ Pij

4.

ELSE DROP THE PACKET

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

5.

Sort Q1: RTOi11j11 < RTOi12j12 < ... < RTOi1nj1n

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

6.

Sort Q2: RTOi21j21 < RTOi22j22 < ... < RTOi2nj2n

7.

Sort Q3: RTOi31j31 < RTOi32j32 < ... < RTOi3nj3n

8.

Starts Retransmission from Q1

9.

IF RTOi11j11 OR RTOi21j21 OR RTOi31j31 IS LESS THAN 2 * RTT THEN Retransmit the corresponding packet ELSE Retransmit Pi11j11

wij = 104 ‫ כ‬nij + RTOij

10. Continue with Q2 and then Q3 III.

CONCLUSIONS

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.

(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 [2].

REFERENCES Vikas kawadia and P. R. Kumar, “A cautionary perspective on cross-layer design”, IEEE Wireless Communications, vol.12, pp. 3-11, February 2005. [2] Toktam Mahmoodi, Vasilis Friderikos, Oliver Holland and A. Hamid Aghvami, “Cross-layer design to Improve Wireless TCP performance with Link-layer Adaptation”, IEEE , pp. 15041508, 2007. [3] Prof. Purvang D. Dalal and K. S. Dasgupta “TCP Cross Layer Adaptive Policy - Throughput Optimization Over Wireless Links”, National Conference on Communications (NCC), IEEE, pp.1-5, 2010. [4] Arsahd Hussain, M. Saad Akbar and Mubashir A. Cheema, “A Simple Cross-Layer Approach To Reduce Duplicate Acknowledgements For Tcp Over Wlan”, Networking and [1]

The priority of each packet is changed after each retransmission, by replacing its queue. One main weak point 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 2•RTT, the

369 371 366

Communications Conference, IEEE International, pp.63-66, 2008. [5] Hari Balakrishnan, Venkata N. Padmanabhan, Srinivasan Seshan and Randy H. Katz, “A Comparison of Mechanisms for Improving TCP Performance over Wireless Links”, ACM SIGCOMM ’96, Stanford, CA, August 1996.

Paolo Chini and Giovanni Giambene “Dynamic Resource Allocation Based On A Tcp-Mac Cross-Layer Approach For Interactive Satellite Networks”, IEEE ,pp. 657-661, 2005. [7] Alexander Cheskis “Improvement of TCP connection throughput over noisy environment”, Thesis submitted in degree in Tel-Aviv University, School of Computer Science, September 2006. [6]

370 372 367

Suggest Documents