410 likes | 536 Views
TCP in Ad-Hoc Networks. CS 598 HL, Fall 2006. Problems of TCP over Ad Hoc. Interference-induced problems TCP Unfairness in Ad Hoc Wireless Networks and a Neighborhood RED Solution , K. Xu, M. Gerla, L. Qi and Y. Shu, ACM WINET to appear
E N D
TCP in Ad-Hoc Networks CS 598 HL, Fall 2006
Problems of TCP over Ad Hoc • Interference-induced problems • TCP Unfairness in Ad Hoc Wireless Networks and a Neighborhood RED Solution, K. Xu, M. Gerla, L. Qi and Y. Shu, ACM WINET to appear • The Impact of Multihop Wireless Channel on TCP Performance, Z. Fu, H. Luo, P. Zerfos, S. Lu, L. Zhang and M. Gerla, IEEE Transactions on Mobile Computing, March/April 2005 • Mobility induced problems • Analysis of TCP Performance over Mobile Ad Hoc Networks, G. Holland and N. Vaidya, ACM MobiCom, 1999
Random Early Dropping • Provide congestion control at the router for TCP flows • Congestion avoidance by average queue size management • Avoid global synchronization (e.g., in Tahoe TCP). • Control misbehaving users • Do not bias against bursty traffic
Definitions • Congestion avoidance – when impending congestion is indicated, take action to avoid congestion. • Incipient congestion – congestion that is beginning to be apparent. • Notify connections of congestion at the router • Mark the packet [ECN] • Drop the packet
Queue Management • Drop tail • Random drop • Random early drop • Neighborhood random early drop
Drop Tail Router • FIFO queueing mechanism that drops packets when the queue overflows. • Global synchronization
Synchronization of sources RTT A B C D Source A
Synchronization of sources RTT A B C D Aggregate Flow f(RTT) Avg
Desynchronized sources RTT A B C D Source A
Desynchronized sources RTT A B C D Aggregate Flow Avg
Random Drop Router • Randomly choose a packet from the queue to drop
Random Early Detection (RED) • Drop probability increases as the average queue length increases • Moving average of the queue length is used so as to detect long term congestion • Allow short term bursts
RED Drop Probabilities D(t) A(t) 1 maxP AvgLen minTh maxTh “count” counts how long it is in minTh < AvgLen < maxTh since last packet drop
RED Drop Probabilities • Uniformly spread out the packet drops • Geometric random variable • each packet dropped with probability pb • Uniform random variable • dropping probability is pb/ (1 - count x pb)
When collision causes DATA loss? • By hidden nodes: packets sent by D collide with A’s packets at node B preventing B from decoding A’s packets. • By repetitive retries due to “ordinary” collisions: it happens when C* rare event • Bybuffer overflow : due to increased waiting times not considered in this work
Neighborhood Queue • A node’s neighborhood consists of • 1-hop neighbors directly interferes • 2-hop neighbors may interfere • Queue size of the neighborhood reflects the degree of local network congestion
Simplified Neighborhood Queue • 2-hop neighborhood queue • Too much overhead • Not all 2-hop neighbors’ queues need to be counted • Simplified model • Only include 1-hop neighbors • Two queues at each neighbor • Distributed neighborhood queue • the aggregate of these local queues
Neighborhood RED • Extending RED to the distributed neighborhood queue • Key Problems • Counting the size of the distributed neighborhood queue • Calculating proper packet drop probability at each node • Components of Neighborhood RED • Neighborhood Congestion Detection (NCD) • Neighborhood Congestion Notification (NCN) • Distributed Neighborhood Packet Drop (DNPD)
Utilization ratio • Queue size index , W is channel bandwidth, C is a constant packet size CTS Channel busy Neighborhood Congestion Detection • Average queue size is calculated using RED • Congestion: queue size exceeds the minimal threshold • Applied separately at both incoming and outgoing queues • Direct way: Announce queue size upon changes • Too much overhead, exacerbate congestion • Indirectly estimate an index of queue size by monitoring wireless channel
NCN & DNPD • Neighborhood Congestion Notification • Drop probability over the whole neighborhood queue following RED • Broadcast the drop probability to 1-hop neighborhoods • Distributed Neighborhood Packet Drop • Local drop probability is proportional to local node’s channel usage • Out-going queue and in-coming queue management
NRED Summary • Wireless channel is a spatial resource • Node based management is inappropriate • Spatial definition and coordination are essential • Apply this general idea in RED based queue management – NRED: • Modeling – two queues for 2-hop neighborhood • Estimation – idle, tx, and rx time • Signaling – one-hop, broadcast, unicast • Control – distributed dropping • Other problems • Fair medium access control, routing, transport, applications • Measurements, security
4 hops Data Data ACK ACK The Pipeline and Spatial Reuse • Pipeline size • maximum concurrent transmissions • Wireline networks: • Wireless multi-hop networks:
Pipeline Overloading • Different consequences • Wireline networks: • Multi-hop wireless networks:
The Previous Work • Load sensitive transport capacity • Optimal load point for maximum spatial reuse • Overloading reduces throughput significantly • Up to 45% • How to detect such load point is critical
TCP Performance Measurement • Simulation Settings • Topology simulated: Chain, Cross, Grid and Random • Variable Number of TCP flows • Procedures • Artificially set maximum TCP sending window from 2 packets to a large number (unbounded) • Peak Throughput Measured at a best TCP sending window • Average Throughput Measured at a unbounded TCP sending window
Challenges of TCP Congestion Control • Absolute value of dropping rate is too low • Especially around the best window • Not sufficient to stabilize TCP around best window • Always overloads the network • Results in sub-optimal performance
Contention Packet Drop Dominates • Contention losses vs. buffer overflow • Almost all losses are due to contention • Buffer overflow losses are rare • Simulations in other scenarios confirm this result • The implications • TCP’s wire-line congestion control mechanism does not work well in multi-hop wireless network
Contention Drop Properties • Aggregated drop probability w.r.t. the load • The physical meanings of the two knee points • Under Load Case: m < B*, • c(m) = b(m), • from the above equation, L(m) is near zero • Over Load Case: B*<m<C*, • b(m) = B* and c(m) > B*, • L(m) increases with c(m) • Saturation Case: m>C*, • b(m) = B* and c(m) = C*; • L(m) stays flat C* B*
1 1 L(C*) Pmax 0 0 B* C* q_min q_max The RED-like Drop • RED is a local behavior tuned for TCP • Contention drop is a collection of local behaviors • Drop probability decided by global load level • Aggregation of local contentions collectively achieves the drop probability • Not tuned for any upper layer protocols Drop probability Drop probability Network load Queue length RED Contention Drop
L-RED Design • Goal • Improve TCP awareness of network contention level • Idea • Provides TCP with early contention notification • The algorithm • Extend the MAC dropping with early ECN marking • Use a smoothed retransmission count as contention level estimation • Triggers the marking by a minimum threshold • Shape the marking probability with RED-like curve
TCP Window Adaptation via L-RED • A simulation of TCP NewReno+ECN • Over a 7-hop chain topology • TCP is able to stabilize around its best window
Adaptive Pacing • Goal • Improve spatial reuse by transmission coordination • The algorithm • A node backs off an additional packet transmission time after each success • Wait for the packet to be forwarded out of its hidden area • Only activated when network is not congested • Which is monitored by L-RED
Transmission Coordination by Adaptive Pacing Pacing Backoff Channel Busy A B D E C
Improvements by Adaptive Pacing • A simulation of TCP NewReno+ECN • Over a 7-hop chain topology • Throughput improvement around best window
Performance Evaluations • Throughput improvement: 5%-30% • Improved inter-flow fairness • Better contention control of TCP • More fair wireless channel access • Avoid single node to capturing the channel for long time
Other Issues • Mobility issue • Explicit link failure notification • Similar idea to ECN • General mobility impact on distributed algorithms • “Mobility complexity” • Others? • Protocol overhead: ACK overhead reduction