Download presentation
Presentation is loading. Please wait.
Published byJulius Cole Modified over 9 years ago
1
Transport Protocols for Wireless Ad Hoc Networks 1
2
TCP Congestion Control EventStateTCP Sender ActionCommentary ACK receipt for previously unacked data SSCongWin = CongWin + MSS, If (CongWin > Threshold) set state to “Congestion Avoidance” Resulting in a doubling of CongWin every RTT ACK receipt for previously unacked data CACongWin = CongWin+MSS * (MSS/CongWin) Additive increase, resulting in increase of CongWin by 1 MSS every RTT Loss event detected by triple duplicate ACK SS or CAThreshold = CongWin/2, CongWin = Threshold, Set state to “Congestion Avoidance” Fast recovery, implementing multiplicative decrease. CongWin will not drop below 1 MSS. TimeoutSS or CAThreshold = CongWin/2, CongWin = 1 MSS, Set state to “Slow Start” Enter slow start Duplicate ACKSS or CAIncrement duplicate ACK count for segment being acked CongWin and Threshold not changed loss event = timeout or 3 duplicate acks 2
3
Problems in TCP over Wireless Ad Hoc Networks Miss interpretation of packet loss TCP interprets any packet loss as a sign of congestion. TCP sender reduces congestion window. On wireless links, packet loss can also occur due to random channel errors, handoffs or route changes. Not due to congestion. Reducing window may be too conservative. Leads to poor throughput. How to distinguish loss due to congestion from loss due to other wireless/mobility reasons? Frequent path break leads to throughput degradation Route reestablishment delay > RTO congestion notification reduce CW performance degradation 3
4
Factors that affect TCP performance Wireless transmission errors Multi-hop routes on shared wireless medium For instance, adjacent hops typically cannot transmit simultaneously Route failures due to mobility Unfairness 4
5
Wireless Transmission Errors If # of errors is small may be corrected by an error correcting code delivered Excessive bit errors result in a packet being discarded, possibly before it reaches the transport layer lost Random errors may cause Fast Retransmission retransmission of lost packet reduction in congestion window reduces the throughput (unnecessary) Sometimes congestion response may be appropriate When a channel is in a bad state for a long duration, it might be better to let TCP backoff Burst errors may cause Timeouts If wireless link remains unavailable for extended duration, a window worth of data may be lost driving through a tunnel passing a truck Timeout results in slow start Slow start reduces congestion window to 1 MSS, reducing throughput Reduction in window in response to errors unnecessary 5
6
TCP on Multi-hop Wireless TCP throughput drops with increase in #hops. Reasons Each hop adds additional self-contention. Also, more delay, more variability in delay, and more chance of packet loss. They increase RTO. Packet transmission can occur on at most one hop among 3 consecutive hops Contention between TCP Data and ACKs traveling in opposite directions 6
7
Impact of Mobility: TCP Throughput Think of a TCP session where one end point is a mobile. Route recomputations cause interruptions often longer than RTO. Source doubles RTO. Large original RTO or longer interruptions especially vulnerable. Explicit notifications have been found to be useful. Explicit route failure and route reconnect notifications to TCP source 7
8
Impact of MAC Unfairness ACK Traffic TAP1 TAP2 TAP3 TAP4 Notations: Obj = objective throughput for fair sharing Basic = no RTS/CTS Two longer flows starve Similar effect regardless whether RTS/CTS are used 8
9
How to Improve TCP Throughput Mask wireless loss from the TCP sender. TCP sender will not reduce congestion window Explicitly notify the TCP sender about cause of packet loss. TCP sender will not reduce congestion window for wireless losses. Solutions may be at the sender, at the receiver, or at an intermediate node (basestation). 9
10
TCP-F: TCP Feedback [9-3] Aims to minimize the throughput degradation resulting from the frequent path breaks Allows the source to be informed of a route disconnection as a result of node mobility. Avoid going through SS process Failure point (FP) detecting link break Originate Route Failure Notification(RFN) packet toward the source Every intermediate node updates its routing table and forwards toward the source, Or, if has an alternate route to the destination, discards RFN and use the alternate route. When the source receives RFN, it enters SNOOZ state The source stops transmitting all data packets It freeze all timers, the current cwnd size, and value of other state variables, such as RTT estimate, RTO.. It then initiates route failure timer: depend on the worst-case route repair time When the source receives route reestablishment notification (RRN) packet, or route failure timer is expired, Data transmission will be resumes and all timers and variables will be restored Do FP or intermediate nodes always find the path to the source ? 10
11
TCP-ELFN: TCP with Explicit Link Failure Notification [9-8] Similar to TCP-F, except for Handling ELFN Orignates “Destination Unreachable” ICMP error msg, or Piggy back ELFN on RERR message that is sent to the sender Detecting route reestablishment When the TCP sender receives the ELFN, Disables RTO, and enters a standby state Periodically originates probe packets to see if a new route is reestablished If receives an ACK for the probe, leaves standby state, and restore RTO Less dependent routing protocol 11
12
TCP-BuS: TCP with Buffering Capability and Sequence Information [9-10] Use explicit feed back, but more dependent on routing protocol ABR was proposed for underlying routing protocol When route break is detected, PN (pivot node): send Explicit Route Disconnection Notification(ERDN) to TCP-Bus sender buffers packets in transit from sender to PN until partial path is reestablished, Downstream intermediate node: send Route Notification(RN) to TCP-BuS receiver Intermediate node that receives an RN packet discards all packets belonging to the flow Routing protocol LQ destination: carries SEQ of TCP segment buffered at PN REPLY PN: carries SEQ of the last segment successfully received by receiver When route is repaired, PN: send Explicit Route Successful Notification(ERSN) to TCP-BuS Sender: understands The last successfully received packet at destination The packets buffered at PN, the packets lost in transition Receiver understands that lost packets will be delayed further To avoid unnecessary requests for fast retransmission, use selective ACK Packets in transit before route disconnection ; Destination node continue to send ACK 12
13
ATCP: Ad Hoc TCP [9-12] Compatible with TCP Implemented only at TCP sender New interpretation ECN (explicit congestion notification) or ICMP source quench: congestion ICMP DUR: link break 3 duplicated ACK: Avoid fast reTX and fast recovery (CW backoff) TCP state persist state to avoid CW backoff reTx by ATCP 13
14
Split TCP [9-13] To solve the degradation of throughput with increasing path length unfairness in wireless MAC (channel capture effect) Lessen impact of mobility Split a long TCP connection into a set of short concatenated TCP connections (called segments or zones) To operate at its own transmission rate Proxy node Buffering Local ACK Split congestion control and end- to-end reliability Congestion window: local ACK End-to-end window: end-to-end ACK Drawback: IP pay load encryption cannot be used 14
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.