TCP PERFORMANCE OF MOBILE IP IN WIRELESS NETWORKS
A Thesis
Presented to
The Faculty of the College of Graduate Studies
Lamar University
In Partial Fulfillment
of the Requirements for the Degree
Master of Science
by
Jean-Pierre Nziga
May 2003
DEDICATION
This thesis is dedicated to my lovely wife
Yolande
and to my beautiful daughter
Lazlo.
The completion of this work has been possible with their patience and understanding.
ACKNOWLEDGEMENTS
I wish to thank the members of my committee for their support and patience. Their gentle
and firm direction has been most appreciated.
Dr. KOH and Dr. QI were particularly helpful in guiding me towards a qualitative
methodology.
I would like to seize this opportunity to thank Dr. Osborne for his confidence in my
abilities and his guidance throughout this thesis.
TABLE OF CONTENTS
PAGE
LIST OF TABLES………………………………………………………………………..ix
LIST OF FIGURES……………………………………………………………………….x
LIST OF ACRONYMS……………………………………………………………...…..xv
CHAPTER
1.INTRODUCTION ………………………………………………………….…….1
2.MOBILE NETWORKING AND MOBILE IP …………………………….……..4
2.1 Mobile IP Functionality………………………………….………………..4
2.2 Mobile IP Mechanisms……………………………………………………5
2.2.1 Care-Of-Address Discovery………………………………………6
2.2.2 Care-Of-Address Registration…………………………………….6
2.2.3 Care-Of-Address Tunneling……………………………………….7
3.TRANSMISSION CONTROL PROTOCOL……………………………………..9
3.1 TCP behavior over the wired network…………………………………….9
3.2 TCP behavior over the wireless network…………………………..…….11
3.3 Suggestions for TCP improvement over the wireless link………...……..13
3.3.1 Link-Layer Solutions…………………………………………....13
3.3.1.1 TCP-Aware LL Protocols……………………………….14
3.3.1.2 TCP-Unaware LL Protocols…………………………….15
3.3.2 Split Connections Solutions……………………………………...15
3.3.3 TCP Modifications Solutions………………………………….....16
3.3.3.1 TCP Sack………………………………………………...16
3.3.3.2 TCP Fack………………………………………………...16
3.3.3.3 TCP Santa Cruz…………………………………………..17
3.3.3.4 Explicit Congestion Notification………………………...17
3.3.3.5 Explicit Loss Notification………………………………..18
3.3.3.6 Fast Retransmits………………………………………….18
3.3.4 New Transport Protocols Solutions……………………………...19
3.3.4.1 Wireless Transmission Control Protocol………………...19
3.3.4.2 Wave-and-Wait protocol…………………………………20
3.3.4.3 TCP-Probing……………………………………………..20
4.TCP FLAVORS ON NS SIMULATOR…………………………………..……..21
4.1 Definitions……………………………………………………………...... 21
4.2 TCP Tahoe…………………………………………………………….....22
4.3 TCP Reno……………………………………………………………..….22
4.4TCP Newreno…………………………………………………..………...23
4.5 TCP Sack……………………………………………………..…………24
4.6TCP Fack……………………………………………………………..….24
4.7TCP Vegas……………………………………………………….…..…..26
5.ROUTING PROTOCOLS…………………………………………………….....28
5.1 Definitions………………………………………………………………..29
5.2Destination-Sequenced Distance Vector (DSDV)………….………...….29
5.3 Ad hoc On-demand Distance Vector (AODV)………………………..…30
5.4 Dynamic Source Routing (DSR)…………………………….………..…31
5.5 Temporally Ordered Routing Algorithm (TORA)……..………………...32
6.SIMULATION ENVIRONMENT – NS SIMULATOR……………………...…34
6.1 NS Generality……………………………………………………...……..34
6.2 NS Overview……………………………………………………………..34
7.EXPERIMENTAL DESIGN AND RESULTS ANALYSIS………………...….39
7.1 Objectives………………………………………………………………..39
7.2 Topology……………………………………………………………...….39
7.3 Test Cases…………………………………………………………....….41
7.4 Metrics…………………………………………………...………………42
7.5 Results Analysis…………………………………………………………42
7.5.1 Methodology for Analyzing packet ID and Congestion Window
graphs…………………………………………………………….42
7.5.2 Routing protocols effects on our topology ……………………...45
7.5.3 Impact of Bandwidth and link delay on Packet received.………..51
7.5.3.1 Bandwidth = 1Mb………………………………………..51
7.5.3.2 Bandwidth = 5.5Mb……………………………………...58
7.5.3.3 Bandwidth = 10Mb………………………………………65
7.5.4 Sender Congestion Window behavior…………………………...73
7.5.5 Round Trip Time of the Communication……………………..….93
7.5.6 Impact of speed on TCP performance……………………..…..100
8.CONCLUSION AND FUTURE WORK………………………………………142
8.1 Conclusion……………………………………………………………...142
8.2Future Work…………..………………………………………………...144
LIST OF REFERENCES……………………………………………………………….145
LIST OF TABLES
TABLE PAGE
7.1 Packet Number received by the Mobile Node at 40 KM/H……………………..72
7.2 Number of Window’s Size Reduction during the connection at 40 KM/H……..73
7.3 Packet Number received by the Mobile Node at 40 KM/H,
60 KM/H and 80 KM/H………………………………………………………...101
7.4 Number of Window’s Size Reduction during the connection at 40 KM/H,
60 KM/H and 80 KM/H………………………………………………………...116
LIST OF FIGURES
FIGUREPAGE
6.1 Simplified User’s View of NS………………………………………………..…35
6.2 C++ and Otcl: the Duality…………………………………………………..……37
6.3 Architecture View of NS……………………………………………………..….37
7.1 A Simplified wireless topology…………………………………………….……39
7.2 Topology used in this thesis…………………………………………………...…41
7.3 Behavior of TCP sequence number (or Packet_Id)……………………………...43
7.4 Behavior of TCP sender congestion window……………………………….……45
7.5 Pkt_id –10 Mb - 2 ms – AODV – Tahoe, Reno, Newreno,
Vegas, Fack, Sack………………………………………………………………..47
7.6Pkt_id –10 Mb - 2 ms – TORA – Tahoe, Reno, Newreno,
Vegas, Fack, Sack………………………………………………………………..48
7.7 Pkt_id –10 Mb - 2 ms – DSDV – Tahoe, Reno, Newreno,
Vegas, Fack, Sack………………………………………………………………..49
7.8 Pkt_id –10 Mb - 2 ms – DSDV, TORA, AODV – Tahoe ……………….……..50
7.9 Pkt_id –1 Mb - 2 ms, 5 ms, 10 ms – DSDV – Tahoe……………….…….……..52
7.10 Pkt_id –1 Mb - 2 ms, 5 ms, 10 ms – DSDV – Reno……………….…………….53
7.11 Pkt_id –1 Mb - 2 ms, 5 ms, 10 ms – DSDV – Newreno……………….………...54
7.12 Pkt_id –1 Mb - 2 ms, 5 ms, 10 ms – DSDV – Fack……………….…….……....55
7.13 Pkt_id –1 Mb - 2 ms, 5 ms, 10 ms – DSDV – Sack……………….…….……....56
7.14 Pkt_id –1 Mb - 2 ms, 5 ms, 10 ms – DSDV – Vegas……………….…………...57
7.15 Pkt_id –5.5 Mb - 2 ms, 5 ms, 10 ms – DSDV – Tahoe……………….…………59
7.16 Pkt_id –5.5 Mb - 2 ms, 5 ms, 10 ms – DSDV – Reno……………….….……….60
7.17 Pkt_id –5.5 Mb - 2 ms, 5 ms, 10 ms – DSDV – Newreno……………….………61
7.18 Pkt_id –5.5 Mb - 2 ms, 5 ms, 10 ms – DSDV – Fack……………….……….….62
7.19 Pkt_id –5.5 Mb - 2 ms, 5 ms, 10 ms – DSDV – Sack……………….………….63
7.20 Pkt_id –5.5 Mb - 2 ms, 5 ms, 10 ms – DSDV – Vegas……………….….…...…64
7.21 Pkt_id –10 Mb - 2 ms, 5 ms, 10 ms – DSDV – Fack……………….…………...66
7.22 Pkt_id –10 Mb - 2 ms, 5 ms, 10 ms – DSDV – Tahoe……………….………….67
7.23 Pkt_id –10 Mb - 2 ms, 5 ms, 10 ms – DSDV – Reno……………….…………...68
7.24 Pkt_id –10 Mb - 2 ms, 5 ms, 10 ms – DSDV – Newreno……………….……….69
7.25 Pkt_id –10 Mb - 2 ms, 5 ms, 10 ms – DSDV – Sack………………..…………..70
7.26 Pkt_id –10 Mb - 2 ms, 5 ms, 10 ms – DSDV – Vegas……………….………….71
7.27 CWND –1 Mb - 2 ms – DSDV – Tahoe……………….……………….………..75
7.28 CWND –10 Mb - 5 ms – DSDV – Tahoe……………….……………….……....76
7.29 CWND –10 Mb - 10 ms – DSDV – Tahoe……………….………………...…...77
7.30 CWND –1 Mb - 2 ms – DSDV – Reno……………….…………………………78
7.31 CWND –1 Mb - 5 ms – DSDV – Reno…………..……….……………….…….79
7.32 CWND –10 Mb - 5 ms – DSDV – Reno……………….………………….…….80
7.33 CWND –1 Mb - 2 ms – DSDV – Newreno……………….…………………..…81
7.34 CWND –1 Mb - 5 ms – DSDV – Newreno……………….………………..…...82
7.35 CWND –10 Mb - 5 ms – DSDV – Newreno……………….……………....…...83
7.36 CWND –1 Mb - 2 ms – DSDV – Sack……………….………………..….…….84
7.37 CWND –1 Mb - 5 ms – DSDV – Sack……………….…………………...…….85
7.38 CWND –10 Mb - 5 ms – DSDV – Sack……………….………………….……..86
7.39 CWND –1 Mb - 2 ms – DSDV – Fack……………….…….…………….……..87
7.40 CWND –1 Mb - 5 ms – DSDV – Fack……………….…….…………………....88
7.41 CWND –10 Mb - 10 ms – DSDV – Fack……………….…….…….…….….….89
7.42 CWND –5.5 Mb - 2 ms – DSDV – Vegas…………………….…………………90
7.43 CWND –5.5 Mb - 5 ms – DSDV – Vegas……………….…….………….….….91
7.44 CWND –5.5 Mb - 10 ms – DSDV – Vegas……………….…….……………….92
7.45 RTT –10 Mb - 5 ms – DSDV – Tahoe……………….…….…………….……...94
7.46 RTT –10 Mb - 5 ms – DSDV – Newreno……………….…….……….….….….95
7.47 RTT –10 Mb - 5 ms – DSDV – Reno……………….…….……………….…….96
7.48 RTT –10 Mb - 5 ms – DSDV – Vegas……………….…….…………….………97
7.49 RTT –10 Mb - 5 ms – DSDV – Fack……………….…….…………….………..98
7.50 RTT –10 Mb - 5 ms – DSDV – Sack……………….…….…………….……..…99
7.51 Pkt_id –10 Mb - 2 ms, 5 ms, 10 ms – DSDV – Tahoe-60KM/H………….…..103
7.52 Pkt_id –10 Mb - 2 ms, 5 ms, 10 ms – DSDV – Tahoe-80KM/H………….…...104
7.53 Pkt_id –10 Mb - 2 ms, 5 ms, 10 ms – DSDV – Reno-60KM/H………….…….105
7.54 Pkt_id –10 Mb - 2 ms, 5 ms, 10 ms – DSDV – Reno-80KM/H…………..…....106
7.55 Pkt_id –10 Mb - 2 ms, 5 ms, 10 ms – DSDV – Newreno-60KM/H…………....107
7.56 Pkt_id –10 Mb - 2 ms, 5 ms, 10 ms – DSDV – Newreno-80KM/H…………...108
7.57 Pkt_id –10 Mb - 2 ms, 5 ms, 10 ms – DSDV – Vegas-60KM/H……….……...109
7.58 Pkt_id –10 Mb - 2 ms, 5 ms, 10 ms – DSDV – Vegas-80KM/H………….…...110
7.59 Pkt_id –10 Mb - 2 ms, 5 ms, 10 ms – DSDV – Fack-60KM/H………...………111
7.60Pkt_id –10 Mb - 2 ms, 5 ms, 10 ms – DSDV – Fack-80KM/H……………..….112
7.61 Pkt_id –10 Mb - 2 ms, 5 ms, 10 ms – DSDV – Sack-60KM/H……………..….113
7.62 Pkt_id –10 Mb - 2 ms, 5 ms, 10 ms – DSDV – Sack-80KM/H………………...114
7.63 CWND –10 Mb - 5 ms – DSDV – Tahoe - 60KM/H…………………………..117
7.64 CWND –10 Mb - 10 ms – DSDV – Tahoe - 80KM/H…………………………118
7.65 CWND –10 Mb - 5 ms – DSDV – Reno- 60KM/H…………………………….119
7.66 CWND –10 Mb - 5 ms – DSDV – Reno- 80KM/H…………………………….120
7.67 CWND –10 Mb - 5 ms – DSDV – Newreno - 60KM/H……………………….121
7.68CWND –10 Mb - 10 ms – DSDV – Newreno - 80KM/H……………………...122
7.69CWND –10 Mb - 5 ms – DSDV – Fack - 60KM/H……………………………123
7.70 CWND –10 Mb - 10 ms – DSDV – Fack - 80KM/H…………………………..124
7.71 CWND –10 Mb - 5 ms – DSDV – Sack - 60KM/H……………………………125
7.72 CWND –10 Mb - 10 ms – DSDV – Sack - 80KM/H…………………….…….126
7.73 CWND –10 Mb - 2 ms – DSDV – Vegas - 60KM/H…………………….…….127
7.74 CWND –10 Mb - 10 ms – DSDV – Vegas - 80KM/H…………………………128
7.75 RTT –10 Mb - 5 ms – DSDV – Tahoe - 60KM/H……………………..……….130
7.76 RTT –10 Mb - 5 ms – DSDV – Tahoe - 80KM/H……………………..……….131
7.77 RTT –10 Mb - 5 ms – DSDV – Reno - 60KM/H………………..……..………132
7.78 RTT –10 Mb - 5 ms – DSDV – Reno - 80KM/H……………………..………..133
7.79 RTT –10 Mb - 5 ms – DSDV – Newreno - 60KM/H…………………….…….134
7.80 RTT –10 Mb - 5 ms – DSDV – Newreno - 80KM/H…………………………..135
7.81 RTT –10 Mb - 5 ms – DSDV – Fack - 60KM/H……………………..………...136
7.82 RTT –10 Mb - 5 ms – DSDV – Fack - 80KM/H…………...…………..………137
7.83 RTT –10 Mb - 5 ms – DSDV – Sack - 60KM/H……...………………..………138
7.84 RTT –10 Mb - 5 ms – DSDV – Sack - 80KM/H…………………...…..………139
7.85 RTT –10 Mb - 5 ms – DSDV – Vegas - 60KM/H…………………...…………140
7.86 RTT –10 Mb - 5 ms – DSDV – Vegas - 80KM/H…………………...…………141
LIST OF ACRONYMS
ABRAssociatively Based Routing
ACIRIAT& T Center for Internet Research at ICSI
ACKAcknowledgement
AODVAd hoc On Demand Distance Vector
ARQAutomatic Repeat Request
BERBit Error Rate
BSBase Station
BSENBad State Explicit Notification
CLRClear
CMUCarnegie Mellon University
COACare-Of-Address
CONSERCollaborative Simulation for Education and Research
CWNDCongestion Window
D-ACKDuplicate Acknowledgement
DARPADefense Advanced Research Projects Agency
DSDVDestination-Sequenced Distance Vector
DSRDynamic Source Routing
ECNExplicit Congestion Notification
ELNExplicit Loss Notification
FAForeign Agent
FackForward Acknowledgement
FECForward Error Correction
FHFixed Host
HAHome Agent
I-TCPIndirect Transmission Control Protocol
IEEEInstitute of Electrical and Electronics Engineers
IETFInternet Engineering Task Force
IPInternet Protocol
ISIInformation Sciences Institute
KM/HKilometer per Hour
LANLocal Area Network
LBLLawrence Berkeley National Laboratory
LLLink Layer
M-TCPMobile Transmission Control Protocol
MACMedia Access Control
MbMegabits per second
MD5Message Digest 5
MHMobile Host
MITMassachusetts Institute of Technology
MNMobile Node
MONARCHMobile Networking Architecture
MSSMaximum Segment Size
NAMNetwork Animator
NSNetwork Simulator
OPTOptimization
OtclObject Oriented Tcl
PDAPersonal Digital Assistant
QRYQuery
RFCRequest For Comment
RREPReply Packet
RREQRoute request
RTORetransmission Timeout
RTTRound Trip Time
SackSelective Acknowledgement
SAMANSimulation augmented by Measurement sand Analysis for Networks
STARSource Tree Adaptive Routing
TCPTransmission Control Protocol
TORATemporally Ordered Routing Algorithm
TULIPTransport Unaware Link Improvement Protocol
UCBUniversity of California at Berkeley
UDPUser Datagram Protocol
UPDUpdate
USCUniversity of South California
VINTVirtual Inter Network Testbed
WANWide Area Network
WRPWireless Routing Protocol
WTCPWireless Transmission Control Protocol
WWPWave-and-Wait Protocol
.
1