Title: Reliable Data Transport in Wireless Networks
1Reliable Data Transport in Wireless Networks
- Anna Brunstrom
- Dept. of Computer Science
- Karlstad University
2Outline
- Introduction
- TCP Basics
- Challanges and Proposed Enhancements
- Personal Reflections
- SCTP
- Conclusions
3Introduction
- Explosive growth of the Internet
- Thin waist behind the success
- Design based on end-to-end principle
- TCP dominant transport protocol
4TCP Basics
5Reliable Data Transfer in TCP
- Based on retransmission of lost packets
- A timer is started when a packet is sent
- Dynamically calculated based on RTT
- When the packet arrives at the receiver a
cumulative acknowledgment (ACK) is sent - End-to-end semantics
- If an ACK is not received in time, then the
packet is retransmitted - Exponential backoff of timer
- Fast retransmit rule - three duplicate ACKs
trigger retransmission
6TCP Flow and Congestion Control
- Window based control
- Send rate limited by minimum of
- Receivers advertised window
- Congestion window
- Estimates bandwidth based on probing
- Assumes that packet loss indicates congestion
7TCP Flow and Congestion Control
- Slow start
- Cwnd grows exponentially
- Ends when cwnd reaches slow-start threshold
- Congestion avoidance
- Cwnd grows linearly
- Fast recovery
- Works in conjunction with fast retransmit
- Avoids slow start after single packet loss
8Timeout Scenario
After timeout
cwnd 20
ssthresh 10
ssthresh 8
9Fast Retransmit Scenario
After fast recovery
Rwnd
10Many TCP Variants
- TCP Tahoe
- Slow start, congestion avoidance, fast retransmit
- TCP Reno
- Slow start, congestion avoidance, fast
retransmit, fast recovery - TCP New-Reno
- Stay in fast recovery until all packet losses in
window are recovered - Can recover 1 packet loss per RTT without causing
a timeout - Selective Acknowledgements (SACK)
- Provides information about out-of-order packets
received by receiver - Can recover multiple packet losses per RTT
11Challanges and Proposed Enhancements
The information superhighway of wireline
communications
The rocky road of mobile radio communications
vs
12Challenges
- Fundamental differences between wired and
wireless communication - Channel errors
- Due to interference, multipath fading etc.
- Mobility
- Handoff may cause packet loss and delay
- Route failures and disconnections in MANETs
- Channel contention (Ad hoc networks)
- Hidden terminal and exposed terminal problems
13TCP suffers because
- Transmission problems at the phys/link layer and
handoff/route failures due to mobility can lead
to packet loss - Packet loss invokes congestion control at the
sender - Exponential backoff entered for multiple losses
- Spurious timeouts may occur when RTT fluctuates
- High sending rate can cause channel contention
14Proposed Optimizations
- At the link layer
- Split connection
- Explicit notification/ cross layer
- End to end
15Link Layer Error Recovery
- Shields upper layers (e.g. TCP) from errors that
can be recovered at lower layers - Errors recovered locally
- Reliable link layer beneficial to TCP
- If it provides (almost) in-order delivery
- If TCPs retransmission timeout is large enough
to accommodate for variable delays due to link
layer retransmissions
16Impact of Link Layer ARQ
15 packet loss ?
17Matching TCP Retransmissions
18Link layer Examples
- Snoop Balakrishnan95
- TCP-aware link layer
- Detect packet losses on wireless link, BS
performs local retransmissions - Prevents fast retransmit by supressing dupACKs at
BS - Does not work with encrypted IP-payload (e.g.
IPSec) - TCP SACK-Aware Snoop Vangala03
- Reliable link layer available in most modern
wireless networks
19Split connection
- E2E TCP connection split into one connection on
wired part of route and one over wireless part - Hides transmission errors from sender, local
recovery - Primary responsibility at base station
- If specialized transport protocol used on
wireless, then wireless host also needs
modification - Breaks end-to-end semantics
20Split connection Examples
- Indirect TCP (I-TCP) Bakre97
- Standard TCP connection over both hops
- Mainly used for mobility (transfer state between
BSs) - WAP
- Own networking stack to gateway/proxy
- WAP2.0 can use native TCP
- Split TCP Kopparty02
- Split long TCP connections into localized
segments to deal with frequent route failures in
MANETs
21Explicit notification
- A node determines whether packets are lost for
reasons other than congestion and informs sender - Sender can retransmit packet without invoking
congestion control - Motivated by Explicit Congestion Notification
(ECN) proposal - Proposed solutions differ in
- Who sends explicit notification
- How they decide to send explicit notification
- What sender does on receiving notification
22Explicit notification Examples
- Partial Acknowledgements Biaz97
- Sender gets partial ack from base station, and
normal ack from receiver -gt wireless losses can
be differentiated - Checksum Based Loss Notification Garcia02
- Detect corrupt TCP checksum, notify sender via
new TCP option - Explicit Link Failure Notification Holland02
- Targets ad hoc networks
- Piggyback notification onto DSRs route failure
message to sender - TCP sender disables congestion control until
route is fixed
23Checksum Based LN Example
Bandwidth 1 Mbps, 10 ms delay
24End to end optimizations
- Only end node(s) are modified
- Receiver-based scheme
- Receiver infers cause of packet loss or other
event - Explicitly or implicitly informs the sender
- Sender-based scheme
- Sender attempts to determine cause of packet loss
25End to end optimizations Examples
- TCP Westwood/Westwood Casetti02
- Use rate of packets to estimate available
bandwidth instead of probing - JTCP Wu04
- Uses loss predictor based on the interarrival
jitter to distinguish congestion and wireless
losses - Freeze-TCP Goff00
- When handover is about to happen, send a packet
with receiver window set to zero to freeze
transmissions - Dynamic Delayed ACK Altman03
- Reduce contention on the wireless channel by
reducing the number of ACKs, ACK generation
frequency set dynamically
26Personal Reflections
27Balanced View of Problem
- TCP works quite well in many wireless networks
- A reliable link layer goes a long way
- TCP fairly robust to delay variations
- Consider the time scales
- Requires
- Accurate models of wireless networks
- Accurate models of TCP
- Compare with relevant version
28Impact of Buffering
- Not well understood
- Often neglected in studies
- Still influences results
- Trend towards smaller buffers
- Some examples of work on this
- AQM method for 3G networks, aim for single packet
drop in TCP window SÃ¥gfors03 - Apply RED to UMTS RLC buffer, pace ACKs depending
on buffer occupancy Alcaraz06
29Example Buffering in GPRS
30Consider Short Flows
- Common assumption of bulk transfers
- Most TCP flows are short
- Loss recovery can be more important than
congestion control
31SCTP
32Stream Control Transmission Protocol
- Standardized for carrying signaling traffic over
IP - Defined as a general purpose protocol
- Like TCP, SCTP
- is connection-oriented (association)
- provides a reliable transport service
- uses window-based congestion control
- Unlike TCP, SCTP
- is message oriented
- supports multiple concurrent data streams
- supports the concept of multihoming
- supports unordered messages
33Multihoming
- Multiple IP addresses at each endpoint for a
single association - Originally defined for link redundancy
- Extensions increased performance by load
balancing - mobility management at transport layer
34AISLE (autonomic interface selection)
- When congestion detected consider switching to
secondary path - Based on bandwidth and capacity estimates
- Time hysterisis to avoid ping-pong effects
Casetti06
35Conclusions
36Conclusions
- Wireless communication different from wireline
communications - A large number of TCP optimizations proposed
- Small subset illustrated
- Based on some general principles
- No single right solution
- But after all, TCP works quite ok
- SCTP
- Adds some new features
- Multihoming
37?
38References
- H. Balakrishnan, S. Seshan, and R. H. Katz,
Improving Reliable Transport and Handoff
Performance in Cellular Wireless Networks, ACM
Wireless Networks, vol. 1, no. 4, Nov. 1995, pp.
469481. - S. Vangala and M. Labrador, The TCP
SACK-Aware-Snoop Protocol for TCP over Wireless
Networks, IEEE VTC, Orlando, FL, vol. 4, Oct.
2003, pp. 2624283. - A. V. Bakre , B. R. Badrinath, Implementation and
Performance Evaluation of Indirect TCP, IEEE
Transactions on Computers, v.46 n.3, p.260-278,
March 1997 - S. Kopparty, S.V. Krishnamurthy, M. Faloutsos,
S.K. Tripathi, "Split-TCP for Mobile Ad Hoc
Networks", Proceedings of IEEE GLOBECOM, Taipei
2002. - S. Biaz, M. Mehta, S. West and N. Vaidya, "TCP
over Wireless Networks Using Multiple
Acknowledgments", Technical Report 97-001, Texas
AM University, Jan. 1997. - J. Garcia and A. Brunstrom, Checksum-based Loss
Differentiation, Proceedings 4th IEEE Conference
on Mobile and Wireless Communications Networks
(MWCN 2002), Stockholm, Sweden, September 2002. - G. Holland and N. Vaidya, Analysis of TCP
Performance over Mobile Ad Hoc Networks, ACM
Wireless Networks, vol. 8, no. 2, Mar. 2002, pp.
27588.
39References
- S. Mascolo, C. Casetti, M. Gerla, M. Y. Sanadidi
and R. Wang, TCP Westwood Bandwidth Estimation
for Enhanced Transport over Wireless Links,
Proc. of the ACM Mobicom 2001, Rome, Italy, July
16-21 2001. - E. H. K. Wu and M. Z. Chen, JTCP Jitter-Based
TCP for Heterogeneous Wireless Networks, IEEE
JSAC, vol. 22, no. 4, May 2004, pp. 75766 - T. Goff et al., Freeze-TCP A True End-to-End
TCP Enhancement Mechanism for Mobile
Environments, IEEE INFOCOM, vol. 3, Apr. 2000,
pp. 153745. - E. Altman and T. Jimenez, Novel Delayed ACK
Techniques for Improving TCP Performance in
Multihop Wireless Networks, Proc. Pers. Wireless
Commun., Venice, Italy, Sep. 2003, pp. 23753. - M. SÃ¥gfors, R. Ludwig, M. Meyer and J. Peisa,
"Queue Management for TCP Traffic over 3G Links",
IEEE WCNC 2003, New Orleans, USA, March 2003 - C. Casetti, C. F. Chiasserini, R. Fracchia, M.
Meo, AISLE Autonomic Interface SeLEction for
Wireless Users, IEEE WoWMoM 2006, Niagara-Falls,
Buffalo-NY, 26-29 June 2006