TCP Performance and Fairness over Mobile Ad Hoc Networks Seok-Hoon Yoon Index Introduction Issues of TCP over MANETs TCP Performance over MANETs Cross Layer TCP-ELFN (TCP and network) Approaches TCP Fairness over MANETs Network Layer Approaches Neighborhood RED Conclusion 2/41 Research Trend TCP performance over MANETs Most TCP performance studies are based on simulations and experiments rather than an analytical study Many approaches Single layer Cross layer TCP Link, Mac TCP and network TCP and physical Network and physical TCP fairness over MANETs Many investigation papers A few suggestions Neighborhood RED 3/41 Issues of TCP over MANETs Lossy channels High bit error rate Path asymmetry Bandwidth asymmetry Loss rate asymmetry The backward path is much more lossy than the forward path It may produce bandwidth asymmetry Route asymmetry Due to lack of transmission power Distinct paths for TCP data and TCP ACKs 4/41 Issues of TCP over MANETs Network partition Due to node mobility and energy constrained operation If disconnectivity > RTO The TCP sender will trigger exponential backoff Doubling the RTO After the network is connected again, TCP is still in the backoff state 5/41 Issues of TCP over MANETs Routing Very frequent events in MANETs Due to node mobility and repeated transmission failure from link layer contention After route re-establishment TCP will face a brutal fluctuation in RTT Power failures constraints Power saving – reducing the power consumption Power control – adjusting the transmission power of mobile nodes 6/41 Issues of TCP over MANETs TCP Congestion Control TCP uses the occurrence of losses to detect congestion In MANETs, random wireless errors and mobility serves as primary contributor to losses as well as congestion More than 80% of the losses in the network are due to link failures Essentially, most losses in ad-hoc networks occur as a result of route failures If TCP enters congestion control state because of packet losses caused by random wireless errors and mobility, then the throughput of TCP can be degraded significantly 7/41 Why TCP? Many drawbacks of TCP New Transport Protocol for MANETs? ATP Layer Coordination Rate Based Transmissions TCP for MANETs? A large number of application Seamless integration with the Internet 8/41 Index Introduction Issues of TCP over MANETs TCP Performance over MANETs Cross Layer TCP-ELFN (TCP and network) Approaches TCP Fairness over MANETs Network Layer Approaches Neighborhood RED Conclusion 9/41 TCP ELFN (Explicit Link Failure Notification ) Analysis of TCP performance in static, linear, multi hop wireless network Analysis of TCP in MANETs using expected throughput and measured throughput Suggestion of TCP ELFN Simulation results 10/41 TCP performance in simple, static, linear multi-hop network A simple multi-hop network TCP-Reno throughput over an 802.11 fixed, linear, multi-hop network of varying length 11/41 Performance metric Performance metric Expected throughput = Σi=0∞ t i * Ti Σi=0∞ t i i: # of hops ti: the duration for which the shortest path contains i hops Ti: the throughput obtained “over a linear chain” using i hops Expected throughput does not take into account the performance overhead of determining new routes after route failures It serves as a upper bound of throughput in mobile network 12/41 Performance metric : Expected throughput Example Δt=to S Δt=t2 Δt=t1 R Throughput = TH1 S R Throughput = TH3 S R Throughput = TH1 Throughput in linear network when # hops is n t 0*TH1 + t1*TH2 + t2*TH1 Expected throughput = to + t1 + t2 13/41 Expected throughput and Measured Throughput Simulation environment ns network simulator TCP-Reno over 802.11 DSR, BSD’s ARP 30 nodes, 1500X300 m2 , the random waypoint The average throughput of 50 scenarios From 2m/s to 10m/s the throughput drops sharply 14/41 Comparison of measured and expected throughput for the 50 different Mobility patterns( 2m/s, 10m/s, 20m/s, 30m/s) 15/41 Zero Throughput T = 0s, route fail, packet dropped S R A B C R A B C R T = 18.1xxs, the second retransmission of data packet, dropped again due to stale cached route S C T = 6.1xxs, ACK dropped, due to stale cached route S B T = 6s, data packet retransmitted S A A B C T=42,90,120s no ACK from the TCP receiver R 16/41 Some facts In previous example, only for 6 s of 120 s the network is partitioned DSR’s stale cached route can degrade TCP throughput significantly DSR does not retransmit dropped packet when it receives Route Error Msg, and the TCP sender or receiver does not know about the packet loss The TCP sender waits for occurring time out Unnecessary RTO back-off of the TCP sender makes problems even worse 17/41 TCP ELFN Explicit Link Failure Notification (ELFN) The objective : To provide the TCP sender with information about link and route failures TCP sender can avoid responding to the failures as if congestion occurred DSR’s route failure message is modified A payload similar to the “host unreachable” ICMP message The sender and receiver’s addresses and ports and seq number TCP data S A Probing message B C DSR ROUTE ERROR + ELFN D R 18/41 TCP ELFN Sender reaction When It disables its retransmission timers and enters a “stanby” mode While If a TCP sender receives an ELFN, on standby, A packet is sent at periodic intervals to probe the network to see if a route has been established an acknowledgment is received, Then it leaves stanby mode 19/41 Simulation for the 50 different Mobility patterns( 2m/s, 10m/s, 20m/s, 30m/s) 20/41 Simulation for the different probing intervals and different window and RTO modification Different probing interval If the interval is too large, it delays the discovery of new routes If the interval is too small, the rapid injection of probes into the network will cause congestion and lower throughput 21/41 Index Introduction Issues of TCP over MANETs TCP Performance over MANETs Cross Layer TCP-ELFN (TCP and network) Approaches TCP Fairness over MANETs Network Layer Approaches Neighborhood RED Conclusion 22/41 Unfairness of TCP in MANETs Significant TCP unfairness in ad hoc wireless networks Channel capture Hidden terminal conditions The binary exponential backoff of IEEE 802.11 The RED scheme for wired networks Keeps the queue size relatively small and drops or marks packets proportional to the bandwidth share avg = (1-wq)*avg + wq*q It q: current queue size, wq: queue weight does not work in wireless ad hoc networks 23/41 RED in MANETs Simple simulation 3 FTP connections FTP2 is always starved 24/41 RED in MANETs Why does not RED work well in MANETs? A TCP connection penalized in channel contention drop more packets Congestion does not happen in a single node It may actually increase the unfairness Instead happens in an entire area involving multiple nodes Multiple nodes should coordinate their “packet drops”, rather than drop independently 25/41 Neighborhood RED Overview of NRED NRED extends the original RED scheme Each node keeps estimating the size of its neighborhood queue (distributed queue) Once the queue size exceeds a certain threshold, an overall drop probability is computed by the algorithm of RED This overall drop probability is then propagated to neighboring nodes for cooperative packet drops However, there is no real distributed queue in ad hoc network, so how to implement distributed queue? 26/41 Neighborhood and Its Distributed Queue Neighborhood A node’s neighborhood consists of the node itself and the nodes which can interfere with this node’s signals Distributed Queue of a Node The outgoing queue of the node itself 1-hop neighbors' outgoing queues 2-hop neighbors’ packets which are directed to a 1-hop neighbor of node A A node’s Neighborhood and it’s distributed queue 27/41 A Simplified Neighborhood Queue Model Simplified Model 2-hop neighborhood distributed queue model is not easy to implement and evaluate A lot of control packet overhead The packets in the 2-hop neighbors directed to a 1-hop neighbor are moved to the 1hop neighbor Outgoing queue – the original queue at a node Incoming queue – the packets from 2-hop neighbors 28/41 Neighborhood Random Early Detection (NRED) 3 problems to solve How to detect the early congestion of a neighborhood? Neighborhood Congestion Detection (NCD) When and how does a node inform its neighbors about the congestions? Neighborhood Congestion Notification (NCN) How do the neighbor nodes calculate their local drop probabilities? Distributed Neighborhood Packet Drop (DNPD) 29/41 Neighborhood Congestion Detection (NCD) A direct way to monitor the neighborhood queue size Every node broadcast a control packet to announce its queue size A lot of control overhead will be caused A passive measurement technique An alternate measure related to queue size A relationship between channel utilization and the size of both outgoing and incoming queues Channel utilization When these queues are busy, channel utilization around the node is more likely to increase How to know the channel utilization of neighborhood? 30/41 Neighborhood Congestion Detection (NCD) A passive measurement technique data A A packet in outgoing queue is transmitted CTS A A packet is received to any incoming queue 31/41 Neighborhood Congestion Detection (NCD) A node monitors five different radio state Transmitting (Ttx) Receiving (Trx) Carrier sensing busy (Tcs) Virtual carrier sending busy (Tvcs) Idle (Tidle) By monitoring the five radio states, a node can now estimate 3 channel utilization ratio Total channel utilization Ubusy = Tinterval - Tidle Tinterval Ttx Transmitting ratio Utx = Tinterval Trx Receiving ratio Urx = Tinterval Tinterval = Ttx + Trx + Tcs + Tvcs + Tidle Ubusy reflects the size of the neighborhood queue Utx and Urx reflect the channel bandwidth usage of the outgoing queue and incoming queue at current node 32/41 Neighborhood Congestiond Detection (NCD) To facilitate the implementation of the RED algorithm, the channel utilization is translated into an index of the queue size Ubusy * W The queue size index q = C W:channel bandwidth, C: the average packet size Now the original RED scheme can be applied The average queue size , avg = (1-wq)*avg + wq*q If the queue size exceeds a certain threshold, the neighborhood is in congestion 33/41 Neighborhood Congestiond Notification (NCN) Drop probability Pb = Maxp* (Avg – Minth) Maxth - Minth Normalized Current node A broadcasts Drop probability to 1hop neighbors The Pb = Pb/avg broadcast message drop probability + life time Neighborhood nodes choose the largest drop probability, if they receive multiple NCN 34/41 Distributed Neighborhood Packet Drop Each node calculate its “share” of this overall drop probability according to its channel bandwidth usage Pb_local = Incoming queue drop probability Pb_lncoming = Outgoing Pb*(avgtx + avgrx) avg Pb * avgrx avg queue drop probability Pb_Outgoing = Pb * avgtx avg 35/41 Verification of queue size estimation Estimated Queue Size Real Queue Size <<Scenario>> <<Queue size of Node 5>> 36/41 Simulations – Previous Scenario maxp = 0.14 37/41 Simulations – Multiple congested neighborhood 1. Dropped packets already used the channel bandwidth 2. NRED tends to keep the wireless channel underutilized 38/41 Simulations – Mobility <<Scenario>> 39/41 Conclusion The standard TCP is optimized in context of wired networks Several issues of TCP over MANETs and characteristics of TCP in MANETs has been introduced In MANETs, the standard TCP shows poor performance In MANETs, packet losses is usually caused by high bit error rate, route failures as well as congestion To avoid to enter the TCP congestion control on route change, several improvements have been proposed The very poor fairness is shown by the standard TCP in MANETs For better TCP fairness, NRED has been proposed 40/41 References K. Xu, M. Gerla, L. Qi, and Y. Shu, “Enhancing TCP fairness in ad hoc wireless networks using neighborhood red,” in Proc. of ACM MOBICOM, San Diego, CA, USA, Sep. 2003, pp. 16–28. K. Sundaresan, V. Anantharaman, H.-Y. Hsieh, and R. Sivakumar. ATP: A reliable transport protocol for ad-hoc networks. In Proceedings of 4th ACM MobiHoc, pp. 64–75, 2003. G. Holland and N. Vaidya, “Analysis of TCP performance over mobile ad hoc networks,”ACM Wireless Networks, vol. 8, no. 2, pp. 275–288, Mar. 2002. Z. Fu, X. Meng, and S. Lu. How bad TCP can perform in mobile ad hoc networks. In Proceedings of 7th IEEE ISCC, 2002. V. Anantharaman and R. Sivakumar. A microscopic analysis of TCP performance over wireless ad-hoc networks.Presented in 2nd ACM SIGMETRICS (Poster Paper), 2002. F. Wang and Y. Zhang. Improving TCP performance over mobile ad-hoc networks with out-of-order detection and response. In Proceedings of 3rd ACM MobiHoc, pp. 217–225, 2002. 41/41