Transport Layer for Mobile Ad
hoc Networks
CS – 647: Advanced Topics in
Wireless Networks
Drs. Baruch Awerbuch and Amitabh Mishra
Computer Science Department
Johns Hopkins
5-1
Reading
Chapter 7 – Ad Hoc & Sensor Networking,
Cordeiro & Agrawal, 2007
One of the suggested text for the course
5-2
Outline
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
5-3
TCP in Wired Network and
MANET
Data stream in Wired Network
ACKs stream
Data stream in a MANET
TCP TCP
Source 1 2 3 N Sink
4
ACKs stream
5-4
Introduction
Network Architecture at a
Crossroads
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
The R&D community recognizes the need for
change
5-5
Introduction
Revisiting the Current Transport
Architecture
The vision:
Wireless as an integral part of the network
Multiple wireless hops: not just the last mile
(Cellular)
Pockets of wireless ad hoc connectivity
A new protocol stack is required
Is TCP/IP capable of delivering?
5-6
Problem Statement
Why does TCP perform poorly in MANETs?
Developed for Wireline networks
Assumes all losses congestion related
Many TCP variants have been proposed
How good are they?
Are they sufficient?
Are there any other alternatives?
Are non-tcp protocols the solution?
5-7
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 may be/is
needed.
5-8
TCP Basics
Byte Stream Delivery
Connection-Oriented: Two communicating TCP
entities (the sender and the receiver) must first
agree upon the willingness to communicate
Full-Duplex: TCP almost always operates in full-
duplex mode,
TCP exhibit asymmetric behavior only during connection
start and close sequences (i.e., data transfer in the
forward direction but not in the reverse, or vice versa)
5-9
Reliable TCP Guarantees
A number of mechanisms help provide the guarantees:
Checksums: To detect errors with either the TCP header or data
Duplicate data detection: Discard duplicate copies of data that
has already been received
Retransmissions:
• For lost and damaged data
• Due to lack of positive acknowledgements
• Timeout period calls for a retransmission
Sequencing: To deliver the byte stream data to an application in
order
Timers: Various static and dynamic timers used for deciding
when to retransmit
Window: For flow control in the form of a data
transmission window size
5-10
Overview
Overview of TCP Concepts
Conventional TCP: Tahoe, Reno, New-Reno
Sending rate is controlled by 34
Congestion
Congestion window (cwnd): limits the #32 detected
of packets in flight 30
28
2
Slow-start threshold (ssthresh): when 26
CA start 24
Congestion windows size
22 3 n
io
st c e
Loss detection
e 4
20 ng an
Co oid Fast retransmit/
18 av
3 duplicate ACKs (faster, more
fast recovery
16 n
io
threshold e st c e
efficient) 14 ng an
Co oid
av
12
Retransmission timer expires (slower, 10
rt
rt
sta
sta
1 threshold
less efficient) 8
w
Slo
Slo
6
Overview of congestion control mechanisms4
2
Slow-start phase: cwnd start from 1 0
and increase exponentially 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
Time
Congestion avoidance (CA): increase Slow-start Congestion
linearly
avoidance
Fast retransmit and fast recovery:
Trigger by 3 duplicate ACKs
5-11
TCP Basics
34
Congestion
32 detected
30
2
28
26
24
Congestion windows size
22 n
tio e
3
e s c 4
20 ng an
Co oid Fast retransmit/
18 av
fast recovery
16 n
threshold s tio e
e c
14 o ng dan
C oi
12 av
rt
rt
10
sta
sta
1 threshold
8
w
w
Slo
Slo
6
4
2
0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
Time
Slow-start Congestion
avoidance
5-12
Congestion Control
Slow Start (SS): A mechanism to control the transmission rate)
When TCP connection starts (Initial Value): CWND =1,
congestion window increases by one segment for each
acknowledgement returned
Congestion Avoidance(CA): Used to reduce the transmission
rate
When Slow Start drops one or more packets due to
congestion
Fast Retransmit: Sender receiving triple duplicate ACKs
Immediate transmission of missing packet without waiting
for the Retransmission Timeout to expire
Fast Recovery: In SS or CA when sender receiving triple
duplicate ACKs Sender only enters Congestion Avoidance
mode
5-13
Overview
What is Different in MANETs?
1. Mobility
Route stability and availability
2. High bit error rate
Packets can be lost due to “noise”
3. Unpredictability/Variability
Difficult to estimate time-out, RTT, bandwidth
4. Contention: packets compete for airtime
Intra-flow and inter-flow contentions
5. Long connections have poor performance
More than 4 hops thruput drops dramatically
5-14
Overview
Overview of 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.
5-15
Why Does TCP Fail in MANETs?
Specific problems are identified:
1. TCP misinterprets route failures as congestion
2. TCP misinterprets wireless errors as congestion
3. Intra-flow and inter-flow contention reduce
throughput and fairness
4. Delay spike causes TCP to invoke unnecessary
retransmissions
RTO too small unnecessary retransmissions.
5. Inefficiency due to the loss of retransmitted packet
When retransmitted packet is lost timer expires
performance drops
5-16
Specific problems of TCP over MANETs
TCP in MANET
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.
5-17
Specific problems of TCP over MANETs
TCP in MANET
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
5-18
Specific problems of TCP over MANETs
TCP in MANET
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”
Wireless: all close by devices compete for the channel
Two nearby flows
Data stream
ACKs stream
5-19
Drawback of TCP Exponential Back Off
5-20
Impact of Partition on Throughput
A X Y
S P Z
B C
D
Link Failure
Data transfer continues
in spite of failure
No communication between the partitions
5-21
Effects of Partitions on TCP
Node 5 moves away from node 3 (short-term partition)
5-22
Reestablishing Path
5
2
8
1 7
3
9
6
4
The routing protocol reestablishes the path through node 6
5-23
Long Term Partition
Node 5 moves away from node 3 (long-term partition)
5-24
Long Term Network Partition
No communication between the partitions
5-25
TCP Throughput
Larger the number of nodes a TCP connection needs to span, lower is
the end-to-end throughput, as there will be more medium contention
taking place in several regions of the network
TCP throughput is inversely proportional to the number of
hops
5-26
Impact of Lower Layers on TCP -MAC
It is intended for providing an efficient shared broadcast
channel through which the involved mobile nodes can
communicate
In IEEE 802.11, RTS/CTS handshake is only employed when the
DATA packet size exceeds some predefined threshold
Each of these frames carries the remaining duration of time for
the transmission completion, so that other nodes in the vicinity
can hear it and postpone their transmissions
The nodes must await an IFS interval and then contend for the
medium again
The contention is carried out by means of a binary exponential
backoff mechanism which imposes a further random interval
At every unsuccessful attempt, this random interval tends to
become higher
5-27
Impact of Lower Layers on TCP -MAC
Consider a linear topology in which each node can only communicate with its
adjacent neighbors
In addition, consider that in Figures (a) and (b) there exist a single TCP
connection running between nodes 1 and 5
5-28
Capture Conditions
In Figure (c) where there are two independent connections,(connection 2-
3) (connection 4-5)
Assuming that connection 2-3 experiences collision due to the hidden node
problem caused by the active connection 4-5 , node 2 will back off and
retransmit the lost frame
At every retransmission, the binary exponential backoff mechanism
imposes an increasingly backoff interval, and implicitly, this is actually
decreasing the possibility of success for the connection 2-3 to send a
packet as connection 4-5 will “dominate” the medium access once it has
lower backoff value
In consequence, the connection 2-3 will hardly obtain access to the
medium while connection 4-5 will capture it
5-29
Network Layer Impact
Routing strategies play a key role on TCP
performance
There have been a lot of proposed
routing schemes and, typically, each of
them have different effects on the TCP
performance
5-30
DSR
DSR protocol operates on an on-demand basis in
which a node wishing to find a new route broadcasts
a RREQ packet
The problem with this approach concerns the high
probability of stale routes in environments where
high mobility as well as medium constraints may be
normally present
The problem is exacerbated by the fact that other
nodes can overhear the invalid route reply and
populate their buffers with stale route information
It can be mitigated by either manipulating TCP to
tolerate such a delay or by making the delay shorter
so that the TCP can deal with them smoothly
5-31
Path Asymmetry Impact
In Ad hoc networks, there are several asymmetries
Loss Rate Asymmetry: It takes place when the
backward path is significantly more error prone than
the forward path
Bandwidth Asymmetry: Arises when forward and
backward data follow distinct paths with different
speeds
Can happen in ad hoc networks when all nodes not have the
same interface speed
Media Access Asymmetry: Arises when TCP ACKs and
Data are contending for the same
5-32
Route Asymmetry
Route asymmetry implies having different paths in
both directions
Route asymmetry is associated with the possibility of
different transmission ranges for the nodes
The inconvenience with different transmission ranges
is that it can lead to conditions in which the forward
data follow a considerably shorter path than the
backward data (TCP ACK) or vice versa --> affecting
hop counts and delays (RTT)
Multi-hop paths are prone to have lower throughput
and TCP ACKs may face considerable disruptions
5-33
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.
5-34
TORA
TORA has been designed to be highly dynamic by
establishing routes quickly and concentrating control
messages within a small set of nodes close to the place
where the topological change has occurred
TORA makes use of directed acyclic graphs, where every
node has a path to a given destination and established
initially
This protocol can also suffer from stale route problem
similar to the DSR protocol
The problem occurs mainly because TORA does not
prioritize shorter paths, which can yield considerable
amount of out-of-sequence packets for the TCP receiver,
triggering retransmission of packets
5-35