Diplomarbeit TCP_IP over UMTS.pdf

Diplomarbeit TCP_IP over UMTS.pdf, updated 10/4/22, 10:30 PM

visibility107

About Global Documents

Global Documents provides you with documents from around the globe on a variety of topics for your enjoyment.

Global Documents utilizes edocr for all its document needs due to edocr's wonderful content features. Thousands of professionals and businesses around the globe publish marketing, sales, operations, customer service and financial documents making it easier for prospects and customers to find content.

 

Tag Cloud

Technische Universität Wien
Diplomarbeit
TCP/IP over UMTS
ausgeführt am
Institut für
Nachrichtentechnik und Hochfrequenztechnik
der Technischen Universität Wien
unter der Anleitung von
o. Univ. Prof. Dr. techn. Ernst Bonek
DI Manfred Taferner
durch
Georg Löffelmann
A - 1210 Wien, Eichfelderstraße 17
Wien, im September 2000
Zusammenfassung
Die steigende Nachfrage für mobilen Internetzugang verlangt nach hochdatenratigen,
paketvermittelten Mobilkommunikationssytemen.
Universal Mobile Telecommunications System (UMTS) ist das Mobilfunksystem der drit-
ten Generation und soll 2002 in Betrieb gehen. UMTS bietet Datenübertragungsraten
bis maximal 2048 kbit/s. Die UMTS Funkschnittstelle UMTS Terrestrial Radio Access
(UTRA) basiert auf Direct Sequence Code Division Multiple Access (DS-CDMA). UTRA
bietet paketvermittelte Transportdienste und dynamische Ressourcenzuweisung. Der Ra-
dio Link Control (RLC) Layer an der Funkschnittstelle verfügt über verschiedene Übertra-
gungsmodi: Unacknowledged Mode Data (RLC UMD) mit Fehlererkennung und Acknowl-
edged Mode Data (RLC AMD) mit Fehlerkorrektur, wobei, basierend auf Negative Ac-
knowledgements (NACKs), fehlerhafte Daten neu übertragen werden. UMTS stellt auch
optionale TCP/IP Header-Kompression für die paketvermittelten Datendienste bereit.
Das Standard Transportprotokoll für die fehlerfreie Datenübertragung über das Internet
ist das Transmission Control Protocol (TCP) mit einer auf Acknowledgements (ACKs)
basierenden Fehlerkorrektur durch Anzeige korrekt empfangener Daten. TCP setzt auf
dem Internet Protocol (IP) auf.
In dieser Diplomarbeit beschreibe ich die Simulation von Datenübertragungen zwischen
einem herkömmlichen Internet-Server und einer UMTS Mobilstation. Der TCP Durchsatz
wird für variierende Blockfehlerraten (BLER) am Transportkanal für Transportdienste mit
12.2 kbit/s, 64 kbit/s, 144 kbit/s, 384 kbit/s und 2048 kbit/ ausgewertet. Die maximal
erlaubte BLER liegt im Bereich von ca. 10% für RLC AMD und etwa 1% für RLC UMD.
Der TCP Gesamtdurchsatz beim 64 kbit/s Transportdienst steigt bei Aktivierung der
Header-Kompression mit RLC AMD, fällt aber für RLC UMD unter den Wert, der
ohne Header-Kompression erreicht wird. Für den 384 kbit/s Transportdienst wurden ver-
schiedene Verkehrsszenarien, darunter gleichzeitige FTP Downloads, gleichzeitige FTP Up-
und Downloads sowie HTTP Web Browsing, ausgewertet. Die Dynamik des Flußkontrol-
lalgorithmus von TCP führt zu Durchsatzergebnissen unter dem theoretischen Maximum.
Ich komme zu dem Schluß, daß die derzeit am häufigsten verwendete TCP Reno Implemen-
tation nicht optimal über UMTS Transportdienste bei hohen Datenraten arbeitet. Neuere
Implementationen, wie TCP Vegas, sollten hier den Durchsatz erhöhen. Die Verwendung
von WindowScaling und Selective Acknowledgements (SACKs) ist für hohe Datenraten
auf der UMTS Funkschnittstelle zwingend notwendig.
i
Abstract
The rising demand for mobile Internet access requires mobile telecommunications systems
with the ability to handle packet switched data at high data rates.
Universal Mobile Telecommunications System (UMTS) is the third generation mobile radio
system and is expected to launch in 2002. UMTS provides raw data rates for packet
switched data of up to 2048 kbit/s. The UMTS radio interface UMTS Terrestrial Radio
Access (UTRA) is based on Direct Sequence Code Division Multiple Access (DS-CDMA).
UTRA provides transport services for the packet switched domain and dynamic allocation
of resources. The Radio Link Control (RLC) layer of the UMTS radio interface provides
different modes for transmission of packet switched data: Unacknowledged Mode Data
(UMD), providing error detection, and Acknowledged Mode Data (AMD), providing error
correction by retransmitting corrupt data based on Negative Acknowledgements (NACKs).
UMTS packet switched data services also provide optional TCP/IP header compression.
The standard transport protocol for reliable transmission of data on the Internet is the
Transmission Control Protocol (TCP) with an error correction based on Acknowledgements
(ACKs), indicating valid received data. TCP operates on top of the Internet Protocol (IP).
In this thesis, I will describe simulations of data transmissions between a conventional
Internet server and a UMTS User Equipment (UE). TCP throughput is evaluated for
varied block error ratios (BLER) on the transport channel for transport services with data
rates of 12.2 kbit/s, 64 kbit/s, 144 kbit/s, 384 kbit/s and 2048 kbit/s. The maximum
allowed BLER is in the range of about 10% for RLC AMD and about 1% for RLC UMD.
The overall TCP throughput for the 64 kbit/s transport service is increased if header
compression is activated when using the RLC AMD mode. However, a decrease below the
value evaluated without header compression is observed for the RLC UMD mode. Several
traffic scenarios are evaluated for the 384 kbit/s transport service, including simultaneous
FTP downloads, simultaneous FTP up- and download and HTTP web browsing. The
dynamics of TCP’s congestion control algorithm lead to throughput results below the
theoretical maximum.
I come to the conclusion that the, today’s most commonly used, TCP Reno implementation
performs not optimal over UMTS transport services at high data rates. Newer implemen-
tations, like TCP Vegas, should increase overall throughput. The use of WindowScaling
and Selective Acknowledgements (SACKs) is mandatory for high data rates in heavy-loss
environments, like the UMTS radio interface.
ii
Acknowledgement
I wish to express my appreciation to Prof. Dr. Ernst Bonek for his endeavors throughout
the time I wrote this diploma thesis. He encouraged me in many ways and provided
valuable hints on the presentation of topics and the English Language.
I want to thank all members of the Mobile Communications Group for their best care and
attention and numerous constructive discussions.
Special thanks go to my supervisor DI Manfred Taferner. He had great patience in teaching
me the mysteries of the simulation software and was always supportive in an exemplary
way.
He shared his work on evaluation of TCP/IP data transmission with the simulation soft-
ware, which was of great help and provided many insights. He also had very helpful
suggestions when proof reading my thesis.
I would like to dedicate this diploma thesis to my parents. You never lost faith in what I
did and it is your singular support I admire with great respect.
iii
Contents
1 Introduction
1
1.1 Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.2 UMTS Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.3 UMTS Protocol Architecture
. . . . . . . . . . . . . . . . . . . . . . . . .
5
2 UTRAN Protocol Architecture
7
2.1 Packet Data Convergence Protocol
. . . . . . . . . . . . . . . . . . . . . .
7
2.2 Radio Link Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
2.2.1 Unacknowledged Mode Data, UMD . . . . . . . . . . . . . . . . . .
11
2.2.2 Acknowledged Mode Data, AMD . . . . . . . . . . . . . . . . . . .
12
2.3 Medium Access Control
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
2.3.1 MAC-c/sh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
2.3.2 MAC-d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
3 TCP/IP Protocol Stack
18
3.1
IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
3.2 TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
3.2.1
Sliding Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
3.2.2 Retransmission Timer
. . . . . . . . . . . . . . . . . . . . . . . . .
23
3.2.3
Slowstart and Congestion Avoidance
. . . . . . . . . . . . . . . . .
24
3.2.4 Fast Retransmit and Fast Recovery . . . . . . . . . . . . . . . . . .
26
3.2.5 Delayed Acknowledgement . . . . . . . . . . . . . . . . . . . . . . .
26
3.2.6 Window Scaling for Long, Fat Networks
. . . . . . . . . . . . . . .
27
3.3 Performance Issues and Influences . . . . . . . . . . . . . . . . . . . . . . .
28
3.3.1
IP Maximum Transmission Unit . . . . . . . . . . . . . . . . . . . .
28
3.3.2 TCP Maximum Segment Size . . . . . . . . . . . . . . . . . . . . .
28
3.3.3 TCP Implementation . . . . . . . . . . . . . . . . . . . . . . . . . .
28
3.3.4 UMTS PDCP Header Compression . . . . . . . . . . . . . . . . . .
29
iv
CONTENTS
v
3.3.5 UMTS RLC Mode . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
3.3.6 UMTS MAC Scheduling and Physical Layer Transmission Format .
32
3.3.7 External Packet Data Network . . . . . . . . . . . . . . . . . . . . .
32
4 Simulation Model
34
4.1 Simulation Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
4.2 Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
4.2.1 TCP Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
4.2.2
IP Model
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
4.2.3 PDCP Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
4.2.4 RLC Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
4.2.5 MAC Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
4.2.6 Channel Model
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
4.2.7
Internet Model
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
4.2.8 FTP Server Model
. . . . . . . . . . . . . . . . . . . . . . . . . . .
40
4.2.9 HTTP Traffic Model . . . . . . . . . . . . . . . . . . . . . . . . . .
41
4.3 Simulation Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
42
5 Investigation of Transport Services
44
5.1 12.2 kbit/s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
5.2 64 kbit/s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
5.2.1 RLC AMD/UMD + TCP/IP Header Compression
. . . . . . . . .
50
5.3 144 kbit/s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
52
5.4 384 kbit/s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
5.4.1 RLC AMD + Lossy Internet . . . . . . . . . . . . . . . . . . . . . .
56
5.4.2 RLC AMD + Simultaneous FTP Downloads . . . . . . . . . . . . .
58
5.4.3 RLC AMD + FTP Up- and Download . . . . . . . . . . . . . . . .
63
5.4.4 RLC AMD + HTTP Traffic . . . . . . . . . . . . . . . . . . . . . .
64
5.5 2048 kbit/s
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
69
5.5.1 Modifications to TCP Reno . . . . . . . . . . . . . . . . . . . . . .
71
6 Summary and Conclusion
75
A Ptolemy Universes
79
B Frequently Used Acronyms
81
List of Figures
1.1 UMTS functional parts . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.2 UMTS circuit switched and packet switched domain . . . . . . . . . . . . .
4
1.3 UMTS architecture (PS domain)
. . . . . . . . . . . . . . . . . . . . . . .
4
1.4 UMTS protocol stack (PS domain)
. . . . . . . . . . . . . . . . . . . . . .
5
2.1 PDCP service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
2.2 PDCP SDU and PDU . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
2.3 RLC service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
2.4 RLC segmentation and concatenation . . . . . . . . . . . . . . . . . . . . .
10
2.5 UMD peer entities ([TS25.322, Figure 4.3]) . . . . . . . . . . . . . . . . . .
11
2.6 AMD peer entities ([TS25.322, Figure 4.4]) . . . . . . . . . . . . . . . . . .
12
2.7 MAC service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
2.8 UE side MAC architecture . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
3.1 TCP/IP header field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
3.2 Sliding window principle . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
3.3 Slowstart, congestion avoidance and timeout . . . . . . . . . . . . . . . . .
25
3.4 Fast retransmit and fast recovery . . . . . . . . . . . . . . . . . . . . . . .
27
3.5
Interaction of TCP with RLC UMD/AMD, (a) (b)
. . . . . . . . . . . . .
31
4.1 Simulation model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
4.2 TCP/IP simulation model . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
4.3 PDCP simulation model . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
4.4 RLC simulation model . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
4.5 MAC simulation model . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
4.6
Internet simulation model
. . . . . . . . . . . . . . . . . . . . . . . . . . .
40
4.7 FTP server model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
4.8 Payload generator model . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
4.9 HTTP traffic model - file size request distribution . . . . . . . . . . . . . .
42
vi
LIST OF FIGURES
vii
5.1 12.2 kbit/s - TCP throughput . . . . . . . . . . . . . . . . . . . . . . . . .
47
5.2 64 kbit/s - TCP throughput . . . . . . . . . . . . . . . . . . . . . . . . . .
49
5.3 64 kbit/s - TCP throughput (header compression) . . . . . . . . . . . . . .
51
5.4 144 kbit/s - TCP throughput
. . . . . . . . . . . . . . . . . . . . . . . . .
53
5.5 384 kbit/s - TCP throughput
. . . . . . . . . . . . . . . . . . . . . . . . .
55
5.6 384 kbit/s - TCP Throughput (RLC AMD, lossy Internet) . . . . . . . . .
57
5.7 384 kbit/s - TCP and RLC data rate (2 FTP downloads) . . . . . . . . . .
59
5.8 384 kbit/s - TCP and RLC PDF of packet delay (2 FTP downloads)
. . .
60
5.9 384 kbit/s - TCP throughput dynamics (5 FTP downloads)
. . . . . . . .
61
5.10 384 kbit/s - TCP throughput dynamics (lossy, 5 FTP downloads) . . . . .
62
5.11 384 kbit/s - TCP throughput dynamics comparison (5 FTP downloads) . .
63
5.12 384 kbit/s - TCP throughput dynamics (FTP up- and download)
. . . . .
64
5.13 384 kbit/s - TCP and RLC data rate (FTP up- and download) . . . . . . .
65
5.14 384 kbit/s - TCP and RLC PDF of packet delay (FTP up- and download)
66
5.15 384 kbit/s - TCP throughput over file size (HTTP traffic, 1 client) . . . . .
67
5.16 384 kbit/s - TCP throughput over file size (HTTP traffic, 2 clients) . . . .
68
5.17 2048 kbit/s - TCP throughput . . . . . . . . . . . . . . . . . . . . . . . . .
70
5.18 2048 kbit/s - TCP data rate comparison . . . . . . . . . . . . . . . . . . .
72
5.19 2048 kbit/s - TCP PDF of packet delay comparison . . . . . . . . . . . . .
73
6.1 Maximum allowed BLER for required throughput ratios . . . . . . . . . . .
77
A.1 FTP scenarios - Evaluation of TCP throughput . . . . . . . . . . . . . . .
79
A.2 HTTP scenarios - Evaluation of TCP throughput . . . . . . . . . . . . . .
80
List of Tables
2.1 PID value allocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
2.2 C/T field structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
2.3 Channel coding and transmission format . . . . . . . . . . . . . . . . . . .
16
4.1 Fixed simulation parameter set
. . . . . . . . . . . . . . . . . . . . . . . .
43
4.2 Variable simulation parameter set (default values) . . . . . . . . . . . . . .
43
5.1 UMTS service classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
5.2 12.2 kbit/s - simulation parameter set . . . . . . . . . . . . . . . . . . . . .
46
5.3 12.2 kbit/s - TCP throughput . . . . . . . . . . . . . . . . . . . . . . . . .
46
5.4 64 kbit/s - simulation parameter set . . . . . . . . . . . . . . . . . . . . . .
48
5.5 64 kbit/s - TCP throughput . . . . . . . . . . . . . . . . . . . . . . . . . .
50
5.6 144 kbit/s - simulation parameter set . . . . . . . . . . . . . . . . . . . . .
52
5.7 144 kbit/s - TCP throughput
. . . . . . . . . . . . . . . . . . . . . . . . .
52
5.8 384 kbit/s - simulation parameter set . . . . . . . . . . . . . . . . . . . . .
54
5.9 384 kbit/s - TCP throughput
. . . . . . . . . . . . . . . . . . . . . . . . .
56
5.10 384 kbit/s - simulation parameter set (RLC AMD, lossy Internet) . . . . .
56
5.11 384 kbit/s - simulation parameter set (simultaneous FTP downloads) . . .
58
5.12 384 kbit/s - TCP throughput dynamics (5 FTP downloads)
. . . . . . . .
61
5.13 2048 kbit/s - simulation parameter set
. . . . . . . . . . . . . . . . . . . .
69
5.14 2048 kbit/s - TCP throughput . . . . . . . . . . . . . . . . . . . . . . . . .
70
viii
Chapter 1
Introduction
Demand for mobile telecommunication systems providing data transmission at high data
rates is growing rapidly. By 2004, one-third of all Europeans are estimated to regularly
use their mobile phones to access Internet services (Forrester Research 1999).
The Global System for Mobile Communications (GSM), standardized by the European
Telecommunications Standards Institute (ETSI) and todays leader in wireless communica-
tions, provides circuit switched (CS) data transmission at maximum rates of 14.4 kbit/s.
Circuit switched means, that a dedicated transmission medium is reserved and engaged
during the entire connection phase, even if no data is actually transmitted. General Packet
Radio Service (GPRS) enhances GSM with packet switched (PS) data transmission capabil-
ities at single user rates of 172.2 kbit/s as stated in [GSM03.64]. Packed switched means,
that data streams are segmented into packets and multiple users may share one single
medium. However, GPRS decreases GSM cell capacity.
The Universal Mobile Telecommunications System (UMTS) is the third generation mo-
bile system. The organizational partners of the Third Generation Partnership Project
(3GPP) cooperate in specifying UMTS. It is based on an evolved GSM core network and
a completely new radio access technology. The current partners forming 3GPP are: Euro-
pean Telecommunications Standards Institute (ETSI), Committee T1, Telecommunications
Technology Association (TTA), Telecommunication Technology Committee (TTC), Associ-
ation of Radio Industries and Businesses (ARIB) and China Wireless Telecommunication
Standard (CWTS).
Since several specifications for UMTS are still subject to further development and discus-
sion, it is here stated that Release 99 (issued in March 00) is used and all implementation
details refer to this issue unless otherwise stated.
1.1 Contribution
The aim of this diploma thesis is analysis and evaluation of TCP/IP performance over
UMTS packet switched data services and is restricted to an FDD mode radio interface and
1
CHAPTER 1. INTRODUCTION
2
its related transmission formats.
End-to-end performance of packet switched data has been evaluated in detail for TCP
connections. Careful attention has been given to the interaction of TCP/IP with UMTS
packet switched data modes and services.
Performance analysis of TCP throughput and the behavior of the TCP/IP protocol stack
for various UMTS transport services and traffic scenarios is performed on a simulation-
based UMTS model environment. The UMTS model developed for this thesis supports
various configurations and uses a simple block error model as the channel model.
UTRAN Protocol Architecture
This chapter explains the basic functions of the protocols defined for UMTS terrestrial
radio access. The functions include header compression of transferred user data, error
detection and error correction on the radio interface and dynamic allocation of resources
for multi-user scenarios.
TCP/IP Protocol Stack
After a short overview on the header structure of TCP/IP, detailed information on TCP
and IP is given. Flow control and known limitations of TCP are described and illustrated.
Three versions of TCP implementations are presented and compared against each other.
Further sections are dedicated to influences of UMTS packet switched data transmission
on the behavior of TCP.
Simulation Environment
The used simulation tool and its structure is shortly described here. The used models for
UTRAN protocols and TCP/IP are visualized with detailed descriptions of their general
function and parameters.
Investigation of Transport Services
This chapter shows the simulation results performed for five different UMTS transport
services. The maximum TCP throughput is evaluated for different scenarios of losses on
the radio interface and the external packet data network.
The influence of TCP/IP header compression is illustrated for the 64 kbit/s transport
service.
Different traffic scenarios, including multiple FTP downloads and simultaneous FTP up-
and download have been simulated for the 384 kbit/s transport service. Another simulation
shows achievable TCP throughput for HTTP traffic scenarios with a single client and with
two clients, operating simultaneously.
CHAPTER 1. INTRODUCTION
3
Summary and Conclusions
After a review of the most important insights of this thesis, conclusions are drawn about
practical applicability and limitations of different modes and services of UMTS packet
switched data transmission for use with TCP/IP. Requirements for future TCP implemen-
tations conclude this thesis.
1.2 UMTS Architecture
The UMTS network is divided into two functional parts: A Core Network (CN) and an
Access Network (AN). A UMTS Terrestrial Radio Access Network (UTRAN) performs the
terrestrial mobile radio access to User Equipments (UE) (see Fig. 1.1).
UE
UTRAN
CN
Uu
Iu
Figure 1.1: UMTS functional parts
The radio interface uses Direct Sequence Code Division Multiple Access (DS-CDMA) with
two duplex modes: Frequency Division Duplex (FDD) and Time Division Duplex (TDD).
UMTS offers packet switched data transport services (defined in[TS25.944]) with data rates
of up to 2048 kbit/s.
UMTS packet switched data services support various transport protocols like the Trans-
mission Control Protocol (TCP, specified in [P81b]) together with the Internet Protocol
(IP, specified in [P81a] and [DH98]) for connections to the Internet and other packet data
networks.
The UMTS core network in Release 99 is logically divided into a Circuit Switched Do-
main (CS) and a Packet Switched Domain (PS) as shown in Fig. 1.2 [TS23.101]. The
protocols and interfaces used are GSM Phase 2+ compliant and defined in [TS22.060] and
[TS23.060]. Packet switched nodes as Serving GPRS Support Node (SGSN) and Gateway
GPRS Support Node (GGSN) have to be enhanced to support higher data rates in the
packet switched domain.
Section 1.3 describes a core network protocol architecture currently under investigation,
using ATM connectivity within the core network for the packet switched domain. This
configuration is suggested in [TS25.401].
Release 00 however, is expected to contain an All IP Network without any need for a CS
domain. All Types of Services (voice, data, video, etc.) will be transmitted and routed
using the PS services and capabilities.
The UMTS Architecture used for this thesis is shown in Fig. 1.3. A UEis connected to
UTRAN over the Radio Interface Uu. It has radio connections to one or more NodeBs
CHAPTER 1. INTRODUCTION
4
SGSN
CN
RNC
RNC
RNS
RNS
RNC
NodeB
RNC
NodeB
GGSN
UE
UTRAN
CN
Uu
Iub
Iur
IuPS
Iub
Uu
Iu
UE
GMSC
IuCS
PSTN
Gn
Gi
Gp
PSTN
PSTN
CS
PS
MSC
Figure 1.2: UMTS circuit switched and packet switched domain
RNC
RNC
RNS
RNS
RNC
NodeB
SGSN
RNC
NodeB
GGSN
CN
UE
UTRAN
CN
Uu
Iub
Iur
IuPS
Iub
Packet
Data
Network
Uu
Iu
PDN
TE
TE
UE
Figure 1.3: UMTS architecture (PS domain)
CHAPTER 1. INTRODUCTION
5
(UMTS Radio Transceiver Stations) and logical connections to a Radio Network Controller
(RNC). One or more radio network controller together with their related NodeBs form a
Radio Network Subsystem (RNS) which is connected to the core network via the IuPS
interface.
Within the Core Network SGSN holds interconnections to other Public Land Mobile Net-
works (PLMN) and GGSN interconnects to Packet Data Networks (PDN) like the Internet.
1.3 UMTS Protocol Architecture
The UMTS protocol stack (Release 99) is shown in Fig. 1.4. ATM transport technology
is used in UTRAN and for the Iu interface. ATM is capable of supporting various and
especially high data rates. Additionally an inherent support to meet stringent Quality of
Service (QoS) requirements and scalability is provided.
Figure 1.4: UMTS protocol stack (PS domain)
The scenario in Fig. 1.4 shows a UEthat established a TCP connection to a Terminal
Equipment (TE) connected to an external packet data network (PDN).
TCP (Transmission Control Protocol , see Section 3.2) controls end-to-end transmission of
user data, thus one entity of the TCP protocol stack can be found on both the UEand
TE.
IP (Internet Protocol , see Section 3.1) performs addressing of network nodes and routing
(forwarding) of IP datagrams. IP protocol stacks are necessary not only on the respective
transmitting and receiving nodes, but also on all nodes, where routing is needed to deliver
IP datagrams to a specific branch of a network, especially for the dynamically changing
network configurations of mobile users (handover, roaming).
PDCP (Packet Data Convergence Protocol , see Section 2.1) ensures proper framing of IP
datagrams and provides optional header compression capabilities. Framing information is
CHAPTER 1. INTRODUCTION
6
needed only on the radio interface Uu to distinguish between different other network layer
protocols beside IP.
RLC (Radio Link Control , see Section 2.2) provides different modes for transmission of
higher layer data over the radio interface, including error detection and error recovery .
MAC (Medium Access Control , see Section 2.3) is used to share resources on transport
channels.
Service Data Units (SDU) are exchanged between a protocol layer and its respective higher
layer. The exchange point to a higher layer is called Service Access Point (SAP). Protocol
Data Units (PDU) are generated in the protocol and are transferred to and received from
the lower layer (see Fig. 2.1 for illustration).
IP packets are tunneled between nodes SGSN and RNC using the GPRS Tunneling Protocol
(GTP-U) over the User Datagram Protocol (UDP [P80]). UDP/IP is handed down to
ATM using ATM Adaption Layer 2 (AAL2) on NodeB and RNC, ATM Adaption Layer 5
(AAL5) on RNC and SGSN respectively. End-to-end addressing and routing is achieved
in user IP packets, whereas local addressing of SGSN and RNC is expected to be achieved
by means of UDP/IP below GTP-U and ATM addressing.
A Controlling Radio Network Controller (CRNC) controls logical connections to a UE,
whereas a Serving Radio Network Controllers (SRNC) actually provides the connections
via its NodeBs. SRNC and CRNC can be one RNC entity, as shown in Fig. 1.4. SRNC
and CRNC can be separated in case of handover scenarios given in [TS25.401].
All UTRAN data transmission related protocol entities are sited on UEand the counterpart
on SRNC/CRNC. They are described in more detail in Chapter 2.
Since the shared medium must be transparent between all related UEs and SRNC/CRNC
an additional framing protocol between SRNC/CRNC and the actual transceiving NodeBs
for multiplexing is needed to transmit certain channel data to NodeBs. Dedicated framing
protocols for shared channels are defined in [TS25.401]. Figure 1.4 shows the framing of
the Common Packet Channel (CPCH) with a specified Common Packet Channel Framing
Protocol (CpchFP) over AAL2.
Chapter 2
UTRAN Protocol Architecture
The UTRAN protocol architecture is logically divided into Control Plane and User Plane.
All control functions like resource management, call establishment and instantiation of
data transmission protocols entities are performed by protocols belonging to the control
plane. User plane protocols are responsible for actual transmission of user data. An overall
description is given in [TS25.401].
All UTRAN related issues belong to the Radio Network Layer . The Transport Network
Layer incorporates all transport technology used for UTRAN, but without specific UTRAN
requirements.
A Radio Access Bearer (RAB) uses a specific radio access scheme to transmit data. A single
UEmay have multiple RABs. A Radio Link is a logical association between a single UE
and a single UTRAN Access Point and consists of one or more radio bearer transmissions.
The UTRAN access point is unique for one cell. It is the UTRAN-side end point of a radio
link.
This thesis is restricted to simulation of user plane protocols. All simulations start at
a point, where control plane protocols finished all connection setup and instantiation of
needed resources. Especially all dynamic relocations of RNCs/RNSs are omitted.
In the following sections the UTRAN protocols will be described in more detail. The entire
protocol stack has already been shown in Fig. 1.4.
2.1 Packet Data Convergence Protocol
The Packet Data Convergence Protocol (PDCP [TS25.323]) transfers data packets from and
to the network layer in a transparent way, thus ensuring the operability of a wide range of
network layer protocols over UMTS. Figure 2.1 gives an overview of the interconnections to
other protocols. In Release 99, the supported protocols are IPv4 and IPv6 . Every Radio
Access Bearer (RAB) is connected to one PDCP entity and one PDCP entity is connected
to one RLC entity.
7
CHAPTER 2. UTRAN PROTOCOL ARCHITECTURE
8
It provides functions that improve channel efficiency, standardized IETF header compres-
sion algorithms are specified. In general the following functions are performed:
• Transfer of user data.
• TCP/IP and UDP/IP Header Compression and Decompression.
• Buffering of transmitted PDCP SDUs and sequence numbering used for lossless SRNS
relocation1.
• Release 00: Multiplexing of RABs onto one RLC entity.
IP
RLC
MAC-c/shIP
RLC
UE
Uu
Iub
NodeB
CRNC/SRNC
PDCP
MAC-c/shPDCP
MAC-d
MAC-d
PDCP SDU
PDCP PDU
PDCP SDU
PDCP PDU
Figure 2.1: PDCP service
The header compression method is chosen upon the network layer protocol type by Radio
Resource Control (RRC). Any signalling between compressors and decompressors during
data transmission is carried out in the user plane.
In order to distinguish multiple different header compression types and to process user
data packets with the correct compression method, a Packet Identifier (PID) is assigned
to each PDCP Protocol Data Unit (PDU). The assignment of PID values in Release 99 is
shown in Tab. 2.1.
The PID is conveyed in the header field of each PDU. It defines the used optimization
method for the PDCP peer entities. Any PID value not defined upon setup shall invalidate
the PDU and it is discarded.
There are two formats of Protocol Data units defined with PDCP. PDCP No-Header PDU,
which introduces no overhead to the PDCP SDU, and PDCP Data PDU, which holds
compressed or uncompressed user data in PDCP SDUs and a PID to distinguish the
compression algorithm.
1Lossless SRNS relocation allows forwarding of PDUs from an old SRNC to the target SRNC during
relocation procedures. A more detailed description can be found in [TS25.323, Section 5.5].
CHAPTER 2. UTRAN PROTOCOL ARCHITECTURE
9
PID value Optimization method
Packet type
0
No header compression
-
1
RFC2507
Full header
2
RFC2507
Compressed TCP
3
RFC2507
Compressed TCP non-delta
4
RFC2507
Compressed non TCP
5
RFC2507
Context state
6
Method A
Uncompressed TCP/IP
...
...
...
Table 2.1: PID value allocation
PDCP PDU
PDCP SDU
IP
TCP
User Data
PID
User Data
CH
Figure 2.2: PDCP SDU and PDU
2.2 Radio Link Control
Radio Link Control (RLC) is specified in [TS25.322]. Figure 2.3 gives an overview of the
connections to other protocols. There are three modes for data transmission available with
RLC. Transparent Mode Data (TrD) allows data transmission without introducing any
overhead. Unacknowledged Mode Data (UMD) and Acknowledged Mode Data (AMD) add
overhead but also introduce several functions including error detection/correction and flow
control. Details on the latter two modes are given in Sections 2.2.1 and 2.2.2.
Radio Link Control in general supports the following functions:
• Segmentation and reassembly of higher layer SDUs.
• Concatenation
• Padding
• Transfer of user data.
• In-sequence delivery of higher layer SDUs.
• Error detection (UMD)
• Error correction (AMD)
CHAPTER 2. UTRAN PROTOCOL ARCHITECTURE
10
• Duplicate Detection (UMD/AMD)
• Ciphering
IP
MAC-c/shIP
UE
Uu
Iub
NodeB
CRNC/SRNC
PDCP
MAC-c/shPDCP
MAC-d
MAC-d
RLC
RLC
RLC SDU
RLC SDU
RLC PDU
RLC PDU
Figure 2.3: RLC service
The length of RLC PDUs depends on the Transport Formats (TF) and Transport Format
Combinations (TFC). It is negotiated upon setup and during connection by Radio Resource
Control (RRC). Its length is not necessarily a multiple of 8 bits. Incoming RLC SDUs are
of arbitrary size and thus a Segmentation and Reassembly Mechanism is implemented in
RLC to fit the data into RLC PDUs.
RLC SDU
IP
TCP
PID
RLC PDU
SN LI
User Data
RLC PDU
SN
RLC PDU
SN LI
RLC SDU
IP
TCP
PID
User Data
IP
TCP
PID
IP
TCP
PID
Pad
Figure 2.4: RLC segmentation and concatenation
Figure 2.4 shows a typical process upon reception of higher layer SDUs. The first SDU is
segmented and inserted into two PDUs. The second SDU is concatenated with the first
SDU into the second PDU.
The last field in the third PDU “Pad” refers to an unused space, known as “padding”.
Padding is necessary, because RLC PDUs need to have fixed sizes to fit into a MAC PDU
(see Section 2.3).
There are two PDU formats defined. Data PDUs carry actual user data received in RLC
SDUs in one of the three known modes TrD, UMD or AMD. Control PDUs can be of type
STATUS, where one entire PDU or piggybacked status information on a data PDU can be
used. Other types are RESET and RESET ACK for peer-to-peer entity re-initialization.
CHAPTER 2. UTRAN PROTOCOL ARCHITECTURE
11
2.2.1 Unacknowledged Mode Data, UMD
Figure 2.5 shows the model of unacknowledged mode peer entities.
Transm.
UM-Entity
Transmission
buffer
UM-SAP
Receiver
UM-Entity
Receiver
buffer
UM-SAP
Radio Interface
Segmentation &
Concatenation
Ciphering
Add RLC header
Reassembly
Deciphering
Remove RLC
header
CCCH/DCCH/
DTCH/SHCCH
CTCH
CCCH/DCCH/D
TCH/ SHCCH
CTCH
Figure 2.5: UMD peer entities ([TS25.322, Figure 4.3])
SDUs are received by the transmitting entity through the Unacknowledged Mode Service
Access Point (UM-SAP). They are then segmented into pieces of appropriate length and
inserted into PDUs. Higher layer SDUs will be concatenated in PDUs, if possible.
After ciphering of SDU data, the RLC header is generated and added to the PDU. It is
stored in a transmission buffer where RLC PDUs are deployed to the MAC sublayer upon
request.
RLC header information includes a PDU Sequence Number with range 27 (0 .. 127) and
Length Indicators (LI), which indicate the end of one or more higher layer SDUs within
this PDU.
PDUs are received and stored in a receive buffer through one of the logical channels from
the MAC sublayer. RLC header data is removed and user data is deciphered. Reassembly
rebuilds higher layer SDUs and delivers them to PDCP.
If UMD should detect loss of PDUs, higher layers are informed by RLC. Duplicated or
corrupted PDUs received from MAC sublayer are discarded and the loss is signalled.
CHAPTER 2. UTRAN PROTOCOL ARCHITECTURE
12
2.2.2 Acknowledged Mode Data, AMD
Figure 2.6 shows the model of acknowledged mode peer entities.
Transmission
buffer
Retransmission
buffer &
mangement
MUX
Set fields in RLC Header (e.g. set
poll bits).
RLC Control Unit
ReceivedacknowledgementsAcknowledgements
DCCH/
DTCH
*
AM-SAP
DCCH/
DTCH
**
DCCH/
DTCH
**
AM-Entity
Demux/Routing
DCCH/
DTCH
*
DCCH/
DTCH
**
DCCH/
DTCH
**
Receiver buffer &
Retransmission
management
Transmitting Side
Receiving Side
Segmentation/Concatenation
Ciphering
Add RLC header
Reassembly
Deciphering
Remove RLC header & Extract
Piggybacked information
Piggybacked status
Optional
Figure 2.6: AMD peer entities ([TS25.322, Figure 4.4])
SDUs are received here through an Acknowledged Mode Service Access Point (AM-SAP).
The SDUs are segmented into one or more PDUs if necessary and concatenated if possible.
The length of a protocol unit is a semi-static value, which is negotiated during connection
setup or through dynamic reconfiguration of the Transport Format Combination by RRC.
To determine the end of an SDU a Length Indicator (LI) is inserted into this PDU. There
is one LI for every end of an SDU in a PDU. It is inserted at the beginning of a PDU.
Sequence numbering is also used here with sequence number range 212 (0 .. 4095).
Padding can be replaced by piggybacking status information, allowing almost continuous
message exchange between transmitting and receiving RLC entity. This guarantees all
CHAPTER 2. UTRAN PROTOCOL ARCHITECTURE
13
state information to be consistent and up to date.
PDUs are placed into a Transmission Buffer and a Retransmission Buffer , excluding pig-
gybacked status information. Excluding the status reports is necessary, since retransmitted
out-of-date status information will seriously harm consistency of state variables in both
entities.
The Multiplexer (MUX) afterwards decides, which PDU has to be delivered to MAC and
schedules the time of transmission. Scenarios are possible, where control PDUs are for-
warded to another logical channel than data PDUs. The broad dashed lines in Fig. 2.6
illustrate this case. The retransmission buffer receives acknowledgements from the receiver,
indicating already ACK-ed packets, which can be deleted from the retransmission buffer.
Every sent packet also has its own retransmission timer, ensuring loss-free retransmission
of packets in case of late or no status information updates due to corrupted control PDUs
or protocol errors.
A function implemented for simulation is the use of a timer for Periodic Poll , which polls
the counterpart peer entity of RLC every 3 seconds for an update of status information,
ensuring consistency when recovering from protocol errors.
The transmission of status information (RLC Status Reports) is triggered by several con-
ditions during data transmission. The available trigger conditions for exchange of reports
is negotiated by RRC upon setup. The receiver should always send a status report when
receiving a poll request. The following triggers are available:
• Detection of one or more PDUs missing (Negative Acknowledgement NACK).
• Timer based transfer of status information.
• Estimated PDU Counter (EPC) mechanism (described in the following).
The Estimated PDU Counter (EPC) is used for scheduling the retransmission of status
reports at the receiving entity. The receiving entity will send a new status report, requesting
PDUs not yet received. Subsequent status report retransmissions are not equally spaced
in time, but controlled by this counter. It is started at transmissions of STATUS PDUs. If
not all PDUs requested for retransmission have been received before the EPC has reached
zero, a new status report is transmitted. EPC adapts the retransmission timeout to the
current bit rate indicated in the Transport Format Indicator (TFI) in order to minimize
delay of status report retransmissions.
The EPC is decremented every Transmission Time Interval (TTI, see Tab. 2.3) with the
estimated number of PDUs that should have been transmitted during that TTI. If PDUs
are missing, the receiver generates a status report (NACK) and sets EPC to the number
of requested (missing) PDUs.
When EPC reaches zero and not all of the previous requested PDUs have been received
correctly, a new status report is generated and EPC is set accordingly.
CHAPTER 2. UTRAN PROTOCOL ARCHITECTURE
14
2.3 Medium Access Control
Medium Access Control (MAC) is specified in [TS25.321]. MAC entity functions are dif-
ferent for UEand UTRAN.
IP
MAC-c/shIP
UE
Uu
Iub
NodeB
CRNC/SRNC
PDCP
MAC-c/shPDCP
RLC
RLC
MAC-d
MAC-d
MAC SDU
MAC SDU
MAC PDU
MAC PDU
Figure 2.7: MAC service
Following entities are defined for FDD mode:
• Medium Access Control - broadcast (MAC-b): MAC entity handling the
Broadcast Channel (BCH). There is one MAC-b entity in each UEand one MAC-b
in UTRAN for each cell.
• Medium Access Control - common/shared (MAC-c/sh): MAC entity han-
dling the Paging Channel (PCH), the Forward Access Channel (FACH), the Random
Access Channel , the Uplink Common Packet Channel (UL CPCH) and the Down-
link Shared Channels (DSCH). There is one MAC-c/sh entity in each UEand one
MAC-c/sh in the UTRAN for each cell.
• Medium Access Control - dedicated (MAC-d): MAC entity handling dedi-
cated logical channels and Dedicated Transport Channels (DCH) allocated to a UE.
There is one MAC-d entity in each UE and one MAC-d entity for each UE in the
UTRAN. It is also responsible for selecting a Transport Format Indicator (TFI) and
Transport Format Combination Indicator (TFCI) to be used in each Transmission
Time Interval (TTI) when dynamically sharing resources between bearers supported
by a UE.
MAC entities perform several functions on both UEand UTRAN side:
• Mapping between logical and transport channels
• Selection of transport format for each transport channel depending on instantaneous
source rate
CHAPTER 2. UTRAN PROTOCOL ARCHITECTURE
15
• Priority handling between data flows of one UE, between UEs with dynamic schedul-
ing, between data flows of several users on the DSCH and FACH
• Identification of UEs on common transport channels. Note, that identification is not
used for end-to-end addressing but is resolved by MAC multiplexer and demultiplexer
and is dynamically allocated and negotiated by RRC.
• Multiplexing of higher layer data into transport blocks delivered to the physical layer
on common transport channels and vice versa.
• Multiplexing of higher layer data into transport block sets delivered to the physical
layer on dedicated transport channels and vice versa.
• Traffic Monitoring
• Dynamic switching of Transport Channel type
• Ciphering of TrD RLC (not provided by RLC, see Section 2.2)
• Access Service Class (ASC) selection for RACH and CPCH transmission.
MAC PDUs are bit strings with length not necessarily a multiple of 8 bits. Depending
on the provided and negotiated transport service, MAC SDUs are bit strings with any
non-null length and is included into MAC PDUs from first bit onward.
All PDUs delivered to the physical layer in the UEfor uplink within one TTI are defined
as Transport Block Sets (TBS). A TBS consists of one or more transport blocks, each
containing one MAC PDU.
The order of delivery shall be adopted from the order of reception of SDUs from RLC. The
same goes for multiplexing multiple RLC PDUs from different logical channels.
MAC PDUs consist of an optional MAC header and one MAC SDU. There are several
fields defined for the MAC header. The Target Channel Type Field (TCTF) provides
identification of logical channel classes (BCCH, CCCH, ...) on FACH and RACH channels.
The Channel Type Field (C/T) is used to provide identification of logical channel instances,
channel types on dedicated transport channels and data transmission over FACH and
RACH, respectively. The MAC header used in further simulations is 4 bits (C/T), and
used on DTCH and DCCH which are mapped to DCH.
A C/T field with all bits set as shown in Tab. 2.2 is reserved and the current version of
the protocol will discard MAC PDUs with this C/T type.
RLC has to provide RLC PDUs to MAC, which fit into the available transport blocks on
the transport channels. This is described in Section 2.2.
The transmission formats used for simulations in this thesis are shown in Tab. 2.3 and
are examples taken from [TS25.944]. Cyclic Redundancy Check (CRC) is applied to each
CHAPTER 2. UTRAN PROTOCOL ARCHITECTURE
16
C/T field
Designation
0000
Logical channel 1
0001
Logical channel 2
...
...
1110
Logical channel 15
1111
reserved
Table 2.2: C/T field structure
Transport service Transport block Set size CRC TTI
12.2 kbit/s
244 bit
1
12 bit 20 ms
64 kbit/s
1280 bit
1
16 bit 20 ms
144 kbit/s
2880 bit
1
16 bit 20 ms
384 kbit/s
3840 bit
1
16 bit 10 ms
2048 kbit/s
4096 bit
40
16 bit 80 ms
Table 2.3: Channel coding and transmission format
Transport Block . The only exception is the 12.2 kbit/s transport service, where the 12-
bit CRC is only attached to Transport Block Segment #1. The used Transmission Time
Interval (TTI) is a multiple of the basic Radio Frame duration of 10 ms.
The used 12.2 kbit/s transport service can be applied to Adaptive Multi-Rate (AMR)
speech transmission over packet switched data services. Another possible use is the use
of 12.2 kbit/s for uplink in highly asymmetric scenarios, like with HTTP Clients running
on UEs (Web Surfing). The 64 kbit/s and 144 kbit/s transport services will be used for
interactive applications with demand for multimedia data transmission at moderate data
rates. These transport services may also serve as the backward path of highly asymmetric
data transmissions.
384 kbit/s is used for highly interactive multimedia applications. 2048 kbit/s is defined for
high data rate multimedia applications.
2.3.1 MAC-c/sh
Medium Access Control - common/shared (MAC-c/sh) entities provide mapping between
logical and transport channels and handling of the TCTF field in the MAC header. TCTF
indicates also the logical channel type.
If a dedicated logical channel is used, MAC distinguishes between UEs by the UE Id field
in the MAC header.
It is possible to use transport format selection in the uplink. If a CPCH is used, a transport
format is selected out of a transport format set determined from status information on the
CSICH.
CHAPTER 2. UTRAN PROTOCOL ARCHITECTURE
17
Scheduling and priority handling is used to transmit information received from MAC-d on
RACH and CPCH. In order to prioritize transport channels, Transport Format Combina-
tion Selection can be performed. A Channel Transport Combination is then selected out
of a negotiated set of TFCs. The negotiation is done by RRC.
Figure 2.8: UEside MAC architecture
2.3.2 MAC-d
Medium Access Control - dedicated (MAC-d) entities perform several functions, including
Dynamic Transport Channel Type Switching based on RRC decision. Further functions in-
clude multiplexing of dedicated logical channels, with C/T header field in their packets set,
onto appropriate transport channels and downlink mapping of dedicated logical channels
onto common and dedicated transport channels.
One dedicated logical channel can be mapped simultaneously onto DCH and DSCH. A
MAC-d entity using common or downlink shared channels is connected to a MAC-c/sh
entity that handles data reception on UE-assigned common channels. See Fig. 2.8 for
illustration of this interconnection.
The UTRAN side architecture of MAC-d is similar and differs only by the way MAC-c/sh
and MAC-d are interconnected. In case SRNC/CRNC are separated, this interconnection
is obviously not local, but established via the Iur interface (see Fig. 1.3).
Chapter 3
TCP/IP Protocol Stack
Transmission Control Protocol (TCP) / Internet Protocol (IP) is an entire protocol suite
covering OSI layers 3 and 4. It evolved from ARPANET , an ancestor of the Internet,
connecting US Universities in the early 1970’s and replaced the original Network Control
Program (NCP) protocol. Rising popularity of the Internet spread this protocol suite all
over the world. Its ease of implementation and the continuous research and investigations
on its behavior lead to an ongoing increase of performance with every new (backward
compatible) version.
IP in its current version 4 (IPv4) is able to address 232 different network nodes. IPv6
expands the address range to 128 bits (2128 nodes).
TCP typically adds a 20 byte header structure to user data and IP adds another 20 bytes.
Thus the minimum header size for non fragmented TCP/IP packets is 40 bytes. Both IP
and TCP provide 16-bit checksum fields covering different areas for error detection.
3.1
IP
IP is a network layer protocol (OSI layer 3). It provides functions like datagram delivery
service, addressing and fragmentation.
IP Versions 4 and 6 are defined in [P81a] and
[DH98], respectively. An IP Datagram is the basic unit of a TCP/IP data packet. It
consists of an IP header and user data. The minimum length of the IP header field is 20
bytes. A minimum TCP/IP header is shown in Fig. 3.1.
The maximum length of an IP datagram is 65,535 bytes (octets). The IP layer on inter-
mediate gateways may fragment datagrams during transmission. This implies, that the
receiving side must be capable of reassembling a datagram before it is processed and user
data is handed up to higher layers. All IP hosts are required to support and process IP
datagrams of sizes up to 576 bytes without fragmentation.
Datagram fragments contain almost identical headers, which are basically copies of the
original header with only few modifications, and user data. Fragments are treated as
normal IP datagrams during transmission.
18
CHAPTER 3. TCP/IP PROTOCOL STACK
19
Figure 3.1: TCP/IP header field
CHAPTER 3. TCP/IP PROTOCOL STACK
20
Since IP provides only unreliable datagram service, the entire IP datagram is considered
corrupted and is discarded by the receiver, if one or more fragments are lost or corrupted
during transmission.
The first 20 octets in Fig. 3.1 form the IP Header:
• Protocol Version: Current version is 4 (IPv4) and 6 denotes IPv6. Besides 4 and
6 only 5 (experimental) is defined.
• Header Length: Length of IP Header counted in 32-bit quantities excluding user
data field.
• Service Type: Indication of the Quality of Service requested for this datagram.
• Total Length: Total length in bytes of this datagram, including header.
• Identification: Unique number assigned by the sender. Used for reassembly in the
receiver. All fragments of a datagram carry the same Identification.
• Flags: Don’t fragment (DF) and More Fragments (MF) used for fragmentation
processing.
• Fragment Offset: Offset of user data in this fragment given in 64-bit pieces.
• Time to Live: Denotes the time in seconds, that a datagram can be in transit
including all processing effort. Most routers, however, will process and deliver data-
grams in fractions of seconds nowadays. TTL now is a hop-count metric rather than
a time metric. It is decremented at every router the packet travels through. When it
reaches zero the packet is assumed to be running in some closed loop and discarded.
• Protocol Number: Indicates the higher layer protocol. TCP has protocol number
6, UDP 17, ICMP has 1. Even for IP a number, 4, is assigned for IP encapsulation
techniques.
• Header Checksum: This header checksum covers the header area only and does
not extend onto the user data area. It is calculated as the 16-bit one’s complement of
the one’s complement sum of all 16-bit words in the IP header. While calculating the
checksum this field is considered all zero for obvious reasons. A checksum mismatch
discards a packet.
• Source IP Address: 32-bit identification number of the network node the data-
gram originated from. A more human-readable format is the dotted-decimal format
convention, where each dot-delimited section refers to one byte of the 32-bit number.
A valid IP Address therefore could be “128.131.67.83”.
• Destination IP Address: 32-bit identification number of the target network node
of the datagram.
CHAPTER 3. TCP/IP PROTOCOL STACK
21
An IP Options field of variable length, following the basic header fields may contain further
information for all IP layers, passed during the transmission and forwarding of this packet.
The maximum IP header length including options can be 60 bytes.
When crossing different gateways and networks, IP datagrams may get fragmented due to
restrictions in maximum frame sizes these networks are willing to handle. The Maximum
Transmission Unit (MTU) quantizes this parameter. IP requires each link to be capable
of offering a minimum MTU of 68 bytes. IP implementations are not required to han-
dle unfragmented IP datagrams larger than 576 bytes. However, most implementations
nowadays offer MTUs of 8192 bytes or higher and almost all a minimum of 1500 bytes.
If fragmentation is necessary, the corresponding flags and offsets will be set in the datagram.
Since IP fragments may travel to their destination using different routes in some cases,
the receiver must be capable of reassembling the original IP datagram, even if fragments
overtake each other or in case of duplication (cloning) of datagrams by gateways.
Fragments can even be subject to further fragmentation, if the MTU of a used network
path requires this. Modern TCP implementations use MTU Path Discovery techniques to
avoid fragmentation by setting the datagram size in a way, that the whole IP datagram
passes through all gateways unfragmented.
3.2 TCP
The Transmission Control Protocol (TCP) is a transport layer protocol (OSI layer 4). It is
specified in [P81b]. TCP adds a 20 byte header structure (without options) to user data.
TCP provides error recovery, flow control and reliable data transmission over unreliable
transmission media. TCP is a connection-oriented protocol unlike the User Datagram Pro-
tocol (UDP) which is connectionless. Connection-oriented means, that both entities of the
protocol related with the transmission of user data (transmitter and receiver) have knowl-
edge of each others state condition. They are exchanging data not only in the forward but
also in the backward direction (acknowledgement traffic). Connection-oriented protocols
require exchange of data to set up a connection, do actual data transfer and undergo a
well-defined release procedure.
Most of todays application protocols like TELNET , FTP and HTTP require lossless trans-
mission of user data and make use of TCP.
TCP provides a byte-stream connection, sequence numbering every byte in the stream.
This contiguous stream of data is divided into TCP segments prior to transmission.
TCP is a so-called self-clocking protocol, adapting the senders’ rate to the offered band-
width. TCP sends one or more segments only, if prior ACKs from the receiving side have
reached the transmitter. The only exception are timeout-based retransmissions.
The second 20 bytes (20 .. 39) in Fig. 3.1 form a TCP header structure:
• Source Port: 16-bit source port number, used for replies.
CHAPTER 3. TCP/IP PROTOCOL STACK
22
• Destination Port: 16-bit destination port number indicating the port at the re-
ceiver where this segment is delivered to.
• Sequence Number: Indicates the byte number of the first byte of user data in this
segment.
• Acknowledgement Number: Indicates the next sequence number, the receiver is
willing to accept (only used if ACK flag set).
• Data Offset: Offset of user data in this segment. This indicates the size of the TCP
header including options.
• URG: Indicates that the urgent pointer field carries relevant data.
• ACK: Indicates that the acknowledgement field carries relevant data.
• RST, SYN, FIN: Used as indicators for reset, synchronization and end of trans-
mission state messaging between the two peer entities, and used during setup and
release of a TCP connection.
• Window: Specifies the number of bytes which the sender of this segment is willing
to accept, beginning with the one indicated in the acknowledgement field.
• Checksum: This checksum covers header and data fields and is calculated as the
one’s complement sum of all 16-bit words in a pseudo-header, the TCP header and
the user data. The Checksum field is considered all zero during calculation. The
pseudo-header used in this calculation covers IP information and consists of Source
IP Address, Destination IP Address, the Protocol Type and TCP length.
TCP Options are defined like IP Options. They are of variable size and format. One option
exists for agreeing upon theMaximum Segment Size (MSS) the peers are willing to handle.
Another important option is the TCP WindowScale Option. See also Section 3.2.6.
The first TCP implementation available was TCP Tahoe, offering basic flowcontrol and
timeout-based retransmissions. It was followed by TCP Reno, which provides more so-
phisticated congestion avoidance mechanisms, and TCP Vegas with newer functions like
WindowScaling, Selective Acknowledgement (SACK) increasing performance while main-
taining Reno’s congestion avoidance.
3.2.1 Sliding Window
Since TCP is a self-clocking, or to be more exact, an ACK-clocked protocol, decision on
whether to send a segment is taken upon reception of ACKs from the receiving side. This
may decline performance on lines with a large Bandwidth Delay Product (see Section 3.2.6)
A possible solution to this imperfection is to increase line efficiency by sending more seg-
ments out onto the line without waiting for every particular segment to be acknowledged.
CHAPTER 3. TCP/IP PROTOCOL STACK
23
1 2 3 4 5 6 7 8 9
Window
1 2 3 4 5 6
8
Window
5
6
7
8
ACK=6, WND=2
TCP
Receiver
TCP
Sender
Figure 3.2: Sliding window principle
This principle is illustrated in Fig. 3.2. A window containing four segments is used on both
peers, enabling the transmitter to send four segments without waiting for an ACK for the
segment at the left edge of the transmission window. For reasons of clarification, segment
numbers are used where byte-sequence numbers would be used in real implementations.
A certain amount of segments is allowed to be sent without having to wait for their ac-
knowledgement, thus filling the pipe. When ACKs arrive, new packets can be sent, thus
obtaining a continuous flow of data.
TCP uses cumulative ACKs, indicating the last correctly received segment with its sequence
number. In this case segment #7 is lost on the line or had to be discarded due to checksum
errors. The receiving side informs the sender, not only of a possible loss by (multiple)
indicating only correct reception of segments up to #6, but also indicates, that it is willing
to accept only two more new packets before the reception window closes. Since the receiver
has to hold out-of-band segments in a reception buffer, this prevents overflowing of the
receivers buffer and reduces unnecessary transmissions and occupied bandwidth on the
line.
After some time, the sender will retransmit segment #7 and the receiver will send back
an ACK indicating correct received segments up to #8. It will also indicate a re-opened
receiver window. The sender can now slide its window three segments, allowing it to send
packets #9 through #12.
The requirement for a TCP sender, of never sending more segments, than the receiver is
willing to receive, indicated through its receive window, makes it possible for the receiver
to regulate the segment arrival rate by adjusting the senders transmission window.
3.2.2 Retransmission Timer
In case of corrupted or lost segments, the receiver will respond to all further well-received
segments with acknowledgements only indicating the last correctly received segment. The
sender will stop sending further segments since it reaches the right edge of its transmission
window.
However, the TCP sender started a retransmission timer for each outgoing segment and
eventually a timeout will occur.
The further behavior, on whether to send just the missing segment or all segments from
that point on, is subject to the implementer. Resending just one segment and waiting for
further timeouts in case of multiple losses, or resending all segments within the current
window - whatever strategy is used, maximum throughput is lost.
CHAPTER 3. TCP/IP PROTOCOL STACK
24
An adaption of transmission rate rises the need for a dynamical adaption of the retransmis-
sion timer timeout value. First, TCP has to know the current Round Trip Time (RTT) for
its outgoing segments. RTT is the time between transmission of one segment and reception
of the corresponding ACK. TCP records the time of sending a segment together with its
expected ACK sequence number. Upon reception, a simple subtraction with the senders
internal time base gives the RTT of this segment and its ACK.
Equation 3.1 shows the weighted average, which is calculated over several RTTs and is
used as a Retransmission Timeout (RTO) value for the retransmission timers.
ε = RTT −A
(3.1)
A = A+
1
8
ε
D = D +
1
4
(|ε| −D)
RTO = A+ 4D
RTO is the weighted average, A, plus the fourfold deviation, D, which ensures accurate
retransmissions while avoiding spurious retransmissions during quick changes in network
conditions.
Since the internal time base and resolution varies on different platforms, no absolute values
are given for clock granularity . Recommended are clock ticks not larger than 500 ms.
3.2.3 Slowstart and Congestion Avoidance
TCP Congestion Control was introduced in the late 1980’s in [AVS99] and was first imple-
mented in TCP Tahoe. The Internet suffered from severe congestion collapse at that time.
TCP sender would start transmissions sending all segments in their advertised windows.
This caused large bursts of data on connected networks, without knowing their behavior
and/or conditions. Intermediate gateways then would drop segments due to shortage in
available queue sizes. The result is, that large blocks of segments had to be retransmitted,
causing even more congestion.
By using ACKs to pace the transmission of segments, TCP is able to determine network
conditions only when the pipe is filled and transmission is in progress. However, a mech-
anism had to be implemented to slowly probe a network for its available bandwidth upon
the start of a transmission.
TCP has to hold a new state variable, called Congestion Window (CWND), used by
the sender to limit the amount of data that can be in transit. This does not change
flow control, achieved by setting the transmission window to a size not larger than the
advertised receiving window. The effective window size is just the minimum of the senders
congestion window and the receivers advertised window. Thus, a TCP sender adapts its
rate of sending segments to the slowest component - network or receiver.
CHAPTER 3. TCP/IP PROTOCOL STACK
25
Determination of the size of CWND is not a trivial task. TCP increases CWND slowly if
no congestion is observed and reduces CWND fast upon indication of congestion. CWND
is not allowed to fall below the Maximum Segment Size (MSS).
TCP assumes that the main reason of segments not being delivered to the receiving entity
is dropping due to congestion. TCP interprets timeouts as a sign of congestion and reduces
the transmission rate.
Each time a timeout occurs, the sender reduces the size of the CWND to one MSS.
A strategy only decreasing CWND is obviously very risk averse, but lacks recovery mech-
anisms, if the available line bandwidth rises. TCP adds one MSS to CWND every time
segments, worth of the current CWND size, have been ACK-ed. Most implementations,
however, do not use this increment. They increment CWND by a fraction of MSS each
time an ACK is received.
384 kbps: CWND, RTO, RTT
RTT
CWND
RTO
[MSS],[s]
Time[s]
0.00
5.00
10.00
15.00
20.00
25.00
30.00
35.00
40.00
45.00
0.00
20.00
40.00
60.00
80.00
100.00
Figure 3.3: Slowstart, congestion avoidance and timeout
A typical plot of the continuous change of CWND size is shown in Fig. 3.3. CWND is
plotted in MSS rather than in bytes for clarification here. Please note the timeout, resetting
CWND to one MSS at simulation time T≈80 s.
TCP provides a second mechanism for increasing CWND much faster as long as CWND
is below a given threshold ssthresh. SlowStart adds one MSS on each received ACK. This
accelerates the initial ramp up of CWND. It corresponds to an exponential increase of
CWND over time. This behavior is also shown in Fig. 3.3. The used threshold is simply
CWND after congestion detection. The actual CWND is set to one MSS. It ramps up in
slow start mode to a point, where it reaches the threshold and congestion avoidance again
takes over.
CHAPTER 3. TCP/IP PROTOCOL STACK
26
3.2.4 Fast Retransmit and Fast Recovery
The major problem of timeout-based retransmissions is the possible loss of ACK clocking.
This happens, if all ACKs reach the sender before timeouts occur. This is called “draining
of the pipe” and fatally decreases performance.
Fast Retransmit is a heuristic that is capable of retransmitting dropped packets sooner than
regular transmission timeouts would do. This preserves the ACK Clock (see [AVS99]) in
case of single dropped segments in a flight of segments. Fast retransmit is an enhancement
to timeouts and does not replace them.
The idea behind fast retransmit is, that every time a duplicate ACK is received by the
sender it not only indicates the loss of segments, but also that segments were received and
have left the network.
In practice, TCP waits for the reception of the third duplicate ACK and retransmits the
segment indicated lost by these ACKs. After that Fast Recovery governs the transmission
of new data until a new (non-duplicate) ACK arrives.
The threshold ssthresh, used by the sender to determine whether to use slowstart or
congestion avoidance, is set to a value not larger than given in Eqn. 3.2.
ssthresh = max
(
Flightsize
2
, 2MSS
)
(3.2)
Flightsize is the number of user data currently in flight, i.e. data conveyed in segments
that is not yet acknowledged. CWND is set to ssthresh plus 3MSS. This inflates the
window by the number of segments that actually have left the network so far and which
the receiver has buffered. Every duplicate ACK received after the start of fast recovery
inflates the window further by MSS for every ACK to reflect another segment that has left
the network. TCP shall transmit new segments, if CWND allows that.
The first ACK that indicates new data acknowledged, triggers the deflating of the window
and CWND is set to the value at the start of fast recovery.
Figure 3.4 illustrates TCP’s behavior. Upon reception of the third duplicate ACK TCP
resends what appears to be the missing segment and lowers its CWND. The CWND rises
rapidly to a point, where fast recovery detects new ACKs. Then the window is deflated.
Slow start is never entered here and this heuristic will keep the pipe filled and ACK clocking
preserved, reducing throughput much lesser than timeout-based retransmissions.
3.2.5 Delayed Acknowledgement
TCP Reno was the first implementation that introduced delayed acknowledgement in the
receiver. Acknowledgements are sent only for every other packet received, thus reducing
traffic in the backward direction. Another reason for introduction is increased efficiency
for interactive traffic, where ACKs can be piggybacked on echoed characters.
CHAPTER 3. TCP/IP PROTOCOL STACK
27
384 kbps: CWND, RTO, RTT
RTT
CWND
RTO
[MSS],[s]
Time[s]
0.00
5.00
10.00
15.00
20.00
25.00
30.00
0.00
5.00
10.00
15.00
20.00
Figure 3.4: Fast retransmit and fast recovery
However, TCP receivers shall not delay ACKs more than 500 ms to prevent spurious
retransmissions of already received segments.
To keep accuracy of retransmissions high, TCP receivers shall also report received out-of-
order segments or duplicate segments immediately back in ACKs, without any delaying.
3.2.6 Window Scaling for Long, Fat Networks
A link with a given bandwidth and delay has the following pipesize, i.e. the maximum
amount of data in transit:
Pipesize[bits] = Bandwidth[bit/s] ·Delay[s]
(3.3)
This is called the Bandwidth-Delay-Product . In case of not delaying ACKs at the receiver,
it takes a minimum of two times a link delay, until an ACK for a previously sent segment
arrives at the sender. To make full use of the lines capacity, segments worth two times the
pipesize can be sent. If the window is lower, not the full capacity of the line is used. As
the doubled delay equals the RTT, the limit in bandwidth is
Bandwidth[bit/s]max =
Windowsize[bit]
RTT [s]
(3.4)
Paths with high bandwidth delay products are called long, fat pipes - networks containing
these paths long, fat networks (LFN).
The original TCP implementation provides handling of window sizes of up to 64 kbytes,
which gives poor performance over some specific links (e.g. satellite links). WindowScal-
CHAPTER 3. TCP/IP PROTOCOL STACK
28
ing allows TCP to scale the original 16-bit window size value by another 16 bits and is
performed in a backwards compatible way during the initial handshake. Window scaling
is described in [JBB92] and is implemented in TCP Vegas.
3.3 Performance Issues and Influences
This section describes known and other possible performance influences of TCP/IP over
UMTS packet switched data services.
3.3.1
IP Maximum Transmission Unit
The MTU size can not be seen isolated for the Uu radio interface, but has to be considered
for configurations, where the counterpart TCP is on a Terminal Equipment (TE) outside
of the core network connected through a packet data network.
If RLC AMD is used, MTU is mainly an issue on the connected paths in public data
networks, like the Internet. All RLC modes perform segmentation and concatenation of
higher layer SDUs, thus providing nearly constant overhead, regardless of the SDU size.
RLC AMD provides error-free transmission of SDUs and thus the influence of MTU size
on performance is negligible.
Most links nowadays, including ATM, provide MTUs of 1500 bytes and more.
3.3.2 TCP Maximum Segment Size
TCP Maximum Segment Size (MSS) is closely related to MTU. Most implementations
allow a minimum of 64 byte for TCP/IP header information. Thus MSS must be smaller
or equal (MTU − 64) bytes to achieve one segment to be carried in one IP datagram.
An evaluation of the optimum including considerations about protocol overhead and seg-
ment loss is given in [TA00]. Since MSS is also negotiated during connection setup and
depends on MTU size, no dynamic adaption can be achieved.
As modern TCP implementations use MTU path discovery to set MTU and negotiate
a proper MSS, IP fragmentation mainly occurs on international lines with heavy loads
where some packets get diverted and may take different routes, getting fragmented there
(per-packet load balancing).
3.3.3 TCP Implementation
The TCP Implementation has the largest influence on performance. Since most UMTS
packet switched configurations, especially with higher data rates, can be seen as LFNs (see
Section 3.2.6), all implementations prior to TCP Reno like TCP Tahoe, relying just on
retransmission timeouts perform poor.
CHAPTER 3. TCP/IP PROTOCOL STACK
29
TCP Reno performs well to a point, where multiple losses in a flight of packets corrupt the
fast retransmit and fast recovery heuristic. TCP Reno also has no WindowScaling Option
implemented, running into the same troubles as TCP Tahoe as described in Section 3.2.6.
TCP Vegas is expected to overcome all these limits. It not only provides window scaling,
but also provides a more accurate measurement method of the RTT based on Time Stamps
and uses Selective Acknowledgement (SACK) to trigger selective packets to be resent.
Clock granularity has a small influence on heavy congested or lossy paths, where many
retransmissions occur and accurate timing of retransmissions become important.
Another problem is the restart of transmissions on idle connections as discussed in [VH97].
In case of persistent connections, like with HTTP , the TCP connection is not released after
transmission but kept open for further transmissions. This may introduce large bursts of
data on the network paths, since the last CWND is used for new transmission and the slow
start phase is omitted.
This is proven to lead to diminished performance. A possible refinement to the original
TCP protocol implementation is to sense for a transmission pause. If this pause exceeds
3RTO, slow start is invoked and CWND is lowered to one MSS for further transmission of
data. The implementation of TCP in this thesis is using this mechanism.
The used window size also affects the minimum required queue size of RLC and interme-
diate packet data network routers. This is especially true for lossless or nearly lossless
simulation scenarios, where CWND reaches its upper limit of 64 kbytes.
More packets are being induced into the network and are queued at RLC level or in routers.
The resulting rise of the packet round trip time is smaller than the rise of the congestion
window, resulting in a rise of packets that have to be queued. The amount of queued
packets stops to rise only if the congestion window reaches its upper limit and maintains
constant.
Whether lossless transmission is a realistic scenario or not - this effect has to be kept in
mind for simulation.
3.3.4 UMTS PDCP Header Compression
Header compression of TCP/IP headers increase throughput efficiency, thus increasing the
fraction
UserDataSize
TCPIPDataPacketSize
.
The compression algorithms defined in [J90] and [DNP99] encode only the changes to vital
protocol fields. Other fields, that may change not so often or never during a connection,
are maintained in local state variables.
A typical minimum TCP/IP header is 40 bytes long and is delta-compressed to 3 ÷ 6 (!)
bytes for typical FTP and TELNET scenarios.
The algorithm defined in [J90] is also known as Van Jacobson Header Compression. It
provides no signalling between decompressor and compressor, thus relying totally on the
behavior of TCP. When transmitting new data, the compressor assigns this connection an
ID and transmits the segment unaltered. Only the ID carried in the protocol type field
CHAPTER 3. TCP/IP PROTOCOL STACK
30
is changed. This allows the decompressor to build up a state variable structure for this
connection.
Subsequent packets are compressed in the compressor. The compressor outputs only un-
expected changes (e.g. advertised window size) and an unaltered TCP checksum to ensure
integrity of the segments. The decompressor restores the segment with the help of its local
state variable structure and the changes indicated in the compressed packet.
Error Recovery is achieved by sensing TCP’s sequence numbers. A retransmission uses
a sequence number equal to or lower than the last sent sequence number, causing the
compressor to send a full, uncompressed segment. This allows the decompressor to reset
its state variable structure to a new base.
Although the algorithm in [DNP99] provides signalling between compressor and decom-
pressor, both algorithms may be a source of diminished performance over UMTS packet
switched configurations. If a segment is dropped or lost on the radio interface, the de-
compressor is not informed, creating perfectly valid TCP segments with a state variable
structure, which is “one behind” the actual wanted state. These TCP segments make it all
the way to the TCP receiver and are discarded there, since a TCP checksum error occurs.
ACKs will be received by the sender, indicating the loss and the fast retransmit algorithm
will try to retransmit the lost segment. But one assumption of the fast retransmit heuris-
tic is invalidated, since multiple segment loss occurs. The first was actually dropped, all
preceding segments are falsely decompressed and discarded by the receiver. A retransmis-
sion triggers the compressor to send an uncompressed packet, resetting the decompressor’s
state.
[DNP99] provides more accurate information, since direct signalling between compressor
and decompressor is used. However, header compression especially on lossy links without
inherent error correction (e.g. RLC UMD) with higher data rates (see Section 5.2.1) will
actually decrease performance rather than increase throughput.
3.3.5 UMTS RLC Mode
Whether to use RLC UMD or RLC AMD is subject to different requirements and needs.
TCP is mostly used for Non Real-time Services (NRT) like FTP or HTTP , where overall
delay is not an issue, but transmission has to be loss-free.
RLC AMD is an error-recovering and correcting protocol and is based on retransmission of
erroneous data. Thus, RLC AMD, like TCP, cannot guarantee certain upper boundaries
for packet delay and time of arrival at the receiving entity. In this thesis I tested both
modes AMD and UMD with TCP.
Figure 3.5 illustrates the interaction of TCP with RLC UMD and RLC AMD. In the
case of RLC UMD, TCP data packets and ACKs are encapsulated in RLC PDUs. The
computational effort is low, since only sequence number assignment, segmentation and
concatenation has to be done, without any need for local buffers for retransmission.
Dropped packets on the radio interface cause all RLC SDUs, that are segmented or con-
CHAPTER 3. TCP/IP PROTOCOL STACK
31
TCP ACK
TCP DATA
TCP ACK
TCP DATA
AMD NACK (TCP DATA), STATUS
AMD DATA (TCP DATA), STATUS
AMD DATA (TCP ACK), STATUS
AMD NACK (TCP ACK), STATUS
UMD DATA (TCP DATA)
MAC-d
UMD DATA (TCP ACK)
IP
PDCP
MAC-d
IP
PDCP
MAC-d
GTP-U
GTP-U
IP
TCP
UE
UTRAN
CN
PDN
IP
TCP
TE
IP
IP
PDCP
MAC-d
IP
PDCP
GTP-U
GTP-U
IP
TCP
IP
TCP
IP
TCP DATA
TCP ACK
TCP DATA
TCP ACK
RLC
RLC
RLC
RLC
(a) TCP over RLC UMD (Unacknowledged Mode):
(b) TCP over RLC AMD (Acknowledged Mode):
Figure 3.5: Interaction of TCP with RLC UMD/AMD, (a) (b)
catenated in this PDU, to be dropped. TCP has to provide proper error correction, using
its end-to-end error correction algorithms.
RLC AMD on the other hand provides lossless transmission of RLC PDUs with the addi-
tional cost of providing retransmission techniques and appropriate buffers. Extra delay in
introduced in the case of retransmissions. TCP’s timeout-scheduling actually copes with
such delays, but certain assumptions regarding the continuous flow of data are invalidated
in case of RLC retransmissions.
After the retransmission of RLC PDUs, multiple PDUs are handed up to higher layers, since
out-of-order PDUs are stored in the receiver buffer and now can be deployed simultaneously.
This severely effects RTT measurement and can lead to spurious retransmissions triggered
by false estimation of the current RTT.
However, RLC AMD gives better results, since the lossy radio interface is closed loop
feedback controlled by RLC AMD. RLC can react faster on errors, because the endpoints
are directly located at the endpoints of the radio interface. Also the transport block size
is better suited for the unreliable radio interface.
Figure 3.5 (b) shows the inner loop of Data PDUs and Control PDUs (STATUS). SDUs
containing TCP Data are transmitted over the radio interface. RLC adds status infor-
mation by means of piggybacking the information onto the Data PDUs or by sending
dedicated Control PDUs. If an error occurs and a PDU is lost, the receiving peer sends a
Negative Acknowledgement (NACK), indicating the lost PDU to be resent.
It should be stated, that RLC UMD adds slightly less overhead to PDUs and there is a
certain break-even, where RLC UMD overtakes RLC AMD in performance, when assuming,
that the rest of the paths is loss-free. This break-even is mostly at channel block error
CHAPTER 3. TCP/IP PROTOCOL STACK
32
ratios of 10−5 or less and is not existent for lossy packet data networks.
3.3.6 UMTS MAC Scheduling and Physical Layer Transmission
Format
There are numerous investigations on the behavior of TCP’s congestion control mecha-
nisms. The dynamics are described in [ZSC91], but yet not fully understood. TCP probes
the network for available bandwidth in the slow start phase. What happens, if multi-
ple TCP connections share a single transport medium, depends on the respective sizes of
CWND and many other factors. The most dominant influence comes from the scheduling
method of the intermediate routers.
Simple First-In-First-Out (FIFO) queueing of incoming packets is the worst method, caus-
ing one or several TCPs to lower their CWND down to one MSS and sending only upon
timeouts. In most traffic scenarios, one TCP connection remains dominant, taking the
whole bandwidth, while all other TCP connections suffer from starvation.
A MAC scheduler has to provide appropriate scheduling methods, to prevent multiple
TCP connections from showing these phenomena. The usual solution is to serve every
connection once at a time, which is called Fair Queueing , and is used for simulation in this
thesis.
The transmission format in UMTS physical layer also affects TCP throughput. See Tab. 2.3
for the used channel coding in this thesis. Examples for channel codings change very
frequently with every new release of the related 3GPP standards [TS25.101], [TS25.104]
and [TS25.944].
In general, all coding schemes in UMTS using large sets of transport blocks and large
transmission time intervals (TTI) tend to introduce problems to TCP transmissions.
The original coding scheme of the 384 kbit/s transport service had transport block set sizes
of 4·3840 bit and a TTI of 40 ms. The TTI was lowered to 20 ms and is 10 ms in the
newest standards of Release 99.
Large transport block sets containing multiple SDUs (e.g. multiple TCP ACKs) are re-
ceived and handed up to higher layer all in one. This causes major problems to TCPs’
timeout estimation. For the 2048 kbit/s transport service the size of PDUs delivered in
one block is around 20 kbytes - which is nearly 1
3
of the available window size of TCP
implementations without window scaling (TCP Tahoe, TCP Reno).
This not only causes bursts of data on connected networks, but also rapid and large queue
size fluctuations in intermediate routers, like described in [ZSC91]. See Chapter 5 on effects
observed in simulation.
3.3.7 External Packet Data Network
Since the overall performance of TCP depends on the weakest link of the transmission chain,
properties of the external packet data network are of great influence. Congestion and heavy
CHAPTER 3. TCP/IP PROTOCOL STACK
33
loss here invalidate all advantages RLC AMD offers. See Chapter 5 for simulation results
and further discussion. The influence of delay in the external packet data network affects
both RLC modes equally. Packet switched transport services with high data rates turn
into long, fat networks (LFNs), if the additional delays introduced on these paths exceed
a few 10 ms. WindowScaling is needed to make full use of the available bandwidth. The
possible loss of multiple packets in one single flight of packets on large pipes gets higher,
which affects TCPs Fast Retransmit and Fast Recovery .
This is a general problem of TCP in the Internet. But the high losses over the radio interface
intensifies this problem. In GSM this was not an issue yet, because the bandwidth was not
high enough.
Chapter 4
Simulation Model
4.1 Simulation Environment
The used simulation tool is Ptolemy Classic, Version 0.7.1 for Linux. It is a set of programs,
developed at the University of Berkeley. It provides an X11 compatible graphical interface
as well as a console-driven direct simulation of compiled universes. Ptolemy and all parts
developed for simulation are written in C++.
A simulation environment in Ptolemy is called universe, containing stars and galaxies.
Galaxies are a number of stars linked together. There are several domains defined for
simulation. All simulation in this thesis is carried out in the Discrete Event (DE) domain.
The events are triggered by particles traveling from star to star. The DEdomain provides
a general environment for time-oriented simulations of systems, such as communication
networks. A scheduler processes events in chronological order. Time intervals between
events are not fixed and Time Stamps are associated to each particle. Time stamps are
generated by the star sending the particle. It is based on the time stamp of the received
particles and the latency of the block.
Data Units (SDUs, PDUs), used for inter-protocol communications, are objects of protocol
classes1. All protocols and their related data units are defined in these classes. The only
exception is MAC, which uses RLC PDUs and a special property of RLC as its MAC
header field.
4.2 Models
Around 20 different stars (classes) have been implemented in C++. The following subsec-
tions give an overview and short insight of the most important stars. The latency of most
stars is zero, i.e. processing a particle takes no simulated computation time. Delays that
1Class in this context means a C++ class.
34
CHAPTER 4. SIMULATION MODEL
35
represent processing of data units are explicitly inserted into simulations. The simulation
model used in this thesis is shown in Fig. 4.1.
CN +
PDN
UE 2
RNC
UE 1
TCP / IP
RLC
PDCP
MAC-d
FTP
Server
TCP / IP
RLC
PDCP
HTTP
Client
TCP / IP
RLC
PDCP
HTTP
Client
RLC
PDCP
MAC-d
RLC
PDCP
RLC
PDCP
INTERNET
INTERNET
INTERNET
TE1
TE1
TE1
TCP / IP
FTP
Server
TCP / IP
HTTP
Server
TCP / IP
HTTP
Server
CHANNEL
Figure 4.1: Simulation model
User data is generated in FTP Server Models or HTTP Server Models. FTP server models
are used for evaluation of maximum TCP throughput performance and for observation of
TCP’s behavior in scenarios with shared transmission resources. User data is segmented
into packets of appropriate length for insertion into a TCP segment. HTTP server models
put out a certain amount of user data. The amount is requested by HTTP Client Models.
See Section 4.2.9 for a more detailed description on HTTP traffic modeling.
TCP segments enter the TCPIP Model, where a source port number and a destination port
number is assigned. The TCP checksum is calculated and included into the TCP header.
The TCP segments are inserted into one or more IP datagrams afterwards. A source and
destination IP address is assigned and the IP checksum is calculated before transmission.
The Internet Model does not alter the data structure. IP datagrams are only delayed or
discarded as described in Section 4.2.7.
IP datagrams enter the PDCP Model, where the datagrams are either compressed or left
unaltered. However, the data structure changes. PDCP PDUs consist of a packet identifier
and the output data of the compressor.
The RLC Model segments and concatenates the PDCP PDUs into RLC PDUs of appro-
priate size and transfers the RLC PDUs into the transmission buffer and places a copy
into its retransmission buffer .
The MAC Model has its own set of buffers and demands RLC to flush the transmission
CHAPTER 4. SIMULATION MODEL
36
buffer every time transmission interval. It inserts RLC PDUs into MAC PDUs and applies
the MAC header field.
A more detailed description of the queueing algorithm and prioritizing of MAC PDUs is
given in Section 4.2.5.
The Channel Model transmits the MAC PDUs with a given loss probability.
4.2.1 TCP Model
The galaxy TCPIP, which includes other TCP related stars, is shown in Fig. 4.2. Star
Sliding Window incorporates a queue for incoming packets and deploys packets upon a
given limit (sequence number). TCPSender holds a retransmission buffer and has full TCP
Reno functionality. Additional features are window scaling , restart of idle connections and
a modified RTO calculation for high data rates over UMTS as described in Section 5.5.1.
Whenever packets are being transmitted, the corresponding sequence number leaves the
star and is fed back to the star at a delay of current RTO. Incoming timeout sequence
numbers simulate the retransmission timer and appropriate reaction can start. Other
outputs are used for graphic visualization of CWND, RTT and RTO.
IPReceiver
outTcp
outUdp
outAck
Delay
TCPReceiver
inTcp
AckEnd
size
outAck
outTcp
AckStart
IPSender
SlidingWin
winSize
inData
outData
overflow
XMgraph
TCPSender
inACK
inTCP
inReTx
demand
outTCP
outReTx
mRTO
mCWND
mRTT
Figure 4.2: TCP/IP simulation model
Star TCPReceiver has three outputs. One is for received segments, one for generated
acknowledgements ready for transmission back to the sender and the third output is used
by the delayed acknowledgement mechanism. The segments leaving this output are delayed
by 500 ms and fed back to the TCP receiver. Out-of-order data is immediately indicated
CHAPTER 4. SIMULATION MODEL
37
to the sender as described in Section 3.2.5. Piggybacking of ACKs onto data segments in
case of direct TCP two-way traffic is not implemented.
Parameters available within TCP models are:
• Version: Denotes the use of normal or modified RTO calculation.
• Window Size: Specifies the maximum size of the transmit and receive window.
• Window Scale Factor: Specifies the scale factor for the transmit and receive win-
dow size.
• MSS: Specifies the TCP Maximum Segment Size used for segmentation of user data
streams.
• ACK Delaying: Specifies whether to use delayed acknowledgements or to acknowl-
edge every incoming segment.
4.2.2
IP Model
The stars IPSender and IPReceiver in Fig. 4.2 are capable of processing TCP and UDP
packets and offer full IP datagram fragmentation implementation, if necessary. The receiver
has three outputs for received TCP data packets, TCP ACKs and for UDP datagrams.
The only parameter is the IP Maximum Transmission Unit (MTU).
4.2.3 PDCP Model
The PDCP star performs framing and TCP/IP header compression modes defined in [J90],
as well as unaltered (uncompressed) transmission of data for up to 256 different TCP
connections over one single line.
PDCP
inIP
inPDCP
outIP
outPDCP
Figure 4.3: PDCP simulation model
The maximum uncompressed SDU size is limited to 64 kbytes. Actual compression and
decompression is implemented for all cases related to the transmission of single data seg-
ments or single ACK segments. Piggybacking is not implemented. The PDCP model has
only one parameter, specifying whether to use header compression or not.
CHAPTER 4. SIMULATION MODEL
38
4.2.4 RLC Model
The RLC star covers the full functionality of RLC modes UMD and AMD. This star
incorporates both sender and receiver. Three different queues are used for transmission,
retransmission and receiver buffer. The size of this queues is variable. Overflowing a buffer
causes RLC to discard the newest PDUs arriving at the queue (drop tail mechanism).
RLC
inRLC
inDeployRLC
inPDCP
inTimer
outRLC
outPDCP
outTimer
Figure 4.4: RLC simulation model
RLC AMD uses periodic status report messaging as a backup system for the timer-based
retransmission mechanism as well as RLC PDU retransmission timeouts. The peer on
the far end is polled every 3 seconds, requesting a status report. The EPC mechanism,
as described in Section 2.2.2, is not implemented. Received out-of-order RLC PDUs and
missing segments trigger an immediate status report (negative acknowledgement).
Like TCP, this star uses corresponding delayed sequence numbers which are fed back to
the star to trigger retransmissions.
Higher layer SDUs are segmented and concatenated into remaining PDUs in the transmis-
sion buffer. After that, a copy is put into the retransmission buffer. Particles incoming at
inDeployRLC input trigger flushing of the transmission buffer and transmission of PDUs
to MAC.
If RLC UMD PDUs are lost, RLC waits for a PDU with an indication for the beginning of
a new SDU, discarding the one in progress. An indication is the existence of one or more
length indicators (LI) in the header area of a RLC PDU.
A specific node-number is inserted upon transmission and checked upon reception of a
RLC PDU, to be able to distinguish between different RLC entities. This represents the
C/T field value in the MAC header.
Available parameters for RLC include:
• PDU Size: Specifies the fixed size of RLC PDUs ready for insertion into MAC
PDUs.
• Mode: Specifies the used mode for this entity (UMD or AMD)
• Queue Size: Specifies the maximum buffer size in PDUs for all three buffers -
transmission buffer, receive buffer and retransmission buffer - used in the RLC model.
CHAPTER 4. SIMULATION MODEL
39
4.2.5 MAC Model
The MAC star is capable of serving an arbitrary amount of RLC entities. In practice,
the size is limited to 15 when using the C/T field in MAC headers. The value received
at inClock causes MAC to send particles containing RLC PDUs out on outDCH. The
maximum number of particles, that can be sent, is indicated by the value received at
inClock. When receiving particles at inDCH, PDUs contained will be sent to all RLC
entities. In this simulation environment, it is the task of the RLC models to check the
C/T-field for conformity.
MAC
inClock
inDCH
inRLC
outDCH
outRLC
outDeployRLC
Figure 4.5: MAC simulation model
In order to prevent TCP from running into problems with multiple connections over a
shared medium, as described in Section 3.3.6, Fair Scheduling is implemented. Every
connected RLC entity is assigned two unique input buffers by MAC, caching Control and
Data PDUs independently.
Every time PDUs are allowed to be transmitted onto the channel, MAC first gets all Control
PDUs, deploying single PDUs from each RLC Control PDU buffer, one buffer after the
other. If more PDUs can be sent, MAC repeats this loop for all Data PDU buffers.
This ensures prioritization of status report messaging between two RLC peer entities and
results in more timely feedback.
4.2.6 Channel Model
The Channel Model used for all simulations is a transport block loss model. Two parame-
ters are specified for the channel model.
• Loss Probability: Probability of loss of one transport block while being transmitted
over the channel. The losses occur uniformly distributed, since interleaving is used
for actual transmission of transport blocks (see [TS25.101] and [TS25.104] for details)
• Delay: This parameter specifies the delay of packets after actual transmission to
a point, where MAC PDUs are available on the receiving side and all decoding is
finished.
4.2.7
Internet Model
The model for traffic over large packet data networks like the Internet is shown in Fig. 4.6.
It represents a path with delay, limited bandwidth, a specific queue size for an intermediate
CHAPTER 4. SIMULATION MODEL
40
router and a certain loss probability. The router uses the drop tail mechanism and discards
the newest datagram arriving at a full input queue.
BwLimiter
Delay
LossyInput
Figure 4.6: Internet simulation model
The following parameters can be specified:
• Loss Probability: Probability of loss of one IP datagram while being transmitted
over this path. The losses occur uniformly distributed.
• Delay: This parameter specifies the delay of IP datagrams on this path.
• Bandwidth: Limits the maximum rate of transmission of IP datagrams.
• Queue size: Limits the maximum input queue size and is given in bytes.
4.2.8 FTP Server Model
The FTP Server Model is a galaxy that produces random user data of given size and
transmits it in TCP segments.
Figure 4.7 shows the stars within this galaxy. The MakeDataPacket star produces user
data packets with a maximum size of TCP Maximum Segment Size each. MakeTCPPacket
receives data packets and includes them in TCP segments.
Delay
MakeDataPacket
MakeTCPPacket
Impulse
Figure 4.7: FTP server model
Three parameters are defined for this galaxy.
• Start Time: Indicates the simulation time, where the transmission of TCP segments
start.
• Size: Specifies the total size of user data in bytes to be transmitted.
CHAPTER 4. SIMULATION MODEL
41
• Rate: Specifies the interval between to consecutive TCP segments leaving the galaxy.
In all simulation this is set to a value much higher than the maximum transmission
rate on the bottleneck paths. However, this can be used for limiting the rate of user
data being transmitted to the TCP/IP stack.
The FTP Server Model is used in almost all simulations. Single FTP Server Models are
used for measurements of maximum TCP throughput, multiple FTP Server Models are
used for simultaneous FTP download scenarios and simultaneous FTP up- and download
scenarios.
4.2.9 HTTP Traffic Model
The HTTP Traffic Model consists of two galaxies, HTTPClient and HTTPServer . Both
galaxies have only one input and one output for TCP segments.
HTTPServer is connected to a TCP Simulation Model on the RNC side. HTTPServer
reads segments and looks up the first bytes of user data within these segments.
If a
(pseudo) HTTP GET request is embedded here, HTTPServer transmits the indicated
amount of bytes. A typical pseudo-header could be: GET /123456, indicating a request for
a file of 123456 bytes in size.
HTTPClient is connected to a TCP Simulation Model on the UE side. This galaxy contains
a PayloadGenerator star, which is shown in Fig. 4.8.
PayloadGenerator
TxSize
size
rate
Figure 4.8: Payload generator model
The PayloadGenerator represents a user, requesting files of different size from a server
(web surfing). The star performs consecutive requests, i.e. it waits for a transmission to
complete, before another request is started.
Three parameters are available:
• Start Time: Indicates the simulation time, where a web session starts, i.e. where
consecutive file requests start.
• Max Time: Specifies the maximum time between an end of a transmission and the
start of a new request. The actual time is uniformly distributed between zero and
the entered value.
• Mean Data: Specifies the mean value for the exponentially distributed file sizes,
that are requested. Note, that a constant of 10000 is added to the actual realized
CHAPTER 4. SIMULATION MODEL
42
random file size value, to omit requests smaller than 10 kbytes. Since the TCP Reno
implementation in this thesis uses slowstart to restart an idle connection, the effect
of slow start is dominant for the average throughput of small files being transmitted.
See also Section 5.4.4, Fig. 5.15 for illustration of this effect.
The parameters used for simulations of HTTP traffic scenarios lead to a file size request
distribution as shown in Fig. 4.9.
HTTP file size request distribution
0%
5%
10%
15%
20%
10000200003000040000500006000070000800009000010
00
00
11
00
00
12
00
00
13
00
00
14
00
00
15
00
00
16
00
00
17
00
00
18
00
00
19
00
00
20
00
00
21
00
00
22
00
00
23
00
00
24
00
00
25
00
00
File size [bytes]
Figure 4.9: HTTP traffic model - file size request distribution
Values larger than 250 kbytes are omitted in Fig. 4.9. Please note that this figure was
drawn using 5000 realizations and some granularity is still visible.
4.3 Simulation Parameters
There are two types of Parameter Sets used for simulation in this thesis. Table 4.1 shows
the Fixed Simulation Parameter Set , containing fixed parameters used for all subsequent
simulations. Table 4.2 shows the Variable Simulation Parameter Set , containing parame-
ters that may vary from simulation to simulation or within one specific simulation.
Both TCP Maximum Segment Size and IP Maximum Transmission Unit are fixed, allowing
maximum TCP/IP header sizes of 64 bytes. The maximum window size is 65535 bytes to
ensure maximum throughput.
The UL/DL Frame Delay is specified in [TS25.211] to be 1024 chips, which gives roughly
276 µs. Internet queue size is large enough to prevent dropping of datagrams due to buffer
overflows. The Internet bandwidth is 2048 kbit/s for IP datagrams (including headers).
CHAPTER 4. SIMULATION MODEL
43
Model
Parameter
Value Range
Unit
FTP
Segment Size
MSS
536 ÷ 65535
bytes
HTTP
Mean Data
50000
10000 ÷ ∞
bytes
HTTP
Max. Time
20
0 ÷ ∞
s
TCP
MSS
1436
536 ÷ 65535
bytes
TCP
ACK Delaying
ON
ON, OFF
-
TCP
Clock Granularity
500
500
ms
TCP
Max. Window Size
65535 MSS ÷ 65535 bytes
IP
MTU
1500
68 ÷ 65535
bytes
PDCP
Header Size
1
1
byte
MAC
Header Size
4
4
bits
PHY
UL/DL Frame Delay 276
276
µs
INTERNET IP Packet Delay
100
100
ms
INTERNET Queue Size
100k
MTU ÷ ∞
bytes
INTERNET Bandwidth
2048
2048
kbit/s
Table 4.1: Fixed simulation parameter set
Model
Parameter
Value Range
Unit
TCP
Version
Reno
Reno, ModReno
-
TCP
Window Scale Factor
1
1 ÷ 65535
bytes
PDCP
Header Compression OFF
ON, OFF
-
RLC
PDU Size
240 ÷ 4092
bits
RLC
Mode
UMD, AMD
-
RLC
Header Size SN
1 (UMD), 2 (AMD) bytes
RLC
Header Size LI
1 (UMD), 2 (AMD) bytes
RLC
Queue Size
500
1 ÷ ∞
packets
MAC
Transport Block Size
244 ÷ 4096
bits
MAC
Transport Block Set
1, 2, 40
blocks
MAC
Transmission Interval
10, 20, 80
ms
CHANNEL Block Delay
10, 20, 80
ms
CHANNEL Block Error Ratio
0
0 ÷ 3·10−1
INTERNET IP Packet Loss
0
0 ÷ 2·10−2
Table 4.2: Variable simulation parameter set (default values)
Chapter 5
Investigation of Transport Services
The investigation of different UMTS transport services shows simulation results for UMTS
transport service data rates from 12.2 kbit/s to 2048 kbit/s on the radio interface.
Four Service Classes are defined for UMTS to meet Quality of Service (QoS) demands from
different applications on network performance parameters.
Service class
Example of service Requirement
Background class
E-mails, SMS
loss-free transmission
Interactive class
web browsing,
loss-free transmission,
server access
moderate transfer delay
Streaming class
video, audio
low transfer delay
Conversation class Voice over IP,
low inter-arrival variation,
video conferencing
low transfer delay
Table 5.1: UMTS service classes
Table 5.1 shows typical examples of applications using different service classes. The rea-
son for splitting the traffic in different service classes is to enhance the system capacity.
Throughput is optimized for each type of traffic by specific handling of the traffic.
Five transport services of the packet switched domain (12.2 kbit/s, 64 kbit/s, 144 kbit/s,
384 kbit/s, 2048 kbit/s) were chosen for investigation in this thesis. The investigated
service classes are the Background Class and the Interactive Class. TCP provides loss-free
transmission of data, which meets the requirement for these two service classes.
For the Streaming Class and the Conversation Class, however, TCP is not the optimal
choice. Both requirements, low transfer delay and low inter-arrival variation, can not
be guaranteed. TCP provides loss-free transmission by retransmitting lost or corrupted
segments. This not only delays delivery of data in case of losses, but also may result in
segments being delivered almost simultaneously in clusters, followed by relatively long idle
periods.
The effect of header compression is shown for the 64 kbit/s transport service and interesting
traffic scenario evaluations have been performed for the 384 kbit/s transport service.
44