Download TCP for Ad-hoc Networks

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Zero-configuration networking wikipedia , lookup

IEEE 1355 wikipedia , lookup

Deep packet inspection wikipedia , lookup

Network tap wikipedia , lookup

Computer network wikipedia , lookup

Piggybacking (Internet access) wikipedia , lookup

Airborne Networking wikipedia , lookup

Wake-on-LAN wikipedia , lookup

List of wireless community networks by region wikipedia , lookup

Internet protocol suite wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

TCP congestion control wikipedia , lookup

Transcript
Special Topics
on
Wireless Ad-hoc Networks
Lecture 5: TCP for Ad-hoc
Networks
University of Tehran
Dept. of EE and Computer Engineering
By:
Dr. Nasser Yazdani
Univ. of Tehran
Computer Network
1
Covered topic

Problems with TCP in MANET

How to improve TCP in MANET

References


Chapter 9 of the book
ATP: A Reliable Transport protocol for Ad-hoc
Networks.
Univ. of Tehran
Computer Network
2
Outlines

Problems with TCP in MANET

How to improve TCP in MANET
Univ. of Tehran
Computer Network
3
Issues of TCP in Ad hoc
1.
2.
3.
4.
5.
6.
7.
Induced traffic: Link level transmission affect
neighbors of sender and receiver.
Induced Throughput unfairness: throughput/delay
unfairness in link layer
Separation of congestion control, realiability and
flow control
Power and bandwidth constrains.
Misinterpretation of congestion:
Completely decoupled transport layer:
Dynamic topology.
Univ. of Tehran
Computer Network
4
Performance of TCP
Several factors affect TCP performance in
MANET:
 Wireless transmission errors
 Multi-hop routes on shared wireless medium


For instance, adjacent hops typically cannot
transmit simultaneously
Route failures due to mobility
Univ. of Tehran
Computer Network
5
Random Errors



If number of errors is small, they may be
corrected by an error correcting code
Excessive bit errors result in a packet being
discarded, possibly before it reaches the transport
layer
Problems




Fast retransmission of lost packet
reduction in congestion window
Reduction in congestion window reduces the
throughput
Burst Errors May Cause Timeouts
Univ. of Tehran
Computer Network
6
Impact of Multi-Hop Wireless
Paths
•Connections over multiple hops are at a disadvantage
compared to shorter connections, because they have
to contend for wireless access at each hop
Extent of packet delay or drop
increases with number of hops
1600
1400
1200
1000
800
600
400
200
0
TCP
Throughtput
(Kbps)
1 2 3 4 5 6 7 8 9 10
TCP Throughput using
2 Mbps 802.11 MAC
Number of hops
Univ. of Tehran
Computer Network
7
Mobile Ad Hoc Networks
[IETF-MANET]

Mobility causes route changes
Univ. of Tehran
Computer Network
8
Throughput Degradations with
Increasing Number of Hops

Packet transmission can occur on at most one hop
among three consecutive hops



Increasing the number of hops from 1 to 2, 3 results in
increased delay, and decreased throughput
Increasing number of hops beyond 3 allows
simultaneous transmissions on more than one link,
however, degradation continues due to contention
between TCP Data and Acks traveling in opposite
directions
When number of hops is large enough, the
throughput stabilizes due to effective pipelining
Univ. of Tehran
Computer Network
9
Ideal Throughput

f(i) = fraction of time for which shortest
path length between sender and
destination is I

T(i) = Throughput when path length is I

