320 likes | 492 Views
ATP: A Reliable Transport Protocol for Ad-hoc Networks Sundaresan, Anantharam, Hseih, Sivakumar. TCP in MANET. TCP performance degrades significantly in MANET TCP assumes the packet losses as an indication of network congestion.
E N D
ATP: A Reliable Transport Protocol for Ad-hoc NetworksSundaresan, Anantharam, Hseih, Sivakumar
TCP in MANET • TCP performance degrades significantly in MANET • TCP assumes the packet losses as an indication of network congestion. • But link failures due to mobility are the primary reason for most of packet losses. • Some approaches as TCP variation to alleviate the performance degradation • Use cross layer notifications to report route failure • TCP-ELFN: Explicit Link Failure Notification • TCP-EPLN&BEAD • The authors have more to say: • TCP mechanisms are fundamentally inappropriate for ad-hoc networks
Outline • TCP in mobile ad-hoc networks and drawbacks • ATP (Ad-hoc Transport Protocol) • Performance evaluation • TCP, TCP-ELFN, ATP • Conclusions
Reliable Transportation in TCP (1) • Window based transmission • Slow-start • Loss based congestion detection • Linear increase multiplicative decrease • Dependence on Acks
Reliable Transportation in TCP (2) • Window Based Transmissions • Flow control: rwind How many more packets can the receiver handle? • Congestion control: cwind How many more packets can the network handle? • Sending rate is determined by min( rwind, cwind )
Window Based Transmissions - Burstiness • Leads to burstiness • Bunch of ACKs arrive together is quite common in MANET • Short-term unfairness of the CSMA/CA mechanism • Burstiness: bunch of ACKs trigger bunch of packets in a very short period. • Why is burstiness bad? • Varying round-trip time estimates cause RTO inflation • Potentially leads to delayed loss recovery • Bursty transmissions can result in higher contention at MAC layer; pose a problem especially under the heavy-load conditions
Burstiness in RTT measurements The value of RTT changes dramatically.
Slow Start • Exponential growth to available capacity • It takes several RTT periods to reach available bandwidth • Slow start is not a serious problem for wireline network • associations are expected in the congestion avoidance phase for most of the time. • Not good for wireless ad hoc network • Due to the dynamic nature of ad hoc network frequent packet losses → frequent timeouts → more slow start phases Again, packet loss does not necessarily mean congestion. • During the lifetime of an association, considerable amount of time is spent in slow start phase • Under-utilization of network resources
Time spent in Slow-Start phase • The time spent in Slow-Start increases with the increasing of the mobility. • The proportion of time goes above 50% for the higher load situation. • The connections spend a large portion of the lifetime probing for the available bandwidth. 50% Average time in Slow-Start phase. Total simulation time: 100s TCP New Reno
Loss Based Congestion Indication • TCP detects congestion through the occurrence of losses • Either three duplicate ACKs or a timeout • Congestion is by far the main source of packet losses in wireline network. • Losses in ad-hoc networks can occur due to either congestion or route failures • Loss on wireless links means try harder, loss on wired means backoff
Losses due to route failure 50% Significant portion of losses “perceived” to be due to route failures
Multiplicative Decrease • Multiplicative decrease on congestion window when TCP detects congestion • In MANET, losses can happen by route failure • A new route might be used instead • Slow start to reach available bandwidth • TCP-ELFN freezes the TCP sender while a new route is being calculated, but still uses the old congestion windows state after freezing • Congestion window state for previous route is not appropriate for the new route
Dependence on ACKs • TCP relies on ACK very much • The acknowledgement of the correct receiving. • The progression of its congestion window • Acks can amount to 10-20% of data stream rate • Large volume of ACKs introduces more contention in MAC layer if the same path is used as reverse path. • Large volume of ACKs increases the probability of experiencing route failures (loss of ACKs) if different path is used.
Outline • TCP in mobile ad-hoc networks and drawbacks • ATP (Ad-hoc Transport Protocol) • Performance evaluations • TCP, TCP-ELFN, ATP • Conclusions
Key design elements of ATP • Cross layer coordination • Rate based transmissions • This is the core of ATP • Decoupled congestion control and reliability
Layer Coordination • Similar to TCP-ELFN • Utilize explicit feedback from intermediate nodes. • ATP uses layer coordination for • Path failure notification • Initiating a sending-rate estimation for the new route
Rate based transmissions • What is rate based transmission • Transmit fixed size of data in each time interval. • GSM example, 260bits from speech codec in every 20ms • Use timer to clock the new data, not the sending window • Avoids drawbacks due to burstiness • The need for self-clocking by the arrival of ACKs is eliminated • Allows decoupling of congestion control mechanism from the reliability mechanism • Timer granularity in low bandwidth MANETS large enough to be realized without significant overheads
Decoupling of Congestion Control & Reliability • For congestion control: • Intermediate nodes provide the feedback of available rate. • The feedback is piggybacked on forward path and sent back from receiver to sender. • The sender adjusts the sending rate accordingly. • For reliability: • The receiver uses SACK to report any new holes in the data stream. • Only use SACK, no cumulative ACK
Detailed ATP • ATP Intermediate Node • ATP Receiver • ATP Sender
ATP Intermediate Node (1) • Two parameters are measured • Qt , the average queuing delay per packet at the node itself • Tt , the average transmission delay at the node’s transmitter • Qt and Tt are maintained on a per-node basis • Update after every instantaneous measurement • D = Qt +Tt , the total delay at current node, 1/D is the rate that the current node can handle.
Di Di-1 Source Node i Destination Node i+1 Node i-1 Max Delay ATP Intermediate Node (2) • ATP header has an additional field other than TCP header: the rate feedback D • Update the D in each outgoing packet
ATP Receiver (1) • The receiver provides periodic feedback to the sender for reliability and congestion control purpose • Feedback is triggered by an epoch timer of period E • Congestion & Flow Control feedback • Calculate the average delay for one flow • Application reading rate Rapp --- flow control • Send rate feedback to the sender The value of feedback
ATP Receiver (2) • Reliability feedback • Selective ACKs • Send out periodically to the sender • Contain at most 20 SACK blocks in every feedback packet (report 20 holes in the received data stream).
ATP Sender (1) • Quick Start • Send a probe packet to the receiver in order to get back the initial sending rate • After rate feedback comes back, the sender adjusts the sending rate accordingly. • The sender reaches available rate after 1 RTT. • Quick-start is performed both during • Associate establishment • New path takes place of the original path due to link failures.
ATP Sender (2) • Congestion Control • Three phases: (rate) increase phase, decrease phase, maintain phase • Update the sending rate S R : the new feedback rate; Φ: a small constant used to prevent fluctuations; k : a scale to reduce the increasing amount since increasing 1 pkt per sec in upper layer can introduce more control pkts in MAC layer.
ATP Sender (3) • In case of the loss of feedback packets • Multiplicative decrease of sending rate if feedback does not appear in every epoch time • If no feedback till the end of the third epoch, send a probe packet to the receiver • Reliability: Process the SACK information • Mark the packets for retransmission accordingly. • Data for retransmission have higher preference than new data.
Performance Evaluation • Simulation environment • ns2 simulator • 1000m*1000m square, 100 nodes • Random way point mobility with 3 speeds 1 m/s, 10 m/s, 20 m/s • DSR routing • IEEE802.11b MAC • Network load: 1 flow, 5 flows and 25 flows, resp. • Packet size: 512 bytes • Epoch time: 1 sec
Congestion window/rate progression vs. time (1 flow) Route failure Default TCP TCP-ELFN ATP
Congestion window/rate progression vs. time (25 flow) Default TCP TCP-ELFN ATP
Reasoning • ATP does not decrease its rate on route failures unless dicated by the rate feedback mechanism • Owing to quick-start, it quickly catches upto the available bandwidth • Once it reaches avalable capacity, it maintains a steady rate
Throughput vs. Mobility ATP TCP ELFN TCP default 5 flows 25 flows It would be interesting to see the comparison between ATP and TCP-EPLN&BEAD.
Conclusions • TCP not appropriate for MANETs • ATP looks promising • Rate based transmissions • Quick start • Decoupling of congestion control and reliability • Layer coordination • Avoid use of retransmission timeouts • What about VANETs?