A Unified TCP Enhancement for Wireless Mesh Networks Chunlei Liu Dept of Mathematics & Computer Science Valdosta State University
[email protected]
Abstract The recent emergence of wireless mesh networks as a quick and inexpensive way to access the Internet has gained attention in the networking field. While using multiple radios improves network throughput, it undermines TCP’s underlying assumptions. When deployed in wireless mesh networks, TCP faces four challenges: transmission errors, packet reordering due to multipath routing, multihop connections and congestion. If not handled properly, they can incorrectly trigger TCP congestion control mechanisms and cause poor performance. In this paper, we propose a new TCP enhancement, named Congestion Coherence, to address these challenges. Simulation results confirm that this enhancement significantly improves TCP performance in wireless mesh networks.
1. Introduction Wireless mesh networks (WMNs) have emerged as a quick and inexpensive way to build access networks. While traditional IEEE 802.11 wireless LANs use a single radio between access points and mobile clients, WMNs exploit multiple radios to achieve simultaneous transmission and higher throughput [1]. However, this may cause a conflict with the Transmission Control Protocol (TCP). Designed mainly for wired networks where transmission errors are rare, TCP assumes that the majority of packet losses are caused by congestion and all packets of a connection follow the same path from the source to the destination. Under such assumptions, TCP triggers congestion control mechanisms upon retransmission timeout and three duplicate ACKs. However, these assumptions are no longer true in WMNs. When deployed on WMNs, TCP faces the following challenges: • Transmission Errors: Packet losses due to transmission errors are more frequent and may be incorrectly regarded as indications of network congestion.
Fangyang Shen, Min-Te Sun Dept of Computer Science & Software Engineering Auburn University {shenfan,sunmint}@auburn.edu • Multipath Packet Reordering: Packets may travel through different paths and reach the destination outof-order. If not handled properly, the reordered packets may trigger spurious retransmissions and cause confusions in TCP congestion control. • Multihop Connections: Mesh clients may be connected to the Internet through multihop wireless links. The last-hop access network model used in many wireless TCP enhancements (as in [3, 4]), which assumes the only wireless link is the last hop, is no longer valid. • Congestion: As the wireless medium is shared by mesh routers and clients, congestion may happen in both the WMN and the wired network. Any network model that assumes congestion happens only in the wired network or in the wireless network (such as in the last-hop access network model) will not work. Although much research has been done to enhance TCP for wireless networks, we have not seen a method that address the four challenges altogether. In this paper, we present a new enhancement to handle the four challenges. Using a special scheme called congestion coherence, this enhancement distinguishes congestion losses from transmission errors and multipath reordering, and then invoke or suppresses TCP congestion control accordingly. Thus it can significantly improve TCP performance in WMNs.
2. Related Work Ever since TCP was found to have poor performance in wireless networks, various wireless TCP enhancements have been proposed. They fall roughly into four categories. Local link layer retransmission methods such as [11] use FEC and ARQ to hide the lossy characteristic of the wireless link so that upper layers are less affected by transmission errors. Split connection methods like [2] divide the entire transmission path into two connections (a wired one and a wireless one) and run TCP separately on both connections. Sender-side enhancements like [6, 7] modify TCP code at
the sender to estimate the available bandwidth, experienced delay or other congestion signal and change the congestion control accordingly. Wireless-side enhancements [3, 4, 10] modify the behavior of base station or mobile host in cooperation with the TCP algorithm at the source. Of these four categories, the wireless-side enhancements are local to the wireless nodes and links, so are regarded as more practical. Our enhancement proposed in this paper belongs to this category. TCP enhancements that handle packet reordering can be found in [8], but they usually do not treat transmission errors. Our review of current literature finds that no existing enhancements address all the four challenges altogether.
losses from transmission errors and multipath reordering is crucial. qlen dropping
marking
time
Figure 1. Smooth queue length change
3. Assumptions We assume that the Explicit Congestion Notification (ECN) is used in the entire network. ECN has been approved as an Internet official protocol standard in RFC 3168 [9] and is recommended to be widely deployed as a router mechanism [5]. When a router’s queue length exceeds a threshold, the incoming packet is marked as Congestion Experienced. When the marked packet arrives at the TCP destination, the corresponding ACK is marked as an ECN-Echo and sent back to the source. Our second assumption is that local retransmissions are implemented in the link layer. All packets are kept in the buffer until positively acknowledged. Failed packets are retransmitted with higher priority.
4. Observations Before introducing our enhancement, we have to make two important observations. Three Causes of Out-of-Order Arrivals In WMNs, packets can be dropped during a congestion episode or in transmission errors, or travel through different paths to the destination. From a TCP receiver’s point of view, all three cases cause become out-of-order packet arrivals. Out-of-order packet arrivals at the destination can be the results of either a congestion loss, a transmission error, or multipath reordering. They all create holes in the packet sequence number space, but the consequences are different. A hole caused by a transmission error will be filled when its retransmission arrives. A packet that travels through a longer path will arrive after a short delay. But a hole caused by a congestion loss will not be filled without an end-toend retransmission from the source. If the receiver knows the hole is caused by a transmission error or multipath reordering, it should wait. If the hole is caused by a congestion loss, the receiver should send the duplicate ACKs right away to trigger the fast retransmit and to reduce the congestion window. Therefore, a scheme to distinguish congestion
qlen dropping
marking
time
Figure 2. Abrupt queue length change Congestion Coherence With ECN, such a distinguishing scheme is possible. When a packet is dropped by a congested router, the ECN congestion signal carried by that packet is lost, but packets before and after the lost packet are likely to maintain coherent congestion information. This is because congestion neither happens nor disappears suddenly. Before congestion becomes so severe that a packet has to be dropped, the queue length has to increase gradually and some packets have to be marked. Similarly, after a packet is dropped, congestion does not disappear immediately. The queue length has to fall gradually. From the time of no congestion to the time a packet is dropped, some packets must be marked. dropped due to congestion
sender
router
receiver marked
Figure 3. Congestion coherence Figure 1 depicts a likely queue length change at a congested router. The abrupt change in Figure 2 is unlikely. As a result, congestion losses are normally preceded and followed by marked packets as in Figure 3. We call this phenomenon congestion coherence of ECN marking.
The neighborhood of a lost packet is defined by the coherence context. In this paper, we use {n − 1, n + 1, n + 2} as the coherence context of packet n. A packet loss is considered a congestion loss if any packet in its coherence context is marked. In this case, the receiver responds with duplicate ACKs to trigger an endto-end retransmission and window reduction at the source. When the coherence context contains no marks, the missing packet is likely not a congestion loss; the receiver should hold the duplicate ACKs until the retransmitted packet or the packet traveling through a longer path is received. This idea can apply to the wireless sender case as well. When a wireless sender receives duplicate ACKs, it checks whether the coherence context contains an ECN-Echo. If yes, the duplicate ACKs are most likely caused by a congestion loss, so the sender invokes the congestion control. Otherwise, the duplicate ACKs are most likely caused by a transmission error or multipath reordering and are ignored. The distinguishing scheme may make mistakes. If a lost packet is mistakenly classified as a congestion loss, the triggered congestion control action is needed anyway because its congestion context is marked. To deal with other rare mistake cases, a timer can be used to release the incorrectly held duplicate ACKs or retransmitted packets.
the local link layer retransmission time and the delay difference of multipath routes. Figures 4 and 5 show the modified receiving and sending algorithms. • The TCP sender follows existing algorithm for sending packets and updating the congestion window upon receiving new ACKs, and first and second duplicate ACKs. • When the third duplicate ACK arrives, the sender checks whether any ACK in the coherence context is an ECN-Echo. If yes, the packet corresponding to the duplicate ACKs is sent right away and the congestion window is reduced to half if a reduction has not been done in the previous RTT. Otherwise, the sender ignores the duplicate ACK and a timer of w ms is started. • If a new ACK arrives during the w ms, the timer is cleared and new packets are sent as if the duplicate ACKs did not happen. • If the timer expires, the packet corresponding to the duplicate ACKs is sent and the congestion window is reduced to half if a reduction has not been done in the previous RTT.
5. Proposed Enhancement
Figure 5. CC sending algorithm • The TCP sink follows existing algorithm for sending new ACKs, first and second duplicate ACKs. • When the third duplicate ACK is to be sent, TCP sink checks whether the coherence context is marked. If yes, the ACK is sent right away. Otherwise, it is deferred for w ms, and a timer is started.
We emphasize that the modifications to the receiving and sending algorithms are made on the same end. They hide the lossy link characteristics so no changes are needed in the fixed end, intermediate routers and base stations. Because of the accumulative nature of ECN marking, our enhancement can work in the multipath and multihop environment, and provides a unified enhancement to the four challenges discussed in the introduction section.
• If the expected packet arrives during the w ms, a new ACK is generated and the timer is cleared.
6. Performance Evaluation
• If the timer expires, all deferred duplicate ACKs are released.
s1
b1
10Mb, 20ms 1.5Mb, 2ms
s2 10Mb, 20ms r1
d1 1.5Mb, 2ms
1.5Mb, 2ms
1.5Mb, 1ms r2
1.5Mb, 1ms
d2
Figure 4. CC receiving algorithm In our proposed enhancement, the modifications to the existing TCP algorithm are made in the wireless end. Based on the scheme to distinguish different types of out-of-order arrivals, this enhancement is named Congestion Coherence (CC). Let w be the time period (in ms) slightly larger than
s3
10Mb, 20ms
1.5Mb, 1ms
d3
Figure 6. Simulation model In order to evaluate the performance of the proposed
30
35
vegas cwnd
5
10
15 20 25 time (seconds)
20 18 16 14 12 10 8 6 4 2
30
35
5
10
15 20 25 time (seconds)
20 18 16 14 12 10 8 6 4 2
30
35
0
5
10
15 20 25 time (seconds)
20 18 16 14 12 10 8 6 4 2
30
35
0
5
10
15 20 25 time (seconds)
30
35
40
10
15 20 25 time (seconds)
30
35
40
vegas queue size
5
10
15
14 12 10 8 6 4 2
20 25 time (seconds)
30
35
40
ecn queue size
0
5
10
14 12 10 8 6 4 2
15 20 25 time (seconds)
30
35
40
35
40
35
40
dda queue size
0
40
cc cwnd
5
14 12 10 8 6 4 2
40
dda cwnd
reno queue size
0
40
ecn cwnd
0
14 12 10 8 6 4 2
40
queue size (packets)
15 20 25 time (seconds)
queue size (packets)
cwnd (packets)
10
20 18 16 14 12 10 8 6 4 2 0
cwnd (packets)
5
queue size (packets)
cwnd (packets)
0
cwnd (packets)
queue size (packets)
reno cwnd
queue size (packets)
cwnd (packets)
20 18 16 14 12 10 8 6 4 2
5
10
14 12 10 8 6 4 2
15 20 25 time (seconds)
30
cc queue size
0
5
10
15 20 25 time (seconds)
30
Figure 7. Congestion window and queue length for TCP Reno, Vegas, ECN, DDA and CC
rate is small, but degrade quickly as the packet error rate increases. This confirms that TCP needs enhancement on wireless links. ECN performs better than TCP Reno when the error rate is small, but it degrades quickly too as the error rate increases. DDA does not degrade much with the error rate, but its performance under small error rates is low. Congestion Coherence proves to be better than all other methods. In addition to goodput, we also analyzed the simulation trace and collected other data that explain why Congestion Coherence works better than others methods. 900 800 congestion losses (packets)
Congestion Coherence enhancement, we perform a set of simulations with the ns2 simulator [12] on the simplified network model shown in Figure 6, where s1 , s2 , s3 are sources and d1 , d2 , d3 are TCP destinations. Node r1 is the gateway of the WMN, b1 is a fallback router, r2 is a mesh router. The wireless links are shown in dashed lines. The numbers beside the links represent their rate and delay. The experiment traffic is FTP sessions over TCP Reno from s1 to d1 and from s2 to d2 . A UDP flow from s3 to d3 generated from an exponential on-off model is used as the background traffic. Both TCP and UDP packet sizes are 1000 bytes, and TCP ACKs are 40 bytes long. Packets transmitted on the wireless link are subject to random transmission errors, with packet error rate varies from 0.001 to 0.1. Link layer retransmissions are implemented on the wireless links. All aggregate measurements are collected from 500-second simulations. Our proposal is compared with TCP Reno, TCP Vegas [6], plain ECN, and Delayed Duplicate Acks [10]. Our first group of results, shown in Figure 7, is the TCP congestion window and queue length of each method. They are collected from 40-second simulation traces. The packet error rate in the simulation is 0.1. The delay and bandwidth should support a window size of about 10 packets, but as shown in the figure, the window size of TCP Reno, Vegas and ECN is frequently reduced. Their corresponding queue length is almost always 0, indicating a low link efficiency. The window size of DDA is significantly increased, but the spikes in the bottom of its cwnd figure show that it suffers severe degradation from timeouts. Congestion Coherence is a thorough solution. Unnecessary window reductions and timeouts are avoided. The queue length figure shows that Congestion Coherence has high link efficiency.
700 600 500
Reno Vegas DDA ECN CC
400 300 200 100 0 0.001
0.01 packet error rate
0.1
Figure 9. Congestion losses
Figures 9 show the number of congestion loss. Compared to other methods, the congestion losses of Congestion Coherence are very few. This indicates that Congestion Coherence can quickly and correctly adjust to network congestion. 6 5.5
average cwnd (packets)
5 30000
goodput (packets)
25000
20000
4.5 4 3.5 3 2.5
15000
2 10000
5000
Reno Vegas DDA ECN CC
1.5 0.001 Reno Vegas DDA ECN CC
0 0.001
0.01
0.1
packet error rate
0.01 packet error rate
0.1
Figure 8. Goodput for the five methods
The major metric to evaluate the enhancement proposals is goodput, which is defined as the number of packets successfully received and acknowledged by the receiver, excluding retransmissions. As shown in Figure 8, TCP Reno and Vegas perform reasonably well when the packet error
Figure 10. Average congestion window size Figure 10 shows the average congestion window size. As the packet error rate increases, wireless losses cause unnecessary window reductions in Reno, Vegas and ECN, but the window size of DDA and Congestion Coherence is not affected much by transmission errors. The number of timeouts that occurred during the simulation period is shown in Figure 11. Congestion Coherence has the smallest number of timeouts of all methods.
References
800 Reno Vegas DDA ECN CC
700
number of timeouts
600
[1] I. F. Akyildiz, X. Wang and W. Wang, Wireless mesh networks: a survey, Computer Networks, vol. 47, pp. 445–487, 2005.
500 400 300 200 100 0 0.001
0.01 packet error rate
0.1
[3] H. Balakrishnan, S. Seshan and R. H. Katz; Improving reliable transport and handoff performance in cellular wireless networks; Wireless Networks, 1(4), pp. 469 – 481, 1995.
Figure 11. Number of timeouts
Figure 12 shows the number of end-to-end retransmissions. This number depends on the number of congestion losses, wireless losses and timeouts. Congestion Coherence avoids the majority of congestion losses, and waits for the local retransmission for wireless losses, so it has the smallest number of end-to-end retransmissions.
retransmissions (packets)
1600
[4] H. Balakrishnan and R. H. Katz; Explicit loss notification and wireless web performance, Proceedings of IEEE Globecom 1998. [5] B. Braden et al, Recommendations on queue management and congestion avoidance in the Internet, RFC 2309, 1998. [6] L. Brakmo, S. O’Malley and L.Peterson, TCP Vegas: New techniques for congestion detection and avoidance, Proceedings of SIGCOMM, 1994.
2000 1800
[2] A. Bakre and B. R. Badrinath, I-TCP: indirect TCP for mobile hosts, Proceedings - International Conference on Distributed Computing Systems, pp. 136–146, 1995.
Reno Vegas DDA ECN CC
1400
[7] C. Casetti, M. Gerla, S. Mascolo, M. Y. Sanadidi and R. Wang, TCP Westwood: Bandwidth estimation for enhanced transport over wireless links, ACM Mobicom, pp. 287–297, 2001.
1200 1000 800 600 400 200 0 0.001
0.01 packet error rate
0.1
Figure 12. End-to-end retransmissions
[8] K. Leung, V. Li and D. Yang, An overview of packet reordering in transmission control protocol (TCP): problems, solutions, and challenges, IEEE Transactions on Parallel and Distributed Systems, Vol. 18, No. 4, pp. 522–535, 2007. [9] K. Ramakrishnan, S. Floyd and D. Black, The addition of explicit congestion notification (ECN) to IP, RFC 3168, 2001.
7. Conclusion In summary, the Congestion Coherence enhancement we propose in this paper separates the end-to-end task of congestion control from the local operations of wireless retransmission and multipath routing. With local changes at the wireless end and accumulative ECN marking, this enhancement provides a unified enhancement to the four challenges of TCP in WMNs. Simulation results show that Congestion Coherence significantly reduces spurious retransmissions, timeouts, unnecessary congestion window reductions, and therefore provides better improvement than existing wireless TCP enhancements.
[10] N. H. Vaidya, M. Mehta, C. Perkins and G. Montenegro, Delayed duplicate acknowledgments: a TCP-unaware approach to improve performance of TCP over wireless, Technical Report 99-003, Computer Science Dept., Texas A&M University, 1999. [11] G. Xylomenos and G.Polyzos, Internet protocol performance over networks with wireless links, Computer Networks, 37(5):601–615, 2001. [12] http://www.isi.edu/nsnam/ns.