Title: TCP Performance Issues over Wireless Links
1TCP Performance Issues over Wireless Links
2Outline
- Wireless link characteristics
- Performance problems of the TCP/IP protocol suite
over wireless links - Proposals examine their benefits limitations.
3Introduction
- Characteristics of Wireless systems
- high error rates similar to traditional wireless
systems (satellite terrestrial microwave) - low physical layer propagation delay similar to
wired systems. - IP over wireless issues
- environmental conditions terrestrial
obstructions and reflections lead to high
unpredictable error rates. - Cellular systems suffer from long communication
pauses whenever mobile devices move between
adjacent cells.
4Wireless systems generic characteristics
- The delivery delay for a link layer frame
consists of - transmission delay (frame size divided by the
link speed), - propagation delay ( the time the signal takes to
cross the link), and - processing delay at the sender and receiver.
sender
receiver
5Characteristics of wireless systems
- Wireless link
- have propagation delays similar to wired links
- have propagation delay much lower than those of
satellite links. - Suffer from high error rates due to external
interferences. - Wireless links affected by atmospheric conditions
multi-path fading obstructions). - Wireless links suffer from multi-path fading
(furniture people). - Mobility changes error characteristics of link
error behavior varies faster unpredictably than
satellite links.
6Characteristics of wireless systems
- Application specific private switched circuit
service, or a shared best effort connectionless
service. - Link layer encapsulates IP datagrams into link
frames to support TCP/IP - isolates higher layers from low-level details
- Voice telephony typical random frame losses of
1-2 - No audible speech degradation
7Characteristics of wireless systems
- Internet congestion error control is delegated
to higher (end-to-end) layers (avoids recovery
overhead on all applications). - Good for reliable wired links.
- Error-prone wireless links
- local link-layer recovery can be faster more
adaptable to link characteristics.
8TCP fundamentals
- TCP provides
- transparent segmentation reassembly of user
data - handles flow congestion control
- TCP packets are cumulatively ackd as they arrive
in sequence. - Out-of-sequence packets cause duplicate acks.
- Loss detection by sender
- when multiple duplicate acks (usually 3) arrive ?
next packet was lost - IP may reorder datagrams ? TCP cannot assume that
gaps in packet sequence signify losses.
9TCP fundamentals
- Idle session or lost ACKs
- TCP detects losses using time outs
- Update retransmission timers based on a weighted
average of previous round-trip time (RTT)
measurements. - Congestion TCP assumes that all losses indicate
congestion. - Upon loss detection, TCP reduces its transmission
rate besides re-transmitting the lost packet. - Next it gradually increases its transmission rate
to gently probe the network capacity.
10TCP congestion
- TCP maintains a congestion window, which is in
transit without causing congestion. - New packets are only sent if allowed by both this
an estimate of the number of packets that can
window and the receivers advertised window. - The congestion window starts at one packet, with
new acks causing it to be incremented by one,
thus doubling after each RTT. - This is the slow start phase (exponential
increase).
11TCP Congestion
- In Figure slow start stops after four RTTs when a
loss is detected by a timeout. - A slow start threshold is then set to half the
value of the congestion window, the congestion
window is reset to one packet, and the lost
packet is retransmitted. - Slow start is repeated until the threshold is
reached after three RTTs, allowing routers to
drain their queues. - Subsequently, the congestion window is
incremented by one packet per RTT. This is the
congestion avoidance phase (linear increase).
12TCP Congestion
18 16 14 12 10 8 6 4 2 0
Timeout
Congestion Window (packets)
0 2 4 6 8 10 12
14 16
Time (RTT)
13TCP Congestion
- TCP-Reno
- losses detected by duplicate ACKs indicate
subsequent packets have been received - TCP retransmits the lost packet, halves the
congestion window restarts with the congestion
avoidance phase. - Multiple losses
- reduce the slow start threshold
- cause slower congestion avoidance phase to take
over immediately - lead to large throughput degradations
14TCP Performance
- TCP assumes all losses are due to congestion
problematic over wireless links. - In shared medium WLANs, forward TCP traffic
(data) contends with reverse traffic (acks).
15Outline
- Review proposals for solving performance problems
of TCP/IP protocol suite when employed in
wireless links. - I TCP, Snoop TCP
16TCP Performance Enhancements
- Poor performance of TCP over wireless links is
mostly due to mistaking wireless losses for
congestion. - In CC systems, packets may be delayed or even
lost. - Recovery from these losses should be initiated
right after handoff completion, without waiting
for a time out. - TCP can achieve this by receiving appropriate
signals from lower layers. - Alternately, TCP can exploit mobility hints from
lower layers to heuristically distinguish losses
due to handoffs.
17TCP Performance Enhancements
- Due to losses, TCP can avoid halving the slow
start threshold during recovery, skipping the
congestion avoidance phase. - Alternate approach
- choke TCP senders during handoffs, by
transparently closing the receivers advertised
window. - sender then freezes all pending timers and starts
periodically probing the receivers window.
(Shrinking the advertised window violates TCP
guidelines).
18TCP Performance Enhancements
- I-TCP
- Since end-to-end retransmissions are slow, TCP
connections may be split using as pivot points
routers connected to both wireless and wired
links. - End-to-end connections are split into separate
TCP sessions for the wired and wireless parts of
the path. - Another protocol optimized for error recovery may
be substituted over the wireless links.
19TCP Performance Enhancements
- I-TCP
- Split schemes violate end-to-end TCP semantics,
since acks may reach the sender before data
packets reach their destination. - To preserve TCP semantics, acks must be delayed
(this reduces throughput). - Pivot points face significant overhead, since
packets undergo TCP processing twice and
considerable per-connection state is maintained
there.
20TCP Performance Enhancements
- Snoop - TCP
- Error-recovery is performed at the IP-level.
- Snoop tracks TCP data and acks by maintaining
state for each TCP connection traversing a pivot
point. - Snoop catches un-ackd TCP packets uses loss
indications conveyed by duplicate acks, plus
local timers, to transparently retransmit lost
data. - Hides duplicate acks indicating wireless losses
from TCP sender to prevent redundant TCP recovery.
21TCP Performance Enhancements
- Snoop - TCP
- It exploits the info present in TCP packets to
avoid link-layer control overhead. - It outperforms split TCP schemes without
violating TCP semantics. - It avoids conflicting local TCP retransmission
by suppressing duplicate TCP acks.
22TCP Performance Enhancements
- Snoop TCP (features)
- TCP receiver must located right after the pivot
point. - If a wireless host is sending data to a remote
receiver, TCP acks are returned too late for
efficient recovery, may even signify congestion
losses. - Then, explicit loss notification (ELN) is needed
to distinguish between congestion and wireless
losses. - If Snoop agent detects a non-congestion-related
loss - it sets an ELN bit in TCP headers propagates
it to the receiver echoed back to the sender.
23TCP Performance Enhancements
- Snoop TCP (features)
- TCP receiver must located right after the pivot
point. - If a wireless host is sending data to a remote
receiver, TCP acks are returned too late for
efficient recovery, may even signify congestion
losses. - Then, explicit loss notification (ELN) is needed
to distinguish between congestion and wireless
losses. - If Snoop agent detects a non-congestion-related
loss - it sets an ELN bit in TCP headers propagates
it to the receiver echoed back to the sender.
24TCP Performance Enhancements
- Snoop TCP (features)
- It uses queue length information to heuristically
distinguish congestion from wireless errors. - When ELN notification is received, TCP sender
retransmits the lost packet without invoking
congestion control. - A lost packet can only be retransmitted after an
RTT has elapsed, when an ack with ELN bit set is
returned.