Title: IP technology in a mobile world: the challenges on TCP performance
1IP technology in a mobile worldthe challenges
on TCP performance
Hans-Peter Schwefel Siemens ICM Hans-Peter.Schwef
el_at_siemens.com
2Motivation Performance of GPRS networks
- GPRS system (3 time-slots, coding scheme 2) 40.2
kb/s throughput - Substracting overhead L1-L4 headers 33kb/s
- BUT in performance measurements using HTTP
10-20kb/s - ? Performance predictions need to consider all
protocols, in particular Transmission Control
Protocol (TCP)
L5-7 L4 L3 L2
Core Network Internet
RAN
HTTP Server
RADIUS
SGSN
GGSN
DHCP
Radius/DHCP Client
3Agenda
- Motivation GPRS Performance
- TCP Behavior
- Basics
- Connection Set-up/Tear-down
- Flow-Control
- TCP Performance Models
- Wireless TCP
- Problems (Simulation Results)
- Enhancements Sack, Snoop, ECN
- TCP over GPRS access
- Summary Outlook
4Transmission Control Protocol (TCP) Basics
- Operates in end-systems
- Reliable Transport via Sequence Numbers
Acknowlegements - Bidirectional connections
- Flow-Control Prevent flooding of
- Receiver
- Intermediate Systems
- Important Header Fields
- Sequence number
- ACK number
- Window size
5Connection Set-up / Tear-Down
- Connection Set-up
- 3-way handshake (SYN, SYN-ACK, ACK)
- selection of initial sequence numbers
- agreement on maximum segment size
- Connection end
- Indicated by FIN flag
- Signalled for both transmission directions
- Alternative RST flag
6TCP Flow Control Congestion Window
- window size cwnd maximum unacknowledged
bytes that can be sent - protect receiver available receiver buffer
determines cwnd - later (protect network) cwnd reduces when
packet loss detected by - Timeouts
- Duplicate Acknowledgements
7TCP Flow-Control Slow Start
- Slow-start phase Initial congestion window set
to size cwndone segment - Increase cwnd when ACK received (by number of
acknowledged bytes) - Slow-start phase ends
- When cwnd gt ssthreshold
- Packet loss detected
?Quick increase of sending rate
Example Slow-Start (receiver using delayed Acks)
Typo CWND Factors should be 1,2,4,6,8,10
8Slow-Start Congestion Avoidance
- timeout event ? set ssthresh to cwnd/2, perform
slow-start - Fast Retransmit three dup Acks ? half cwnd,
ssthreshcwnd
9TCP Reno Fast Recovery
- Keep up transmission rate after single lost
packet - Avoid bursts of packets after ACK for
retransmitted lost packet
10Impact of slow-start Simulations Result
Correction y-axis in kbit/s
- Larger connection volume ? higher throughput
- Upper Limit Layer-2 throughput and
MaximumWindowSize / RTT - Simulations contain no congestion (no losses)
11Simulation Model Congestion Scenario with
Multiplexed ON/OFF Traffic
- Scenario N (LRD) ON/OFF sources, queueing/loss
only at bottleneck router - Models without flow-control ? known results in
literature - Here Investigate average throughput per
connection in TCP setting
12Correlation Connection Size ? Throughput
13Agenda
- Motivation GPRS Performance
- TCP Behavior
- Basics
- Connection Set-up/Tear-down
- Flow-Control
- TCP Performance Models
- Wireless TCP
- Problems (Simulation Results)
- Enhancements Sack, Snoop, ECN
- TCP over GPRS access
- Summary Outlook
14Challenge Traffic/Performance Models for TCP
- End-to-End flow-control (using Ack packets)
- ? Feedback network behavior (congestion) ?
ingress traffic - No separation traffic model/network model
possible - New traffic/performance models required
- TCP traffic models in literature, based on ...
- ... sender/receiver behavior Padhye et al.,
Sigcomm 98 - ... processor sharing models Heyman et al.,
Sigmetrics 97 - ... packet-level extensions of ON/OFF models
Schwefel, Infocom 01
15Analytic Models I TCP-UMass Padhye, Firoiu,
Towsley, Kurose
- Approximation of throughput T in persistent TCP
connection - Derived from sender/receiver behavior
- Input Parameters
- b packets acknowledged by ACK here
b1 - RTT Average Round-Trip-Time (including queuing
delay) - Wmax Maximum size of congestion window here
Wmax1024 packets - T0 Average Time-Out interval
- p Fraction of retransmitted packets
16Analytic Models II TCP-Engset Heyman, Lakshman,
Neidhardt
- Modified Processor Sharing model on connection
level - For j active users, each obtains service at
rate ?p when j?p ?? ??/j when j?p gt? - with attenuation factor ??1 derived from TCP
behavior
,
With R0 minimal Round-Trip Time ?di1/?1/ ?p
Note
- active connections can be represented by
birth-death process - Steady-state prob. independent of distribution of
connection size(? no impact of Long-Range
Dependence from heavy-tailed conn. sizes)
17Analytic Models III TCP-NBurst Schwefel
- Packet-level extension of TCP-Engset model
- Sharing of bandwidth packet-rate ?p at source
reduced to ??/j for j active sources when j?pgt? - conn. duration extended ? packets in conn.
unchanged - Throttling only during congestion state when QgtB
Cmp. TCP-Engset
18Comparison (I) Applicability of Models
- TCP-UMass
- Simple Formula, based on end-to-end TCP
behavior - -- Computation of throughput only
- -- Derived parameters required RTT, T0, p
- ? assumes persistent connections
- TCP-Engset
- use of basic parameters only
- dynamic connections (ON/OFF)
- -- no packet-level queue ? restricted performance
parameters (e.g. loss rate) - ? Independence of connection size distribution
(LRD properties) - TCP-NBurst
- packet-level queue ? wide range of computable
performance parameters - -- computationally hard (matrix-algebraic
methods), potential numerical problems
19Comparison with simulation results
- TCP-Engset/NBurst work well for large number of
TCP sources - All models fail for short connections (slow-start
not modeled) - ... see ITCOM01 for more results
20Agenda
- Motivation GPRS Performance
- TCP Behavior
- Basics
- Connection Set-up/Tear-down
- Flow-Control
- TCP Performance Models
- Wireless TCP
- Problems (Simulation Results)
- Enhancements Sack, Snoop, ECN, etc.
- TCP over GPRS access
- Summary Outlook
21Wireless LinksChallenges
- Wireless links tend to show poor performance
- Large delays
- Low throughput
- Bit errors / packet losses due to radio
transmission - Protocols in IP family not originally designed
for such links - Increased volume due to headers
- Deficiencies of TCP flow control
- ... many more (e.g. applications HTTP?WAP)
- Protocol Enhancements are required, e.g.
- Robust Header Compression (RoHC) (Backup Slides)
- Enhancements for Wireless TCP
22Wireless Scenarios (dropped packets)
- Simulation model using ns2 (network simulator)
- Extension Error model for wireless link ?
packet loss without congestion - 2-State Markov loss model
23Performance Degradation due to dropped packets
- At right end of graph About 30 packets lost
due to wireless link ?
95 TCP throughput reduction
24Wireless TCP Common Approaches for Enhancement
- Link-Layer Approach
- Local Retransmission of lost packets
- Hide losses from sender
- Explicit Notification Approach
- Explicitly notify TCP sender of the condition of
the network / type of the loss - End to End Approach
- Enhance TCP Protocol stack at sender and receiver
to achieve better throughput (e.g. TCP SACK) - Split-Connection Approach
- End-to-End flow control terminated before
wireless link (e.g. SNOOP)
25Wireless TCP Split Connection
- Proxy is located between the 2 end-hosts (i.e. MH
FH) to split the TCP connection into 2 parts
26Wireless TCP Performance Comparison (ns
simulation)
Source Master Thesis, D. Höllisch
- Single source scenario with burst errors on
wireless link (?11 ? ca 28 packet loss) - ? Snoop (Split-TCP) together with SACK
(end-2-end approach) provides best goodput
- Congestion scenario (20 ON/OFF TCP sources) with
same wirless link model - ? Combination SACK with Snoop shows much lower
goodput than Snoop by itself
27GPRS General Packet Radio Service
- Packet Switched Extension of GSM
- 1996 new standard developed by ETSI
- Components integrated in GSM architecture
- Improvements
- Packet-switched transmission
- Higher transmission rates on radio link (multiple
time-slots) - Volume based charging ? Always ON mode possible
- Operation started in 2001 (Germany)
28GPRS - Architecture
- Components
- CCU Channel Coding Unit
- PCU Packet Control Unit
- SGSN Serving GPRS Support Node
- GGSN Gateway GPRS Support Node
- GR GPRS Register
- Transmission
- Packet Based Transmission
- Radio link
- Radio transmission identical to GSM
- Different coding schemes (CS1-4)
- Use of Multiple Time Slots
- Volume Based Charging
29TCP/IP in GPRS
- No end-2-end IP Routing in GPRS network
- Fragmentation in LLC frames RLC blocks
- Potential bottleneck air-interface (?10-50kbit/s)
30GPRS Boundary conditions Simulation Parameters
- GPRS Boundary conditions
- RTT between 700ms and 1sec (for 40 Byte packet
with no queueing delay) - RLC Ack mode (? no losses), LLC unAck mode
- Coding Scheme 2 (raw 13.4 kb/s per Time-Slot), 3
downlink time-slots - Cell Reselection between 5-40 seconds loss of
data connection - Simplified Simulation Model (TCP Reno, fixed
packet size, constant transmission delays, no
delayed Acks) - Two Scenarios
- Packetsize 1460 Bytes Max Throughput (L4)
33kbit/sec - PacketSize 536 Bytes Max Throughput (L4)
31.5kbit/sec
31TCP Throughput in simplified GPRS Setting
- Correction y-axis in kbit/s
- RecWin limits throughput for large connections
- Throughput in short connections reduced due to
slow-start - Scenario without congestion (single TCP
connection)
32Other issues Choice of Maximum Segment Size
- Parameters
- Coding Scheme 2
- Downlink 4 time-slots
- Uplink 1 time-slot
- Max. Window Size 8100B
- No Impact of Slow-Start
- No losses/congestion
- Larger MSS
- reduces overhead
- But increases RTT
33Solution in Practice Proxies (Split-TCP)
Core Network Internet
RAN
MSP
HTTP Server
RADIUS
SGSN
GGSN
DHCP
- Mobile Smart Proxy
- TCP Optimizations (Larger initial window, etc.)
- Content caching and compression (http)
- User authentication (Radius) and access control
- Content aware billing
34Agenda
- Motivation GPRS Performance
- TCP Behavior
- Basics
- Connection Set-up/Tear-down
- Flow-Control RTT Measurments
- TCP Performance Models
- Wireless TCP
- Problems (Simulation Results)
- Enhancements Sack, Snoop, ECN, etc.
- TCP over GPRS access
- Summary Outlook
35The future of mobile networks
- Much of the initial enthusiasm for the concept
appears to have evaporated and the original
launch target of autumn this year has been
slipping. When the government asked companies to
apply for licences, international consortia
rushed to compete. - () Since then, the economy has sunk into
recession, forecasts of the number of subscribers
have been scaled down and the need for heavy
investment has scared many of the original
shareholders.
Financial Times September 1992 The Future
of GSM Mobile Communications
36Acknowledgements
- Work of the following people is included in this
slide-set - Dr. Dietmar Weber, Dr. Stefan Rugel, Gernot
Reuss, Siemens AG - Raimund Brandt , Helmut Obermeier, Daniel
Höllisch, TU München - Dr. Manfred Jobmann, TU München
- Dr. Daniel P Heyman, ATT Labs, NJ, USA
37 38Timeout intervals (RTO) Dynamically adjusted
- Measured Round-Trip-Time (RTT) M
- RTO computed via moving average and variance
estimate A(1-g)AgM D(1-h)Dh(M-A) ,
with g1/8, h1/4 RTOA4D
39Simulation Scenario Parameter Settings
Observed
- Goodput per connection i GiCi / Di
- Average Goodput weighted average
- Goodput while active
- where Cipackets in conn. i, Diduration of
conn. i
40Error Model Correlated errors
Average packet loss
- While current state i packets corrupted with
probability ?i - After each packet state transition with
probability pik
41Wirless TCP Split Connection (contd)
- Advantages
- Shields the end-host in the wired network from
the wireless network characteristic - Wireless Local Recovery by Proxy
- Conservation of bandwidth of the wireless link
- Reduced header size for optimized transport
protocol over wireless link - Smaller and simpler wireless protocol between MH
and Proxy - Disadvantages
- Modifications required at MH
- No end-to-end TCP semantics
- Not usable with IPSEC, since access to the TCP
header needed - Requires buffer management at Proxy
Source G. Reuss
42Wireless TCP Link-Layer Approach
TCP
TCP
IP
IP
IP
Layer 2
Layer 2
Layer 2
Layer 1
Layer 1
Layer 1
IP
Network
Proxy
MH
Sender
- Proxy detects losses over the wireless link
- Proxy does local retransmission before the sender
timeouts. Hides the wireless losses from the
Sender
Source G. Reuss
43Wirless TCP Link-Layer Approach (contd)
- Advantages
- No modification to end hosts
- Disadvantages
- TCP-aware link layer solutions cannot be used
with IPSec - Sender may not be fully shielded from wireless
losses - TCP End-to-End retransmission scheme and
Link-Layer retransmissions ? possibly duplicate
retransmissions
Source G. Reuss
44Wirless TCP End-to-end approach
- TCP Protocol Stack at Sender and Receiver
enhanced e.g. SACK, FACK, D-SACK, Eifel - Possible enhancements
- Differentiate Lossese.g. no slow-start for
wireless losses - Efficient Utilisation of Bandwidthe.g. no
initial slow-start - Detection of Multiple Losses
- Advantages
- End-to-End semantics and layered architecture of
network protocols are preserved - IP packet encryption can be used
- Disadvantage
- Modification at end host
Source G. Reuss
45End-2-End Enhancements SACK
- TCP Reno inefficient for multiple packet losses
within congestion window - Extension Selective Acknowledgement (SACK)
- SACK principles
- Several (3) SACK blocks mark successfully
received sets of data - Sender maintains scoreboard of successfully
transmitted packets - Special treatments of partial Acks during Fast
Recovery
46Robust Header Compression (RoHC)
- Motivation
- IP voice packets header 40/60Bytes, average
payload 25Bytes - TCP ACK packets header 40/60 Bytes, payload
often 0Bytes - Data in many header fields
- hardly ever changes e.g. source/destination
address within same IP flow - or changes in a regular pattern
- Idea reduce header length by compression, e.g.
- differential encoding of fields
- and/or variations of Huffman compression
- Compression can be applied to several protocol
headers, e.g. TCP/IP or RTP/UDP/IP
47Robust Header Compression (RoHC)
-
- Synchronized compression context required in
compressor and decompressor - Lost packets ?Synchronization disturbed
?Additional mechanisms for context
synchronisation required Robustness - Error detection by Cyclic Redundancy Codes (CRC)
- Loss detection through sequence numbers
- Reduced compression efficiency price for error
robustness - Current RoHC methods 40 Bytes RTP/UDP/IP header
?on average 1 or 2 bytes
48GSM Global System for Mobile Communication
History
- 2nd Generation of Mobile Telephony Networks
- 1982 Groupe Spèciale Mobile (GSM) founded
- 1987 First Standards defined
- 1991 Global System for Mobile Communication,
Standardisation by ETSI (European
Telecommunications Standardisation Institute) -
First European Standard - 1995 Fully in Operation
49GSM Architecture
- Components
- BTS Base Transceiver Station
- BSC Base Station Controller
- MSC Mobile Switching Center
- HLR/VLR Home/Visitor Location Register
- AuC Authentication Center
- EIR Equipment Identity Register
- OMC Operation and Maintenance Center
- Transmission
- Circuit switched transfer
- Radio link capacity 9.6 kb/s (FDMA/TDMA)
- Duration based charging
50Mobile Smart Proxy Feature Overview
- Highly scalable high performance HTTP proxy
access point for any device - User authentication via Radius
- Access control
- Content Compression and Optimization
- TCP Optimizations
- Multi-Level Caching pre-transformation cache
post-transformation cache - Optimizations based on client capabilities
- Configurable by Operator, End-User Content
Provider - Direct application interfaces
51What makes the proxy smart ?
- User awareness
- content acceleration
- access control
- billing
- service differentiation
- Bearer awareness
- content acceleration
- access control
- billing
- Device awareness
- content rendering
- content acceleration
- Application awareness
- application preference