Transport Protocols for Wireless Ad Hoc Networks
description
Transcript of Transport Protocols for Wireless Ad Hoc Networks
Transport Protocols for Transport Protocols for Wireless Ad Hoc NetworksWireless Ad Hoc Networks
1
TCP Congestion ControlTCP Congestion ControlEvent State TCP Sender Action Commentary
ACK receipt for previously unacked data
SS CongWin = CongWin + MSS, If (CongWin > Threshold) set state to “Congestion Avoidance”
Resulting in a doubling of CongWin every RTT
ACK receipt for previously unacked data
CA CongWin = 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 CA Threshold = CongWin/2, CongWin = Threshold,Set state to “Congestion Avoidance”
Fast recovery, implementing multiplicative decrease. CongWin will not drop below 1 MSS.
Timeout SS or CA Threshold = CongWin/2, CongWin = 1 MSS,Set state to “Slow Start”
Enter slow start
Duplicate ACK SS or CA Increment duplicate ACK count for segment being acked
CongWin and Threshold not changed
loss event = timeout or 3 duplicate acks
2
Problems in TCP over Wireless Ad Problems in TCP over Wireless Ad Hoc NetworksHoc NetworksMiss 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 degradationRoute reestablishment delay > RTO
congestion notification reduce CW performance degradation
3
Factors that affect TCP Factors that affect TCP performanceperformanceWireless transmission errorsMulti-hop routes on shared wireless
mediumFor instance, adjacent hops typically cannot
transmit simultaneously
Route failures due to mobilityUnfairness
4
Wireless Transmission ErrorsWireless 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
TCP on Multi-hop WirelessTCP 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
Impact of Mobility: TCP Impact of Mobility: TCP ThroughputThroughput 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
Impact of MAC UnfairnessImpact of MAC Unfairness
320.5 320.5 320.5
2 20
1247
3 27 40.7
1000
38.5 48
1177
1058.7988
0
400
800
1200
1600
TA(1) TA(2) TA(3) TA(4) Total
Goo
dp
ut
[kb
/sec
]
Obj. Basic RTS/ CTS
ACK Traffic
Ethe
rnet
Ethe
rnet
Ethe
rnet
Ethe
rnet
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
How to Improve TCP ThroughputHow 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
TCP-F: TCP Feedback [9-3]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
TCP-ELFN: TCP with Explicit Link TCP-ELFN: TCP with Explicit Link Failure Notification [9-8]Failure Notification [9-8]Similar to TCP-F, except forHandling ELFN
Orignates “Destination Unreachable” ICMP error msg, or
Piggy back ELFN on RERR message that is sent to the sender
Detecting route reestablishmentWhen 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 protocol11
TCP-BuS: TCP with Buffering TCP-BuS: TCP with Buffering Capability and Sequence Information Capability and Sequence Information [9-10][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 REPLYPN: 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
ATCP: Ad Hoc TCP [9-12]ATCP: Ad Hoc TCP [9-12]
Compatible with TCP Implemented only at
TCP sender
New interpretationECN (explicit
congestion notification) or ICMP source quench: congestion
ICMP DUR: link break3 duplicated ACK:
• Avoid fast reTX and fast recovery (CW backoff)
• TCP state persist state to avoid CW backoff
• reTx by ATCP
13
Split TCP [9-13]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