Transport Protocols for Wireless Ad Hoc Networks

14
Transport Protocols for Transport Protocols for Wireless Ad Hoc Networks Wireless Ad Hoc Networks 1

description

Transport Protocols for Wireless Ad Hoc Networks. TCP Congestion Control. loss event = timeout or 3 duplicate acks. Problems in TCP over Wireless Ad Hoc Networks. Miss interpretation of packet loss TCP interprets any packet loss as a sign of congestion. - PowerPoint PPT Presentation

Transcript of Transport Protocols for Wireless Ad Hoc Networks

Page 1: Transport Protocols for Wireless Ad Hoc Networks

Transport Protocols for Transport Protocols for Wireless Ad Hoc NetworksWireless Ad Hoc Networks

1

Page 2: Transport Protocols for Wireless Ad Hoc Networks

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

Page 3: Transport Protocols for Wireless Ad Hoc Networks

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

Page 4: Transport Protocols for Wireless Ad Hoc Networks

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

Page 5: Transport Protocols for Wireless Ad Hoc Networks

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

Page 6: Transport Protocols for Wireless Ad Hoc Networks

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

Page 7: Transport Protocols for Wireless Ad Hoc Networks

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

Page 8: Transport Protocols for Wireless Ad Hoc Networks

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

Page 9: Transport Protocols for Wireless Ad Hoc Networks

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

Page 10: Transport Protocols for Wireless Ad Hoc Networks

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

Page 11: Transport Protocols for Wireless Ad Hoc Networks

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

Page 12: Transport Protocols for Wireless Ad Hoc Networks

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

Page 13: Transport Protocols for Wireless Ad Hoc Networks

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

Page 14: Transport Protocols for Wireless Ad Hoc Networks

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