590 likes | 867 Views
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
E N D
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 VariantsAdditional 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.