Ideal throughput = S f(i) * T(i)
Univ. of Tehran
Computer Network
10
Impact of Mobility
2 m/s
10 m/s
Ideal throughput (Kbps)
Univ. of Tehran
Computer Network
11
Impact of Mobility
20 m/s
30 m/s
Ideal throughput
Univ. of Tehran
Computer Network
12
Throughput degrades with
increasing speed …
Ideal
Average
Throughput
Over
50 runs
Actual
Speed (m/s)
Univ. of Tehran
Computer Network
13
But not always
…
30 m/s
20 m/s
Actual
throughput
Univ. of Tehran
Mobility pattern #
Computer Network
14
Why Does Throughput
Degrade?
mobility causes
link breakage,
resulting in route
failure
Route is
repaired
TCP sender times out.
Starts sending packets again
No throughput
No throughput
despite route repair
TCP data and acks
en route discarded
Univ. of Tehran
Computer Network
15
Why Does Throughput
Degrade?
mobility causes
link breakage,
resulting in route
failure
TCP sender
times out.
Backs off timer.
Route is
repaired
TCP sender
times out.
Resumes
sending
No throughput
No throughput
despite route repair
Larger route repair delays
especially harmful
TCP data and acks
en route discarded
Univ. of Tehran
Computer Network
16
Low Speed Scenario
C
D
B
C
D
B
A
C
D
B
A
A
1.5 second route failure
Route from A to D is broken for ~1.5 second.
When TCP sender times after 1 second, route still broken.
TCP times out after another 2 seconds, and only then resumes.
Univ. of Tehran
Computer Network
17
Higher (double) Speed
Scenario
C
D
B
C
D
B
A
C
D
B
A
A
0.75 second route failure
Route from A to D is broken for ~ 0.75 second.
When TCP sender times after 1 second, route is repaired.
Univ. of Tehran
Computer Network
18
General Principle




The previous two slides show a plausible
cause for improved throughput
TCP timeout interval somewhat (not
entirely) independent of speed
Network state at higher speed, when
timeout occurs, may be more favorable
than at lower speed
Network state



Link/route status
Route caches
Congestion
Univ. of Tehran
Computer Network
19
Improve Throughput
(Closer to Ideal)



Network feedback
Inform TCP of route failure by explicit
message
Let TCP know when route is repaired



Probing
Explicit notification
Reduces repeated TCP timeouts and
backoff
Univ. of Tehran
Computer Network
20
Performance Improvement
With feedback
Actual throughput
Without network
feedback
Univ. of Tehran
Ideal throughput
2 m/s speed
Computer Network
21
Performance Improvement
With feedback
Actual throughput
Without network
feedback
Univ. of Tehran
Ideal throughput
30 m/s
speed
Computer
Network
22
throughput as a fraction of
ideal
Performance with Explicit
Notification
1
0.8
Base TCP
0.6
With explicit
notification
0.4
0.2
0
2
10
20
30
mean speed (m/s)
Univ. of Tehran
Computer Network
23
Issues
Network Feedback
Network knows best (why packets are lost)
+ Network feedback beneficial
- Need to modify transport & network layer to
receive/send feedback
 Need mechanisms for information exchange
between layers
 [Holland99] discusses alternatives for
providing feedback (when routes break and
repair)


[Chandran98] also presents a feedback scheme
Univ. of Tehran
Computer Network
24
Impact of Caching



Route caching has been suggested as a
mechanism to reduce route discovery
overhead [Broch98]
Each node may cache one or more routes to a
given destination
When a route from S to D is detected as
broken, node S may:


Use another cached route from local cache, or
Obtain a new route using cached route at another
node
Univ. of Tehran
Computer Network
25
To Cache or Not to Cache
Average speed (m/s)
Univ. of Tehran
Computer Network
26
Why Performance Degrades
With Caching


When a route is broken, route discovery returns a
cached route from local cache or from a nearby
node
After a time-out, TCP sender transmits a packet on
the new route.
However, the cached route has also broken after it
was cached
timeout due
to route failure


timeout, cached timeout, second cached
route is broken
route also broken
Another route discovery, and TCP time-out interval
Process repeats until a good route is found
Univ. of Tehran
Computer Network
27
Issues
To Cache or Not to Cache




Caching can result in faster route “repair”
Faster does not necessarily mean correct
If incorrect repairs occur often enough,
caching performs poorly
Need mechanisms for determining when
cached routes are stale
Univ. of Tehran
Computer Network
28
Window Size After Route
Repair



Same as before route break: may be too
optimistic
Same as startup: may be too conservative
Better be conservative than overly
optimistic



Reset window to small value after route repair
Let TCP figure out the suitable window size
Impact low on paths with small delay-bw
product
Univ. of Tehran
Computer Network
29
Issues
RTO After Route Repair

Same as before route break


Same as TCP start-up (6 second)



If new route long, this RTO may be too small, leading to
timeouts
May be too large
May result in slow response to next packet loss
Another plausible approach: new RTO = function of
old RTO, old route length, and new route length



