1 / 59

Transport Layer for Mobile Ad Hoc Networks

2. The Quest for the Transport Layer. Assess the state of the art of transport protocolsTarget environment: mobile ad hoc nets (MANET)Which is the best TCP variant?Do we need a new transport protocol?The question is very timely?. Introduction. 3. Network Architecture at a Crossroads. The communi

stevie
Télécharger la présentation

Transport Layer for Mobile Ad Hoc Networks

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    1. 1 Transport Layer for Mobile Ad Hoc Networks Based on slides by: Eric Law, UCR March 2005

    2. 2 The Quest for the Transport Layer Assess the state of the art of transport protocols Target environment: mobile ad hoc nets (MANET) Which is the best TCP variant? Do we need a new transport protocol? The question is very timely…

    3. 3 Network Architecture at a Crossroads The community recognizes the need for change Wireline-centric network design is “obsolete” New network environments have emerged Ad hoc, sensors, consumer-owned, delay-tolerant New networking technologies have emerged UWB, cooperative approaches, MIMO, directed antennas

    4. 4 New Class of Networks Thousands of nodes, highly resource constrained, highly unreliable wireless links, low duty cycle (smartdust) Tens - thousands of nodes, Nano-sensors We expect to see a multi-tiered network. At the bottom end of this network we will have 100 - 1000s of small nodes for a given application - sensing nodes. These nodes are likely to be very small battery operated -- which means they will be resource constrained and their wireless links will be low bandwidth and unreliable. Clearly each node individually is not very useful but 100s of them together can form a system and can do something useful. But these networks have to be self configuring and managing as it is not practical for a person to manage them. At the next level up we expect to see relatively more powerful nodes and devices such as robots with cameras, -- some of these devices will be also be battery operated or they may use energy harvesting, or solar energy depending on the location. Still they are likely to be resource constrained and will have to self organizing and managing. And so on… Clearly these are networks that are very different from what we have been building for the past 20-30 years. Ambient Intelligence would mean compared to today Much larger number of nodes per application/network Much larger number of networks per person/household/enterprise/industry/soldier Diversity of links and requirements Need for global connectivity That is what we mean by networking at large… We expect to see a multi-tiered network. At the bottom end of this network we will have 100 - 1000s of small nodes for a given application - sensing nodes. These nodes are likely to be very small battery operated -- which means they will be resource constrained and their wireless links will be low bandwidth and unreliable. Clearly each node individually is not very useful but 100s of them together can form a system and can do something useful. But these networks have to be self configuring and managing as it is not practical for a person to manage them. At the next level up we expect to see relatively more powerful nodes and devices such as robots with cameras, -- some of these devices will be also be battery operated or they may use energy harvesting, or solar energy depending on the location. Still they are likely to be resource constrained and will have to self organizing and managing. And so on… Clearly these are networks that are very different from what we have been building for the past 20-30 years. Ambient Intelligence would mean compared to today Much larger number of nodes per application/network Much larger number of networks per person/household/enterprise/industry/soldier Diversity of links and requirements Need for global connectivity That is what we mean by networking at large…

    5. 5 A New Era Has Begun Difficult interfaces to physical world Highly resource constrained Highly heterogeneous Unusually long life time Unprecedented scale Highly critical security and privacy Difficult interfaces to physical world Highly resource constrained Highly heterogeneous Unusually long life time Unprecedented scale Highly critical security and privacy

    6. 6 The Role of Networking is Central

    7. 7 Revisiting the Architecture The vision: Wireless as an integral part of the network Multiple wireless hops: not just the last mile Pockets of wireless ad hoc connectivity A new protocol stack is required Is TCP/IP capable of delivering?

    8. 8 Revisiting The Hourglass BORROW SLIDE FROM GuruBORROW SLIDE FROM Guru

    9. 9 Problem: Evaluate TCP Why does TCP perform poorly in MANETs? Developed for wire-line networks. Assume all losses are due to congestion. Many TCP variants have been proposed. How good are they? Are they sufficient? Are there any other alternatives? Are non-TCP protocols the solution?

    10. 10 Our goal Identify the problems of TCP in MANETs. Evaluate various major TCP variants. 12 TCP variants, 7 improvement techniques Observations: Most TCP variants are NOT sufficient. A new transport layer protocol is needed.

    11. 11 Overview of Results The best TCP variants: TCP-Westwood and TCP-Jersey seem the best. Both protocols estimate bandwidth more accurately. TCP mechanisms: Feedback from intermediate nodes leads to big gains. The best non-TCP approaches: Ad-hoc Transport Protocol (ATP) seems to address most issues Non-window based: estimates achievable rate periodically Split-TCP: promising new way of looking at transport layer Dynamically buffer packets mid-path Key: Separation of congestion control from reliability. Which mechanisms are good?Which mechanisms are good?

    12. 12 Roadmap Overview of TCP The problems of TCP over MANETs Overview of best transport protocols In depth Specific problems of TCP over MANETs Details of major TCP variants Discussion - other efforts Conclusion

    13. 13 Overview of TCP concepts Conventional TCP: Tahoe, Reno, New-Reno Sending rate is controlled by Congestion window (cwnd): limits the # of packets in flight Slow-start threshold (ssthresh): when CA start Loss detection 3 duplicate ACKs (faster, more efficient) Retransmission timer expires (slower, less efficient) Overview of congestion control mechanisms Slow-start phase: cwnd start from 1 and increase exponentially Congestion avoidance (CA): increase linearly Fast retransmit and fast recovery: Trigger by 3 duplicate ACKs We may need a second slide here to put a figure the typical sawtooth of TCPWe may need a second slide here to put a figure the typical sawtooth of TCP

    14. 14 What is different in MANETs? Mobility Route stability and availability High bit error rate Packets can be lost due to “noise” Unpredictability/Variability Difficult to estimate time-out, RTT, bandwidth Contention: packets compete for airtime Intra-flow and inter-flow contentions Long connections have poor performance More than 4 hops thruput drops dramatically

    15. 15 Overview of the Best Protocols TCP-Westwood [Casetti et. al.] Estimate bandwidth to alleviate the effect of wireless errors. TCP-Jersey [Xu et. al.] Estimate bandwidth to alleviate the effect of wireless errors. Congestion warning assists the determination of packet loss due to wireless error from congestion. ATP [Sundaresan et. al.] Rate based transmission, periodic rate feedback, no timeout concept, reliability provided by SACK. Split-TCP [Kopparty et. al.] Separating congestion control from reliability. Dropped packets are recovered from the most recent proxy instead of the source.

    16. 16 Why does TCP fail in MANETs? Specific problems are identified: TCP misinterprets route failures as congestion TCP misinterprets wireless errors as congestion Intra-flow and inter-flow contention reduce throughput and fairness Delay spike causes TCP to invoke unnecessary retransmissions RTO too small ? unnecessary retransmissions. Inefficiency due to the loss of retransmitted packet When retransmitted packet is lost? timer expires ? performance drops

    17. 17 Roadmap Overview of TCP The problems of TCP over MANETs Overview of best transport protocols In depth Specific problems of TCP over MANETs Details of major TCP variants Discussion - other efforts Conclusion

    18. 18 Specific problems of TCP over MANETs TCP misinterprets route failures as congestion Effects: Reduce sending rate Buffered packets (Data and ACKs) at intermediate nodes are dropped. Sender encounters timeout. Under prolonged disconnection, a series of timeouts may be encountered.

    19. 19 TCP misinterprets wireless errors as congestion Effects: Incorrect execution of congestion control ? Performance drops. Wireless channel is error-prone compared to wireline Fading, interference, noise Specific problems of TCP over MANETs

    20. 20 Intra-flow and inter-flow contention Effects: Increased delay, unpredictability, and unfairness. Inter-flow contention: contention of nearby flows. Intra-flow contention: between packets of the same flow (e.g. forward data and reverse ACKs). Wireline: only packet on same link “compete” Specific problems of TCP over MANETs

    21. 21 Delay spike causes TCP to invoke unnecessary retransmissions Effects: Performance drops and many unnecessary retransmissions. [Ludwig & Katz] Variability: Spikes are not uncommon here Spikes throw off parameter estimation and tuning RTO, window size, slow-start threshold Specific problems of TCP over MANETs

    22. 22 Inefficiency due to the loss of retransmitted packet Effects: Performance drops significantly under high loss environment (e.g. MANETs). Losing a retransmitted packet hurts TCP can recover from one loss (fast retransmission) Wired networks: packet loss rate is low. Here, high packet loss makes the problem significant Specific problems of TCP over MANETs

    23. 23 Classification of Transport protocols TCP variants try to improve the performance by the following ways: Estimating the available bandwidth Determining route failure and wireless error Reducing contention Detecting spurious retransmission Exploiting buffering capability New approaches: Non TCP variants Use rate based instead of window based approach Enable dynamic buffering (split TCP)

    24. 24 Estimating the available bandwidth TCP-Vegas [Brakmo et. al.] Use difference = expected rate - actual rate to regulate the sending rate. Pro: Avoid congestion and typical loss at the end of the slow-start. Con: Route changes invalidate rate calculation. Unfairness problems. TCP-Westwood [Casetti et. al.] Use the rate of return of ACKs to estimate bandwidth. Sender re-computes the cwnd and ssthresh upon any loss. Pro: Robust to wireless errors. Con: Route changes invalidate bandwidth estimation. Depends on the behavior of returned ACKs. TCP-Jersey [Xu et. al.] Use the rate of return of ACKs to estimate bandwidth. Intermediate nodes warn sender of congestion Pro: Robust to wireless error Pro:Avoids congestion proactively Con: Require assistance from intermediate nodes. Depends on the behavior of returned ACKs.

    25. 25 Determining Route Failure and Wireless Error Explicit Link Failure Notification (ELFN) [Holland & Vaidya] Upstream node of the failed link notifies the sender of the failure. Disable timers, stop all data transmission and send probing to detect restored route. Pro: Avoid execution of congestion control upon route failures. Con: Old TCP states (cwnd and timer) are used after route restoration. Ad-hoc TCP (ATCP) [Liu & Singh] Hide errors from TCP sender (timeout and the 3rd DUPACKs). Employ ECN and route failure notification to assist TCP’s decision. Pro: Does not modify TCP itself. Con: Require assistance from intermediate nodes. ADTCP [Fu et. al.] Use multiple metrics to determine the network behavior: Congestion, Channel error, Route change, Disconnection states. Pro: Does not rely on intermediate node feedback. Con: Thresholds used to determine network states must be carefully defined.

    26. 26 Reducing Contention Adaptive Congestion Window Limit (CWL) [Chen et. al.] Upper bound of bandwidth-delay product of a chain is kN. 1/8 < k < 1/4, N is the “round-trip hop-count x packet size” From experiment, k approximately 1/5 of the round-trip hop-count. Pro: Adapt the maximum cwnd to avoid excessive contention. Con: Can only apply in chain of nodes. Does not account for the nearby flows. Link RED (LRED) and Adaptive Pacing (AP) [Fu et. al.] Intermediate nodes mark packets when: the average # of retires of current transmission > threshold. Sender reduces sending rate. Nodes back-off an additional time if they start to markpackets Pro: Avoid congestion and reduce contention. Con: Require modification at link-layer on each node. TCP Adaptive Delayed Acknowledgement (TCP-ADA) [Singh & Kankipati] Send one ACK for a window of data. Pro: Reduce the number of ACKs and thus reduce contention. Con: Increase burstiness of the forward transmissions.

    27. 27 Detecting Spurious Retransmission TCP-Eifel [Ludwig & Katz] Use timestamp option of TCP to solve retransmission ambiguity. Sender can determine whether the received ACK is from original transmission or retransmission. After retransmission, if next ACK is from original transmission ? spurious! Restore the cwnd and ssthresh if spurious retransmission is detected. Pro: Robust to sudden delay spike. Con: Require the use of timestamp option or modification of TCP header.

    28. 28 Buffering capability and Sequence information (TCP-BuS)[Kim et.al.] Use explicit route failure notification to detect route failure. When route failure occurs, intermediate nodes buffer the pending packets and TCP sender doubles the retransmission timeout (RTO) value. Avoid timeouts and unnecessary retransmissions. Pro: Reduce the number of timeout events ? reduce the number of retransmissions. Con: Require assistance from intermediate nodes. Special routing protocol is used.

    29. 29 Non-TCP based approaches

    30. 30 A Rate-based Transport Layer Protocol Ad-hoc Transport Protocol (ATP) [Sundaresan et. al.] Feedback from intermediate nodes path failure, queueing delay, periodic feedback on rate Rate based transmission Entirely rate-controlled. (no window concept) Evenly distribute transmissions over time. (reduce burstniess) Decoupling of congestion control and reliability Does not require the arrival of ACKs to clock out segment. Does not employ cumulative ACKs but solely relies on periodic SACK (with 20 SACK blocks) to identify losses. Pro: 1) Estimate rate accurately. 2) Reduce traffic on the reverse path. 3) Recover more than one lost segment at a time. Con: 1) Incompatibility problem. 2) Require the assistance from the intermediate nodes. 3) Fastest possible time to detect and recover packet lost is 1 second.

    31. 31 Split-TCP: a new approach Split-TCP: work done at UCR [Kopparty et. al.] Setup proxies along the connection ? many short TCP connections. Congestion control and reliability are separated. Proxies buffer packets from the previous proxy or the source. Any dropped packets are recovered from the most recent proxy but not from the source. Pro: Enhance parallelism. Reduce bandwidth consumption on retransmission. Con: Optimal frequency of proxy placement is not clear.

    32. 32 Split TCP in more detail

    33. 33

    34. 34

    35. 35

    36. 36

    37. 37

    38. 38

    39. 39

    40. 40

    41. 41 Conclusion of Overview We identify the factors that degrade the performance of TCP over MANETs. We identify the most promising TCP variants: TCP-Westwood, TCP-Jersey Current TCP variants do not seem sufficient Promising transport protocols emerge Split-TCP, ATP

    42. 42 TCP Variants Additional Information

    43. 43 TCP-Vegas Rate-based congestion control diff = expected rate – actual rate If diff < a, Vegas increases cwnd linearly If diff > b, Vegas decreases cwnd linearly If a< diff < b, Vegas keeps cwnd unchanged Modified slow-start Allows cwnd to grow exponentially only in every other RTT If diff > c, Vegas switches from slow-start to congestion avoidance New retransmission Reads and records transmission time. When DUPACK arrives, checks if it is expired. Retransmits without waiting for third DUPACK.

    44. 44 TCP-Westwood - I Bandwidth estimation Measure the rate of return of ACKs. Adaptive to variation of inter-arrival of ACKs. Exponentially goes to zero upon prolonged absence of ACKs. Faster recovery Compute cwnd and ssthresh using the estimated bandwidth upon any loss event.

    45. 45 TCP-Westwood - II Main idea: Bandwidth estimation Sender monitors ACKs to estimate the bandwidth available to the connection. Two pieces of information are used: ACK reception rate. Information the ACKs conveys (amount of data delivered). Bandwidth calculation The sampled bandwidth (bk) at time tk is: where dk is amount of data delivered and ?k is the time difference between the recent and the last reception of ACK. Discrete-time filter (Tustin approximation). The filtered estimate of the available bandwidth at time tk is: where and 1/t is the cutoff frequency of the filter. The weight ak are made to depend on Dk to counteract the effect of non-deterministic inter-arrival times.

    46. 46 TCP-Jersey Available Bandwidth Estimation Time-sliding window estimator Congestion Warning (CW) Mark all packets if the average queue length exceeds a threshold. DUPACK with CW mark ? congestion DUPACK without CW mark ? wireless error Adjust cwnd and ssthresh if receives (DUP)ACK with CW mark Explicit retransmit If DUPACK without CW mark, retransmits with cwnd unchanged

    47. 47 Explicit Link Failure Notification (ELFN) Upstream node of the failed link sends a “host unreachable” ICMP message to the sender. Sender disables retransmission timers and enters a “standby” mode. Periodic probing to detect restored route. Restores retransmission timers and continues transmissions when ACK is received.

    48. 48 Link RED (LRED) and Adaptive Pacing (AP) Link RED (LRED) Maintain an average # of retries of recent packet transmission. If exceeds the minimum threshold minth, LRED marks packets with probability depending on the average # of retries value. TCP will then reduces sending rate. Adaptive Pacing (AP) Distribute traffic in a more balanced way. Let some nodes wait an extra amount of back-off period. Use in conjunction with LRED. When LRED starts to mark packets, AP increases the back-off time of the pending transmission.

    49. 49 Congestion Window Limit (CWL) The maximum spatial reuse of wireless channel is 1/4 of the chain. When 1 transmits, 2 and 3 cannot transmit, but 4 can. Assume perfect scheduling and no contention. TCP achieves best throughput when cwnd is approximately 1/5 of the round-trip hop-count (RTHC). Adaptively adjust the maximum cwnd to ensure the spatial reuse is not exceeded.

    50. 50

    51. 51 Other Transport Layer Efforts Can FAST TCP and XCP work well over MANETs? Do not seem suitable for MANETs. Basic idea: React faster to change. Fast TCP [Jin et. al.] Determine equilibrium by queuing delay and loss information. cwnd far away from equilibrium? ? Rapid (Large) change. cwnd approach equilibrium? ? Small change. XCP [Katabi et. al.] Explicit congestion signaling. Intermediate nodes estimate spare bandwidth and generate feedback to the sender. Neither protocol can deal with mobility. Mobility and route changes will throw off calculations.

    52. 52 Ad-hoc TCP (ATCP) Normal state Connection initialization. TCP works normally. Loss state RTO almost expired or ATCP receives the 3rd DUPACK. TCP in persist mode (no congestion control). ATCP retransmits lost segment. Congested state When ECN is received. TCP works normally. Disconnected state When “Destination Unreachable” is received. TCP in persist mode. Send probe packets to detect re-connection.

    53. 53 ADTCP Classification of network states Congestion(CONG), Channel error(CHERR), Route change(RTCHG), Disconnection(DISC) Multiple metrics Inter-packet delay difference (IDD) Short-term throughout (STT) Packet Out-of-order delivery Ratio (POR) Packet Loss Ratio (PLR) Identifying network states

    54. 54 Detecting Spurious Retransmission TCP-Eifel [Ludwig & Katz] Use timestamp option of TCP to solve retransmission ambiguity. Sender can determine whether the received ACK is from original transmission or retransmission. After retransmission, if next ACK is from original transmission ? spurious! Restore the cwnd and ssthresh if spurious retransmission is detected. Pro: Robust to sudden delay spike. Con: Require the use of timestamp option or modification of TCP header. Forward RTO-Recovery (F-RTO) [Sarolahti et. al.] If the first ACK after retransmission advances the window, send two new segments. If the next ACK still advances the window ? retransmission is likely to be spurious. (It should be a DUPACK generated by the new transmitted segments) Pro: Does not require the use of timestamp option. Con: Only detect spurious retransmission triggered by timeout.

    55. 55 TCP Adaptive Delayed Acknowledgement (TCP-ADA) Reduce # of ACKs ? reduce contention on forward data transmissions. Maximizing the number of packet received before an ACK is sent, K, increases TCP throughout. K is equal to a full window of packets. Receiver: estimate the average inter-arrival time of data packets. Wait “wait factor x average inter-arrival time” before sending the corresponding cumulative ACK. If the waiting time is completed, sends ACK.

    56. 56 ACK Congestion Control (ACC) & ACK Filtering (AF) ACK Congestion Control (ACC) Reduce frequency of ACKs. Use RED to mark ECN bit of packets. Packet with ECN bit set Sender: reduces the sending rate Receiver: increases multiplicatively the delayed-ACK factor, d For each subsequent RTT with no packet with ECN bit set Receiver: decrease linearly the delayed-ACK factor, d ACK Filtering (AF) ACKs are cumulative. Traverse the queue to remove some (or all) of the ACKs of the same flow.

    57. 57 Delayed retransmissions due to the use of coarse-grained timer [Brakmo et. al.] Timer Effects:Inaccuracy in the calculation of the RTO ? performance drops. RTT and mean variance estimates are computed using coarse-grained timer (around 500ms). This granularity influence also how often TCP checks for an timeout event. Calculated RTO is >= actual RTO. Why is it bad for MANETs? TCP heavily relies on this inefficient timeout mechanism to detect losses. Why? cwnd is usually small. Not enough DUPACKs to trigger the fast retransmit. Specific problems of TCP over MANETs

    58. 58 So Far, So Good: Next Steps Split-TCP: a new way to look at transport layer Separate congestion control from reliability Use control theory to analyze the problem Use directed antennas to improve TCP thruput “Focusing” the beam, minimizes interference Challenge: co-develop an appropriate MAC protocol Exploit other physical layer capabilities CDMA, cooperative diversity WE WANT TO PROPOSE COOL THINGS HERE And potentially have some more slidesWE WANT TO PROPOSE COOL THINGS HERE And potentially have some more slides

    59. 59 Exciting Projects at UCR Exploit Spatial Diversity in MANETs MIMO systems: multiple element antennas Cooperative diversity: virtual MIMO Develop secure wireless networks Detecting misbehavior and intrusions Develop a complete comprehensive architecture Develop UWB-based networks Design a CDMA-based MAC protocol Develop a routing protocol

    60. 60 Alleviating Asymmetry ACK Congestion Control (ACC) Use Random Early Detection (RED) algorithm to mark packets. When sender receives packets with mark ? reduce the sending rate. When receiver receives packets with mark ? multiplicatively increase the delay-ACK factor, d. If receiver receives no mark for a RTT ? linearly decrease the factor d. Pro: Reduce congestion on the constrained reverse path. Con: Require RED to be implemented in each node. Increase burstiness of the forward data flow. ACK Filtering (AF) Take the advantage of the fact that ACKs are cumulative. Remove some (or all) the ACKs buffered in the queue that belong to the same flow. Pro: Reduce congestion on the constrained reverse path. Con: Special queue management is needed. Increase burstiness of the forward data flow.

More Related