Title: TCP in Wireless Networks: Issues, Approaches, and Challenges
1 TCP in Wireless Networks Issues, Approaches,
and Challenges
Dr. Ka-Cheong Leung Joint work with Professor
Victor O. K. Li
2Overview
- Review on TCP
- Issues of Running TCP on Wireless Networks
- Contributions
- Taxonomy of Solutions
- Overview of Existing Solutions
- Further Discussion
- Open Research Issues
3Review on TCP
- TCP
- byte-stream protocol
- cumulative ACK with next expected octet number
- credit-based flow control
- advertised window set by the destination
- number of unacknowledged data bytes the source
can send to the destination
4Review on TCP (Contd)
- Congestion control operations
- number of packets within the Internet kept below
the level at which network performance drops
significantly - cwnd set to 1 (maximum segment size) when a new
connection is established - slow start
- cwnd set to 1
- cwnd incremented by one for each ACK received
- retransmission timer
- timer timeout gt a segment loss gt network
congestion - ssthresh set to the half of the amount of
outstanding data - slow start until ssthresh
- congestion avoidance phase
- cwnd increased by 1 for each RTT
5Review on TCP (Contd)
- Congestion control operations (Contd)
- duplicate ACK
- data octet number of an arriving segment is
greater than the expected one - destination finds a gap in sequence number space
(sequence hole) - destination sends a duplicate ACK, an ACK with
the same expected data octet number in the
cumulative acknowledgement field - in-order communication channel
- reception of duplicate ACK gt a segment loss
6Review on TCP (Contd)
- Congestion control operations (Contd)
- fast retransmit
- source receives three duplicate ACKs
- inferred loss segment retransmitted immediately
- fast recovery
- fast retransmission suggests the presence of mild
network congestion - ssthresh set to the half of the amount of
outstanding data - cwnd set to ssthresh number of duplicate ACKs
received - cwnd reset to ssthresh and congestion avoidance
triggered when an ACK for a new segment arrives
7Review on TCP (Contd)
- Congestion control operations (Contd)
- popular TCP variants
- TCP Tahoe
- slow start, congestion avoidance, and fast
retransmit - for each inferred segment loss
- ssthresh set to half of the amount of outstanding
data - do slow start
- TCP Reno
- TCP Tahoe fast recovery
8Issues of TCP
- Taxonomy of wireless networks
- infrastructured networks
- planned, permanent network device installations
- cellular networks and most WLANs
- static infrastructured networks
- set up with fixed topology connected to backbone
network - wireless host can connect via a fixed point
(based station or access point) - satellite networks
- quasi-static or dynamic topology
- space segment comprises of satellites
- ground segment a number of base stations
(gateway stations) through which all
communications via long-haul satellite links take
place - terminal handoff
- mobile host (MH) moves away from the coverage of
its base station - MH hands over its proxy for communication from
one base station to another one
9Issues of TCP (Contd)
- Taxonomy of wireless networks (Contd)
- Ad hoc networks
- without a fixed topology
- direct communication the receiver is in the
transmission coverage of the sender - indirect communication
- send messages to a host in its transmission
coverage - receiving host relays the messages on its way to
the destination - merits flexibility, more robust
- drawbacks
- more difficult and complex to perform routing
- more difficult to control or coordinate proper
operation of an ad hoc network (for activities
like time synchronization, power management, and
packet scheduling)
10Issues of TCP (Contd)
- Characteristics of wireless networks
- channel contention
- signals are broadcast and interfere with each
other - transmissions may fail for concurrent
transmissions within the interference range of
either sender - medium access protocol needed for coordination
- TDMA-based multi-hop wireless networks
- limit the number of in-flight segments
concurrently - correlated arrivals of data segments and their
ACKs lead to contention for the wireless channel
11Issues of TCP (Contd)
- Characteristics of wireless networks (Contd)
- signal fading
- signals distorted or weakened
- propagated over an open, unprotected, and
ever-changing medium with irregular boundary - some signal may disperse and travel on different
paths due to reflection, diffraction, and
scattering caused by obstacles - mobility
- infrastructured networks
- protocol required to ensure seamless transition
during a handoff - packets may be lost during a handoff
- ad hoc networks
- transmission route recomputed to cater for
topological changes - effective and efficient routing protocol needed
for frequent topological changes
12Issues of TCP (Contd)
- Characteristics of wireless networks (Contd)
- limited power and energy
- power source may not be able to deliver power as
much as the one installed in a fixed device - hard to receive a continuous supply of power
- effective and efficient operations with power
management - minimize the number of transmissions and
receptions for certain communication operations - minimize the number of retransmissions for an
energy efficient TCP
13Issues of TCP (Contd)
- Problems for TCP
- random loss
- dropped due to signal fading
- non-congestive segment losses not negligible
- violate the working assumption of the traditional
congestion control measures for TCP - congestion control mechanisms react
inappropriately by - keeping the sending rate of a TCP connection
small - retransmitting some data segments spuriously
14Issues of TCP (Contd)
- Problems for TCP (Contd)
- burst loss
- may be initiated by signal fading
- prolonged uncontrollable channel interferences
- infrastructured networks
- a chain of packets lost due to a handoff event
- frequency size of coverage region and host
mobility - ad hoc networks
- host mobility gt topological change or network
partition - re-routing process can take some time to complete
- some packets may be lost during the process
- frequency transmission range and host mobility
- can lead to serial timer expirations
- multiple consecutive timer expirations and
retransmissions of the same data segment within a
single blackout period - result in a terribly long period of inactivity of
the connection (due to exponential timer backoff)
even after the network conditions has restored to
normal
15Issues of TCP (Contd)
- Problems for TCP (Contd)
- packet reordering
- network behaviour where the receiving order of a
flow of packets differs from its sending order - persistent and substantial packet reordering
violates the (near) in-order channel assumption - result in substantial degradation in application
throughput and network performance - causes
- link-layer retransmission
- infrastructured networks
- packets take different routes due to handoff
- ad hoc networks
- re-routing due to topological changes
16Contributions
- Present an overview of recent developments and
explore some open research issues and challenges - survey end-to-end solutions proposed to date
- require no intermediaries to scoop the state of a
connection - may require supporting functions implemented at
the routers for the sake of efficiency and
performance enhancements - Give the readers a new angle to view the existing
state of the art - classify the surveyed solutions based on the way
they tackle the problems - focus on enhancements that have been implemented
in the TCP clients - Provide the readers a short tutorials of the
surveyed representative solutions
17Taxonomy of Solutions
18Taxonomy of Solutions (Contd)
- Congestion detection approach
- measure the current network conditions
- determine whether network congestion has actually
occurred - choose a proper traffic control strategy to
differentiate congestive issues from the
non-congestive ones based on the measured
information - State suspension approach
- detect the current network state
- decide when communication activity is suspended
and when it can be resumed to avoid
non-congestive losses - Response postponement approach
- delay triggering a traffic control response to
alleviate the problems in wireless networks - Hybrid approach
- a collection of methods that can be classified by
more than 1 approach described above
19Overview of Existing Solutions
- Congestion detection approach
- TCP-Peach (Akyildiz, Morabito, and Palzzo, 2001)
- deal with adverse effects found in satellite
networks with long propagation delays high link
error rates - dummy segments
- low-priority segments with a copy of recently
transmitted data - probe for the availability of network resources
- successfully delivered dummy segment indicates
that - unused network resources exist
- transmission rate can be increased accordingly
20Overview of Existing Solutions (Contd)
- Congestion detection approach (Contd)
- TCP-Peach (Contd)
- sudden start
- substitute slow start
- aim to open up the congestion window faster
- transmit one dummy data segment for every
until (awnd 1) dummy segments have been sent - t estimated RTT
- increment cwnd by 1 segment upon the receipt of
an ACK for a dummy segment
21Overview of Existing Solutions (Contd)
- Congestion detection approach (Contd)
- TCP-Peach (Contd)
- rapid recovery
- replace fast recovery
- halve cwnd in response to an inferred segment
loss - arrival of an ACK for a data segment
- send 2 dummy segments until a total of 2 cwnd
segments have been transmitted - increment cwnd by 1 segment
- arrival of an ACK for a data segment
- arrival of an ACK for a dummy segment, after
receiving cwnd ACKs for dummy segments
22Overview of Existing Solutions (Contd)
- Congestion detection approach (Contd)
- TCP-Peach (Contd)
- merit maintain ACK-clocking when cwnd is smaller
than the number of unacknowledged data segments - drawbacks
- implicitly assumed that more than half of the
dummy segments are lost in transit for a
congestive loss event - all dummy segments can be successfully delivered
to the destination for a non-congestive loss
event - wastage of network resources since the delivery
of dummy segments does not result in any gain in
connection goodput - TCP-Peach NIL segments with unacknowledged
data in place of dummy segments - dummy segments are sent at a rate doubled that
before a loss event is conjectured gt
congestion at routers - TCP-Peach no more than 1 NIL segment sent per
ACK - all routers configured to implement
priority-based scheduling
23Overview of Existing Solutions (Contd)
- Congestion detection approach (Contd)
- TCP-Probing (Lahanas and Tsaoussidis, 2002)
- sender-side solution
- aim to enhance performance against random loss
and burst loss - use of probing devices
- determine whether network congestion has occurred
when a segment loss is inferred - A-TCP
- invoke a probing cycle upon receiving 3 duplicate
ACKs or a retransmission timer expiration - probe segments sent until the ACKs of a pair of
probes are received within the specified time
period - recovery process depends on the status of network
congestion - drawbacks costly to perform and respond slowly
to non-congestive loss - SP-TCP
- avoid triggering more than 1 probing cycle in
small time interval
24(No Transcript)
25Overview of Existing Solutions (Contd)
- Congestion detection approach (Contd)
- TCP Westwood (TCPW) (Casetti et al., 2002)
- sender-side solution
- idea adjust the size of the congestion window
upon an inferred segment loss by monitoring the
rate of acknowledging data - upon each ACK arrival
- use the amount of new data acknowledged by that
ACK to update the estimate for the available
bandwidth of the connection - when taking congestion control
- ssthresh assigned as
- (estimated available BW) x (minimum RTT) /
(segment size) - merit decouple congestion control from error
control - drawbacks
- some unfriendliness to TCP Reno
- overstate the available bandwidth with the
presence of ACK compression - TCP Westwood bandwidth sample computed every
RTT instead of with each ACK arrival to eliminate
the high frequency components contained in the
bandwidth samples
26Overview of Existing Solutions (Contd)
- Congestion detection approach (Contd)
- TCP Veno (Fu and Liew, 2003)
- sender-side refinements on TCP Reno
- deal with random loss
- estimate the backlog accumulated along the
communication path of the connection - measured backlog lt threshold gt no congestion
- inferred segment loss as a random loss
- two refinements
- congestive loss inferred
- cwnd increased by 1 segment every 2 RTTs instead
of each RTT - random loss inferred
- fast retransmit ssthresh set to 0.8 cwnd instead
of 0.5 cwnd - drawbacks
- performance improvement fades with high random
loss rate - fail to deal with multiple segment losses in the
same congestion window - may not work well in ad hoc networks
- backlog estimation sensitive to RTT oscillation
due to route change
27Overview of Existing Solutions (Contd)
- Congestion detection approach (Contd)
- TCP-Jersey (Xu, Tian, and Ansari, 2004)
- follow same idea as TCPW to observe the rate of
data acknowledged by ACKs - simpler estimator for the available bandwidth
- adopt slow start, congestion avoidance, and fast
recovery from TCP Reno - use explicit retransmit instead of fast
retransmit - simply perform a segment retransmission
- congestion warning (CW)
- router marks congestion experienced (CE) bit in
the IP header of all packets when the average
queue length gt threshold - destination echoes the congestion information by
setting the explicit echo (ECE) bit of all
segments until it receives a segment with the
congestion window reduced (CWR) bit set - ACK arrival
- estimate the available bandwidth and compute the
optimal size of the congestion window when not
run for 1 RTT - no congestion warning gt proceed similarly as
TCP Reno - congestion warning
- apply rate control procedure first to set the
size of the congestion window based on the
computed available bandwidth - follow the congestion control measures as without
congestion warning - drawbacks aware of CW scheme, fail to handle
burst loss
28Overview of Existing Solutions (Contd)
- Congestion detection approach (Contd)
- JTCP (Wu and Chen, 2004)
- use jitter ratio to determine whether an inferred
segment loss congestive or non-congestive - fast recovery triggered only when
- inferred congestive loss is detected
- preceding fast recovery carried out at least 1
RTT ago - immediate recovery
- set ssthresh as D cwnd, where 0.5 lt D 1
- retransmission timer expires
- congestive loss slow start
- non-congestive loss fast retransmit and fast
recovery - drawbacks
- insert and process timestamps
- unable to handle burst loss satisfactorily
29Overview of Existing Solutions (Contd)
- Congestion detection approach (Contd)
- TCP-Casablanca (Biaz and Vaidya, 2005)
- apply a simple biased queue management scheme
- discriminate congestion losses from random losses
- idea de-randomize congestion losses
- distribution of congestive losses differs from
random losses - label 1 out segment for every k segments, else
in segments - router experiences congestion
- drop out packets before dropping in packets
- dropping sequence will show correlated losses if
the lost packets are dropped due to network
congestion
30Overview of Existing Solutions (Contd)
- Congestion detection approach (Contd)
- TCP-Casablanca (Contd)
- extended from TCP Newreno
- same as TCP Reno except that fast recovery exits
only when all sent data segments are acknowledged
before it is entered - destination uses a simple loss discriminator
function to diagnose whether a loss is congestive
or not - non-congestive loss
- mark a duplicate ACK with ELN so that the source
does not halve the size of the congestion window - merit identify congestive losses with more than
95 accuracy and non-congestive losses with more
than 75 accuracy - drawbacks
- require participating routers to have a
differential packet dropping policy - inferior performance with respect to other
TCP-friendly flows since out segments are
dropped in advance of any other segments
31Overview of Existing Solutions (Contd)
- State suspension approach
- Freeze-TCP (Goff et al., 2000)
- improve performance with frequent disconnections
- receiver-side solution (for a mobile receiver)
- continuously monitor the signal strength of
wireless antennas - detect any impending handoffs
- about 1 RTT before a handoff
- send some zero window advertisements (ZWAs) to
force its peer (sender) into the persist mode - ZWA piggybacked into an ACK
- receive a ZWA from the receiver
- persist mode freeze all retransmission timers
and the size of the congestion window - send zero window probes (ZWPs) with inter-probe
time being backed off exponentially - receive a destinations response with a positive
advertised window size - exit from the persist mode
- resume its transmission as normal
32Overview of Existing Solutions (Contd)
- State suspension approach (Contd)
- Freeze-TCP (Contd)
- drawbacks
- must be aware of mobility and need some
cross-layer information exchanges - need to predict when a disconnection is expected
to happen - fail to predict and detect an upcoming
disconnection event if it happens at a wireless
link along the transmission path - resumed transmission rate may be set
inappropriately - can only avoid performance degradation due to
disconnections - fail to avoid and identify occasional segment
losses because of signal fading
33Overview of Existing Solutions (Contd)
- State suspension approach (Contd)
- ILC-TCP (Chinta, Helal, and Lee, 2003)
- sender-side solution (for a mobile sender)
- prevent performance degradation due to temporary
disconnections - idea control decision based on the state
information - link layer link state (good or bad)
- network layer IP-level handoff started or
completed - upon a timer expiration
- both link and network layers stable gt network
congestion gt take regular congestion control
measures - otherwise freeze connection state until both
layers become stable
34Overview of Existing Solutions (Contd)
- State suspension approach (Contd)
- TCP-Feedback (Chandran et al., 2001)
- improve the performance for route failures
- route disruption detected
- failure point transmits a route failure
notification (RFN) packet to the source - each immediate mobile host invalidates the route
- alternative route exists reroute packets and
discard the RFN packet - otherwise relay the RFN packet to the source
- source receives the RFN packet
- bring the TCP connection to the snooze state
until the route failure timeout or a route
reestablishment notification (RRN) packet
received - new route learnt by an immediate mobile host
- send an RRN packet to the source
- merit able to handle route disruption at any
wireless link - drawbacks
- burst injection
- resumed transmission rate may be set
inappropriately
35Overview of Existing Solutions (Contd)
- State suspension approach (Contd)
- ELFN (Holland and Vaidya, 2002)
- similar to TCP-Feedback
- differences with TCP-Feedback
- ELFN relies on the route failure messages for
dynamic source routing (DSR) to notify a source
about link and route failures - no route maintenance or invalidation at immediate
hosts - no need for any immediate hosts to send or
forward a RRN packet to a source to re-activate a
suspended connection - source probes the network periodically for
re-connection
36Overview of Existing Solutions (Contd)
- State suspension approach (Contd)
- TCP-DOOR (Wang and Zhang, 2002)
- detect route changes through out-of-order events
- out-of-order data/ACK detection
- insert the TCP packet sequence number and ACK
duplication sequence number, or current
timestamps, into each data and ACK segment,
respectively - temporarily disable congestion control
- source keeps its state variable unchanged for a
time period - instant recovery during congestion avoidance
- source recovers immediately to the state before
the congestion response invoked within a time
period - drawbacks
- transmission rate may be set inappropriately
after a route change - fail to perform well in a congested network
environment with substantial persistent packet
reordering
37Overview of Existing Solutions (Contd)
- Response postponement approach
- DelAck (Altman and Jiménez, 2003)
- use of delayed ACK techniques to improve
performance in multi-hop wireless ad hoc networks - receiver-side solution
- reduce channel contentions among data segments
and ACKs of the same TCP connection - as a side-effect to reduce performance
degradation due to packet reordering - idea delay acknowledging the arrivals of data
segments and reduce the number of ACKs sent to
the source - generate an ACK for every d data segments or the
first unacknowledged data segment has been
received for a certain time period (e.g. 0.1 s) - merit
- reduce the connection overhead and hence the
channel contentions - drawbacks
- d is orthogonal to the segment sequence number in
general, but DelAck sets it to increase with the
sequence number - burst injection due to delayed acknowledgement
38Overview of Existing Solutions (Contd)
- Response postponement approach (Contd)
- TCP-ADA (Singh and Kankipati, 2004)
- receiver-side solution, similar to DelAck
- postpone acknowledgement for a time period
- defer sending an ACK of a segment for ß?
- ? is an EWMA of the inter-segment arrival time
- deferment period restarted every time data
segment arrives - ACK sent when deferment timer expires or maximum
deferment period is reached - drawbacks
- send bursts of new segments once every RTT
- significant drop in throughput if ACKs are lost
39Overview of Existing Solutions (Contd)
- Response postponement approach (Contd)
- TCP-DCR (Bhandarkar et al., 2005)
- sender-side solution
- meliorate the TCP robustness to non-congestive
events - idea delay a congestion response for a time
interval after the first duplicate ACK is
received - set the time interval as RTT to deal with packet
reordering due to link-layer retransmissions - merit
- perform significantly better than TCP with SACK
and TCPW in the presence of channel errors - drawback
- chosen period of deferment highly dependent on
RTT - several retransmissions of the same packet can be
delayed longer than one RTT
40Overview of Existing Solutions (Contd)
- Hybrid approach
- ATCP (Liu and Singh, 2001)
- resolve problems with TCP in ad hoc networks
- high bit error rates, frequent route changes,
network partitions, and packet reordering - idea introduce a layer (ATCP layer) between TCP
and IP at the senders protocol stack - ATCP layer monitor the current TCP state and
spoof TCP from triggering its congestion control
mechanisms inappropriately - apply ECN and ICMP to sense the onset of network
congestion and integrity of the transmission path
41Overview of Existing Solutions (Contd)
- Hybrid approach (Contd)
- ATCP (Contd)
- four states
- normal do nothing and transparent
- congested take congestion behaviour of TCP
- loss put TCP in the persist mode and send
unacknowledged data segments - disconnected place TCP into the persist mode and
send probes to the destination slow start is
invoked when leaving the state - merit
- able to handle most of the problems relating to
wireless networks - drawbacks
- inefficient in using the available bandwidth with
frequent route changes and network partition - aware of and implemented with ECN
- do not allow a source to send new data segments
in the loss state
42(No Transcript)
43Further Discussion
- Congestion detection approach
- either use probes or information stored in the
data segments and ACKs to detect the congestion
conditions - TCP-Peach and TCP-Peach
- send low-priority segments to quickly seize the
available bandwidth - TCP-Probing
- transmit probes to detect whether the network is
congested based on the estimated RTT - TCPW, TCP Westwood, TCP Veno, TCP-Jersey, and
JTCP - estimate the network congestion level based on
the spatial and temporal information carried by
the ACKs - TCP-Casablanca
- infer the network congestion status based on the
ratio of the marked segments being dropped by the
network
44Further Discussion (Contd)
- Congestion detection approach (Contd)
- merit
- generally able to distinguish between congestive
loss and non-congestive random loss - determine the appropriate traffic control measure
strategy to improve the TCP performance - drawbacks
- generally fail to gracefully handle multiple
segment losses in the same congestion window as
most approaches extended from TCP Reno - no specific mechanisms to avoid burst loss due to
temporary disconnections
45Further Discussion (Contd)
- State suspension approach
- utilize the state information as well as route
failure and restoration notifications - decide whether the communication activity of a
connection is suspended or resumed - Freeze-TCP
- use the signal strength information to infer the
occurrence of a temporary disconnection - ILC-TCP
- freeze the communication whenever either link or
network errors are experienced - TCP-Feedback and ELFN
- stop the communication activity when a route
failure notification is received - resume communication after a route is established
for a suspended connection - TCP-DOOR
- temporarily disable congestion control or perform
instant recovery during congestion avoidance
after detecting an out-of-order event
46Further Discussion (Contd)
- State suspension approach (Contd)
- merit
- successful at suspending any congestion control
measures and stopping further segment losses when
a temporary disconnection is encountered - TCP-DOOR alleviate some performance problems
caused by packet reordering - drawback
- fail to deal with occasional random losses due to
transit, short-lived link errors (from signal
fading) - TCP-DOOR no mechanisms to deal with
non-congestive losses
47Further Discussion (Contd)
- Response postponement approach
- defer taking any traffic control measures to
gather more network information to see if the
decision needs to be changed - DelAck and TCP-ADA
- delay the issuance of an ACK
- reduce the load of the control traffic and thus
channel contention - as a side-effect to deal with packet reordering
- TCP-DCR
- postpone triggering the congestion control
response to a newly received ACK - merits with the presence of packet reordering
- able to reduce spurious retransmissions
- maintain a larger congestion window
- drawbacks
- fail to clock out traffic during the deferment of
congestion response (except for TCP-DCR) - no mechanisms to deal with non-congestive losses
48Further Discussion (Contd)
- Hybrid approach
- use ECN information and source quench messages to
detect the occurrence of network congestion - utilize the destination unreachable messages to
detect temporary disconnections - merit
- able to handle most of the problems (random loss,
burst loss, and packet reordering) relating to
wireless networks - drawbacks
- inefficient in using the available bandwidth with
frequent route changes and network partition - aware of and implemented with ECN
- do not allow a source to send new data segments
in the loss state
49(No Transcript)
50Open Research Issues
- Integrated solutions for all types of wireless
problems - except for ATCP, none of the surveyed solutions
can deal with all of the aforementioned problems - ATCP
- loss state stop transmitting new data segments
until a new ACK arrives - presence of persistent packet reordering
- block the regular new data segment transmissions
- reduce the connection goodput
- shrink the battery lifetime of a wireless host
due to unnecessary retransmissions
51Open Research Issues (Contd)
- Improved discriminator for wireless problems
- problem mistaken
- improper traffic control may exacerbate the
problem (congestive loss as non-congestive) - need an efficient and effective discriminator to
correctly identify congestive loss, random loss,
burst loss, and packet reordering - Theoretical basis for an efficient and optimal
scheme to handle the identified non-congestive
losses