Example: new RTO = old RTO * new route length / old
route length
Not evaluated yet
Pitfall: RTT is not just a function of route length
Univ. of Tehran
Computer Network
30
Out-of-Order Packet Delivery

Out-of-order (OOO) delivery may occur due to:




Route changes
Link layer retransmissions schemes that deliver OOO
Significantly OOO delivery confuses TCP,
triggering fast retransmit
Potential solutions:


Deterministically prefer one route over others, even if
multiple routes are known
Reduce OOO delivery by re-ordering received packets


can result in unnecessary delay in presence of packet loss
Turn off fast retransmit

can result in poor performance in presence of congestion
Univ. of Tehran
Computer Network
31
Impact of Acknowledgements


TCP Acks (and link layer acks) share the
wireless bandwidth with TCP data packets
Data and Acks travel in opposite
directions


In addition to bandwidth usage, acks require
additional receive-send turnarounds, which
also incur time penalty
To reduce frequency of send-receive
turnaround and contention between acks and
data
Univ. of Tehran
Computer Network
32
Impact of Acks: Mitigation


Piggybacking link layer acks with data
Sending fewer TCP acks - ack every d-th
packet (d may be chosen dynamically)


but need to use rate control at sender to reduce
burstiness (for large d)
Ack filtering - Gateway may drop an older
ack in the queue, if a new ack arrives

reduces number of acks that need to be
delivered to the sender
Univ. of Tehran
Computer Network
33
TCP in Mobile Ad Hoc Networks
Issues (summary)


Route changes due to mobility
Wireless transmission errors


Out-of-order packet delivery



frequent route changes may cause out-of-order delivery
TCP does not perform well if packets are significantly OOO
Multiple access protocol


problem compounded with multiple hops
choice of MAC protocol can impact TCP performance significantly
Half-duplex radios


cannot send and receive packets simultaneously
changing mode (send or receive) incurs overhead
Univ. of Tehran
Computer Network
34
Impact of MAC - Delay Variability


As wireless medium is shared between multiple
sources, the round-trip delay is variable
Also, on slow wireless networks, delay is large




made larger by send-receive turnaround time
Large and variable delays result in larger RTO
On packet loss, timeout takes much longer to occur
Idle source (waiting for timeout to occur) lowers
TCP throughput
Univ. of Tehran
Computer Network
35
Impact of MAC - Delay
Variability
Several techniques may be used to mitigate problem,
based on minimizing ack transmissions



to reduce frequency of send-receive turnaround and
contention between acks and data
Piggybacking link layer acks with data
Sending fewer TCP acks - ack every d-th packet (d
may be chosen dynamically)


but need to use rate control at sender to reduce burstiness (for
large d)
Ack filtering - Gateway may drop an older ack in the
queue, if a new ack arrives

reduces number of acks that need to be delivered to the
sender
Univ. of Tehran
Computer Network
36
Header Compression for
Wireless Networks





In TCP packet stream, most header bits are identical
Van Jacobson’s scheme exploits this observation to compress
headers, by only sending the “delta” between the previous and
current header
Packet losses result in inefficiency, as headers cannot be
reconstructed due to lost information
Packet losses likely on wireless links
[Degermark96] proposes a technique that works well despite
single packet loss



“twice” algorithm
if current packet fails TCP checksum, assume that a single packet is lost
apply delta for the previous packet twice to the current header, and test
checksum again
Univ. of Tehran
Computer Network
37
Automatic TCP Buffer Tuning



Using too small buffers can yield poor
performance
Using too large buffers can limit number
of open connections
Automatic mechanisms to choose buffer
size dynamically would be useful
Univ. of Tehran
Computer Network
38
Sources of problems?









Misinterpretation of packet loss
Frequent path breaks
Effect of path length
Misinterpretation of congestion window
Asymmetric link behavior: location dependent
contention
Uni-directional path: each Ack requires RTS-CTSdata-Ack, more than 70 bytes of overhead
Multipath routing: out of order packet and dupAck.
Network partitioning and remerging
Sliding
size ofComputer
the window
39
Univ. ofWindow:
Tehran
Network
Design goals
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Maximize throughput per connection
Throughput fairness
Minimum connection setup and maintenance overhead.
Mechanisms for congestion and flow controls
Reliable and unreliable connections
Adapt to the dynamics of the network.
Resource, Bandwidth, used efficiently.
Aware of resource, battery, constraints.
End to end semantics
Use information from the lower layer
Well-defined cross-layer interaction for effective and
40
Univ. of Tehran
Computer Network
scalable
protocol
Different approaches

Adapt TCP for Ad hoc
Split-TCP
 End to end approaches
 Mostly the same problems discussed in Wireless
TCP


New Transport protocols
Application Control Transport Protocol (ACTP)
 Ad Hoc Transport Protocol (ATP)

Univ. of Tehran
Computer Network
41
ACTP protocol





A light weight transport layer protocol
Reliability is left to the application
It is like UDP with feedback
It supports priority
Advantages



It is scalable
No congestion window, then, path break does not affect
much thoughput
Disadvantages:


Not compatible with TCP
Might cause congestion in very large ad hoc Networks
Univ. of Tehran
Computer Network
42
ATP protocol



A reliable transport layer protocol
Coordination between different layers of the
protocol stack.
Rate based Transmission






Transmission is scheduled by timer
No need for self clocking
Avoid burstiness
Decoupling of congestion control and reliability.
Assisted Congestion control: regulate rate based on the
feedback from network
TCP friendliness and fairness
Univ. of Tehran
Computer Network
43
ATP protocol

Intermediate node: keep Qt and Tt as the average
queuing and transmission delay. They are
computed over all packet

Each packet has a D field, rate feedback, which is the maximum of
Qt + Tt in the upstream nodes the packet travese.

Receiver: send periodic feedback to the source with
value of D. it runs an epoch time of period E



Rate Feedback: an exponential averaging of D,
Reliability Feedback: use SACK with bigger blocks (20
here)
Flow Control feedback: done by received rate.
Univ. of Tehran
Computer Network
44
ATP protocol (cont)

Sender: Perform quick start, congestion control,
reliability and connection management


Quick start: Send a probe packet to calculate available
BW by considering D and the rate
Three congestion phases: Increase, decrease and
maintains




Increase: done more aggressively. If the current rate was less the
calculated one
Decrease: less conservative.
Maitain: if the currently rate was close to the feedback rate.
Reliability: receiver sends hole periodicly
Univ. of Tehran
Computer Network
45
Issues for Further
Investigation
Univ. of Tehran
Computer Network
46
Link Layer Protocols

“Pure” link layer designs that support
higher transport performance



some recent work in this area as noted
earlier
Identifying scenarios where link layer
solutions are inadequate
If TCP-awareness is absolutely needed,
provide an interface that can be used by
other transport protocols too
Univ. of Tehran
Computer Network
47
End-to-End Techniques


Existing techniques typically require
cooperation from intermediate nodes.
Such techniques often not applicable



encrypted TCP headers
TCP data and acks do not go through same base
station
End-to-end techniques would rely on
information available only at end nodes
Harder to design due to lack of complete
information about errors
Univ. of Tehran
Computer Network
 Explicit Notifications may make that easier

48
Impact of Congestion Losses


Past work typically evaluates performance
in absence of congestion
Relative performance improvement may
change substantially when congestion
occurs

performance improvement may reduce if
congestion is dominant, or if RTO becomes
larger due to wireless errors
Univ. of Tehran
Computer Network
49
Multiple TCP Transfers

Past work typically measures a single TCP
connection over wireless


When multiple connections share a wireless link,
other performance metrics may make sense



TCP throughput is the metric of choice
fairness
aggregate throughput
Relative performance improvements of various
schemes may change when multiple connections
are considered
Univ. of Tehran
Computer Network
50
TCP Window & RTO Settings
After a Move


Congestion window & RTO size at connection
open are chosen to be conservative
When a route change occurs due to mobility,
which values to use?



Same as before route change ---- may be too
aggressive
Same as at connection open ---- may be too
conservative
Answer unclear

some proposals attempt to use same values as before
route change, but not clear if that is the best
alternative
Univ. of Tehran
Computer Network
51
TCP for Mobile Ad Hoc
Networks



Much work on routing in ad hoc networks
Some recent work on TCP for ad hoc
networks
Need to investigate many issues



MAC-TCP interaction
routing-TCP interaction
impact of route changes on window size,
RTO choice after move
Univ. of Tehran
Computer Network
52