Академический Документы
Профессиональный Документы
Культура Документы
Electrical Engineering
Thesis no: MEE-27675
November 2010
Adnan Aftab
Muhammad Nabeel Mufti
School of Computing
Blekinge Institute of Technology
371 79 Karlskrona
Sweden
This thesis is submitted to the School of Computing at Blekinge Institute of Technology in
partial fulfillment of the requirements for the degree of Master of Science in Electrical
Engineering. The thesis is equivalent to 20 weeks of full time studies.
Contact Information:
Authors:
Adnan Aftab
E-mail: adnan.aftab@ymail.com
Muhammad Nabeel Mufti
E-mail: nabeel.mufti@gmail.com
University advisor:
Alexandru Propescu
School of Computing
We really want to thank our supervisor Mr. Alexandru Propescu for his time,
guidance, support and friendly attitude towards us all the time. His valuable advices
paved the way for our research. We would like to extend our thanks to Dr. David
Erman for providing us the experimental equipments and to Mr. Yong Yao, his
interest towards our research and guiding us from precision towards accuracy.
We would also like to thank our families for their support, both financially and
morally. Last but not least we like to say thanks to our friends in Sweden, they make
our stay memorable and joyful.
ii
Contents
ACKNOWLEDGMENT .......................................................................................................................I
ABSTRACT ......................................................................................................................................... II
List of abbreviation .iv
List of Figures .vi
List of Tables .vii
1 INTRODUCTION ....................................................................................................................... 1
1.1 AIMS AND OBJECTIVES ........................................................................................................... 1
1.2 RESEARCH QUESTIONS .......................................................................................................... 1
1.3 THESIS OUTLINE ..................................................................................................................... 2
2 SPECTRUM SENSING............................................................................................................... 4
2.1 COGNITIVE RADIO OPERATION .............................................................................................. 5
2.2 TYPES OF SPECTRUM SENSING ............................................................................................... 5
2.2.1 Energy Detection .............................................................................................................. 6
2.2.2 Cyclostationary Method .................................................................................................... 6
2.2.3 Matched filter detection .................................................................................................... 7
2.2.4 Wavelet Detection ............................................................................................................. 7
2.3 QUALITATIVE ANALYSIS OF SPECTRUM SENSING TECHNIQUES ............................................... 8
2.4 RADIO SPECTRUM OVERVIEW................................................................................................. 8
2.5 RELATED WORK ................................................................................................................... 10
3 GNU RADIO AND USRP2 ....................................................................................................... 12
3.1 GNU RADIO OVERVIEW ...................................................................................................... 12
3.1.1 GNU Radio Flow graphs, Sources and Sinks ................................................................. 13
3.2 TYPICAL SOFTWARE RADIO ................................................................................................. 14
3.3 USRP2 ARCHITECTURE AND OVERVIEW ............................................................................. 14
3.3.1 USRP2 Operation with GNU Radio ............................................................................... 16
4 ENERGY DETECTION IMPLEMENTATION USING USRP2 AND GNU RADIO ........ 19
4.1 PROJECT SETUP .................................................................................................................... 19
4.2 SPECTRUM SENSING ALGORITHM IMPLEMENTATION ........................................................... 22
4.3 PROJECT LIMITATIONS ......................................................................................................... 24
4.3.1 Hardware Limitations ..................................................................................................... 24
4.3.2 Energy detection Algorithm limitations .......................................................................... 25
5 RESULTS ................................................................................................................................... 27
6 CONCLUSION AND FUTURE WORK ................................................................................. 39
6.1 FUTURE WORK ..................................................................................................................... 39
Bibliography.......................................................................................................................... 40
Appendix A............................................................................................................................ 42
Appendix B............................................................................................................................ 46
Appendix C............................................................................................................................ 50
iii
List of abbreviations
Acronym Description
A Ampere
ADC Analogue to Digital Converter
CPC Cognition enabling pilot channel
CPU Central processing unit
DAC Digital to analogue converter
dBm Milliwatt-decibel
DC Direct current
DDC Digital down converter
DSSS Direct sequence spread spectrum
DUC Digital up converter
F Frequency
FFT Fast Fourier transforms
FPGA Field programmable gate arrays
GHz Giga hertz
GUI Graphical user interface
HPSDR High power software defined radio
IEEE Institute of Electrical and Electronic
Engineer
IF Intermediate frequency
IP Internet protocol
ISM Industrial Scientific Medical
ITU-T International telecommunication union
MAC Media access control
MHZ Mega hertz
MIMO Multi input multi output
Mm Millimeter
MS Mega samples
OSSIE Open source SCA implementation
embedded
PU Primary user
PHY Physical
RADAR Radio detection and ranging
RF Radio frequency
SCA Software Communication Architecture
SDR Software defined radio
SNR Signal to noise ratio
SU Secondary user
SWIG Simplified wrapper and interface grabber
UBCR Unlicensed based cognitive radio
iv
Acronym Description
v
List of Figures
Figure2.1 Cognitive Radio spectrum sensing 4
Figure 5.1: FFT magnitude plot for 2.4GHz band with 20MHz frequency step 27
Figure 5.2: Frequency vs. Gain plot for 2.4-2.5GHz ISM band 28
Figure 5.5: Frequency and Magnitude plot with 10MHz step at 2.4GHz ISM band 29
vi
Figure 5.7: Spectrogram plot using 10MHz step 30
Figure 5.8: Frequency vs. magnitude plot with Frequency step of 5MHz 31
Figure 5.9: Time, Frequency, gain 3D plot with frequency step of 5MHz 32
Figure 5.16: Frequency vs. gain plot for 5.8GHz ISM band 36
Figure 5.17: Frequency, Time, Gain plot for 5.8GHz ISM Band 36
List of Tables
Table1. Spectrum sensing techniques comparison 8
vii
Chapter 1
Introduction
viii
1 INTRODUCTION
The thesis presents the implementation of spectrum sensing through energy
detection and wavelet transformation algorithm using GNU Radio and
Universal Software Radio Peripheral2 (USRP2). Furthermore comparison of all
available spectrum sensing techniques is presented to identify the most efficient
method. Spectrum sensing is considered as the prime element of any Cognitive
radio (CR). By finding the underutilized frequency in the available spectrum,
the radio spectrum scarceness issue can be resolved effectively.
1
6. What is the most suitable graphical method to analyze the raw data
collected through USRP2?
Chapter 2 gives insight of technical background and related work done in the
area of spectrum sensing.
Chapter 3 provides familiarity with the software tools and hardware used in
the research.
2
CHAPTER 2
Spectrum Sensing
3
2 SPECTRUM SENSING
Cognitive Radio (CR) is a model for radio communication in which a wireless
system alters its transmission or reception to effectively communicate with end
user avoiding interference from other users present in the spectrum [23]. CR
continuously learns about the radio spectrum by sensing the spectrum and
changes its transmission or reception parameters according to the user
behavior. The spectrum sensing principals of cognitive radio is shown in
Figure2.1.
SENSE
LEARN AWARE
ADAPT
CR finds the free spectrum holes in the available spectrum range through
sensing and learning. CR adapts to the changes in available radio spectrum and
varies transmit or receive parameters according to the network condition. In the
CR paradigm, there are two types of users known as Primary Users (PU) and
Secondary Users (SU). Primary users are the licensed spectrum users who have
direct access to the network whereas SUs are the users who rely on the CR
decision for spectrum access [18]. There are two main types of spectrum
sensing CRs
The rest of the discussion in this thesis focuses only on the second category of
Cognitive Radios referring to it as CR.
4
2.1 Cognitive Radio Operation
Spectrum Radio
Decision Environment
Spectrum Spectrum
Analyzing Sensing
1. Energy Detection
2. Cyclostationary Method
3. Matched Filter detection
4. Wavelet detection
5
2.2.1 Energy Detection
= (1)
= + (2)
Where s(t) is the received signal and n(t) is the additive white Gaussian
noise i.e. equally distributed all over the signal. H0 and H1 represent the
two outcomes of the energy detection method [4]. The energy detection
methods working principal can be explained with the Figure2.3
= + ej2 t (3)
The equation shows the autocorrelation of the observed signal x(t) with
periodicity T, E represents the expectation of the outcome and represents the
cyclic frequency [6]. After autocorrelation Discrete Fourier Transform over
resulting correlation is performed to get the desired result in terms frequency
components. The peaks in the acquired data give us the information about the
spectrum occupancy. The Cyclostationary detection method requires prior
6
knowledge of periodicity of signal and it can only be used with the signal
possessing Cyclostationary properties. The implementation of Cyclostationary
method is shown in Figure2.4.
X(t) Decide H0 or H1
X(f) Correlation of S(f,) Cyclic freq.
FFT x(f+)x*(f-) Detector
7
2.3 Qualitative analysis of spectrum sensing techniques
It can clearly be seen from table1 that energy detection is the most suitable
technique for unlicencessed spectrum bands as it does not require any prior
information about the PU and SU.
8
One of the known unlicensed frequency band is Industrial, Scientific and
Medical (ISM) frequency band or spectrum. It comprises of several different
frequency bands. The ISM band defined by ITU-Regulation is given in the
Table2.
Table2: ITU-R allocation of ISM Frequency bands [10]
Frequency Range Center Frequency Availability
6.765-6.795 MHz 6.785MHz
13.55313.567 MHz 13.560 MHz
26.95727.283 MHz 27.120 MHz
40.6640.70 MHz 40.68 MHz
433.05-434.79 MHz 433.92 MHz
902-928 MHz 915 MHz ITU Region2 only
2.400-2.500 GHz 2.450 GHz
5.725-5.875 GHz 5.800 GHz
24-24.25 GHz 24.125 GHz
61-61.5 GHz 61.25
122-123 GHz 122.5 GHz
244-246 GHz 245 GHz
Most commonly used ISM bands are 2.4GHz and 5.8GHz band. Though these ISM
bands were reserved for the purpose of research but currently these bands are used
for different wireless communication standards. Examples of these bands are
Wireless Local Area Network defined by Institute of Electrical and Electronics
Engineers (IEEE) as 802.11a/b/g/n, Wireless Personal Area Network (WPAN)
defined by IEEE as 802.15 and Cordless phones which operate in the range of
915MHz, 2.4GHz, and 5.8GHz. The research carried out in this thesis is performed
using the 2.4GHz and 5.8GHz ISM band commonly used for WLAN and defined by
IEEE as 802.11. 802.11 standards have defined 13 channels in the range of
2412MHz to 2472MHz [23]. Each channel is 5MHz apart from each other and all the
adjacent channel overlap with each other as each channel is 22MHz wide as shown
in Figure 2.6.
9
2.5 Related work
10
CHAPTER 3
11
3 GNU RADIO AND USRP2
GNU Radio is an open source development platform for signal processing and
communication applications focusing on implementation of SDRs with low
cost external RF hardware. It contains tons of libraries with signal processing
routines written in C/C++ programming language. It is widely used in the
wireless communication research and real time implementation of software
radio systems [16].
GNU Radio applications are mainly written and developed by using Python
programming language. Python provides a user friendly frontend environment
to the developer to write routines in a rapid way. The performance critical
signal processing routines are written in C++ [22]. Python is a high level
language; it acts as a glue to integrate the routines written in C++ and executes
through python. Python uses simplified wrapper and interface grabber (SWIG)
for the purpose of interfacing C++ routines with python frontend application as
shown in Figure 3.1. Very high speed integrated circuits hardware description
language (VHDL) is a hardware descriptive language. This part of the code is
executed in the Field Programmable Gate Array (FPGA) of front end hardware
which is USRP2 in our scenario.
Python glue
SWIG
C++ C++ C++
VHDL/Verilog FPGA
12
GNU radio applications can be developed using both Object Oriented
Approach and Procedural Approach depending upon the complexity of the
problem under consideration. Some of the modules available in the current
release of GNU Radio are shown in Figure 3.2:
13
hardware access etc. Every flow graph in GNU Radio requires at least one
source or sink. Source and Sinks can be explained with the example of
spectrum sensing scenario explained later in this chapter. In case of spectrum
sensing our command line interface acts as sink whereas USRP2 acts as a
source. When we use input command line parameters to tune USRP2 in this
scenario, the interface acts as a source and USRP2 acts as a sink.
CODE
RECEIVE RF FRONT END ADC
EXECUTION
RX PATH
CODE
TRANSMIT RF FRONT END DAC
EXECUTION
TX PATH
USRP2 allows the creation of a software radio with any computer having
gigabit Ethernet interface. Its the upgraded version of its earlier release USRP.
USRP has a USB interface limiting the data throughput from USRP to
Computer at a maximum bandwidth of 8MHz. The design of USRP and
USRP2 is open source and all schematics and component information can be
downloaded from the website of the manufacturer [2]. USRP2 contains field
programmable gate arrays (FPGA) and RF transceiver board which is
connected over FPGA.
14
The main idea behind the design of USRP is to perform all the signal
processing tasks for example modulation and demodulation, filtering at the host
computer. All the general purpose tasks such as decimation, interpolation,
digital up conversion and down conversion are performed inside the FPGA of
USRP2. The Figure 3.4 shows the image of USRP2 with RF daughter board.
USRP2 contains gigabit Ethernet controller, SD card slot and MIMO expansion
slot at the front end with 8 LED indicators. SD card contains the driver for
USRP2 mother board and RF transceiver. It requires 5V DC and 6A to power
up USRP2 [2]. The main features of USRP2 are given in table 3.
15
RX
TX
SD MIMO
Memory Expansion
Ethernet
Interface
USRP2 operation with GNU Radio can be explained with the help of Figure
3.6. RF transceiver fetches the RF signal from real time environment and
converts it to Intermediate Frequency (IF) around direct current (DC) using
digital down converter (DDC). After converting it to IF the signal is passed to
ADC. USRP2 contains 14-bit ADC converter which provides sampling rate of
100MS/s [2]. The ADC after sampling passes the data to FPGA. The main task
for the FPGA is the down conversion of remaining frequency and data rate
conversion. After processing, FPGA transfers the results to gigabit Ethernet
controller which passes it over to the host computer where the rest of the signal
processing tasks are performed.
16
In case of transmission the same procedure is repeated in reverse order. Firstly
gigabit Ethernet controller of host computer passes the input parameters to
USRP2. After receiving, the complex signal, digital up converter (DUC)
converts the signal to IF before passing it to DAC. The DAC passes the IF
converted signal to the RF transceiver where it is converted to RF signal and
transmitted over the air.
ANTENNA
USRP2
DSP GIGABIT
RF DAUGHTER
ADC/DAC PROCESSING ETHERNET
BOARD
XILINX FPGA CONTROLLER
GIGABIT
APPLICATION DSP BLOCK
ETHERNET
PYTHON C++ ROUTINES
CONTROLLER
HOST PC WITH
GNU RADIO
17
Chapter 4
18
4 ENERGY DETECTION IMPLEMENTATION USING
USRP2 AND GNU RADIO
4.1 Project Setup
The project setup was created by using GNU Radio installed on Ubuntu Linux
10.10 on personal computer (PC) with the specifications; core 2 Duo, 4 GB
ram, 320 GB hard drive, Gigabyte Ethernet interface and ATI Radeon 512 MB
graphics card. USRP2 device was used to physically receive the signal from
real time environment. The USRP2 was connected to the Ethernet port of Host
PC gigabit Ethernet card through CAT6 cable carrying RJ-45 jack at both ends.
The USRP2 differs from its predecessor in a way that it requires certain
configurations for boot up process unlike USRP which connects through USB
port. It requires certain configuration at Linux terminal to make it work with
GNU Radio. First the drivers were updated for USRP2 with XCVR2450.
Universal Hardware Devices (UHD) provides complete support for the drivers
of USRP2 product line. UHD provides both host drivers and Application
programming Interface for standalone application development without GNU
radio suite. USRP2 communicates at IP/UDP layer. The default IP address for
USRP2 is 192.168.10.2, so to make it work Host PC should be assigned an IP
address in the same subnet, for example 192.168.10.1. When USRP2 is not
assigned an IP address, it communicates with the host pc using UDP broadcast
packets, so it is essential to turn off the firewall before establishing the
connection with USRP2 [2]. USRP2 can be found on the terminal by entering
the following command provided by UHD.
$ sudo find_usrps
00:50:c2:85:35:14 hw_rev = 0x0400
The command returns the MAC address of the USRP2 showing it is available
and connected to the interface. GNU radio provides a python routine named
USRP2_probe.py which acts as a software RF probe. It is a graphical user
interface (GUI) application which returns the frequency range for the
transceiver board and its gain in milliWatt-decibel (dBm). The output of the
USRP2_probe.py for XCVR2450 dual band transceiver is given in Figure 4.1.
19
Figure 4.1: USRP2_probe.py Output
After connecting the USRP2 with GNU radio and bringing it to up and running
condition now we can execute any GNU Radio application by writing a routine in
python or by using GNU Radio Companion (GRC). The experimental setup is shown
in Figure 4.2 :
20
given time whereas USRP2 has a gigabit Ethernet making it flexible enough to
monitor the 25MHz of bandwidth at any given time [2]. Hence we modified the
routine to make it work with the USRP2.
There are some other routines (written in python) available in GNU Radio but none
of these routines are flexible enough to monitor the whole spectrum for a long
interval of time. One of these routines is USRP2_fft.py. This is a GUI application
which takes the FFT of the received signal in real time and displays it over interface.
The limitation with USRP2_fft.py is that, it only provides us with the gain at a given
frequency without displaying the spectrum holes. Secondly it is a GUI application
and it can only be executed using a low decimation rate, otherwise system specs
should be very high. The output of the USRP2_fft.py is shown in Figure 4.3 showing
the utilization of channel 1 of 2.4 GHz ISM band in BTH, Karlskrona Campus.
21
Figure 4.4: gr_plot_fft.py output with USRP2_rx_cfile.py data file
22
the Power Spectral Density of received FFT magnitude bins we can use the
same algorithm for wavelet detection method.
USRP2
SOURCE
Bit stream to
Vector Conversion
Blackman-Harris
window
FFT Magnitude
Tunning
Parameter
Decimation
Sink
The spectrum sensing algorithm steps across the RF spectrum and takes the
measurement in terms of FFT magnitude bins. The number of FFT bins, gain,
decimation, time delay, dual delay and frequency range are forwarded to the
USRP2_spectrum.py as tuning parameters.
The minimum number of bins is 3 and the maximum is 1024 bins. The FFT
magnitude bins received at a certain frequency consist of 2 parts. First half of
the bins i.e. FFT X[1] to FFT X[N/2 - 1] corresponds to the pass band spectrum
from the center frequency (fc) to +Fs/2. Whereas the rest of the bins from X
[N/2 - 1] to X [N-1] contains spectrum from center frequency to Fs/2. Here
X[1] represents the first bin value as shown in appendix B and X[N/2 - 1]
represents the middle bin value. For example if we have 256 bins at 2402 MHz
with 8MHz frequency step, the bin 0 to 127 corresponds to 2398 MHz to 2402
MHz and the rest of the bins correspond to 2402 MHz to 2406 MHz.
The gain parameter sets the gain of tuner card. By default the gain of the card is
set to half of maximum gain which is 45dBm in case of XCVR2450. The time
delay and dual delay parameters depends upon the decimation rate and length
of FFT. By default decimation rate is set to 16 with 256 FFT bins and with time
delay of 1ms. Time delay is a key parameter without setting the correct time
delay the results could be altered or false. The reason for it is time delay
displaying the amount of FFT frames from the source to sink should be
23
forwarded in the defined time. Time delay for a given decimation rate and FFT
size can be calculated as follows:
No. of FFT Frames = (Decimation Rate * Time delay) / FFT window Size (4)
In practice to reduce the non linear response of the DDC we performed FFT
overlapping. Without FFT overlapping we were getting white spaces at the end
of every sweep. We choose an overlap minimum of 25% i.e. we defined the
step size to 8MHz for every step. In some cases we even choose overlapping of
0.75% to get the step size of 1MHz, so that we can get as accurate results as
possible. The USRP2_spectrum.py is invoked in the following manner:
The time delay parameter is set to 1ms in the code by default. a represents the
starting frequency and b represents the last frequency, -g is used to set the
gain parameter and-d8 represents that we are using decimation of 8.Decimation
rate of 8 means that USRP2 processed 12.5MS/sec during execution of code.
The USRP2_spectrum.py is provided in appendix A at the end of the thesis.
The typical output of running USRP2_spectrum.py will give us the FFT
magnitude bins at a given center frequency. The gain at any given center
frequency can be calculated by summing the values of all the bins and by
taking square root of the result. After that by taking 20*log(x), where x is the
square root of the sum of the bins, we can get the result in dBm.
The experiments were carried out in Room G403 of Building2 at Blekinge
institute of technology (BTH) in Karlskrona, Sweden. Most of the results were
collected during the same project room except a few instances where the results
were collected in the cafeteria while turning on the microwave to check the
performance of the algorithm in presence of high noise.
Hardware limitations
Energy Detection Algorithm limitations
24
4.3.2 Energy detection Algorithm limitations
As previously mentioned energy detection based algorithms cannot
differentiate between PU and SU [11]. The results are solely based on the
threshold level received, or the energy level measured from the
environment. Energy detection method cannot be used in a low noise setup.
The implemented routine can sense large bandwidth but not at the same
time as it steps across the RF spectrum with the change in time domain.
25
Chapter 5
Results
26
5 RESULTS
The raw data collected by executing the USRP2_spectrum.py routine is
appended into .dat and .bin files. These file can be loaded directly into
MATLAB or any other plotting tools like octave, SigView or wavelet toolbox
software. All the results in this chapter are plotted using Matlab2010 and
Sigview. The sample raw data extracted in the .dat file is shown in appendix
B. The results obtained show the usage of 2.4GHz WiFi channels in the campus
as well as free channels and spectrum holes. The results are collected using
both 2.4 GHz ISM band and 5.8 GHz ISM band. The 5.8 GHz band is not used
within the campus environment which can easily be observed by looking at
frequency and magnitude plot. We have used three different types of plots to
verify our results. These are frequency, magnitude and time, frequency, gain 3-
dimensional (3D) plots and time, frequency spectrograms.
Figure 5.1 shows the results obtained for 2.4GHz ISM band by using a
frequency step of 20MHz i.e. the above defined routine steps across the ISM
band in steps of 20MHz starting from 2.4GHz and ending at 2.502G. As it can
be observed from the graph, it is hard to find the exact channel utilization of
802.11 WiFi spectrum due to large sweeps across the spectrum. Figure 5.3
shows the same results in 3-dimensions (3-D) by using another axis for time.
The advantage of time axis is that we can monitor the results at any given
instance of time.
Figure 5.1: FFT magnitude plot for 2.4GHz band with 20MHz frequency
step
27
Figure 5.2: Frequency vs. Gain plot for 2.4-2.5GHz ISM band
Figure 5.3: Time, Frequency, and Gain 3D plot for 2.4GHz-2.5GHz using
20MHz frequency step
28
The results obtained using a smaller step of 10MHz is shown in Figure 5.4. We
can easily find the channel utilization of campus WLAN by looking at Figure
5.4 and Figure 5.5. The spikes around 2.43x109 Hz in the plot show the use of
Channel 7 at the time of data collection. Frequency and magnitude plots
provide us gain at a given frequency but still its not good enough to find the
threshold level or to decide which part of spectrum is free because it does not
has the time-axis. For this purpose we have used spectrograms.
Figure 5.5: Frequency and Magnitude plot with 10MHz step at 2.4GHz ISM
band
29
Figure 5.6: Time, Frequency, Magnitude plot using 10MHz step
Spectrogram shown in Figure 5.7 displays the time frequency relationship with
respect to gain. The color bar presented at the right side of the plot shows the
different level of energy or gain values. To find the spectrum holes or
availability at the defined threshold at any instant, we can compare the color
with time and frequency axis. The color red in this
30
Spectrogram shows the spectrum holes or underutilized bandwidth at a given
instance of time and Frequency. Due to large frequency step it is hard to
differentiate between the colors and it is hard to find the white spaces at the
exact location.
To gather even more accurate results we repeated the experiment with 5 MHz
frequency step and sweep across the spectrum again. The results obtained are
shown in Figure 5.8-5.10. Here we can easily observe the use of channel 1,6,11
in the campus WLAN environment by looking at Figure 5.8 and Figure 5.9.
Figure 5.8: Frequency vs. magnitude plot with Frequency step of 5MHz
31
Figure 5.9: Time, Frequency, gain 3D plot with frequency step of 5MHz
Similarly we gathered the results using 1MHz step. The results obtained are
shown in Figure 5.11 and Figure 5.12 showing the utilization of channel 1, 7
and 11 in the WiFi network of the campus.
32
Figure 5.11: Frequency Vs. Gain plot using 1MHZ step
33
To check the limitations of our project we conducted another experiment by
placing the USRP2 and host PC near microwave ovens to check if energy
detection method is susceptible to the high signal strength environment or not.
The results attained are shown in Figure 5.13, 5.14 and 5.15. The results clearly
show increase in gain in less than 1 second. We received gain values as high as
50dBm and energy detection algorithm didnt identify any other WiFi channel
though the university caf is a hotspot and it has a number of wireless routers
placed in the vicinity. The spectrogram in Figure 5.15 shows the use of only
microwave oven frequency i.e. 2.45 GHz in different colors the rest of the
frequency range is red proving microwave frequency magnitude to be high
enough to suppress any other signal in the vicinity of cafeteria.
Figure 5.13: Frequency Vs. Gain plot @ 2.45 GHz microwave oven range
34
Figure 5.14: Time, Frequency, Gain 3D plot @ microwave oven frequency
35
Figure 5.16: Frequency vs. gain plot for 5.8GHz ISM band
Figure 5.17: Frequency, Time, Gain plot for 5.8GHz ISM Band
36
Figure 5.18: Spectrogram for 5.8GHz ISM band
Final experiment was conducted over 5.8GHz ISM band. Since 5.8GHz
frequency band is not used inside the campus, the whole spectrum range
appears as white space or underutilized. It can be observed by looking at the
Figure 5.17-5.18. A few colored spots in the spectrogram are due to the thermal
noise or other hardware noise figure.
37
Chapter 6
38
6 CONCLUSION AND FUTURE WORK
The report presents implementation of energy detection and wavelet based
spectrum sensing implementation and analysis of different spectrum sensing
techniques. Different experiments were performed to find out the spectrum
holes in the occupied 2.4GHz ISM band. The raw data collected by
USRP2_spectrum.py is plotted using different plotting techniques to find the
spectrum holes. The qualitative analysis of different spectrum sensing methods
shows that energy detection is the most reliable and authentic method for the
spectrum sensing. The raw data collected in the form of FFT bins is the most
efficient way of collecting data for spectrum sensing as it requires just a few
signal processing operations. Rest of the work is performed inside the USRP2,
This is closest one can get to the hardware for precise results. The results
obtained proved that it is possible to find the underutilized bandwidth in a
spectrum without having prior knowledge of PU and SU. Wavelet methods
though often used in astronomy and acoustics can be used to identify the
spectrum holes as shown in the result by plotting spectrograms. The threshold
level for any given spectrum of frequencies depends upon several factors such
as receiver sensitivity and the number of energy transmitting/receiving nodes.
39
Bibliography
[1] J.Mitola. Software radios-survey, critical evaluation and future directions,
IEEE National Telesystems Conference, pages 13/15- 13/23, 19-20 May 1992.
[3] T. Yucek and H. Arslan, A survey of spectrum sensing algorithms for cognitive
radio applications, IEEE Communications Surveys & Tutorials, vol. 11, no. 1, First
Quarter 2009.
[4] M. Sarijari, A. Marwanto, Energy detection sensing based on GNU radio and
USRP, An analysis study, 2009 IEEE 9th Malaysia International Conference on
Communications (MICC), no.15-17, pp.338-342, Dec. 2009.
[5] Shent, B.; Huang, L.; Zhao, C.; Zhou, Z. & Kwak, K. Energy Detection Based
Spectrum Sensing for Cognitive Radios in Noise of Uncertain Power, Proc. Int.
Symp. Communications and Information Technologies ISCIT 2008, 2008, 628-633
[6] End to End efficiency [E3] white paper, Spectrum Sensing, Nov. 2009.
[8] Pooyan Amini, Daryl Wasden, Arash Farhang, Ehsan Azarnasab, Peiman Amini,
Behrouz Farhang-Boroujeny, Cognitive spectrum assignment, 2008 Software
Defined Radio Technical Conference and Product Exhibition, Oct. 26-30, 2008,
Washington D.C., Paper # 1.3-5. Conference Paper, published, 2008.
40
[13] D. Cabric, A. Tkachenko, R. Brodersen, Experimental study of spectrum
sensing based on energy detection and network cooperation, Proc. of the first
international workshop on Technology and policy for accessing spectrum,2006.
[15]. R. Tandra, A. Sahai, SNR Walls for Signal Detection, IEEE Journal of
Selected Topics in Signal Processing, vol.2, no.1, pp.4-17, Feb. 2008.
[18] J. Mitola and G. Q. Maquire, Cognitive radio: making software radios more
personal, IEEE Pers. Commun.,Vol. 6, pp. 1318, Aug. 1999.
[21] Zhi Yan, Zhangchao Ma, Hanwen Cao, Gang Li, and Wenbo Wang, Spectrum
Sensing, Access and Coexistence Test bed for Cognitive Radio Using USRP, 4th
IEEE International Conference on Circuits and Systems for Communications, 2008.
ICCSC 2008, 26-28 May 2008.
41
Appendix A
Code of USRP2_spectrum.py is written in python language. The modified part of the code is
in italics. The rest of the code is taken from usrp_spectrum_sense.py which is a standard
routine available in GNU Radio, and works for USRP first release only. There might be
some indentation errors in the routine which can easily be fixed by copying the code in any
standard python editor e.g. IDLE.
#!/usr/bin/env python
# Copyright 2005,2007 Free Software Foundation, Inc.
# This file is part of GNU Radio
class tune(gr.feval_dd):
"""
This class allows C++ code to call back into python.
"""
def __init__(self, tb):
gr.feval_dd.__init__(self)
self.tb = tb
try:
new_freq = self.tb.set_next_freq()
return new_freq
except Exception, e:
print "tune: Exception: ", e
class parse_msg(object):
def __init__(self, msg):
self.center_freq = msg.arg1()
self.vlen = int(msg.arg2())
assert(msg.length() == self.vlen * gr.sizeof_float)
t = msg.to_string()
self.raw_data = t
42
self.data = struct.unpack('%df' % (self.vlen,), t)
class my_top_block(gr.top_block):
def __init__(self):
gr.top_block.__init__(self)
parser = OptionParser(option_class=eng_option)
parser.add_option("-e", "--interface", type="string", default="eth0", help="Select
ethernet interface. Default is eth0")
parser.add_option("-m", "--MAC_addr", type="string", default="", help="Select
USRP2 by its MAC address.Default is auto-select")
parser.add_option("-a", "--start", type="eng_float", default=1e7, help="Start
ferquency [default = %default]")
parser.add_option("-b", "--stop", type="eng_float", default=1e8,help="Stop
ferquency [default = %default]")
parser.add_option("", "--tune-delay", type="eng_float", default=10e-1,
metavar="SECS", help="time to delay (in seconds) after changing frequency
[default=%default]")
parser.add_option("", "--dwell-delay", type="eng_float",default=100e-1,
metavar="SECS", help="time to dwell (in seconds) at a given frequncy
[default=%default]")
parser.add_option("-g", "--gain", type="eng_float", default=None,help="set gain in dB
(default is midpoint)")
parser.add_option("-s", "--fft-size", type="int", default=256, help="specify number of
FFT bins [default=%default]")
parser.add_option("-d", "--decim", type="intx", default=16, help="set decimation to
DECIM [default=%default]")
parser.add_option("-i", "--input_file", default="", help="radio input file",
metavar="FILE")
if options.input_file == "":
self.IS_USRP2 = True
else:
self.IS_USRP2 = False
self.min_freq = options.start
self.max_freq = options.stop
self.fft_size = options.fft_size
# build graph
mywindow = window.blackmanharris(self.fft_size)
fft = gr.fft_vcc(self.fft_size, True, mywindow)
43
power = 0
for tap in mywindow:
power += tap*tap
c2mag = gr.complex_to_mag_squared(self.fft_size)
#log = gr.nlog10_ff(10, self.fft_size, -20*math.log10(self.fft_size)-
10*math.log10(power/self.fft_size))
self.next_freq = self.min_center_freq
self.msgq = gr.msg_queue(16)
self._tune_callback = tune(self) # hang on to this to keep it from being GC'd
stats = gr.bin_statistics_f(self.fft_size, self.msgq, self._tune_callback, tune_delay,
dwell_delay)
if options.gain is None:
# if no gain was specified, use the mid-point in dB
g = self.u.gain_range()
options.gain = float(g[0]+g[1])/2
def set_next_freq(self):
target_freq = self.next_freq
self.next_freq = self.next_freq + self.freq_step
if self.IS_USRP2:
if not self.set_freq(target_freq):
print "Failed to set frequency to ", target_freq, "Hz"
return target_freq
def set_freq(self, target_freq):
44
return self.u.set_center_freq(target_freq)
def main_loop(tb):
while 1:
m = parse_msg(tb.msgq.delete_head())
print m.center_freq
print m.data
.
if __name__ == '__main__':
tb = my_top_block()
try:
tb.start() # start executing flow graph in another thread..
main_loop(tb)
except KeyboardInterrupt:
pass
45
Appendix B
2402343750.0
(0.078479491174221039, 0.040066912770271301, 0.0055190813727676868,
0.0021366067230701447, 0.001107402378693223, 0.0019328504567965865,
0.0016706101596355438, 0.0020320124458521605, 0.0034777612891048193,
0.0014919996028766036, 0.001333131454885006, 0.0016256794333457947,
0.0018371485639363527, 0.0019112494774162769, 0.0021049873903393745,
0.0038519951049238443, 0.0029116699006408453, 0.0028225337155163288,
0.0045247073285281658, 0.0043828110210597515, 0.0036936171818524599,
0.0043287002481520176, 0.0051233791746199131, 0.004700744990259409,
0.0052246819250285625, 0.0079239737242460251, 0.0079878270626068115,
0.0072058727964758873, 0.0083901183679699898, 0.012011573649942875,
0.010452025569975376, 0.011384587734937668, 0.010718739591538906,
0.010121340863406658, 0.0098102204501628876, 0.023751826956868172,
0.028328873217105865, 0.016683906316757202, 0.021510237827897072,
0.029274577274918556, 0.02120569534599781, 0.018909499049186707,
0.017359867691993713, 0.021779812872409821, 0.028562052175402641,
0.060994364321231842, 0.085704058408737183, 0.062144704163074493,
0.07691742479801178, 0.087469212710857391, 0.061169750988483429,
0.045997627079486847, 0.036451626569032669, 0.047624539583921432,
0.078885406255722046, 0.2981133759021759, 0.56199336051940918,
0.68123906850814819, 0.5712742805480957, 1.022626519203186,
1.815961480140686, 3.1547107696533203, 2.9904580116271973,
1.7410080432891846, 1.8966439962387085, 1.0949727296829224,
0.92414122819900513, 0.65502303838729858, 0.88575261831283569,
1.2561960220336914, 1.0833464860916138, 1.6493371725082397,
1.3696602582931519, 1.6419686079025269, 2.719914436340332,
2.2194290161132812, 1.4921739101409912, 1.3443087339401245,
1.8912926912307739, 1.1128083467483521, 0.46113380789756775,
0.67372077703475952, 0.99898803234100342, 1.1562153100967407,
1.8998949527740479, 1.767426609992981, 2.2555630207061768,
2.9818150997161865, 4.2489080429077148, 4.9478602409362793,
3.6183938980102539, 1.8145967721939087, 1.5198602676391602,
1.1647709608078003, 0.6286810040473938, 0.62178975343704224,
0.80838441848754883, 1.0932257175445557, 2.4948527812957764,
2.5064244270324707, 1.6184374094009399, 1.942987322807312,
2.6447768211364746, 1.5150642395019531, 1.6680817604064941,
0.85805624723434448, 0.80695647001266479, 0.5647236704826355,
0.77822285890579224, 0.97723042964935303, 1.0299559831619263,
1.066877007484436, 1.6649191379547119, 2.0907723903656006,
1.385168194770813, 1.2304015159606934, 0.62880885601043701,
0.77945518493652344, 0.60114175081253052, 0.75301861763000488,
0.52458691596984863, 0.36764374375343323, 0.44105544686317444,
0.81339508295059204, 0.50622117519378662, 0.48039990663528442,
0.57239365577697754, 0.62805533409118652, 0.63090991973876953,
0.44689875841140747, 0.17851966619491577, 0.14225435256958008,
0.077040821313858032, 0.13759393990039825, 0.16485799849033356,
0.15660923719406128, 0.11775496602058411, 0.26699408888816833,
0.35701039433479309, 0.25196456909179688, 0.11670123040676117,
46
0.055269010365009308, 0.045230839401483536, 0.031556162983179092,
0.012226605787873268, 0.0099316556006669998, 0.0070943846367299557,
0.0052436715923249722, 0.0052291429601609707, 0.0065299035049974918,
0.0034304608125239611, 0.0031522943172603846, 0.0027866777963936329,
0.0019167417194694281, 0.001906857592985034, 0.0013906561071053147,
0.0012801015982404351, 0.0010967451380565763, 0.0025738335680216551,
0.011629209853708744, 0.021526094526052475, 0.011421794071793556,
0.0024552359245717525, 0.00081654638051986694,
0.00074491609120741487, 0.00087696971604600549,
0.00078586529707536101, 0.00071032048435881734,
0.0006499909795820713, 0.00068799924338236451, 0.000849866250064224,
0.00079919432755559683, 0.00075856858165934682,
0.00078854116145521402, 0.00071194040356203914,
0.00067059422144666314, 0.00084492011228576303,
0.00076157570583745837, 0.0007594208000227809,
0.00067484361352398992, 0.00076539855217561126,
0.00088167772628366947, 0.00084834126755595207,
0.0008001718670129776, 0.00080491398693993688,
0.00095775781664997339, 0.00075492350151762366,
0.00084168644389137626, 0.0007911412394605577,
0.0012192637659609318, 0.0012803474674001336,
0.00072430918226018548, 0.00075210718205198646,
0.00084508676081895828, 0.0011267503723502159,
0.0014678185107186437, 0.0011142620351165533,
0.00083363440353423357, 0.0008323927759192884,
0.0007781044696457684, 0.00071245571598410606,
0.0008046915172599256, 0.00094067084137350321,
0.00068867631489410996, 0.00078109797323122621,
0.00084381789201870561, 0.00072479399386793375,
0.00095712661277502775, 0.0008555956301279366,
0.00076716899638995528, 0.00076011696364730597,
0.00097077444661408663, 0.0008456491632387042,
0.00081668398343026638, 0.00072018272476270795,
0.0010230715852230787, 0.00076872180216014385,
0.00068192993057891726, 0.00083688297308981419,
0.00079831457696855068, 0.0010027461685240269,
0.00083487335359677672, 0.00078005483373999596,
0.00081469607539474964, 0.0007705554598942399,
0.00089630088768899441, 0.00071952160215005279,
0.00078048795694485307, 0.00071756489342078567,
0.00082102115266025066, 0.00071246037259697914,
0.0012075777631253004, 0.0011661506723612547,
0.00073863635770976543, 0.00073408539174124599,
0.00086960755288600922, 0.000859142339322716,
0.00086273468332365155, 0.00085836776997894049,
0.0010911953868344426, 0.00086930743418633938,
0.0008030780591070652, 0.00081013055751100183,
0.0008304059156216681, 0.0013898427132517099, 0.0014285683864727616,
0.00084563024574890733, 0.00078523502452298999,
0.00087360222823917866, 0.0013947460101917386,
0.0014321762137115002, 0.0013469539117068052, 0.0011599337449297309,
0.0011492453049868345, 0.003844299353659153, 0.037321273237466812)
2407031250.0
(3.1974740028381348, 4.031559944152832, 3.217695951461792,
2.0523378849029541, 2.2461001873016357, 3.2930624485015869,
2.9177732467651367, 3.1102924346923828, 2.8934581279754639,
3.1583716869354248, 5.5028438568115234, 3.4998223781585693,
3.728071928024292, 2.8119258880615234, 4.1116776466369629,
4.5282888412475586, 6.4161314964294434, 5.9056835174560547,
5.3880019187927246, 5.1316804885864258, 3.1722424030303955,
3.2820501327514648, 3.5894057750701904, 5.1031947135925293,
47
5.9944367408752441, 4.7254638671875, 5.943519115447998,
4.9885139465332031, 3.4352085590362549, 3.8861455917358398,
3.0611209869384766, 4.1641387939453125, 4.6584477424621582,
3.3806934356689453, 3.6395854949951172, 4.581965446472168,
4.0355067253112793, 6.711235523223877, 9.182032585144043,
5.950444221496582, 5.0542440414428711, 4.2773265838623047,
4.3682861328125, 4.2800970077514648, 6.594294548034668,
6.3907628059387207, 7.563817024230957, 6.2335686683654785,
6.3701944351196289, 6.1517653465270996, 7.1196331977844238,
7.0584292411804199, 5.2938923835754395, 3.7152411937713623,
6.152287483215332, 8.7384729385375977, 9.4443597793579102,
13.17851448059082, 11.978425979614258, 10.985051155090332,
10.31685733795166, 6.4902448654174805, 6.4896612167358398,
6.7908363342285156, 4.5423426628112793, 3.9046883583068848,
4.681190013885498, 5.1105408668518066, 5.5710554122924805,
6.555757999420166, 7.9897575378417969, 8.5431900024414062,
7.2733640670776367, 7.8920340538024902, 6.0835604667663574,
4.9511837959289551, 5.4244108200073242, 5.5524086952209473,
7.0115170478820801, 7.6162238121032715, 7.339911937713623,
7.5073418617248535, 6.3882355690002441, 6.5758600234985352,
5.7620663642883301, 5.3743562698364258, 7.7268595695495605,
10.491754531860352, 8.4772605895996094, 8.8215827941894531,
8.545628547668457, 7.9041132926940918, 7.3362040519714355,
7.1336016654968262, 11.792904853820801, 10.975196838378906,
10.993707656860352, 11.894734382629395, 16.446784973144531,
14.538098335266113, 12.99225902557373, 11.927684783935547,
8.4462566375732422, 7.3576827049255371, 7.5367612838745117,
4.5616464614868164, 3.7589983940124512, 4.76129150390625,
5.8710637092590332, 5.2951393127441406, 6.4392209053039551,
6.3135218620300293, 4.8167567253112793, 6.2896203994750977,
6.3264636993408203, 3.5456728935241699, 3.480363130569458,
3.255685567855835, 3.4054141044616699, 3.8168199062347412,
4.3830351829528809, 3.6322879791259766, 3.2404756546020508,
2.7397422790527344, 2.3923275470733643, 2.0473501682281494,
1.7573552131652832, 2.1140027046203613, 2.6542408466339111,
1.76539146900177, 1.568912148475647, 1.4443670511245728,
1.5097736120223999, 1.4458366632461548, 1.0355499982833862,
0.98314499855041504, 0.94674640893936157, 0.99487966299057007,
1.4055907726287842, 2.5000534057617188, 1.6392966508865356,
1.4201083183288574, 0.81627821922302246, 0.66750556230545044,
0.41280713677406311, 0.36113214492797852, 0.7205967903137207,
0.97726327180862427, 1.1921614408493042, 1.4042747020721436,
1.6822177171707153, 2.2844400405883789, 3.5576410293579102,
4.3758697509765625, 2.656505823135376, 0.94340842962265015,
1.0595099925994873, 0.99709200859069824, 0.83766782283782959,
0.49527463316917419, 0.95600581169128418, 1.4233869314193726,
2.0502135753631592, 2.1766338348388672, 1.9012550115585327,
2.7550060749053955, 2.7532544136047363, 1.422130823135376,
1.1020327806472778, 1.4120019674301147, 0.93049532175064087,
1.9735193252563477, 2.9511003494262695, 1.4158855676651001,
1.5492707490921021, 2.7556734085083008, 2.8711717128753662,
2.4999613761901855, 2.2758064270019531, 2.3133275508880615,
0.8397904634475708, 0.90137410163879395, 1.2856817245483398,
0.92863726615905762, 1.0676389932632446, 0.9720306396484375,
1.8714859485626221, 1.8402211666107178, 2.3330845832824707,
2.4703466892242432, 2.1704912185668945, 2.3740203380584717,
3.1873459815979004, 2.3636045455932617, 1.2329649925231934,
1.166181206703186, 0.81706392765045166, 1.5437220335006714,
2.7041969299316406, 2.4289414882659912, 2.2527797222137451,
5.9352045059204102, 8.9075870513916016, 7.1699471473693848,
3.3433778285980225, 2.0493607521057129, 2.8909635543823242,
48
2.3855693340301514, 2.389784574508667, 1.5883164405822754,
0.86046326160430908, 0.69971579313278198, 1.2471919059753418,
2.473766565322876, 2.5478525161743164, 2.6224849224090576,
2.5137460231781006, 2.0163238048553467, 2.9764595031738281,
2.3626995086669922, 1.7347713708877563, 1.3939838409423828,
1.1714987754821777, 1.5879503488540649, 1.2804248332977295,
1.8526248931884766, 2.1849963665008545, 2.5127692222595215,
3.3121376037597656, 3.2454426288604736, 2.8538851737976074,
1.9961237907409668, 1.9406003952026367, 3.7038774490356445,
4.7797470092773438, 2.3262240886688232, 1.3763785362243652,
2.8627450466156006, 3.8520331382751465, 3.0856180191040039,
3.3258025646209717, 2.3263769149780273, 3.5551505088806152,
2.6326093673706055, 2.5623633861541748, 1.7378360033035278,
1.7956358194351196, 1.9629738330841064, 2.2246809005737305,
2.2838873863220215, 2.4823381900787354, 3.0893852710723877,
5.9786229133605957, 10.225701332092285, 9.9261703491210938,
5.7646760940551758)
49
Appendix C
MATLAB2010 scripts to import and plot the data collected through
USRP2_spectrum.py
plot(x,y);
xlabel('Frequency Range')
ylabel('dB')
title('Gain Plot')
load ad58.dat
x= ad58(:,1);
y= ad58(:,2);
%[n,p]=size(twenty)
z=1:1:71
b=256;
%z=filter(x,b,y)
y=y/256;
y=sqrt(y);
y=20*log(y);
stem3(z,x,y,'k')
title('Time,Freq,Gain 3D plot')
xlabel('Time')
ylabel('Frequency Range')
zlabel('dB')
50
Master Thesis
Electrical Engineering
Thesis no: MEE 10-00
December 2010
School of Engineering
Blekinge Institute of Technology
37179 Karlskrona
Sweden
This thesis is submitted to the School of Engineering at Blekinge Institute of
Technology in partial fulfillment of the requirements for the degree of Master
of Science in Electrical Engineering. The thesis is equivalent to 20 weeks of
full time studies.
Contact Information:
Author:
Adeel Ashfaq and Umer Bilal
email: ashfaq.adeel@gmail.com, umerbilalg@yahoo.com
Supervisor:
Junaid Shaikh
School of Computing, BTH
Blekinge Institute of Technology, Sweden
email: junaid.junaid@bth.se
Examiner:
Dr. Patrik Arlos
School of Computing, BTH
Blekinge Institute of Technology, Sweden
email: Patrik.Arlos@bth.se
Web browsing activites have increased to huge volumes in the last decade,
causing more interest in the analysis of web traffic to extract user behaviour.
TCP, the transport layer protocol and HTTP, the application layer protocol
plays a major role in web browsing activities.
In this thesis an attempt has been made to investigate the anomilies of
TCP/HTTP terminations in an application layer environment. An experimen-
tal setup has been devised in order to observe the relationship between the TCP
flows and user behaviour. We created a simple client server architecture based
setup for investigating the TCP connection packets. We categorized the web
pages on the bases of their data type i.e. text, picture and video based web
pages. We selected the four widely used browsers based on the stats provided
by different websites. Similarly, the selection of operating system for client and
server ends were made on the basis of the stats. Each type of web page is loaded
on the server one by one and then accessed by a specific browser ten times. A
total of 480 repetitions are performed to get reliable results. A network packet
analyzer is used on both ends to analyze the traces and extract the causes of
resets.
i
Acknowledgement
First of all we would like to thanks Almighty GOD who gave us strength and
wisdom and made us capable of doing this work.
We show our bundle of thanks to Mr. Junaid shaikh for his guidance,
feedback and support throughout our thesis work. We really appreciate his
friendly and encouraging attitude. We thank him for giving us his valuable
time in guiding us in sorting out issues related with our thesis by his technical
expertise.
We are indebted to our professors, colleagues and seniors for their support
and help on issues for understanding some key points of simulation softwares
and research papers.
Alot of appreciation to our venerable parents and family members for their
support on each and every step to complete our studies in Sweden.
i
Contents
Abstract i
Acknowledgement i
Contents ii
List of Figures iv
1 Introduction 1
1.1 Documents Outine . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 Literature Review 3
2.1 Significance of Web and Web-Users . . . . . . . . . . . . . . . . . 3
2.2 Quality of Experience (QoE) and Quality of Service (QoS) . . . . 3
2.3 TCP Connection Management . . . . . . . . . . . . . . . . . . . 5
2.4 TCP Reset (RST) . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.5 HTTP Protocol and TCP connections . . . . . . . . . . . . . . . 6
2.5.1 HTTP/1.0 [1] . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.5.2 HTTP/1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.6 Persistent Connections and Pipelining . . . . . . . . . . . . . . . 7
2.6.1 Persistent Connection . . . . . . . . . . . . . . . . . . . . 7
2.6.2 Pipelining . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.7 Possible approaches for acquiring the behavior of web users . . . 8
2.7.1 Modified Web Browsers . . . . . . . . . . . . . . . . . . . 9
2.7.2 Web Proxies . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.7.3 Packet Monitoring . . . . . . . . . . . . . . . . . . . . . . 9
2.7.4 Web server Monitoring . . . . . . . . . . . . . . . . . . . . 9
2.8 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.8.1 User Surfing Model . . . . . . . . . . . . . . . . . . . . . . 10
ii
3 Experiments 12
3.1 Experiment Methodology . . . . . . . . . . . . . . . . . . . . . . 12
3.2 Experiment Setup . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2.1 Tests without User Interruption . . . . . . . . . . . . . . . 13
3.2.2 Tests with user interruptions . . . . . . . . . . . . . . . . 13
3.3 Experiment Tools and Technique . . . . . . . . . . . . . . . . . . 14
3.3.1 Client server Architecture . . . . . . . . . . . . . . . . . . 14
3.3.2 Wireshark Network Analyzer . . . . . . . . . . . . . . . . 14
3.3.3 Batch File for automatic browser opening and closing . . 15
3.3.4 Web-servers . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.3.5 Clients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.3.6 Browsers . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.3.7 Router . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.3.8 Web Pages . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Bibliography 40
A Appendix 44
A.1 Network Trace files . . . . . . . . . . . . . . . . . . . . . . . . . . 44
A.1.1 Uninterrupted TCP Flows . . . . . . . . . . . . . . . . . . 44
A.1.2 Interrupted TCP Flows . . . . . . . . . . . . . . . . . . . 59
iii
List of Figures
iv
A.1 Apache Firefox Picture Web Page. . . . . . . . . . . . . . . . . . 44
A.2 Apache Firefox Text Web Page. . . . . . . . . . . . . . . . . . . . 45
A.3 Apache Firefox Video Web Page. . . . . . . . . . . . . . . . . . . 45
A.4 Apache Google Chrome Video Web Page. . . . . . . . . . . . . . 46
A.5 Apache Google Chrome Text Web Page. . . . . . . . . . . . . . . 46
A.6 Apache Google Chrome Video Web Page. . . . . . . . . . . . . . 47
A.7 Apache Internet Explorer Picture Web Page. . . . . . . . . . . . 47
A.8 Apache Internet Explorer Picture Text Page. . . . . . . . . . . . 48
A.9 Apache Internet Explorer Video Web Page. . . . . . . . . . . . . 48
A.10 Apache Opera Picture Web Page. . . . . . . . . . . . . . . . . . . 49
A.11 Apache Opera Text Web Page. . . . . . . . . . . . . . . . . . . . 49
A.12 Apache Opera Video Web Page. . . . . . . . . . . . . . . . . . . 50
A.13 Microsoft IIS Firefox Picture Web Page. . . . . . . . . . . . . . . 51
A.14 Microsoft IIS Firefox Text Web Page. . . . . . . . . . . . . . . . 52
A.15 Microsoft IIS Firefox Video Web Page. . . . . . . . . . . . . . . . 52
A.16 Microsoft IIS Google Chrome Video Web Page. . . . . . . . . . . 53
A.17 Microsoft IIS Google Chrome Text Web Page. . . . . . . . . . . . 53
A.18 Microsoft IIS Google Chrome Video Web Page. . . . . . . . . . . 54
A.19 Microsoft IIS Internet Explorer Picture Web Page. . . . . . . . . 54
A.20 Microsoft IIS Internet Explorer Picture Text Page. . . . . . . . . 55
A.21 Microsoft IIS Internet Explorer Video Web Page. . . . . . . . . . 55
A.22 Microsoft IIS Opera Picture Web Page. . . . . . . . . . . . . . . 56
A.23 Microsoft IIS Opera Text Web Page. . . . . . . . . . . . . . . . . 57
A.24 Microsoft IIS Opera Video Web Page. . . . . . . . . . . . . . . . 58
A.25 Apache Firefox Picture Web Page. . . . . . . . . . . . . . . . . . 59
A.26 Apache Firefox Text Web Page. . . . . . . . . . . . . . . . . . . . 60
A.27 Apache Firefox Video Web Page. . . . . . . . . . . . . . . . . . . 61
A.28 Apache Google Chrome Video Web Page. . . . . . . . . . . . . . 61
A.29 Apache Google Chrome Text Web Page. . . . . . . . . . . . . . . 62
A.30 Apache Google Chrome Video Web Page. . . . . . . . . . . . . . 62
A.31 Apache Internet Explorer Picture Web Page. . . . . . . . . . . . 63
A.32 Apache Internet Explorer Picture Text Page. . . . . . . . . . . . 63
A.33 Apache Internet Explorer Video Web Page. . . . . . . . . . . . . 64
A.34 Apache Opera Picture Web Page. . . . . . . . . . . . . . . . . . . 64
A.35 Apache Opera Text Web Page. . . . . . . . . . . . . . . . . . . . 65
A.36 Apache Opera Video Web Page. . . . . . . . . . . . . . . . . . . 65
A.37 Microsoft IIS Firefox Picture Web Page. . . . . . . . . . . . . . . 66
A.38 Microsoft IIS Firefox Text Web Page. . . . . . . . . . . . . . . . 67
A.39 Microsoft IIS Firefox Video Web Page. . . . . . . . . . . . . . . . 67
A.40 Microsoft IIS Google Chrome Video Web Page. . . . . . . . . . . 68
A.41 Microsoft IIS Google Chrome Text Web Page. . . . . . . . . . . . 68
A.42 Microsoft IIS Google Chrome Video Web Page. . . . . . . . . . . 69
A.43 Microsoft IIS Internet Explorer Picture Web Page. . . . . . . . . 69
A.44 Microsoft IIS Internet Explorer Picture Text Page. . . . . . . . . 70
A.45 Microsoft IIS Internet Explorer Video Web Page. . . . . . . . . . 70
A.46 Microsoft IIS Opera Picture Web Page. . . . . . . . . . . . . . . 71
A.47 Microsoft IIS Opera Text Web Page. . . . . . . . . . . . . . . . . 71
v
A.48 Microsoft IIS Opera Video Web Page. . . . . . . . . . . . . . . . 72
vi
List of Tables
vii
Chapter 1
Introduction
1
the other hand, according to the research carried out at NARUS Inc showed
that TCP/HTTP reset flags generated in a network is inversely proportional to
the bandwidth being used by the user. Hence, it was concluded that users with
slow internet connections are more likely to generate these reset flags [15].
This thesis relates to the study of the causes and classification of types
of reset packets generated during TCP/HTTP transmission. Further we use
network traces and point out the measurement of extent we can use to predict
user dissatisfaction/satisfaction. In order to achieve this it is required to have
the knowledge of the user starting and ending of a session during web surfing.
Hence, we will use these resources to understand and find whether these TCP
resets can be used as a parameter for user perception about the network quality
2
Chapter 2
Literature Review
Predicting web users behaviour has gained much interest in the last decade
or so. Some have monitored the web traffic to extract web user behaviour
while others used it to generate synthetic traffic or to model web traffic. To
fully understand the scope of this thesis work, let us start with having an
insight in the history of Web user significance. Later we further define QoE
and QoS, TCP/IP management, TCP resets, Hyper Text Transfer Protocol
(HTTP), HTTP 1.0 and HTTP 1.1 as prior information about these topics is
very important. In the end we describe some approaches to acquire web user
behaviour and later the research work done in past on internet traffic analysis
to predict web user behaviour.
3
the other hand, it is observed that some of the most essential issues of the QoS
are defined on the basis of terms like resource availability and network delivery
capacity, instead of issues like user satisfaction. The main hypothesis behind
such orthodox views is that the measure of the QoS is closely related to the
end-users QoE.
This thesis work is about detecting the effects of reset on web browsers
along with users behavior and understanding to the service qualities at the
application layer. Hence in order to understand the causes and effects of reset
and the QoE of user, it is essential to perceive all the facet of the network and
its applications. It is always expected by an user that the services he is enjoying
must be reliable, uninterrupted, etc. After all in the end it is the user who will
experience the service and express his experiences on the basis of his QoE of
the network. Some formal definitions of QoS are stated below:
QoS can be better described with the parameters like jitter, latency, or bit
rate having variable affects on data services. QoS ensures that the networks
traffic could be prioritized by providing guarantees like controlled relay and
dedicated bandwidth. Further, these guarantees could be made available to
different users, in advance depending on their requirements, resulting in im-
proved performance. When it comes to network, there is always been a lack
of perception among the users on its functionalities and the technical terms
used within. The knowledge of a user about the network is more of an abstract
level. This is where the end-to-end QoS or more specifically QoE comes in
picture. The term QoE, also known as Quality of User Experience, is a sub-
jective measure of a users experiences with the network services. Some formal
statements on QoE are given below:
Hence, QoE cannot be taken as, simply an effective means of providing the
QoS, instead it must also consider factors that contribute to overall user sat-
isfaction, such as, suitability, flexibility, mobility, security cost, personalization
4
and choice [15]. Further, it is often seen that a selfish user or application tries
to improve its own QoE rather than to optimize the QoS of the network. The
concept of QoE has been introduced in several white papers [2224], but mostly
in context of multimedia delivery. The main focus of QoE is on the subjective
valuation of services delivered by the end users. Some of the main issues ad-
dressed by QoE are to provide reliable services (availability, accessibility, access
time, and continuity), and the comfortability of the services (session quality,
usage and support level) [22]. A good example of QoE would be the (voice over
internet protocol)VoIP services, the users of any VoIP service did not show any
sort of interest in knowing the parameters like packet loss and system through-
put, instead his/her interest would be in experiencing good voice quality and
the timeliness of the connection.
5
causing disorder in TCPs three-way handshake. It is also observed that the
reset is caused when a host receives data from a TCP connection that is no
longer in use. Some formal statements on RST from RFC 793:
As a general rule, reset (RST) must be sent whenever a segment arrives
which apparently is not intended for the current connection. A reset must not
be sent if it is not clear that this is the case. [26] RFC 1122 amends, corrects,
and supplements RFC 793. RFC 1122 says nothing specific about sending
resets, or not sending resets, in response to flags in the TCP Reserved field. [26]
The above two statements shows that nothing in RFC 793 and RFC 112
suggests the acceptance of sending a reset simply because a SYN packet in the
TCP header is using reserved flags, and it is explicitly forbidden to send a reset
for the above reasons. TCP protocol is detailed by a series of RFCs (Request
for Comments), containing RFC793, RFC1146, RFC1693, RFC2018, RFC2414,
RFC2581, RFC2873, RFC2923, RFC2988 and RFC3390. Generally it is seen
that, each operating system (OS) has its own implementation of TCP protocol.
Hence, each of these OSs introducing their own interpretation of the standards,
parameters, and sometimes its own bugs. All these factors are responsible for
the difference among different TCP implementations. In the following section
we would discuss about different HTTP Protocols and TCP connections and
their implementations.
6
Uniform Resource Locator(URL). In the response process, the server responds
by sending information regarding the requested resource (URL), and if the
outcome is positive it attaches it with the response message.
Studies done in [27, 28], demonstrate that, HTTP/1.0, a simple one-to-
one mapping between the TCP connection and objects (contents of the web
pages), involves a lot of connections transmitting a modest amount of data.
According to the specifications shown in [25], higher densities of connections
are particularly undesirable because of the presence of TIME WAIT state in
TCP. It is seen that a server halt, an obstructed connection in TIME WAIT
state for 4 min, and further it might be forced to decline new connections
due to shortage of memory or identifiers. An extension to this old connection:
keep alive extension was documented in [29], this extension was introduced in
HTTP/1.0 in order to allow and improvise the retrieval of several objects over
one connection.
2.5.2 HTTP/1.1
In order to overcome the limitations of HTTP/1.1 a new and improved version of
it was developed, HTTP/1.1. It was designed with a consideration of the fact ,
that if either the client or server fails to support it, it could be used under its ear-
lier protocol versions (that include HTTP/0.9). Moreover, HTTP/1.1 improves
the connection; i.e. Keep Alive extension. This new feature of HTTP/1.1, is
termed as Persistent connection, which permits the recovery of multiple web
page contents with only a single TCP connection, hence solving the issues syn-
onymous to HTTP/1.0, though it still requires the ability of clearly delimiting
each of the downloaded web page content. A study based on HTTP 1.1 per-
sistent connection is briefly described in next topic. Content-length (header
with the objects length) plays a primal role in HTTP/1.1, though sometimes
it becomes impossible to know the size of some of the objects at the very, hap-
pening of their transfer. HTTP/1.1 allows the delivery of an object in chunks
each of which is bounded by an extra header (Transfer-Encoding) providing the
size of the chunks, except for the last chunk, that contains the content-length
header, indicating the end of the object. There are two more features that are
comprised within HTTP/1.1 and used for improving the efficiency of the TCP
connection, they are pipelining and data compression. Further details of the
HTTP/1.0 and HTTP/1.1 could be found in [30].
7
multiple Navigator and pointing to the same web server, the limit of persistent
connection exceeds from 6 to 15. It seems that the persistent connections arent
timed out by web browsers. Rather, all the inactive connections are placed in
a queue. However, when the browser tries to reach a different web server, and
hence needs to open a fresh persistent connection to the server, all the inactive
connections are terminated by the browser with an aid of Least Recently Used
(LRU) algorithm. However, in case of Internet Explorer (IE) only 2 persistent
connections are allowed to each web server at any moment, and is the same
for multiple IE windows for the same web server. In case of IE the persistent
connections are timed out after 60 seconds, and when IE connects to a different
web server, the already opened persistent connections are left loafing until they
are timed out.
2.6.2 Pipelining
HTTP pipelining is the technique of sending multiple requests out to a sin-
gle socket without waiting for each response. Pipelining is only supported
in HTTP/1.1, hence it is required that both the client and the server should
support it. A client supporting the persistent connections may pipeline its
request, and the server must response to the incoming requests in the same
sequence the requests were received.
8
2.7.1 Modified Web Browsers
Modifying the web client by changing its source code can also be used to gather
stats for client behavior. This however, can be problematic to some extent,
especially since Microsoft Internet Explorer and Safari source code is not avail-
able where as that of Opera is of limited options. Apart from that Firefox and
Google chrome are open source and can be used as an option if required.
9
S. Khirman and P. Henriksen (2002) [15] used network traces from an ISP to
relate the reset flags in tcp transmission with user dissatisfaction. He concluded
this by observing that users with high speed and better bandwidth connections
generated less number of resets as compared to those with poor connections
speeds.
BLT (Bi-layer tracing of HTTP and TCP/IP) [41] was a tool developed
by A. Feldman, to extract HTTP and TCP level traces via packet monitoring.
They extracted information continuously and online for high speed networks on
the expense of high performance hardware.
Temporal clustering of internet traces through a free ware HTML reduce
has been used by M. Molina et al (2000) [42] to model web traffic. They used
TCP-Reduce to extract tcp level information and HTML-Reduce extracts useful
information such as object size to detect the abort in the clustered download.
In 2003, D. Rossi et al [43] used a heuristic approach to differentiate be-
tween interrupted and uninterrupted tcp flows. They used Fin/RST packets to
detect the aborting of a tcp flow to predict user behaviour, and concluded that
interruption probability is affected by user perceived throughput.
A one year study of internet traces done by M. Arlitt C. Williamson (2004)
[14] categorized the reasons for resets. They took active measurements and
used different browsers, servers and operating systems to check TCP imple-
mentations and concluded that one of the most used web browser is the main
cause for major amount of resets and not the user.
10
Session arrival
click
Pabort 1 - Pabort
Pretry
Wait - Abort Wait - Complete
Exit
session Pnext
Think
Exit session
W here,
As shown above in figure 2.1 the web user behavior comprises of three user
states. Basically there are two main states that user follows: a wait-abort state
(aborted download), or a wait-complete state (completed download) during an
ongoing download process. The third state is called the think state, where the
user is following the finished download, followed by the wait-complete state.
One could elucidate on this user behavior model by including a sleep time
amidst of sessions and non-reactive large downloads.
11
Chapter 3
Experiments
This chapter provides a complete explanation of the experimental setup and the
tools used to investigate the abnormal TCP termination process. It initializes
with the description and the concept behind the devising of the basic scenario
and then moves on to the experiment analysis. Further it shows how the initial
results and observations led to more specified relation between the TCP resets
and user behavior.
The first one relates indirectly to users quality of experience [15] whereas
the next two are related to networks quality of service. Hence we categorized
our tests into two parts.
The next section provides the detail of the different scenarios and the ex-
periment setup created to implement these tests. It will also provide an insight
difference between these two tests in terms of TCP termination process.
12
3.2 Experiment Setup
In order to investigate the TCP connection packets we created a simple client
server architecture based setup. Different web pages were loaded on the server
and then accessed by the client repeatedly. We used different servers, web
browsers and web pages to come to any conclusion. This section provides the
detail of the different scenarios initially implemented.
In the beginning, we categorized the web pages on the bases of their data
type i.e. text, picture and video based web pages. We selected 4 most used
browsers based on the stats provided by different websites [45, 46]. Similarly,
the selection of operating system for client end [47, 48] and servers were also
selected on the basis of the stats [49, 50]. Each type of web page is loaded on
the server one by one and then accessed by a specific browser 10 times. Hence a
total of 2 servers and 4 browsers were used to access each type of web page. We
got a total of 80 repetitions on each web page through different browsers and
servers, 60 repetitions using each browser on different web pages and servers
and 240 repetitions accessing different web pages and browsers on each server.
Moreover the browser history was disabled so that each time a web page was
accessed it acted as the first time. A network packet analyzer was used on both
the server and client end to observer the packets. A combination cycle is shown
in figure 3.1to clarify the process.
13
Text Web
Page
Picture Web
page
Video Web
Page
Microsoft Internet
information
system 5.1
Internet Explorer 8
Mozila Firefox
Google Chrome
Opera
Apache Web
Server 2.2
Text Web
Page
Picture Web
page
Video Web
Page
14
Web Servers: Apache 2.2,
Microsoft Internet information
System 5.1 (IIS)
15
resets. Here, the Batch file is used along with the wireshark packet analyzing
tool to make our work accurate and easier. The main function of Batch file
here is to start the web browser (in un-interrupted test) and later to abort it
after four to five minutes or as per needed. Further, it restarts the browser and
repeats the process for at least ten times or per required, for each web page,
browsers, servers, etc. Finally, when the process is completed it terminates the
operation.
3.3.4 Web-servers
We used Apache 2.2.12 web server using Ubuntu operating system, and Microsoft-
IIS 5.1 using windows XP (service pack3) operating system.
3.3.5 Clients
We used windows XP(service pack3) operating system on client end.
3.3.6 Browsers
Internet Explorer 8 (supports persistence connection only), Firefox 3.6 (sup-
ports persistence connection & pipelining optional), Google Chrome 4.1.249.1042
(supports persistence connection only), Opera 10.51 (supports persistence con-
nection & Pipelining). Further we disabled all the history and caching options
so that each time a web page was accessed, it acted as if it was the first time.
3.3.7 Router
We used NETGEAR WGR614 Wireless-G Router (IEEE 802.11b, IEEE 802.11g)
for our experiments. The router security used WPA-PSK [TKIP] technique and
the default MTU size was 1500. This router supports both wired (100Mbps)
and wireless LAN (54Mbps).
16
17
Figure 3.3: Snapshot of Picture based web Page.
18
Figure 3.4: Snapshot of Text based web Page.
19
Figure 3.5: Snapshot of Video based web Page.
Chapter 4
This chapter represents the results from the packet capture files gathered using
Wireshark network analyzer. Different tools were used to analyze the stats of
resets in a typical TCP transmission flow in the experiments and the capture
files were later analyzed manually to study the behaviour of resets. First the
stats of resets are provided to elaborate the amount of resets in our experiments.
Further we move on to differentiate and categorize the types of resets in these
tests from the capture files and later in the end we will try to establish a relation
for the QoE using resets as a parameter.
20
Apache IIS
Brwser Picture Text Video Picture Text Video Total
o
/Server Browsers
Reset
Packets
IE 10 10 23 11 10 30 94
FF 0 0 0 4 4 /1(from 8
server
end)
GC 0 0 0 0 0 0 0
4* 4* 0 4* 0 16
(towards (towards (towards (towards
OP the the the the
router) router) router) router)
when when when when
idle idle idle idle
/1 (from /1 (from /1 (from
router) router) router)
Toal 10 10 23 15 14 31
t
Resets per
web page
Apache IIS
Brwsers Picture Text Video Picture Text Video Total
o
/Servers Browsers
Reset
Packets
IE 21 20 40 21 20 45 166
FF 21 21 11 20 20 10 103
GC 10 11 10 11 10 10 62
11 11 10 10 11 77
4* 2* 4* 4*
(towards (towards (towards (towards
OP the the the the
router) router) router) router)
when when when when
idle idle idle idle
/1 (from /1 (from /1 (from
router) router) router)
Toal 66 65 72 66 60 80
t
Resets per
web page
21
*
in Google Chrome and Opera the resets were approximately the same as the
number of times the pages were reloaded. Trends shown in figures 4.1 and
4.2 gives a clear picture of the difference of number of resets generated with
and without user interruption on the base of browsers and web page types.
These graphs also showed us that improper tcp implementations in Internet
Explore give rise to almost four times more resets (in user interrupted tests) in
video based web sites as compared to any other browser. In the graph we see
that Internet Explorer has the maximum amount of 166 resets generated in a
total of 60 repetitions with different web pages and servers. Further we have
compared the percentage contribution of different network devices, browsers
and web pages in interrupted and uninterrupted tcp flows in charts 4.3, 4.4 and
4.5.
300
166
250
200
50
19
8
0
0
Internet Mozilla Firefox Google Chrome Opera
Explorer 8
250
152
200
132
125
150
User Interrupted Tests
54
50
24 25
0
Text web page Picture Web Page Video Web Page
22
Uninterrupted
28% 24%
Interrupted
31%
38%
Uninterrupted
0% 16%
7%
Internet Explorer 8
Mozilla Firefox
Google Chrome
77%
Opera
Interrupted
15%
40%
20% Internet Explorer 8
Mozilla Firefox
Google Chrome
25% Opera
23
Uninterrupted
1%
2%
Browsers
Router
Server
97%
Interrupted
1% 0%
28%
User
Browsers
71% Router
Server
reset has to be studied independently and closely analyzed, the conditions under
which they occur and then compared with those occurred in the other tests.
Further in this section we will eliminate the resets due to server or network
devices and consider mainly resets generated by the browsers. Hence grouping
similar types and the resets which occurred in a similar sequence in different
browsers, to narrow down our research and find the indications of resets only
occurring due to users.
24
Filter 1:
(http.request.method == GET )||(tcp.f lags.reset == 1)||(tcp.f lags.f in ==
1)||(tcp.f lags.syn == 1)
Figure 4.6: One Reset Packet in Web session, accessing Text Web page using IE8.
Figure 4.7: Two Reset in Web session, accessing a video web page using IE8.
25
Figure 4.8: Resets due to Router while using OPERA.
Figure 4.9: Reset in Web session due to user interruption while using Opera (Picture
Web page).
Analyzing these packet capture files shows quiet easy for us to differentiate
between the user interrupted and uninterrupted tcp flows but it is difficult to
differentiate for those resets which occurred in Internet Explorer for all web
pages and Mozilla Firefox when accessing the (Picture/text) web pages. The
figure 4.10 is from the IE web session while accessing a text web page and
figure 4.11 is from the web session using Mozilla Firefox as client browser while
accessing a picture web page, showing two resets with red color. In Internet
Explorer, the first one is due to user interruption and the second one due to
the fact that this browser always closes a port with a reset,Whereas in Mozilla
26
Figure 4.10: Resets in a Web session due to user interruption while using IE8 (text
web page).
Figure 4.11: Resets in a Web session due to user interruption while using Firefox
(Picture web page).
Figure 4.12: Resets in a Web session due to user interruption while using IE8 (Video
Web Page).
27
Firefox, 2 resets where seen but none of them can be said to be generated by
the browser, as Mozilla used 2 ports to download the total web page hence
when user interrupts, two rests occur differentiating it from those in Internet
Explorer.
The maximum number of resets generated during a web session was while
video web page was accessed using Internet Explorer. During the 80 tests
conducted using Internet Explorer to access the video web page with both the
servers, the amount of resets was never less than four resets in each session
as shown in figure 4.12. Hence to further clarify and constrict our research to
sperate user generated and browser generated resets, we will compare the tcp
flows of each of these situations having different types of resets in next section.
TSE = Server flow Ends (Server completes the transfer of requested data).
TF2 S = second TCP flow starts (May be a part of same web session or
another).
As we are more interested in the end and beginning of the flow, so this
can also be observed in the actual test based (filtered) tcp packet flow diagram
with port and timing sequence in figure 4.14 of Opera browser while accessing
a picture web page using one port and figure 4.15 of Mozilla Firefox using two
ports. We have filtered our data to only SYN, ACK, RST and FIN packets.
This type of reset is a clear indication of user interruption.
Observing the first two flows as shown in figures 4.14 and 4.15, we see that
a normal flow is ended with FIN from the server and then the client which is
actually a four way handshake but when a user interrupt is introduced in a tcp
flow the port is abruptly closed with a RST packet from the client without any
FIN or RST packet from the server and starts to download the same data using
another port by sending another SYN packet, although the data was not yet
completely transferred by the server.
28
Normal TCP User Interrupted
Flow Flow
TFS
SYN SYN
ACK ACK
SYN+ SYN+
ACK ACK
TCS
GET GET
DATA DATA
TSS
ACK ACK
A
DAT DATA
TSE
ACK
ACK
TFE
RST
FIN
ACK
FIN
TFE T2FS
SYN
ACK
ACK
SYN+
29
Uninterrupted Flow Interrupted Flow
Figure 4.14: TCP flow of Opera browser while accessing a picture web page.
30
Uninterrupted Flow Interrupted Flow
Figure 4.15: Firefox using 2 ports to download the whole web page hence no reset due
to browser rather both are due to the User interrupt.
31
Normal TCP Browser Interrupted
Flow Flow
TFS SYN
SYN
ACK ACK
SYN+ SYN+
ACK ACK
TCS
GET GET
DATA DATA
TSS
ACK ACK
TCE GET
GET
A
DAT DATA
TSE
ACK ACK
FIN
FIN
AC
K
ACK
TFE
RST
FIN TFE
ACK
Figure 4.16: Comparison of TCP flows for a Web session (Normal vs Browser inter-
rupted).
32
Another comparison of normal tcp flow with browser generated reset is
shown in figure 4.16 to differentiate it from user generated resets. The differ-
ence is visible at the end where a user interrupt generates a reset mediately
after pressing the stop/refresh button whereas the browser generated reset may
or may not be followed by a FIN packet. The figure 4.17 shows the tcp flow
diagram comparison of a Text web page being accessed using Internet Explorer
and we observer that the RST packet generated due to the browser (IE8) re-
ceives a FIN packet from the server on the same port hence differentiating it
from the interrupted one, but at the same time we see that in user interrupted
flow the last RST packet which is basically due to the browser also does not
have any FIN packet received from the server. Moreover in figure 4.18, shows
the tcp flow of video based web page accessed by Internet Explorer, and shows
2 RST packets in an un-interrupted tcp flow which increases to four when a
user interrupt is introduced. The first reset packet is generated by the browser
as soon as the main body in HTML language is received and the request for the
data object is sent. This is quite similar to the standard procedure described
in HTTP 1.0 but the port is closed by the server and here it is closed by the
browser. Similarly when a user interrupt is introduced the port is reset by the
browser three times, i.e. once initially when the request for object is sent and
once after the user resets the port it again repeats the same procedure. In
the end Internet Explorer again resets the port rather then closing it by a FIN
packet. Hence, pressing the Refresh/Stop button once while accessing a video
based web page using Internet Explorer generates 4 resets. Further a phenom-
ena of 2 resets on the same port is also seen in the traces. Hence a very strict
and complex criteria has to be implemented to extract user behavior from tcp
resets.
On the other hand if we revise the characteristics of Internet Explorer which
we also observed in our tests, i.e.the RST packet generated by Internet Explorer
is 60 seconds after the port gets idle, but this only occurred while using the
Microsoft Information Server. When Apache server was used the port was
closed after being idle for 15 seconds by a FIN from the server and a RST
packet was generated by Internet Explorer after 5 seconds.
33
Uninterrupted Flow interrupted Flow
Figure 4.17: TCP flow of Internet Explorer browser while accessing a Text web page.
34
Uninterrupted Flow interrupted Flow
Figure 4.18: TCP flow of Internet Explorer browser while accessing a Video web page.
35
4.3 User Behaviour Extraction Using TCP Resets
Extracting user behaviour solely on tcp flow is a difficult task. Although we can
conclude from the figure 4.5 that majority of the resets represent user behaviour,
but to differentiate them from other resets is a another task. As the client uses
more then one port at a time, hence to discriminate each TCP flow is quite
tough. Most work in the past used to extract data from HTTP headers to get
a precise knowledge.
D. Rossi et al used Tstat, developed by a Network Research Group at Po-
litecnio di Torino to extract user behaviour solely on TCP resets. They defined
the criteria of user interrupted tcp flows as follows
Here we use this approach and further verify to what extent this criteria
fulfills the requirements of extracting user behaviour from tcp flows.
36
Reets Sever Browser web Resets with Rossi Criteria Original Reason
s
without user page user for user for Resets Error
interruption interruption interrupted
Resets
User Browser User Browser
10 IIS IE TXT 20 10 10 10 10 0
10 IIS IE PIC 21 11 10 11 10 0
30 IIS IE VID 41 30 11 11 30 46.3
4 IIS FF PIC 20 20 0 20 0 0
4 IIS FF TXT 20 20 0 20 0 0
0 IIS FF VID 10 10 0 10 0 0
0 IIS GC PIC 11 11 0 11 0 0
0 IIS GC TXT 10 10 0 10 0 0
0 IIS GC VID 10 10 0 10 0 0
0 IIS OP PIC 10 10 0 10 0 0
0 IIS OP TXT 10 10 0 10 0 0
0 IIS OP VID 10 10 0 10 0 0
0 AP OP PIC 10 10 0 10 0 0
0 AP OP TXT 11 11 0 11 0 0
0 AP OP VID 11 11 0 11 0 0
0 AP GC PIC 10 10 0 10 0 0
0 AP GC TXT 11 11 0 11 0 0
0 AP GC VID 10 10 0 10 0 0
0 AP FF PIC 21 21 0 21 0 0
0 AP FF TXT 21 21 0 21 0 0
0 AP FF VID 11 11 0 11 0 0
10 AP IE PIC 21 11 10 11 10 0
10 AP IE TXT 20 0 20 10 10 50
10 AP IE VID 40 30 10 10 30 50
From the tables it is clear that D. Rossi approach provided us with a good
approximation of user behaviour with 82.8% accuracy. This appraoch has been
used on large scale and provided with reliable results. Still the abnormal tcp
termination process of browsers will always cause uncertainty in results.
37
Chapter 5
5.1 Conclusion
In this thesis we have used active tests to find out the causes of resets in
a very isolated manner. Tests were devised in scenarios in which different
type of (data) objects e.g. text, video or picture were separately included in
a single web page. Creating websites with only a single type of (data) object
give us the advantage of observing tcp ports closely. An experimental setup
was created using a simple client server architecture with minimum number of
inter-networking elements in order to minimize the uncertainty of TCP reset
causes. More than 480 repetitions were done with multiple browsers and servers
in order to clarify the role of network devices and elements in generating resets.
From network traces, it was analyzed that servers and network elements,
such as routers, generate the least amount of tcp resets (in our experimental
environment). Even when no user interruption was introduced, browsers are
one of the major cause of generating TCP resets, especially Internet Explorer.
Further as seen in Figure 4.12, resets generated due to video based webpage are
twice as much as the text or picture based webpage although the size of each
data object was almost same. On the other hand, user generated resets are
always directly proportional to the number of times a site is accessed depend-
ing on the browser. A reset is caused whenever a user press the refresh, stop
or follow another link before the completion of main link. This was perceived
as a user dissatisfaction, but the follow link behavior cannot be considered a
user dissatisfaction in every case. A possible reason for this is that nowadays,
many websites are bombarded with images and multimedia objects which can
delay the downloading process even if the user have high speed internet access.
Hence, users tend to click quickly on a link within the main website, when they
are familiar with website. Even though the users are clearly the major cause
of resets observed in the experiments, still we cannot explicitly define user dis-
satisfaction using tcp resets. We analyzed in the traces that the network resets
would reach double its amount in a user dissatisfied environment as compare to
a user satisfied environment which will still have notably less amount of resets
due to network devices/faulty software.
It can also be concluded by saying that, never expect a perfect log file.
38
Increase in the number of network devices, user applications and the amount
of internet users will always be a source for new exceptions and one more
misbehaved client/server.
5.2 Futurework
The relationship of quality of experience with quality of service is interesting
and also a challenging task. We implemented an experimental setup within the
available resources which can be extended to large number of repetitions, net-
work elements, web pages and web browsers. A stepwise testing moving from
isolated environments to more complex environments can lead to interesting
results. ISPs and research organizations can also try to devise a relation be-
tween the number of ports being used and the number of ports reset, to define
a threshold value of resets in a user satisfied network.
39
Bibliography
40
[13] M. R. N. Chen, C.Mangrulkar and M. Sarkar, Trends in TCP/IP
retransmissions and resets, technical Report. [Online:Varified June,
2010]. Available: http://www.cse.ucsd.edu/classes/wi01/cse222/projects/
reports/tcp-flags-13.pdf
41
[24] Using network intelligence to provide carrier-grade VoIP. Sandvine:
White paper.
[29] Hypertext transfer protocol - HTTP/1.1, RFC 2068, IETF, January 1997.
[32] Wusage web server log analysis software, [Online:Varified June, 2010].
Available: http://www.boutell.com
[36] S. Manley and M. Seltzer, Web facts and fantasy, in Proceedings of the
USENIX Symposium on Internet Technologies and Systems on USENIX
Symposium on Internet Technologies and Systems. Berkeley, CA, USA:
USENIX Association, 1997, pp. 1212.
42
[38] E. Cohen, B. Krishnamurthy, and J. Rexford, Improving end-to-end per-
formance of the web using server volumes and proxy filters, in Proceedings
of the ACM SIGCOMM 98 conference on Applications, technologies, ar-
chitectures, and protocols for computer communication, ser. SIGCOMM
98. New York, NY, USA: ACM, 1998, pp. 241253.
[41] A. Feldmann, Blt: Bi-layer tracing of http and tcp, Comput. Network.,
vol. 33, pp. 321335, June 2000.
[42] M. Molina, P. Castelli, and G. Foddis, Web traffic modeling exploiting tcp
connections temporal clustering through html-reduce, Network, IEEE,
vol. 14, no. 3, pp. 46 55, June 2000.
[43] D. Rossi, M. Mellia, and C. Casetti, User patience and the web: a
hands-on investigation, in Global Telecommunications Conference, 2003.
GLOBECOM 03. IEEE, vol. 7, december 2003, pp. 4163 4168 vol.7.
[44] D. Tran, W. Ooi, and Y. Tay, Sax: A tool for studying congestion-induced
surfer behavior, PAM, 2006. [Online:Varified June, 2010]. Available:
http://www.news.cs.nyu.edu/trandinh/publications/sax.pdf
includeAppendix
43
Appendix A
Appendix
|Time | 192.168.1.4 |
| | 192.168.1.5 |
|0.003 | TCP: kdm > http [SYN] |Seq=0 Win=16384 Len=0 MSS=1460
| |(2115) ------------------> (80) |
|0.005 | TCP: http > kdm [SYN, ACK] |Seq=0 Ack=1 Win=5840 Len=0 MSS=1460
| |(2115) <------------------ (80) |
|0.018 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(2115) ------------------> (80) |
|0.093 | GET /WorldMap.jpg |HTTP: GET /WorldMap.jpg HTTP/1.1
| |(2115) ------------------> (80) |
|1.332 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(2115) ------------------> (80) |
|16.555 | TCP: http > kdm [FIN, ACK] |Seq=1162431 Ack=1089 Win=8576 Len=0
| |(2115) <------------------ (80) |
|29.590 | TCP: kdm > http [FIN, ACK] |Seq=1089 Ack=1162432 Win=17018 Len=0
| |(2115) ------------------> (80) |
44
|Time | 192.168.1.4 |
| | 192.168.1.5 |
|30.984 | TCP: unisql-java > http [SYN] | Seq=0 Win=16384 Len=0 MSS=1460
| |(1979) ------------------> (80) |
|30.986 | TCP: http > unisql-java [SYN, ACK] | Seq=0 Ack=1 Win=5840 Len=0 MSS=1460
| |(1979) <------------------ (80) |
|31.016 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1979) ------------------> (80) |
|31.060 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(1979) ------------------> (80) |
|45.555 | TCP: unisql-java > http [FIN, ACK] |Seq=712 Ack=4543 Win=17520 Len=0
| |(1979) ------------------> (80) |
|45.562 | TCP: http > unisql-java [FIN, ACK] |Seq=4543 Ack=713 Win=7504 Len=0
| |(1979) <------------------ (80) |
|Time | 192.168.1.4 |
| | 192.168.1.5 |
|0.000 | TCP: fiorano-msgsvc > http [SYN] |Seq=0 Win=16384 Len=0 MSS=1460
| |(1856) ------------------> (80) |
|0.002 | TCP: http > fiorano-msgsvc [SYN, ACK] | Seq=0 Ack=1 Win=5840 Len=0 MSS=1460
| |(1856) <------------------ (80) |
|0.018 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1856) ------------------> (80) |
|0.113 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(1856) ------------------> (80) |
|0.998 | GET /htmlexample. |HTTP: GET /htmlexample.mpeg HTTP/1.1
| |(1856) ------------------> (80) |
|16.195 | TCP: http > fiorano-msgsvc [FIN, ACK] | Seq=107117 Ack=1123 Win=8576 Len=0
| |(1856) <------------------ (80) |
|29.587 | TCP: fiorano-msgsvc > http [FIN, ACK] | Seq=1123 Ack=107118 Win=17520 Len=0
| |(1856) ------------------> (80) |
45
|Time | 192.168.1.4 |
| | 192.168.1.5 |
|63.658 | TCP: nbx-dir > http [SYN] |Seq=0 Win=65535 Len=0 MSS=1460 WS=1
| |(2096) ------------------> (80) |
|63.660 | TCP: http > nbx-dir [SYN, ACK] |Seq=0 Ack=1 Win=5840 Len=0 MSS=1460 WS=6
| |(2096) <------------------ (80) |
|63.660 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(2096) ------------------> (80) |
|63.675 | GET /WorldMap.jpg |HTTP: GET /WorldMap.jpg HTTP/1.1
| |(2096) ------------------> (80) |
|65.398 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(2096) ------------------> (80) |
|80.734 | TCP: http > nbx-dir [FIN, ACK] |Seq=1162431 Ack=1104 Win=9088 Len=0
| |(2096) <------------------ (80) |
|85.460 | TCP: nbx-dir > http [FIN, ACK] | Seq=1104 Ack=1162432 Win=64284 Len=0
| |(2096) ------------------> (80) |
|Time | 192.168.1.4 |
| | 192.168.1.5 |
|0.000 | TCP: 2194 > http [SYN] |Seq=0 Win=65535 Len=0 MSS=1460 WS=1
| |(2194) ------------------> (80) |
|0.009 | TCP: http > 2194 [SYN, ACK] | Seq=0 Ack=1 Win=5840 Len=0 MSS=1460 WS=6
| |(2194) <------------------ (80) |
|0.010 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(2194) ------------------> (80) |
|0.044 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(2194) ------------------> (80) |
|15.318 | TCP: http > 2194 [FIN, ACK] | Seq=4543 Ack=741 Win=8000 Len=0
| |(2194) <------------------ (80) |
|15.318 | TCP: http > 2194 [FIN, ACK] |Seq=4543 Ack=741 Win=8000 Len=0
| |(2194) <------------------ (80) |
|20.049 | TCP: 2194 > http [FIN, ACK] | Seq=741 Ack=4544 Win=65536 Len=0
| |(2194) ------------------> (80) |
46
|Time | 192.168.1.4 |
| | 192.168.1.5 |
|0.000 | TCP: rimf-ps > http [SYN] |Seq=0 Win=65535 Len=0 MSS=1460 WS=1
| |(2209) ------------------> (80) |
|0.002 | TCP: http > rimf-ps [SYN, ACK] |Seq=0 Ack=1 Win=5840 Len=0 MSS=1460 WS=6
| |(2209) <------------------ (80) |
|0.003 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(2209) ------------------> (80) |
|0.700 | GET /htmlexample. |HTTP: GET /htmlexample.mpeg HTTP/1.1
| |(2209) ------------------> (80) |
|0.701 | TCP: noaaport > http [SYN] |Seq=0 Win=65535 Len=0 MSS=1460 WS=1
| |(2210) ------------------> (80) |
|0.703 | TCP: http > noaaport [SYN, ACK] | Seq=0 Ack=1 Win=5840 Len=0 MSS=1460 WS=6
| |(2210) <------------------ (80) |
|0.703 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(2210) ------------------> (80) |
|15.834 | TCP: http > noaaport [FIN, ACK] |Seq=504 Ack=333 Win=6912 Len=0
| |(2210) <------------------ (80) |
|15.835 | TCP: http > rimf-ps [FIN, ACK] |Seq=106615 Ack=776 Win=8000 Len=0
| |(2209) <------------------ (80) |
|20.714 | TCP: noaaport > http [FIN, ACK] |Seq=333 Ack=505 Win=65032 Len=0
| |(2210) ------------------> (80) |
|20.714 | TCP: rimf-ps > http [FIN, ACK] |Seq=776 Ack=106616 Win=64520 Len=0
| |(2209) ------------------> (80) |
|Time | 192.168.1.4 |
| | 192.168.1.5 |
|0.000 | TCP: msync > http [SYN] | Seq=0 Win=16384 Len=0 MSS=1460
| |(2072) ------------------> (80) |
|0.005 | TCP: http > msync [SYN, ACK] | Seq=0 Ack=1 Win=5840 Len=0 MSS=1460
| |(2072) <------------------ (80) |
|0.005 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(2072) ------------------> (80) |
|0.484 | GET /WorldMap.jpg |HTTP: GET /WorldMap.jpg HTTP/1.1
| |(2072) ------------------> (80) |
|1.772 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(2072) ------------------> (80) |
|16.788 | TCP: http > msync [FIN, ACK] |Seq=1162431 Ack=687 Win=8576 Len=0
| |(2072) <------------------ (80) |
|21.772 | TCP: msync > http [RST, ACK] | Seq=687 Ack=1162432 Win=0 Len=0
| |(2072) ------------------> (80) |
47
|Time | 192.168.1.4 |
| | 192.168.1.5 |
|11.408 | TCP: submitserver > http [SYN] |Seq=0 Win=16384 Len=0 MSS=1460
| |(2028) ------------------> (80) |
|11.409 | TCP: http > submitserver [SYN, ACK] | Seq=0 Ack=1 Win=5840 Len=0 MSS=1460
| |(2028) <------------------ (80) |
|11.409 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(2028) ------------------> (80) |
|12.024 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(2028) ------------------> (80) |
|27.301 | TCP: http > submitserver [FIN, ACK] | Seq=4543 Ack=426 Win=7504 Len=0
| |(2028) <------------------ (80) |
|32.017 | TCP: submitserver > http [RST, ACK] |Seq=426 Ack=4544 Win=0 Len=0
| |(2028) ------------------> (80) |
|Time | 192.168.1.4 |
| | 192.168.1.5 |
|0.000 | TCP: concomp1 > http [SYN] |Seq=0 Win=16384 Len=0 MSS=1460
| |(1802) ------------------> (80) |
|0.002 | TCP: http > concomp1 [SYN, ACK] |Seq=0 Ack=1 Win=5840 Len=0 MSS=1460
| |(1802) <------------------ (80) |
|0.003 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1802) ------------------> (80) |
|0.544 | GET /htmlexample. |HTTP: GET /htmlexample.mpeg HTTP/1.1
| |(1802) ------------------> (80) |
|0.549 | TCP: concomp1 > http [RST, ACK] |Seq=307 Ack=1940 Win=0 Len=0
| |(1802) ------------------> (80) |
|0.599 | TCP: hp-hcip-gwy > http [SYN] |Seq=0 Win=16384 Len=0 MSS=1460
| |(1803) ------------------> (80) |
|0.600 | TCP: http > hp-hcip-gwy [SYN, ACK] | Seq=0 Ack=1 Win=5840 Len=0 MSS=1460
| |(1803) <------------------ (80) |
|0.601 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(1803) ------------------> (80) |
|1.535 | GET /htmlexample. |HTTP: GET /htmlexample.mpeg HTTP/1.1
| |(1803) ------------------> (80) |
|16.837 | TCP: http > hp-hcip-gwy [FIN, ACK] |Seq=106639 Ack=418 Win=7504 Len=0
| |(1803) <------------------ (80) |
|16.843 | TCP: hp-hcip-gwy > http [RST, ACK] |Seq=418 Ack=106640 Win=0 Len=0
| |(1803) ------------------> (80) |
48
|Time | 192.168.1.4 |
| | 192.168.1.5 |
|20.292 | TCP: x-bone-api > http [SYN] |Seq=0 Win=16384 Len=0 MSS=1460
| |(2165) ------------------> (80) |
|20.293 | TCP: http > x-bone-api [SYN, ACK] | Seq=0 Ack=1 Win=5840 Len=0 MSS=1460
| |(2165) <------------------ (80) |
|20.296 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(2165) ------------------> (80) |
|20.303 | GET /WorldMap.jpg H |HTTP: GET /WorldMap.jpg HTTP/1.1
| |(2165) ------------------> (80) |
|21.600 | GET /favicon.ico HT |HTTP: GET /favicon.ico HTTP/1.1
| |(2165) ------------------> (80) |
|36.819 | TCP: http > x-bone-api [FIN, ACK] |Seq=1162431 Ack=1406 Win=8576 Len=0
| |(2165) <------------------ (80) |
|36.894 | TCP: x-bone-api > http [FIN, ACK] |Seq=1406 Ack=1162432 Win=17018 Len=0
| |(2165) ------------------> (80) |
|Time | 192.168.1.4 |
| | 192.168.1.5 |
|0.279 | TCP: eye2eye > http [SYN] |Seq=0 Win=16384 Len=0 MSS=1460
| |(1948) ------------------> (80) |
|0.281 | TCP: http > eye2eye [SYN, ACK] |Seq=0 Ack=1 Win=5840 Len=0 MSS=1460
| |(1948) <------------------ (80) |
|0.290 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1948) ------------------> (80) |
|0.300 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(1948) ------------------> (80) |
|15.515 | TCP: http > eye2eye [FIN, ACK] |Seq=4543 Ack=906 Win=7504 Len=0
| |(1948) <------------------ (80) |
|15.598 | TCP: eye2eye > http [FIN, ACK] |Seq=906 Ack=4544 Win=17520 Len=0
| |(1948) ------------------> (80) |
49
|Time | 192.168. |
| | 192.168.1.5 |
|0.286 | TCP: sugp > http [SYN] |Seq=0 Win=16384 Len=0 MSS=1460
| |(1905) ------------------> (80) |
|0.288 | TCP: http > sugp [SYN, ACK] |Seq=0 Ack=1 Win=5840 Len=0 MSS=1460
| |(1905) <------------------ (80) |
|0.294 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1905) ------------------> (80) |
|0.300 | GET /htmlexample. |HTTP: GET /htmlexample.mpeg HTTP/1.1
| |(1905) ------------------> (80) |
|1.689 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(1905) ------------------> (80) |
|16.814 | TCP: http > sugp [FIN, ACK] | Seq=107117 Ack=1410 Win=8576 Len=0
| |(1905) <------------------ (80) |
|16.915 | TCP: sugp > http [FIN, ACK] |Seq=1410 Ack=107118 Win=17018 Len=0
| |(1905) ------------------> (80) |
|18.336 | TCP: sugp > http [FIN, ACK] | Seq=1410 Ack=107118 Win=17018 Len=0
| |(1905) ------------------> (80) |
50
|Time | 192.168.1.4 |
| | 192.168.1.5 |
|1.910 | TCP: pptp > http [SYN] |Seq=0 Win=16384 Len=0 MSS=1460
| |(1723) ------------------> (80) |
|1.914 | TCP: http > pptp [SYN, ACK] |Seq=0 Ack=1 Win=17520 Len=0 MSS=1460
| |(1723) <------------------ (80) |
|1.915 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1723) ------------------> (80) |
|1.929 | GET /WorldMap.jpg |HTTP: GET /WorldMap.jpg HTTP/1.1
| |(1723) ------------------> (80) |
|4.272 | HTTP: [TCP Retransmission] | GET /WorldMap.jpg HTTP/1.1
| |(1723) ------------------> (80) |
|5.351 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(1723) ------------------> (80) |
|5.355 | TCP: pptp > http [FIN, ACK] | Seq=1089 Ack=1166062 Win=16237 Len=0
| |(1723) ------------------> (80) |
|5.355 | TCP: http > pptp [FIN, ACK] | Seq=1166062 Ack=1089 Win=16432 Len=0
| |(1723) <------------------ (80) |
51
|Time | 192.168.1.4 |
| | 192.168.1.5 |
|1.230 | TCP: svs-omagent > http [SYN] | Seq=0 Win=16384 Len=0 MSS=1460
| |(1625) ------------------> (80) |
|1.231 | TCP: http > svs-omagent [SYN, ACK] | Seq=0 Ack=1 Win=17520 Len=0 MSS=1460
| |(1625) <------------------ (80) |
|1.231 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1625) ------------------> (80) |
|1.465 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(1625) ------------------> (80) |
|1.538 | TCP: svs-omagent > http [FIN, ACK] | Seq=712 Ack=14241 Win=16237 Len=0
| |(1625) ------------------> (80) |
|1.538 | TCP: http > svs-omagent [FIN, ACK] | Seq=14241 Ack=712 Win=16809 Len=0
| |(1625) <------------------ (80) |
|Time | 192.168.1.4 |
| | 192.168.1.5 |
|9.428 |TCP: payrouter > http [SYN] |Seq=0 Win=16384 Len=0 MSS=1460
| |(1246) ------------------> (80) |
|9.627 |TCP: http > payrouter [SYN, ACK] | Seq=0 Ack=1 Win=17520 Len=0 MSS=1460
| |(1246) <------------------ (80) |
|9.629 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1246) ------------------> (80) |
|9.669 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(1246) ------------------> (80) |
|9.674 TCP: payrouter > http [FIN, ACK] | Seq=712 Ack=4667 Win=16237 Len=0
| |(1246) ------------------> (80) |
|9.675 |TCP: http > payrouter [FIN, ACK] |Seq=4667 Ack=712 Win=16809 Len=0
| |(1246) <------------------ (80) |
52
|Time | 192.168.1.4 |
| | 192.168.1.5|
|0.000 | TCP: directplay > http [SYN] |Seq=0 Win=65535 Len=0 MSS=1460 WS=1
| |(2234) ------------------> (80) |
|0.119 | TCP:http > directplay [SYN, ACK] |Seq=0 Ack=1 Win=17520 Len=0 MSS=1460 WS=0
| |(2234) <------------------ (80) |
|0.120 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(2234) ------------------> (80) |
|0.125 | HTTP/1.1 404 Object |HTTP: HTTP/1.1 404 Object Not Found (text/html)
| |(2234) <------------------ (80) |
|0.126 | TCP: directplay > http [FIN, ACK] |Seq=333 Ack=4205 Win=64252 Len=0
| |(2234) ------------------> (80) |
|Time | 192.168.1.4 |
| | 192.168.1.5 |
|0.200 | TCP: mmcal > http [SYN] |Seq=0 Win=65535 Len=0 MSS=1460 WS=1
| |(2272) ------------------> (80) |
|0.201 | TCP: http > mmcal [SYN,ACK] | Seq=0 Ack=1 Win=17520 Len=0 MSS=1460 WS=0
| |(2272) <------------------ (80) |
|0.202 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(2272) ------------------> (80) |
|0.236 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(2272) ------------------> (80) |
|0.243 | TCP: mmcal > http [FIN,ACK] |Seq=741 Ack=5478 Win=64252 Len=0
| |(2272) ------------------> (80) |
|0.244 | TCP: http > mmcal [FIN,ACK] |Seq=5478 Ack=741 Win=16780 Len=0
| |(2272) <------------------ (80) |
53
|Time | 192.168.1.4 |
| | 192.168.1.5 |
|0.000 | TCP: njenet-ssl > http [SYN] | Seq=0 Win=65535 Len=0 MSS=1460 WS=1
| |(2252) ------------------> (80) |
|0.250 | TCP: dtv-chan-req > http [SYN] |Seq=0 Win=65535 Len=0 MSS=1460 WS=1
| |(2253) ------------------> (80) |
|0.277 | http > njenet-ssl |TCP:http >0njenet-ssl
WS=0 [SYN, ACK] Seq=0 Ack=1 Win=17520 Len=0 MSS=146
| |(2252) <------------------ (80) |
|0.279 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(2252) ------------------> (80) |
|0.279 | http > dtv-chan-req |TCP:http>dtv-chan-req
0 WS=0 [SYN, ACK] Seq=0 Ack=1 Win=17520 Len=0 MSS=146
| |(2253) <------------------ (80) |
|1.086 | GET /htmlexample. |HTTP: GET /htmlexample.mpeg HTTP/1.1
| |(2252) ------------------> (80) |
|1.087 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(2253) ------------------> (80) |
|1.209 | HTTP/1.1 404 Object |HTTP: HTTP/1.1 404 Object Not Found (text/html)
| |(2253) <------------------ (80) |
|1.296 | TCP: dtv-chan-req > http [FIN, ACK] | Seq=333 Ack=4205 Win=64252 Len=0
| |(2253) ------------------> (80) |
|240.515 | TCP: njenet-ssl > http [FIN, ACK] |Seq=776 Ack=106746 Win=64766 Len=0
| |(2252) ------------------> (80) |
|240.516 | TCP: http > njenet-ssl [FIN, ACK] | Seq=106746 Ack=777 Win=16745 Len=0
| |(2252) <------------------ (80) |
|Time | 192.168.1.4 |
| | 192.168.1.5 |
|15.347 | TCP: kmscontrol > http [SYN] | Seq=0 Win=16384 Len=0 MSS=1460
| |(1773) ------------------> (80) |
|15.348 | TCP: http > kmscontrol [SYN, ACK] |Seq=0 Ack=1 Win=17520 Len=0 MSS=1460
| |(1773) <------------------ (80) |
|15.350 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1773) ------------------> (80) |
|15.719 | GET /WorldMap.jpg |HTTP: GET /WorldMap.jpg HTTP/1.1
| |(1773) ------------------> (80) |
|17.265 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(1773) ------------------> (80) |
|17.269 | TCP: kmscontrol > http [RST, ACK] | Seq=687 Ack=1164779 Win=0 Len=0
| |(1773) ------------------> (80) |
|17.270 | TCP: http > kmscontrol [FIN, ACK] | Seq=1166062 Ack=687 Win=16834 Len=0
| |(1773) <------------------ (80) |
54
|Time | 192.168.1.4 |
| | 192.168.1.5 |
|0.192 | TCP: inspect > http [SYN] | Seq=0 Win=16384 Len=0 MSS=1460
| |(1602) ------------------> (80) |
|0.193 | TCP: http > inspect [SYN,ACK] | Seq=0 Ack=1 Win=17520 Len=0 MSS=1460
| |(1602) <------------------ (80) |
|0.195 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1602) ------------------> (80) |
|0.614 | GET /favicon.ico | HTTP: GET /favicon.ico HTTP/1.1
| |(1602) ------------------> (80) |
|0.703 | TCP: inspect > http [RST,ACK] | Seq=426 Ack=11498 Win=0 Len=0
| |(1602) ------------------> (80) |
|0.705 | TCP: http > inspect [FIN,ACK] | Seq=14241 Ack=426 Win=17095 Len=0
| |(1602) <------------------ (80) |
|Time | 192.168.1.4 |
| | 192.168.1.5 |
|0.373 | TCP: asci-val > http [SYN] |Seq=0 Win=16384 Len=0 MSS=1460
| |(1560) ------------------> (80) |
|0.375 | TCP: http > asci-val [SYN, ACK] |Seq=0 Ack=1 Win=17520 Len=0 MSS=1460
| |(1560) <------------------ (80) |
|0.375 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1560) ------------------> (80) |
|2.789 | GET /htmlexample. |HTTP: GET /htmlexample.mpeg HTTP/1.1
| |(1560) ------------------> (80) |
|3.344 | TCP: asci-val > http [RST, ACK] | Seq=307 Ack=3384 Win=0 Len=0
| |(1560) ------------------> (80) |
|3.549 | TCP: facilityview > http [SYN] |Seq=0 Win=16384 Len=0 MSS=1460
| |(1561) ------------------> (80) |
|3.650 | TCP: http > facilityview [SYN, ACK] | Seq=0 Ack=1 Win=17520 Len=0 MSS=1460
| |(1561) <------------------ (80) |
|3.656 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(1561) ------------------> (80) |
|3.661 | TCP: facilityview > http [RST, ACK] | Seq=207 Ack=1461 Win=0 Len=0
| |(1561) ------------------> (80) |
55
|Time | 192.168.1.4 |
| | 192.168.1.5 |
|45.485 | TCP: rsvp-encap-2 > http [SYN] |Seq=0 Win=16384 Len=0 MSS=1460
| |(1699) ------------------> (80) |
|45.487 | TCP: http > rsvp-encap-2 [SYN, ACK] | Seq=0 Ack=1 Win=17520 Len=0 MSS=1460
| |(1699) <------------------ (80) |
|45.487 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1699) ------------------> (80) |
|45.491 | GET /WorldMap.jpg |HTTP: GET /WorldMap.jpg HTTP/1.1
| |(1699) ------------------> (80) |
|47.187 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(1699) ------------------> (80) |
|47.638 | TCP: http > rsvp-encap-2 [FIN, ACK] | Seq=1166062 Ack=1406 Win=16115 Len=0
| |(1699) <------------------ (80) |
|47.739 | TCP: rsvp-encap-2 > http [FIN, ACK] | Seq=1406 Ack=1166063 Win=16237 Len=0
| |(1699) ------------------> (80) |
56
|Time | 192.168.1.4 |
| | 192.168.1.5 |
|0.797 | TCP: netview-aix-12 > http [SYN] |Seq=0 Win=16384 Len=0 MSS=1460
| |(1672) ------------------> (80) |
|0.798 | TCP: http > netview-aix-12 [SYN, ACK] | Seq=0 Ack=1 Win=17520 Len=0 MSS=1460
| |(1672) <------------------ (80) |
|0.798 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1672) ------------------> (80) |
|0.813 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(1672) ------------------> (80) |
|0.818 | TCP: http > netview-aix-12 [FIN, ACK] | Seq=14241 Ack=906 Win=16615 Len=0
| |(1672) <------------------ (80) |
|0.919 | TCP: netview-aix-12 > http [FIN, ACK] | Seq=906 Ack=14242 Win=16237 Len=0
| |(1672) ------------------> (80) |
57
|Time | 192.168.1.4 |
| | 192.168.1.5 |
|0.646 | TCP: pip > http [SYN] | Seq=0 Win=16384 Len=0 MSS=1460
| |(1321) ------------------> (80) |
|0.647 | TCP: http > pip [SYN, ACK] |Seq=0 Ack=1 Win=17520 Len=0 MSS=1460
| |(1321) <------------------ (80) |
|0.647 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1321) ------------------> (80) |
|0.654 | GET /htmlexample. |HTTP: GET /htmlexample.mpeg HTTP/1.1
| |(1321) ------------------> (80) |
|1.798 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(1321) ------------------> (80) |
|1.804 | TCP: http > pip [FIN, ACK] |Seq=110757 Ack=1410 Win=16111 Len=0
| |(1321) <------------------ (80) |
|2.211 | TCP: pip > http [FIN, ACK] | Seq=1410 Ack=110758 Win=16237 Len=0
| |(1321) ------------------> (80) |
58
A.1.2 Interrupted TCP Flows
|Time | 192.168.1.3 |
| | 192.168.1.2 |
|0.000 | TCP: oracle-oms > http [SYN] | Seq=0 Win=65535 Len=0 MSS=1460
| |(1159) ------------------> (80) |
|0.001 | TCP: http > oracle-oms [SYN, ACK] | Seq=0 Ack=1 Win=5840 Len=0 MSS=1460
| |(1159) <------------------ (80) |
|0.015 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1159) ------------------> (80) |
|0.074 | GET /WorldMap.jpg |HTTP: GET /WorldMap.jpg HTTP/1.1
| |(1159) ------------------> (80) |
|0.972 | TCP: oracle-oms > http [RST, ACK] |Seq=743 Ack=2468246 Win=0 Len=0
| |(1159) ------------------> (80) |
|0.972 | TCP: olsv > http [SYN] | Seq=0 Win=65535 Len=0 MSS=1460
| |(1160) ------------------> (80) |
|0.972 | TCP: health-polling > http [SYN] | Seq=0 Win=65535 Len=0 MSS=1460
| |(1161) ------------------> (80) |
|0.985 | TCP: http > olsv [SYN, ACK] | Seq=0 Ack=1 Win=5840 Len=0 MSS=1460
| |(1160) <------------------ (80) |
|0.986 | TCP: http > health-polling [SYN, ACK] | Seq=0 Ack=1 Win=5840 Len=0 MSS=146
| |(1161) <------------------ (80) |
|0.993 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(1160) ------------------> (80) |
|1.026 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1161) ------------------> (80) |
|1.046 | TCP: olsv > http [RST, ACK] |Seq=347 Ack=135781 Win=0 Len=0
| |(1160) ------------------> (80) |
|1.046 | GET /WorldMap.jpg H |HTTP: GET /WorldMap.jpg HTTP/1.1
| |(1161) ------------------> (80) |
|5.026 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(1161) ------------------> (80) |
|20.065 |TCP: http > health-polling [FIN, ACK] |Seq=3568273 Ack=1356 Win=8576 Len=0
| |(1161) <------------------ (80) |
|29.617 | TCP: health-polling > http [FIN, ACK] | Seq=1356 Ack=3568274 Win=64558 Len=0
| |(1161) ------------------> (80) |
59
|Time | 192.168.1.3 |
| | 192.168.1.4 |
|1.575 | TCP: x9-icue > http [SYN] |Seq=0 Win=65535 Len=0 MSS=1460
| |(1145) ------------------> (80) |
|1.717 | TCP: http > x9-icue [SYN, ACK] | Seq=0 Ack=1 Win=17520 Len=0 MSS=1460
| |(1145) <------------------ (80) |
|1.718 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1145) ------------------> (80) |
|2.542 | TCP: audit-transfer > http [SYN] | Seq=0 Win=65535 Len=0 MSS=1460
| |(1146) ------------------> (80) |
|2.544 | TCP: http > audit-transfer [SYN, ACK] | Seq=0 Ack=1 Win=17520 Len=0 MSS=1460
| |(1146) <------------------ (80) |
|2.572 | TCP: x9-icue > http [RST, ACK] | Seq=366 Ack=828853 Win=0 Len=0
| |(1145) ------------------> (80) |
|2.573 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(1146) ------------------> (80) |
|2.573 | TCP: capioverlan > http [SYN] |Seq=0 Win=65535 Len=0 MSS=1460
| |(1147) ------------------> (80) |
|2.574 | TCP: http > capioverlan [SYN, ACK] | Seq=0 Ack=1 Win=17520 Len=0 MSS=1460
| |(1147) <------------------ (80) |
|2.581 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1147) ------------------> (80) |
|2.596 | TCP: audit-transfer > http [RST, ACK] |Seq=347 Ack=32769 Win=0 Len=0
| |(1146) ------------------> (80) |
|13.287 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(1147) ------------------> (80) |
|136.380 | TCP: capioverlan > http [FIN, ACK] | Seq=845 Ack=2804661 Win=65535 Len=0
| |(1147) ------------------> (80) |
|136.382 | TCP: http > capioverlan [FIN, ACK] | Seq=2804661 Ack=846 Win=16676 Len=0
| |(1147) <------------------ (80) |
60
|Time | 192.168.1.4 |
| | 192.168.1.2 |
|0.002 | TCP: ias-admind > http [SYN] |Seq=0 Win=65535 Len=0 MSS=1460
| |(2141) ------------------> (80) |
|0.003 | TCP: http > ias-admind [SYN, ACK] |Seq=0 Ack=1 Win=5840 Len=0 MSS=1460
| |(2141) <------------------ (80) |
|0.015 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(2141) ------------------> (80) |
|0.084 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(2141) ------------------> (80) |
|0.743 | TCP: tdmoip > http [SYN] | Seq=0 Win=65535 Len=0 MSS=1460
| |(2142) ------------------> (80) |
|0.745 | TCP: http > tdmoip [SYN, ACK] | Seq=0 Ack=1 Win=5840 Len=0 MSS=1460
| |(2142) <------------------ (80) |
|0.776 | GET /htmlsample. |HTTP: GET /htmlsample.mpeg HTTP/1.1
| |(2142) ------------------> (80) |
|1.723 | TCP: tdmoip > http [RST, ACK] |Seq=411 Ack=1910217 Win=0 Len=0
| |(2142) ------------------> (80) |
|1.723 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(2141) ------------------> (80) |
|2.195 | GET /htmlsample. |HTTP: GET /htmlsample.mpeg HTTP/1.1
| |(2141) ------------------> (80) |
|17.551 | TCP: http > ias-admind [FIN, ACK] | Seq=695985 Ack=1667 Win=9648 Len=0
| |(2141) <------------------ (80) |
|29.599 | TCP: ias-admind > http [FIN, ACK] | Seq=1667 Ack=695986 Win=65535 Len=0
| |(2141) ------------------> (80) |
61
Figure A.29: Apache Google Chrome Text Web Page.
|Time | 192.168.1.4 |
| | 192.168.1.2 |
|0.084 | TCP: netop-school > http [SYN] | Seq=0 Win=65535 Len=0 MSS=1460 WS=1
| |(1971) ------------------> (80) |
|0.085 | TCP: http>netop-school[SYN, ACK] | Seq=0 Ack=1 Win=5840 Len=0 MSS=1460 WS=6
| |(1971) <------------------ (80) |
|0.086 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1971) ------------------> (80) |
|0.915 | GET /htmlsample. |HTTP: GET /htmlsample.mpeg HTTP/1.1
| |(1971) ------------------> (80) |
|0.916 | TCP: intersys-cache > http [SYN] | Seq=0 Win=65535 Len=0 MSS=1460 WS=1
| |(1972) ------------------> (80) |
|0.918 | TCP:http>intersys-cache[SYN, ACK] |Seq=0 Ack=1 Win=5840 Len=0 MSS=1460 WS=6
| |(1972) <------------------ (80) |
|0.918 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(1972) ------------------> (80) |
|1.340 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1972) ------------------> (80) |
|1.359 | TCP: intersys-cache > http [FIN, ACK] | Seq=858 Ack=212532 Win=65326 Len=0
| |(1972) ------------------> (80) |
|1.369 | TCP: http > intersys-cache [FIN, ACK] | Seq=212532 Ack=859 Win=8000 Len=0
| |(1972) <------------------ (80) |
|1.897 | TCP: netop-school > http [FIN, ACK] |Seq=775 Ack=1305401 Win=1296 Len=0
| |(1971) ------------------> (80) |
|1.897 | TCP: netop-school > http [RST, ACK] | Seq=776 Ack=1305401 Win=0 Len=0
| |(1971) ------------------> (80) |
|2.052 | TCP: dlsrap > http [SYN] |Seq=0 Win=65535 Len=0 MSS=1460 WS=1
| |(1973) ------------------> (80) |
|2.053 | TCP: http > dlsrap [SYN, ACK] | Seq=0 Ack=1 Win=5840 Len=0 MSS=1460 WS=6
| |(1973) <------------------ (80) |
|2.054 | GET /htmlsample. |HTTP: GET /htmlsample.mpeg HTTP/1.1
| |(1973) ------------------> (80) |
|2.056 | TCP: dlsrap > http [FIN, ACK] |Seq=486 Ack=192 Win=65344 Len=0
| |(1973) ------------------> (80) |
|2.058 | TCP: drp > http [SYN] |Seq=0 Win=65535 Len=0 MSS=1460 WS=1
| |(1974) ------------------> (80) |
|2.059 | TCP: http > dlsrap [FIN, ACK] | Seq=192 Ack=487 Win=6912 Len=0
| |(1973) <------------------ (80) |
|2.059 | TCP: http > drp [SYN, ACK] |Seq=0 Ack=1 Win=5840 Len=0 MSS=1460 WS=6
| |(1974) <------------------ (80) |
|2.059 | GET /htmlsample. |HTTP: GET /htmlsample.mpeg HTTP/1.1
| |(1974) ------------------> (80) |
|17.597 | TCP: http > drp [FIN, ACK] |Seq=1158352 Ack=430 Win=6912 Len=0
| |(1974) <------------------ (80) |
|22.591 | TCP: drp > http [FIN, ACK] | Seq=430 Ack=1158353 Win=65536 Len=0
| |(1974) ------------------> (80) |
62
|Time | 192.168.1.3 |
| | 192.168.1.2 |
|0.000 | TCP: td-postman > http [SYN] |Seq=0 Win=65535 Len=0 MSS=1460
| |(1049) ------------------> (80) |
|0.001 | TCP: http > td-postman [SYN, ACK] | Seq=0 Ack=1 Win=5840 Len=0 MSS=1460
| |(1049) <------------------ (80) |
|0.001 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1049) ------------------> (80) |
|0.077 | GET /WorldMap.jpg |HTTP: GET /WorldMap.jpg HTTP/1.1
| |(1049) ------------------> (80) |
|2.005 | TCP: td-postman > http [RST, ACK] | Seq=481 Ack=3919119 Win=0 Len=0
| |(1049) ------------------> (80) |
|2.071 | TCP: cma > http [SYN] | Seq=0 Win=65535 Len=0 MSS=1460
| |(1050) ------------------> (80) |
|2.072 | TCP: http > cma [SYN, ACK] |Seq=0 Ack=1 Win=5840 Len=0 MSS=1460
| |(1050) <------------------ (80) |
|2.072 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1050) ------------------> (80) |
|2.075 | GET /WorldMap.jpg |HTTP: GET /WorldMap.jpg HTTP/1.1
| |(1050) ------------------> (80) |
|4.068 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(1050) ------------------> (80) |
|19.143 | TCP: http > cma [FIN, ACK] |Seq=2255744 Ack=895 Win=8576 Len=0
| |(1050) <------------------ (80) |
|24.134 | TCP: cma > http [RST, ACK] |Seq=895 Ack=2255745 Win=0 Len=0
| |(1050) ------------------> (80) |
|Time | 192.168.1.3 |
| | 192.168.1.2 |
|0.000 | TCP: gpfs > http [SYN] |Seq=0 Win=65535 Len=0 MSS=1460
| |(1191) ------------------> (80) |
|0.002 | TCP: http > gpfs [SYN, ACK] |Seq=0 Ack=1 Win=5840 Len=0 MSS=1460
| |(1191) <------------------ (80) |
|0.002 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1191) ------------------> (80) |
|15.184 | TCP: http > gpfs [FIN, ACK] |Seq=40820 Ack=220 Win=6432 Len=0
| |(1191) <------------------ (80) |
|20.152 | TCP: gpfs > http [RST, ACK] |Seq=220 Ack=40821 Win=0 Len=0
| |(1191) ------------------> (80) |
|105.173 | TCP: caids-sensor > http [SYN] |Seq=0 Win=65535 Len=0 MSS=1460
| |(1192) ------------------> (80) |
|105.174 | TCP: http > caids-sensor [SYN, ACK] | Seq=0 Ack=1 Win=5840 Len=0 MSS=1460
| |(1192) <------------------ (80) |
|105.174 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(1192) ------------------> (80) |
|105.351 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1192) ------------------> (80) |
|120.368 | TCP: http > caids-sensor [FIN, ACK] | Seq=212536 Ack=521 Win=7504 Len=0
| |(1192) <------------------ (80) |
|125.355 | TCP: caids-sensor > http [RST, ACK] |Seq=521 Ack=212537 Win=0 Len=0
| |(1192) ------------------> (80) |
63
|Time | 192.168.1.4 |
| | 192.168.1.2 |
|0.000 | TCP: dls > http [SYN] |Seq=0 Win=65535 Len=0 MSS=1460
| |(2047) ------------------> (80) |
|0.001 | TCP: http > dls [SYN, ACK] |Seq=0 Ack=1 Win=5840 Len=0 MSS=1460
| |(2047) <------------------ (80) |
|0.001 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(2047) ------------------> (80) |
|0.073 | GET /htmlsample. |HTTP: GET /htmlsample.mpeg HTTP/1.1
| |(2047) ------------------> (80) |
|0.076 | TCP: dls > http [RST, ACK] |Seq=306 Ack=3402 Win=0 Len=0
| |(2047) ------------------> (80) |
|0.259 | TCP: dls-monitor > http [SYN] |Seq=0 Win=65535 Len=0 MSS=1460
| |(2048) ------------------> (80) |
|0.260 | TCP: http > dls-monitor [SYN, ACK] | Seq=0 Ack=1 Win=5840 Len=0 MSS=1460
| |(2048) <------------------ (80) |
|0.260 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(2048) ------------------> (80) |
|0.914 | GET /htmlsample. |HTTP: GET /htmlsample.mpeg HTTP/1.1
| |(2048) ------------------> (80) |
|1.671 | TCP: dls-monitor > http [RST, ACK] | Seq=417 Ack=562446 Win=0 Len=0
| |(2048) ------------------> (80) |
|1.816 | TCP: nfs > http [SYN] |Seq=0 Win=65535 Len=0 MSS=1460
| |(2049) ------------------> (80) |
|1.817 | TCP: http > nfs [SYN, ACK] |Seq=0 Ack=1 Win=5840 Len=0 MSS=1460
| |(2049) <------------------ (80) |
|1.817 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(2049) ------------------> (80) |
|1.821 | GET /htmlsample. |HTTP: GET /htmlsample.mpeg HTTP/1.1
| |(2049) ------------------> (80) |
|1.823 | TCP: nfs > http [RST, ACK] | Seq=513 Ack=1671 Win=0 Len=0
| |(2049) ------------------> (80) |
|1.922 | TCP: av-emb-config > http [SYN] | Seq=0 Win=65535 Len=0 MSS=1460
| |(2050) ------------------> (80) |
|1.923 | TCP: http > av-emb-config [SYN, ACK] | Seq=0 Ack=1 Win=5840 Len=0 MSS=1460
| |(2050) <------------------ (80) |
|1.939 | GET /htmlsample.mpe |HTTP: GET /htmlsample.mpeg HTTP/1.1
| |(2050) ------------------> (80) |
|17.780 | TCP: http > av-emb-config [FIN, ACK] | Seq=2096810 Ack=327 Win=6432 Len=0
| |(2050) <------------------ (80) |
|22.766 | TCP: av-emb-config > http [RST, ACK] | Seq=327 Ack=2096811 Win=0 Len=0
| |(2050) ------------------> (80) |
|Time | 192.168.1.3 |
| | 192.168.1.2 |
|0.001 | TCP: mosaicsyssvc1 > http [SYN] |Seq=0 Win=65535 Len=0 MSS=1460
| |(1235) ------------------> (80) |
|0.002 | TCP: http > mosaicsyssvc1 [SYN, ACK] | Seq=0 Ack=1 Win=5840 Len=0 MSS=1460
| |(1235) <------------------ (80) |
|0.123 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1235) ------------------> (80) |
|0.136 | GET /WorldMap.jpg |HTTP: GET /WorldMap.jpg HTTP/1.1
| |(1235) ------------------> (80) |
|1.304 | TCP: mosaicsyssvc1 > http [RST, ACK] |Seq=907 Ack=2932234 Win=0 Len=0
| |(1235) ------------------> (80) |
|2.055 | TCP: tsdos390 > http [SYN] | Seq=0 Win=65535 Len=0 MSS=1460
| |(1237) ------------------> (80) |
|2.056 | TCP: http > tsdos390 [SYN, ACK] | Seq=0 Ack=1 Win=5840 Len=0 MSS=1460
| |(1237) <------------------ (80) |
|2.057 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1237) ------------------> (80) |
|2.061 | GET /WorldMap.jpg |HTTP: GET /WorldMap.jpg HTTP/1.1
| |(1237) ------------------> (80) |
|4.821 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(1237) ------------------> (80) |
|19.945 | TCP: http > tsdos390 [FIN, ACK] |Seq=6104214 Ack=1483 Win=8576 Len=0
| |(1237) <------------------ (80) |
|20.029 | TCP: tsdos390 > http [FIN, ACK] | Seq=1483 Ack=6104215 Win=65535 Len=0
| |(1237) ------------------> (80) |
64
|Time | 192.168.1.3 |
| | 192.168.1.4 |
|0.000 | TCP: mosaicsyssvc1 > http [SYN] | Seq=0 Win=65535 Len=0 MSS=1460
| |(1235) ------------------> (80) |
|0.032 | TCP: http > mosaicsyssvc1 [SYN, ACK] | Seq=0 Ack=1 Win=17520 Len=0 MSS=1460
| |(1235) <------------------ (80) |
|0.075 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1235) ------------------> (80) |
|0.888 | TCP: mosaicsyssvc1 > http [RST, ACK] | Seq=407 Ack=1275317 Win=0 Len=0
| |(1235) ------------------> (80) |
|0.888 | TCP: mosaicsyssvc1 > http [RST] |Seq=407 Win=0 Len=0
| |(1235) ------------------> (80) |
|1.264 | TCP: tsdos390 > http [SYN] |Seq=0 Win=65535 Len=0 MSS=1460
| |(1237) ------------------> (80) |
|1.266 | TCP: http > tsdos390 [SYN, ACK] | Seq=0 Ack=1 Win=17520 Len=0 MSS=1460
| |(1237) <------------------ (80) |
|1.309 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1237) ------------------> (80) |
|4.260 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(1237) ------------------> (80) |
|127.526 | TCP: tsdos390 > http [FIN, ACK] |Seq=958 Ack=3510148 Win=65098 Len=0
| |(1237) ------------------> (80) |
|127.528 | TCP: http > tsdos390 [FIN, ACK] | Seq=3510148 Ack=959 Win=16563 Len=0
| |(1237) <------------------ (80) |
|Time | 192.168.1.4 |
| | 192.168.1.2 |
|7.493 | TCP: intrastar > http [SYN] |Seq=0 Win=65535 Len=0 MSS=1460
| |(1907) ------------------> (80) |
|7.494 | TCP: http > intrastar [SYN, ACK] | Seq=0 Ack=1 Win=5840 Len=0 MSS=1460
| |(1907) <------------------ (80) |
|7.562 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1907) ------------------> (80) |
|7.617 | GET /htmlsample. |HTTP: GET /htmlsample.mpeg HTTP/1.1
| |(1907) ------------------> (80) |
|9.138 | TCP: intrastar > http [RST, ACK] | Seq=910 Ack=147777 Win=0 Len=0
| |(1907) ------------------> (80) |
|10.238 | TCP: global-wlink > http [SYN] |Seq=0 Win=65535 Len=0 MSS=1460
| |(1909) ------------------> (80) |
|10.239 | TCP: http > global-wlink [SYN, ACK] | Seq=0 Ack=1 Win=5840 Len=0 MSS=1460
| |(1909) <------------------ (80) |
|10.240 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1909) ------------------> (80) |
|10.755 | GET /htmlsample. |HTTP: GET /htmlsample.mpeg HTTP/1.1
| |(1909) ------------------> (80) |
|11.650 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(1909) ------------------> (80) |
|27.385 | TCP: http > global-wlink [FIN, ACK] |Seq=2545774 Ack=1486 Win=8576 Len=0
| |(1909) <------------------ (80) |
|27.490 | TCP: global-wlink > http [FIN, ACK] | Seq=1486 Ack=2545775 Win=65535 Len=0
| |(1909) ------------------> (80) |
65
|Time | 192.168.1.4 |
| | 192.168.1.2 |
|0.000 | TCP: intellistor-lm > http [SYN] |Seq=0 Win=65535 Len=0 MSS=1460
| |(1539) ------------------> (80) |
|0.234 | TCP: http > intellistor-lm [SYN, ACK] |Seq=0 Ack=1 Win=17520 Len=0 MSS=1460
| |(1539) <------------------ (80) |
|0.235 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1539) ------------------> (80) |
|0.248 | GET /WorldMap.jpg |HTTP: GET /WorldMap.jpg HTTP/1.1
| |(1539) ------------------> (80) |
|1.148 | TCP: rds > http [SYN] |Seq=0 Win=65535 Len=0 MSS=1460
| |(1540) ------------------> (80) |
|1.148 | TCP: rds2 > http [SYN] | Seq=0 Win=65535 Len=0 MSS=1460
| |(1541) ------------------> (80) |
|1.153 | TCP: intellistor-lm > http [FIN, ACK] |Seq=743 Ack=1872305 Win=64359 Len=0
| |(1539) ------------------> (80) |
|1.153 | TCP: intellistor-lm > http [RST, ACK] | Seq=744 Ack=1873765 Win=0 Len=0
| |(1539) ------------------> (80) |
|1.155 | TCP: http > rds [SYN, ACK] | Seq=0 Ack=1 Win=17520 Len=0 MSS=1460
| |(1540) <------------------ (80) |
|1.155 | TCP: http > rds2 [SYN, ACK] |Seq=0 Ack=1 Win=17520 Len=0 MSS=1460
| |(1541) <------------------ (80) |
|1.210 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(1540) ------------------> (80) |
|1.210 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1541) ------------------> (80) |
|1.218 | TCP: rds > http [FIN, ACK] |Seq=347 Ack=10221 Win=65535 Len=0
| |(1540) ------------------> (80) |
|1.218 | TCP: rds > http [RST, ACK] | Seq=348 Ack=11681 Win=0 Len=0
| |(1540) ------------------> (80) |
|1.222 | GET /WorldMap.jpg |HTTP: GET /WorldMap.jpg HTTP/1.1
| |(1541) ------------------> (80) |
|3.337 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(1541) ------------------> (80) |
|119.608 | TCP: rds2 > http [FIN, ACK] |Seq=1333 Ack=4230606 Win=65165 Len=0
| |(1541) ------------------> (80) |
|119.841 | TCP: http > rds2 [FIN, ACK] | Seq=4230606 Ack=1334 Win=16188 Len=0
| |(1541) <------------------ (80) |
66
|Time | 192.168.1.3 |
| | 192.168.1.2 |
|15.135 | TCP: dfn > http [SYN] |Seq=0 Win=65535 Len=0 MSS=1460
| |(1133) ------------------> (80) |
|15.137 | TCP: http > dfn [SYN, ACK] | Seq=0 Ack=1 Win=17520 Len=0 MSS=1460
| |(1133) <------------------ (80) |
|15.137 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1133) ------------------> (80) |
|16.666 | TCP: aplx > http [SYN] |Seq=0 Win=65535 Len=0 MSS=1460
| |(1134) ------------------> (80) |
|16.667 | TCP: dfn > http [RST, ACK] | Seq=366 Ack=1291701 Win=0 Len=0
| |(1133) ------------------> (80) |
|16.668 | TCP: http > aplx [SYN, ACK] | Seq=0 Ack=1 Win=17520 Len=0 MSS=1460
| |(1134) <------------------ (80) |
|16.720 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(1134) ------------------> (80) |
|16.720 | TCP: omnivision > http [SYN] | Seq=0 Win=65535 Len=0 MSS=1460
| |(1135) ------------------> (80) |
|16.721 | TCP: http > omnivision [SYN, ACK] | Seq=0 Ack=1 Win=17520 Len=0 MSS=1460
| |(1135) <------------------ (80) |
|16.754 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1135) ------------------> (80) |
|16.769 | TCP: aplx > http [RST, ACK] | Seq=347 Ack=90113 Win=0 Len=0
| |(1134) ------------------> (80) |
|25.746 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(1135) ------------------> (80) |
|149.693 | TCP: omnivision > http [FIN, ACK] |Seq=846 Ack=2283010 Win=65535 Len=0
| |(1135) ------------------> (80) |
|149.694 | TCP: http > omnivision [FIN, ACK] | Seq=2283010 Ack=847 Win=16675 Len=0
| |(1135) <------------------ (80) |
|Time | 192.168.1.4 |
| | 192.168.1.2 |
|15.345 | TCP: vpjp > http [SYN] |Seq=0 Win=65535 Len=0 MSS=1460
| |(1345) ------------------> (80) |
|15.347 | TCP: http > vpjp [SYN, ACK] | Seq=0 Ack=1 Win=17520 Len=0 MSS=1460
| |(1345) <------------------ (80) |
|15.347 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1345) ------------------> (80) |
|15.748 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(1345) ------------------> (80) |
|16.712 | TCP: alta-ana-lm > http [SYN] |Seq=0 Win=65535 Len=0 MSS=1460
| |(1346) ------------------> (80) |
|16.781 | TCP: http > alta-ana-lm [SYN, ACK] | Seq=0 Ack=1 Win=17520 Len=0 MSS=1460
| |(1346) <------------------ (80) |
|16.781 | GET /htmlsample |HTTP: GET /htmlsample.mpeg HTTP/1.1
| |(1346) ------------------> (80) |
|17.760 | TCP: alta-ana-lm > http [FIN, ACK] |Seq=411 Ack=1203049 Win=65535 Len=0
| |(1346) ------------------> (80) |
|17.761 | TCP: alta-ana-lm > http [RST, ACK] | Seq=412 Ack=1204225 Win=0 Len=0
| |(1346) ------------------> (80) |
|17.786 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1345) ------------------> (80) |
|18.200 | GET /htmlsample.mpe |HTTP: GET /htmlsample.mpeg HTTP/1.1
| |(1345) ------------------> (80) |
|135.101 | TCP: vpjp > http [FIN, ACK] | Seq=1655 Ack=1389473 Win=65535 Len=0
| |(1345) ------------------> (80) |
|135.158 | TCP: http > vpjp [FIN, ACK] |Seq=1389473 Ack=1656 Win=17520 Len=0
| |(1345) <------------------ (80) |
67
Figure A.40: Microsoft IIS Google Chrome Video Web Page.
68
|Time | 192.168.1.4 |
| | 192.168.1.2 |
|5.458 | TCP: norton-lambert > http [SYN] | Seq=0 Win=65535 Len=0 MSS=1460 WS=1
| |(2338) ------------------> (80) |
|5.615 | TCP: http>norton-lambert[SYN, ACK] |Seq=0 Ack=1Win=17520Len=0MSS=1460WS=0
| |(2338) <------------------ (80) |
|5.615 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(2338) ------------------> (80) |
|6.314 | GET /htmlsample. |HTTP: GET /htmlsample.mpeg HTTP/1.1
| |(2338) ------------------> (80) |
|6.315 | TCP: 3com-webview > http [SYN] | Seq=0 Win=65535 Len=0 MSS=1460 WS=1
| |(2339) ------------------> (80) |
|6.537 | TCP: http > 3com-webview [SYN, ACK] |Seq=0Ack=1Win=17520 Len=0 MSS=1460 WS=0
| |(2339) <------------------ (80) |
|6.538 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(2339) ------------------> (80) |
|7.031 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(2339) ------------------> (80) |
|7.061 | TCP: 3com-webview > http [FIN, ACK] | Seq=854 Ack=212442 Win=65348 Len=0
| |(2339) ------------------> (80) |
|7.064 | TCP: http > 3com-webview [FIN, ACK] | Seq=212442 Ack=855 Win=16667 Len=0
| |(2339) <------------------ (80) |
|7.616 | TCP: norton-lambert > http [FIN, ACK] | Seq=775 Ack=1161069 Win=0 Len=0
| |(2338) ------------------> (80) |
|7.617 | TCP: norton-lambert > http [RST, ACK] |Seq=776 Ack=1161069 Win=0 Len=0
| |(2338) ------------------> (80) |
|7.762 | TCP: wrs_registry > http [SYN] |Seq=0 Win=65535 Len=0 MSS=1460 WS=1
| |(2340) ------------------> (80) |
|7.765 | TCP: http>wrs_registry[SYN, ACK] |Seq=0Ack=1Win=17520Len=0MSS=1460 WS=0
| |(2340) <------------------ (80) |
|7.765 | GET /htmlsample. |HTTP: GET /htmlsample.mpeg HTTP/1.1
| |(2340) ------------------> (80) |
|7.768 | TCP: wrs_registry > http [FIN, ACK] |Seq=478 Ack=141 Win=65396 Len=0
| |(2340) ------------------> (80) |
|7.769 | TCP: http > wrs_registry [FIN, ACK] |Seq=141 Ack=479 Win=17043 Len=0
| |(2340) <------------------ (80) |
|7.770 | TCP: xiostatus > http [SYN] | Seq=0 Win=65535 Len=0 MSS=1460 WS=1
| |(2341) ------------------> (80) |
|7.771 | TCP: http > xiostatus [SYN, ACK] | Seq=0 Ack=1 Win=17520 Len=0 MSS=1460 WS=0
| |(2341) <------------------ (80) |
|7.772 | GET /htmlsample. |HTTP: GET /htmlsample.mpeg HTTP/1.1
| |(2341) ------------------> (80) |
|245.343 | TCP: xiostatus > http [FIN, ACK] | Seq=422 Ack=1305028 Win=65536 Len=0
| |(2341) ------------------> (80) |
|245.345 | TCP: http > xiostatus [FIN, ACK] | Seq=1305028 Ack=423 Win=17099 Len=0
| |(2341) <------------------ (80) |
|Time | 192.168.1.4 |
| | 192.168.1.2 |
|11.690 | TCP: iclpv-sc > http [SYN] | Seq=0 Win=65535 Len=0 MSS=1460
| |(1390) ------------------> (80) |
|11.691 | TCP: http > iclpv-sc [SYN, ACK] | Seq=0 Ack=1 Win=17520 Len=0 MSS=1460
| |(1390) <------------------ (80) |
|11.692 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1390) ------------------> (80) |
|11.733 | GET /WorldMap.jpg |HTTP: GET /WorldMap.jpg HTTP/1.1
| |(1390) ------------------> (80) |
|12.764 | TCP: iclpv-sc > http [RST] | Seq=481 Win=0 Len=0
| |(1390) ------------------> (80) |
|12.764 | TCP: iclpv-sc > http [RST, ACK] | Seq=481 Ack=1944857 Win=0 Len=0
| |(1390) ------------------> (80) |
|12.768 | TCP: iclpv-sas > http [SYN] |Seq=0 Win=65535 Len=0 MSS=1460
| |(1391) ------------------> (80) |
|12.773 | TCP: http > iclpv-sas [SYN, ACK] | Seq=0 Ack=1 Win=17520 Len=0 MSS=1460
| |(1391) <------------------ (80) |
|12.773 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1391) ------------------> (80) |
|12.777 | GET /WorldMap.jpg |HTTP: GET /WorldMap.jpg HTTP/1.1
| |(1391) ------------------> (80) |
|16.017 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(1391) ------------------> (80) |
|76.333 | TCP: iclpv-sas > http [RST, ACK] |Seq=881 Ack=4169233 Win=0 Len=0
| |(1391) ------------------> (80) |
69
|Time | 192.168.1.3 |
| | 192.168.1.2 |
|0.081 | TCP: hacl-qs > http [SYN] | Seq=0 Win=65535 Len=0 MSS=1460
| |(1238) ------------------> (80) |
|0.082 | TCP: http > hacl-qs [SYN, ACK] |Seq=0 Ack=1 Win=17520 Len=0 MSS=1460
| |(1238) <------------------ (80) |
|0.083 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1238) ------------------> (80) |
|2.289 | TCP: hacl-qs > http [RST, ACK] | Seq=220 Ack=1710953 Win=0 Len=0
| |(1238) ------------------> (80) |
|2.335 | TCP: nmsd > http [SYN] | Seq=0 Win=65535 Len=0 MSS=1460
| |(1239) ------------------> (80) |
|2.436 | TCP: http > nmsd [SYN, ACK] | Seq=0 Ack=1 Win=17520 Len=0 MSS=1460
| |(1239) <------------------ (80) |
|2.436 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1239) ------------------> (80) |
|37.585 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(1239) ------------------> (80) |
|102.962 | TCP: nmsd > http [RST, ACK] | Seq=535 Ack=1799464 Win=0 Len=0
| |(1239) ------------------> (80) |
|Time | 192.168.1.4 |
| | 192.168.1.2 |
|49.101 | TCP: netarx > http [SYN] |Seq=0 Win=65535 Len=0 MSS=1460
| |(1040) ------------------> (80) |
|49.102 | TCP: http > netarx [SYN, ACK] |Seq=0 Ack=1 Win=17520 Len=0 MSS=1460
| |(1040) <------------------ (80) |
|49.102 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1040) ------------------> (80) |
|50.012 | GET /htmlsample. |HTTP: GET /htmlsample.mpeg HTTP/1.1
| |(1040) ------------------> (80) |
|50.123 | TCP: netarx > http [RST, ACK] |Seq=306 Ack=3361 Win=0 Len=0
| |(1040) ------------------> (80) |
|50.794 | TCP: danf-ak2 > http [SYN] |Seq=0 Win=65535 Len=0 MSS=1460
| |(1041) ------------------> (80) |
|50.955 | TCP: http > danf-ak2 [SYN, ACK] | Seq=0 Ack=1 Win=17520 Len=0 MSS=1460
| |(1041) <------------------ (80) |
|50.955 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(1041) ------------------> (80) |
|56.776 | GET /htmlsample. |HTTP: GET /htmlsample.mpeg HTTP/1.1
| |(1041) ------------------> (80) |
|57.836 | TCP: danf-ak2 > http [RST, ACK] | Seq=417 Ack=350342 Win=0 Len=0
| |(1041) ------------------> (80) |
|58.328 | TCP: afrog > http [SYN] | Seq=0 Win=65535 Len=0 MSS=1460
| |(1042) ------------------> (80) |
|58.398 | TCP: http > afrog [SYN, ACK] | Seq=0 Ack=1 Win=17520 Len=0 MSS=1460
| |(1042) <------------------ (80) |
|58.398 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1042) ------------------> (80) |
|58.403 | GET /htmlsample. |HTTP: GET /htmlsample.mpeg HTTP/1.1
| |(1042) ------------------> (80) |
|58.405 | TCP: afrog > http [RST, ACK] | Seq=501 Ack=1649 Win=0 Len=0
| |(1042) ------------------> (80) |
|58.510 | TCP: boinc-client > http [SYN] | Seq=0 Win=65535 Len=0 MSS=1460
| |(1043) ------------------> (80) |
|58.705 | TCP: http > boinc-client [SYN, ACK] | Seq=0 Ack=1 Win=17520 Len=0 MSS=1460
| |(1043) <------------------ (80) |
|58.706 | GET /htmlsample |HTTP: GET /htmlsample.mpeg HTTP/1.1
| |(1043) ------------------> (80) |
|124.858 | TCP: boinc-client > http [RST, ACK] | Seq=265 Ack=2195035 Win=0 Len=0
| |(1043) ------------------> (80) |
70
|Time | 192.168.1.4 |
| | 192.168.1.2 |
|0.186 | TCP: timbuktu-srv3 > http [SYN] | Seq=0 Win=65535 Len=0 MSS=1460
| |(1419) ------------------> (80) |
|0.188 | TCP: http > timbuktu-srv3 [SYN, ACK] |Seq=0 Ack=1 Win=17520 Len=0 MSS=1460
| |(1419) <------------------ (80) |
|0.188 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1419) ------------------> (80) |
|0.194 | GET /WorldMap.jpg |HTTP: GET /WorldMap.jpg HTTP/1.1
| |(1419) ------------------> (80) |
|2.346 | TCP: timbuktu-srv3 > http [RST, ACK] | Seq=907 Ack=3661081 Win=0 Len=0
| |(1419) ------------------> (80) |
|2.348 | TCP: gandalf-lm > http [SYN] | Seq=0 Win=65535 Len=0 MSS=1460
| |(1421) ------------------> (80) |
|2.349 | TCP: http > gandalf-lm [SYN, ACK] | Seq=0 Ack=1 Win=17520 Len=0 MSS=1460
| |(1421) <------------------ (80) |
|2.352 | GET /WorldMap.jpg |HTTP: GET /WorldMap.jpg HTTP/1.1
| |(1421) ------------------> (80) |
|5.920 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(1421) ------------------> (80) |
|127.776 | TCP: gandalf-lm > http [FIN, ACK] | Seq=1000 Ack=6103598 Win=65535 Len=0
| |(1421) ------------------> (80) |
|127.777 | TCP: http > gandalf-lm [FIN, ACK] | Seq=6103598 Ack=1001 Win=16521 Len=0
| |(1421) <------------------ (80) |
|Time | 192.168.1.3 |
| | 192.168.1.2 |
|22.561 | TCP: ff-annunc > http [SYN] |Seq=0 Win=65535 Len=0 MSS=1460
| |(1089) ------------------> (80) |
|22.562 | TCP: http > ff-annunc [SYN, ACK] |Seq=0 Ack=1 Win=17520 Len=0 MSS=1460
| |(1089) <------------------ (80) |
|22.598 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1089) ------------------> (80) |
|24.293 | TCP: ff-annunc > http [RST, ACK] | Seq=407 Ack=2240513 Win=0 Len=0
| |(1089) ------------------> (80) |
|25.157 | TCP: ff-sm > http [SYN] |Seq=0 Win=65535 Len=0 MSS=1460
| |(1091) ------------------> (80) |
|25.323 | TCP: http > ff-sm [SYN, ACK] | Seq=0 Ack=1 Win=17520 Len=0 MSS=1460
| |(1091) <------------------ (80) |
|25.323 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1091) ------------------> (80) |
|28.794 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(1091) ------------------> (80) |
|151.589 | TCP: ff-sm > http [FIN, ACK] |Seq=958 Ack=3510148 Win=65098 Len=0
| |(1091) ------------------> (80) |
|151.590 | TCP: http > ff-sm [FIN, ACK] | Seq=3510148 Ack=959 Win=16563 Len=0
| |(1091) <------------------ (80) |
71
|Time | 192.168.1.4 |
| | 192.168.1.2 |
|0.198 | TCP: prm-sm-np > http [SYN] | Seq=0 Win=65535 Len=0 MSS=1460
| |(1402) ------------------> (80) |
|0.206 | TCP: http > prm-sm-np [SYN, ACK] | Seq=0 Ack=1 Win=17520 Len=0 MSS=1460
| |(1402) <------------------ (80) |
|0.206 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1402) ------------------> (80) |
|0.212 | GET /htmlsample. |HTTP: GET /htmlsample.mpeg HTTP/1.1
| |(1402) ------------------> (80) |
|3.439 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(1402) ------------------> (80) |
|4.043 | TCP: prm-sm-np > http [RST, ACK] | Seq=1409 Ack=2407071 Win=0 Len=0
| |(1402) ------------------> (80) |
|5.157 | TCP: igi-lm > http [SYN] |Seq=0 Win=65535 Len=0 MSS=1460
| |(1404) ------------------> (80) |
|5.417 | TCP: http > igi-lm [SYN, ACK] | Seq=0 Ack=1 Win=17520 Len=0 MSS=1460
| |(1404) <------------------ (80) |
|5.418 | GET / HTTP/1.1 |HTTP: GET / HTTP/1.1
| |(1404) ------------------> (80) |
|5.936 | GET /htmlsample. |HTTP: GET /htmlsample.mpeg HTTP/1.1
| |(1404) ------------------> (80) |
|6.035 | GET /favicon.ico |HTTP: GET /favicon.ico HTTP/1.1
| |(1404) ------------------> (80) |
|128.609 | TCP: igi-lm > http [FIN, ACK] | Seq=1573 Ack=212834 Win=65535 Len=0
| |(1404) ------------------> (80) |
|128.610 | TCP: http > igi-lm [FIN, ACK] | Seq=212834 Ack=1574 Win=17520 Len=0
| |(1404) <------------------ (80) |
|
72
Master Thesis
Electrical Engineering
Thesis no: MEE 62-28
December 2010
School of Computing
Blekinge Institute of Technology
37179 Karlskrona
Sweden
This thesis is submitted to the School of Computing at Blekinge Institute
of Technology in partial fulfillment of the requirements for the degree of
Master of Science in Electrical Engineering. The thesis is equivalent to 20
weeks of full time studies.
Contact Information
Authors:
University advisor:
i
Acknowledgements
First of all, we would like to thank our advisor Mr.Junaid Shaikh. Without
his generous support and guidance, this thesis work would never have been
finished. We also like to thank Dr. Patrik Arlos for providing his valuable
suggestions and support in the lab.
We are very grateful to our parents for their endless support and prayers.
Md Shafi Kowsar
K Ravi Kumar
ii
Contents
Abstract i
Acknowledgements ii
Contents iii
List of Figures v
List of Tables vi
Introduction 1
1 Introduction 2
1.1 Quality of Service and Quality of Experience . . . . . . . . . 3
1.2 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Document Structure . . . . . . . . . . . . . . . . . . . . . . . 5
Background 6
2 Background 7
2.1 Internet Protocol . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Transmission Control Protocol . . . . . . . . . . . . . . . . . 8
2.3 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Experiment Setup 12
3 Experiment Setup 13
3.1 Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.1.1 Testbed Description: . . . . . . . . . . . . . . . . . . . 13
iii
3.1.2 Traffic Shaper: . . . . . . . . . . . . . . . . . . . . . . 14
3.1.3 Measurement Area Controller (MArC): . . . . . . . . 14
3.1.4 Measurement Point: . . . . . . . . . . . . . . . . . . . 15
3.1.5 Consumer: . . . . . . . . . . . . . . . . . . . . . . . . 15
3.1.6 Users: . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2 Experiment Approach and Configuration: . . . . . . . . . . . 16
3.3 Process involved in the experiment: . . . . . . . . . . . . . . . 17
3.3.1 MArC . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.3.2 Traffic Shaper: . . . . . . . . . . . . . . . . . . . . . . 17
3.3.3 Measurement Point (MP): . . . . . . . . . . . . . . . . 17
3.3.4 Consumer: . . . . . . . . . . . . . . . . . . . . . . . . 18
Results 19
4 Results 20
4.1 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.2 Average download times: . . . . . . . . . . . . . . . . . . . . . 22
4.2.1 Page download times for various network delays: . . . 24
4.3 Relation between network and application-level download times: 28
Appendix 36
A Network Diagram 37
Bibliography 39
iv
List of Figures
1.1 Relation between QoE, QoS, User satisfaction and User actions. 4
v
List of Tables
vi
Introduction
1
Chapter 1
Introduction
2
CHAPTER 1. INTRODUCTION 3
QoS : Network
Performance
QoE : User
User Action
Experience
User Satisfaction
Level
Figure 1.1: Relation between QoE, QoS, User satisfaction and User actions.
1.2 Objective
One of the objectives of this work is to identify the key parameters that
have influence on user perceived performance at application-level and it
can also be measured at network-level. The intention of this work is to
map the network performance metric to application performance metric. In
this study, we analyze how the web page download times at network and
application-level relate to each other when there is a delay in the network.
To achieve this we developed a test bench setup using Distributive Passive
Measurement Infrastructure (DPMI) [1] at Blekinge Institute of Technology
(BTH). Different trends of network delays are applied in different browsing
sessions. Experiments are performed and network-level packets are captured
using DPMI. At the same time the application-level browser logs are noted
to compute the page download time at the user end. Our investigation shows
how the page download time varies at network and user level, when there is
a delay in the network. We tried to correlate the download times at both
levels for various applied delays.
CHAPTER 1. INTRODUCTION 5
6
Chapter 2
Background
7
CHAPTER 2. BACKGROUND 8
0 4 8 15 31
Version H Length Type of Service
Total Length (16 bits)
(4 bits) (4 bits) (8 bits)
D M Fragmentation Offset
Identification (16 bits) R
F F (13 bits)
20 Bytes
Time to Live
Protocol (8 bits) Header Checksum (16 bits)
(8 bits)
Payload
Total length is the length of the datagram including the header and payload.
It is usually measured in octets. Using the header length and total length it
is easy to locate the end of the header and beginning of the payload in the
IP datagram. The maximum size of the IP datagram is 65535 bytes [14]. A
value will be assigned in identification field which is used in the process of
assembling the fragments of a datagram. Identification will assign the value
for the datagram which is used for service precedence. The next field consists
of three flags. The flag R indicates that it is reserved. The flag DF represents
do not fragment and MF represents more fragments. Fragmentation offset
directs the reassembly of the fragmented datagram. Time to Live (TTL)
indicates the life time of the datagram in the network. In our scenario the
TTL for the requests to the Web server is different from the response. The
protocol field indicates the higher layer which is TCP. Header checksum is
used for error checking. The other fields represent the source and destination
IP addresses followed by the actual data or payload.
0 4 8 15 31
Source Port Number (16 bits) Destination Port Number (16 bits)
ACK
H Length Reserved
PSH
SYN
URG
RST
FIN
Window Size (16 bits)
(4 bits) (6 bits)
Payload ( If any )
ets. To capture the TCP packets it is necessary to study the TCP header
and its fields. The filters in the DPMI are designed in such a way that the
packets belongs to the corresponding protocols can be captured. The above
Figure 2.2 represents the TCP datagram header format.
TCP uses port numbers as the way for communication and identifying
particular TCP connection. In the TCP header the first two fields represents
the source and destination port numbers. The sequence number is the first
octet in the packet. If SYN flag is present then the sequence number is
called Initial sequence number (ISN) and the sequence number of first data
byte will become ISN+1. The acknowledge number is the next sequence
number of the packet for which the receiver is expecting. When the three
way handshake succeeds and the connection establishes then the ACK flag
will be turned ON [14]. Header length indicates the length of the TCP
header in 32 bit words. It also describes the starting of the payload. There
are 6 flags in the next field. URG indicates urgent pointer. ACK flag is
for acknowledgement. PSH represents push function. RST is for connection
reset. SYN flag is for synchronising the sequence numbers. FIN represents
no more data from the sender or end of data transmission from the sender.
The other fields are window size and checksum followed by payload.
TCP establishes communication using sockets. A socket consists of
source and destination IP addresses and port numbers. Normally TCP es-
tablishes connection using the sequence number and acknowledgement num-
ber and begins the process with a three way handshake [6]. In this process,
the data is transmitted from the sender and the receiver has to acknowledge
each byte of the data that it receives. In web browsing if the user wants to
terminate the connection, in this case he can stop or refresh the connection.
For which FIN and RST flags will be called which are responsible termina-
CHAPTER 2. BACKGROUND 10
But a similar study in the case of web browsing is not carried out before
which motivated us to work in this area.
A similar work has been done to study the QoE from both the operator
point of view and from the user perspective [15]. This paper investigates
the correlation between the user network-level traffic characteristics to user
perceived performance. Using the test bed setup, the authors evaluated the
relationship between QoE and QoS parameters in a passive measurement
environment. In an operational network, they compared QoE with web
session volumes and derived relationship between QoE session volumes, loss
and throughput.
Work has been performed on the effect of packet loss on TCP traffic.
The authors correlate packet loss with TCP traffic characteristics such as
connection duration, size and inter arrival time. The authors explained that
when packet loss rate increases, then connection becomes shorter and their
inter arrival time increases [5]. They also pointed out that dissatisfaction
of users leads to termination of connection. Aborted connection consumes
network resources and also disturbs the successful connection.
In evaluating traffic characteristics, various types of methods and ap-
proaches have been used to measure the web browsing QoE. Some of the
approaches are subjective in nature. This is done by collecting the user
ratings to evaluate the user perceived performance. In this [16] work it has
been analyzed that the effect of application download times on user QoE
ratings and a mapping has been carried out between these two parameters.
An experimental test bed was developed and users were tested on it in order
to carry out the user QoE evaluation. From the analysis it is found that
pages with higher download times (8 seconds and 6 seconds) were easily
detected by the users thus resulted in low QoE ratings. It is also noted that
the download time should not exceed more than 3 sec.
The above paragraphs describe various works performed related to eval-
uation of Internet traffic. In the present knowledge there is no work which
maps the page download times of Web traffic at both application and network-
level. There is a gap between the application-level and network-level char-
acteristics on which this work is focused. Our research is a continuation of
previous work, which is performed on network-level for Web traffic. This
work describes the correlation between application and network-level per-
formance characteristics. This can be used as a measure to evaluate the
performance of the Web traffic.
Experiment Setup
12
Chapter 3
Experiment Setup
In this chapter, we are going to discuss about the experiment setup and
how the experiments are performed. This includes the experiment setup
i.e. DPMI, the process being performed during the experiment and the tool
involved in analysing the collected traces. We begin with the experiment
setup.
3.1 Design
The main idea in designing the experiment setup is that the users are able
to access the web pages which are generated by the Web server. The basic
block diagram of the experiment setup is shown in the below Figure 3.1.
The client is connected to the server via traffic shaper. The shaper adds the
mentioned delay in the incoming traffic from the server and forwards further
it to the client. A measurement point is connected between the shaper and
server to capture the packets. The Web server is also connected to the
external network to provide the synchronization to all the elements in the
network. Using this setup the client is able to browse the pages generated by
the Web server. The web page download time can be noted at application-
level on client machine. Using the captured packets from the measurement
point the network-level download time can also be computed.
13
CHAPTER 3. EXPERIMENT SETUP 14
Measurement
Point
Input Delay to
Session No of Pages
Traffic Shaper (ms)
1 22 0
2.1 6 0
2.2 6 75
2.3 6 150
2.4 6 310
3.1 6 235
3.2 6 150
3.3 6 75
3.4 6 0
4.1 6 75
4.2 6 150
4.3 6 75
4.4 6 235
which is accessed by the user. The database server (SQL) and apache server
are also installed in this machine. Database server is used to log user and
Web server logging information. MArC provides the GUI to control the
measurement points and also manages MP by supplying filters[1]. The ex-
periment controller manages the remaining elements in the network. MArC
has three interfaces. One of the MArC interface is connected to external
public network. Second interface is connected to the private network in
which user system is connected. The third interface is connected to switch.
MArC acts as DHCP server and it provide private IPs to traffic shaper, MP
and consumer. Also it is connected to Network Time Protocol (NTP)[22]
server so that it will provide timing synchronization to the remaining net-
work elements.
3.1.5 Consumer:
The consumer is a Linux machine which is directly connected to switch. It
is connected to the management network of the setup. Consumer acquires
dynamic private IP and clocking synchronization from the Web server. The
consumer converts the captured packet data into desired form as per the
filters provided or the format specified by the user. The captured traces
from the consumer are stored in a file to analyze further.
3.1.6 Users:
The user computer is a Windows XP SP2 based machine. Mozilla Firefox
[23] version 2.0 browser is installed in the machine to browse the web pages.
The Fasterfox [18] add-on is also installed which is very much used to note
download times. The browser log shows the URL of each web page and the
time stamp. The user machine assigned with private IP and is connected
to one of MArC interface. Meinberg NTP software [21] is also installed
in this machine, which acquires timing synchronization from the MArC.
By running this software the user machine will be in sync with the other
CHAPTER 3. EXPERIMENT SETUP 16
Consumer
HP Swtich
External XPS
Network
network elements in the setup so that the timestamps in all the machines
are accurate.
applied in decreasing fashion i.e. 235 ms, 150 ms, 75 ms and 0 ms. Session
4 delays are applied in alternate fashion. The different levels of delays that
are applied are based on the work done previously in the same area [16]. By
applying the sequence the delays in different fashions it is possible to study
the packet behaviour in both ways.
#/etc/rc.d/dag start 0
#dagthree -d /dev/dag 0 slen=512
#dagpps -d /dev/dag0
#./mp -i dag0 -s eth0
3.3.4 Consumer:
The packets that are captured by the DAG cards in MP are transferred
to consumer for filtering. Consumer filters the captured data and provides
desired output based on the input parameters for further analysis [1]. The
filtering can be done based on interface number, protocol and number of
packets etc. Consumer needs to be in sync with the NTP server so that
it receives the packets at the correct timestamps. The filtered packets are
stored in a .cap file which further needs to be converted into a text for
analysis. The following are the commands used in the consumer.
19
Chapter 4
Results
4.1 Analysis
The MP is placed between the traffic shaper and Web server. The MP
can capture the packets in both the directions i.e. from Web server to
the user and vice versa. The consumer converts the captured packets into
readable form. A sample of network packet traces that are collected from
the consumer is shown in the below Figure 4.1.1.
[6438]:dag00:mp1276:1271853108.372617900250:LINK(1514):CAPLEN
( 512):IP(HDR[20])[Len=1500:ID=22083:TTL=64:Chk=51208:DF
Tos:0]: TCP(HDR[20]DATA[5b4]): [A] 10.0.1.1:80 -->
10.0.1.208:4542 PL:5BA73D850ED1A9209E41EFD28B0D304618FBA1
[6439]:dag01:mp1276:1271853108.372851252500:LINK( 60):CAPLEN
( 512):IP(HDR[20])[Len=40:ID=1791:TTL=128:Chk=56576:DF
Tos:0]: TCP(HDR[20]DATA[0]): [A] 10.0.1.208:4542 -->
10.0.1.1:80 PL:0000000000005EBF5F4B000000000000000000
[6440]:dag00:mp1276:1271853108.372740924250:LINK(1514):CAPLEN
( 512):IP(HDR[20])[Len=1500:ID=22084:TTL=64:Chk=51207:DF
Tos:0]: TCP(HDR[20]DATA[5b4]): [A] 10.0.1.1:80 -->
10.0.1.208:4542 PL:E15D3EE2095A681D7119117940655BB1E7B75A
[6441]:dag01:mp1276:1271853108.372930824750:LINK(60):CAPLEN
( 512):IP(HDR[20])[Len=40:ID=1796:TTL=128:Chk=56571:DF
Tos:0]: TCP(HDR[20]DATA[0]): [A]10.0.1.208:4542 -->
10.0.1.1:80 PL:00000000000064BC9623000000000000000000
20
CHAPTER 4. RESULTS 21
Input Delay to
Session NW AVG DT (sec) APP AVG DT (sec)
Traffic Shaper (ms)
1 0 0.33 0.38
2.1 0 0.38 0.44
2.2 75 2.35 2.46
2.3 150 4.52 4.69
2.4 310 8.78 9.09
3.1 235 7.17 7.45
3.2 150 4.73 4.92
3.3 75 2.37 2.48
3.4 0 0.42 0.47
4.1 75 2.43 2.53
4.2 150 4.71 4.88
4.3 75 2.48 2.59
4.4 235 5.63 5.85
14 Min NW DT
Avg NW DT
Max NW DT
12
Download Time [sec]
10
0
0 10 20 30 40 50 60 70 80 90
Page Number
14 Min APP DT
Avg APP DT
Max APP DT
12
Download Time [sec]
10
0
0 10 20 30 40 50 60 70 80 90
Page Number
0.8
NW Avg DT
0.7 App Avg DT
0.6
Download Time [sec]
0.5
0.4
0.3
0.2
0.1
0
0 2 4 6 8 10 12 14 16 18 20
User
To study the behaviour of the page download times for the entire experi-
ment, the download time is calculated for each page for all the users and the
graphs are drawn. Figure 4.1 shows the average network-level page down-
load time for the entire experiment. From the figure the download time for
the first 28 pages is less as there is no delay is applied to the traffic shaper.
Page 23 has slightly more delay when compared to other pages within the
same session. The minimum, average and maximum values are depicted for
each page. A similar plot has been drawn for application-level download
times which are shown in Figure 4.2. For session 2.4, delay of 310 ms is
applied due to which it has maximum download time among other sessions.
3.3 NW Avg DT
App Avg DT
3
Download Time [sec]
2.7
2.4
2.1
1.8
1.5
0 2 4 6 8 10 12 14 16 18 20
User
6
NW Avg DT
APP Avg DT
5.5
Download Time [sec]
4.5
3.5
3
0 2 4 6 8 10 12 14 16 18 20
User
Figure 4.5: Network and Application-level average download times for 150
ms delay
CHAPTER 4. RESULTS 26
8
NW Avg DT
APP Avg DT
7.5
Download Time [sec]
6.5
5.5
5
0 2 4 6 8 10 12 14 16 18 20
User
Figure 4.6: Network and Application-level average download times for 235
ms delay
12
NW Avg DT
APP Avg DT
11
Download Time [sec]
10
6
0 2 4 6 8 10 12 14 16 18 20
User
Figure 4.7: Network and Application-level average download times for 310
ms delay
CHAPTER 4. RESULTS 27
in the range of 2.3 sec to 2.55 sec. Similarly the page download times at
application-level are between 2.4 sec to 2.7 sec. It is clear that even though
the web pages are same for all the users but the page download time varies
from user to user. We have also applied a network delay 150 ms, 235 ms
and 310 ms and these delays are applied in different fashions i.e. increment
and decrement mode. Figure 4.5 describes the response of page download
time of the users for 150 ms network delay. It obviously shows that the
download time of pages is more than that of previous cases due to more
amount of delay that is applied at the traffic shaper. Similarly the Figure
4.6 and Figure 4.7 shows the response of page download time for different
users at both network and application-level for an applied delay of 235 ms
and 310 ms respectively.
The average download time that is shown in the Table 4.2 is calculated
by taking all the 94 pages that are browsed during the experiment. These
values are calculated by considering average of all the 20 users. The first
and second column represents the page number and session number. The
third is the delay that is applied using the traffic shaper. Fourth and fifth
columns are network-level average download time (NW AVG DT) and stan-
dard deviation (NW DT STD) for all the users. Similarly sixth and seventh
columns represents the application-level page download time (APP AVG
DT) and its standard deviation (APP DT STD). From the table it can be
noted that for some web pages the standard deviation is more than other
web pages like page number 35, 41, 42 and 43 etc. This is due to the fact
that if the download time for one of the user is more than normal time, then
it will increase the standard deviation of that particular page. The same is
shown in both network as well as application-level.
Table 4.2: Calculated download times per page
Input Delay to
Page No Session NW AVG DT (sec) NW DT STD APP AVG DT (sec) APP DT STD
Traffic Shaper (ms)
1 1 0 0.35 0.126 0.43 0.19
2 1 0 0.37 0.023 0.41 0.03
3 1 0 0.34 0.026 0.40 0.027
4 1 0 0.31 0.007 0.37 0.009
5 1 0 0.32 0.008 0.37 0.007
6 1 0 0.31 0.014 0.36 0.011
CHAPTER 4. RESULTS
10
NW AVG DT
9 APP AVG DT
8
page download time [sec]
7
0
0 75 150 225 300
Delay [ms]
Figure 4.8: Average Network and Application download times for different
delays
download times and delay. It shows how network and application download
time values are close to each other. From the graph it clear that as the input
delay to the traffic shaper increases the difference between network and ap-
plication download times increases. The more the delay in the transmission
network the greater is the difference between application and network-level
download times. In real time networks, the Web traffic may experience
latency or delay during the transmission. Due to which the service per-
formance degrades. For the network providers, it is difficult to predict the
service performance from the user end. The network service providers have
access only to their network elements and they can measure the performance
at network level. So to bridge the gap, we measure the page download time
at both network and application level. We correlated both download times
and derived a possible expression. The importance of this study is using
this expression, the network operators can predict the behaviour of the user
perceived performance by measuring parameters (download time) at net-
work level. Using the computed values from Table 4.3, the network-level
and application-level average download times can be written as
0.05 sec for 0 ms applied delay
0.1 sec for 100 ms applied delay
where tavg =
0.2 sec for 200 ms applied delay
0.3 sec for 300 ms applied delay
The regression results are shown in Table 4.4. The table shows all the
four linear, logarithmic, exponential and power regressions. The linear re-
gression is strong among the others with coefficient of correlation of +0.996.
Hence we conclude that both network and application-level download times
are linearly correlated to each other.
Conclusions and Future
Work
34
Chapter 5
5.1 Conclusions
This thesis describes the performance measurements of web page download
times at application as well as network-level. In this work, we presented
the effect of delay on page download times and investigated the correla-
tions between the network and application download times. On one side
we measured the application-level download time using the browser log and
on the other side at network-level calculated the download time using the
captured packet traces. We investigated and shown that as the delay in-
creases, the page download time gap between network and application-level
increases and derived a possible relation. We mapped both the levels of
download times and shown that that they are linearly related to each other
and calculated the coefficient of correlation. Using these expressions and
network-level download times, we can evaluate application perceived down-
load times. This relation can also be used as a measure for service providers
in computing the performance of the Web traffic.
35
Appendix
36
Appendix A
Network Diagram
37
APPENDIX A. NETWORK DIAGRAM 38
Consumer
eth-1
10.0.0.214
HP Pro Curve
Switch
eth-0 eth-0
eth-0 10.0.0.243 10.0.0.1
10.0.1.208 10.0.0.215
eth-2
eth-2 eth-1 B if-0 B if-1 194.47.148.77 External XPS
eth-1 Network
10.0.1.1
[1] Patrik Arlos, Markus Fiedler, and Arne A. Nilsson. A distributed pas-
sive measurement infrastructure. In PAM2005, pages 215227, 2005.
[2] Yogesh Bhole and Adrian Popescu. Measurement and analysis of http
traffic. Journal of Network and Systems Management, 13:357371,
2005. 10.1007/s10922-005-9000-y.
[3] P. Calyam, D. Krymskiy, M. Sridharan, and P. Schopis. Active and
passive measurements on campus, regional and national network back-
bone paths. In Computer Communications and Networks, 2005. ICCCN
2005. Proceedings. 14th International Conference on, pages 537 542,
2005.
[4] Y. C. Chehadeh, A. Z. Hatahet, A. E. Agamy, M. A. Bamakhrama,
and S. A. Banawan. Investigating distribution of data of http traffic:
An empirical study. In Innovations in Information Technology, 2006,
pages 1 5, 2006.
[5] Denis Collange and Jean-Laurent Costeux. Correlation of packet losses
with some traffic characteristics. In Steve Uhlig, Konstantina Papa-
giannaki, and Olivier Bonaventure, editors, Passive and Active Network
Measurement, volume 4427 of Lecture Notes in Computer Science, pages
233236. Springer Berlin / Heidelberg, 2007. 10.1007/978-3-540-71617-
425.
[6] I. Din and N.A. Saqib. Passive packet loss detection and its effect
on web traffic characteristics. In Computer and Electrical Engineering,
2008. ICCEE 2008. International Conference on, pages 729 733, 2008.
[7] I. Din, N.A. Saqib, and A. Baig. Passive analysis of web traffic charac-
teristics for estimating quality of experience. In GLOBECOM Work-
shops, 2008 IEEE, 30 2008.
[8] J. Garcia, P. Hurtig, and A. Brunstrom. The effect of packet loss on the
response times of web services. In Proceedings 3rd International Con-
ference on Web Information Systems and Technologies (WebIST2007),
Barcelona, Spain, March 2007.
39
BIBLIOGRAPHY 40
[20] Larry Wall. The perl programming language, [Online; Verified Novem-
ber 2010] Available:. http://www.perl.org.
[23] Mozilla Firefox Web Browser, [Online; Verified November 2010] Avail-
able:. http://www.mozilla-europe.org/en/firefox/.
School of Computing
Blekinge Institute of Technology
37179 Karlskrona
Sweden
This thesis is submitted to the School of Computing at Blekinge Institute
of Technology in partial fulfillment of the requirements for the degree of
Master of Science in Electrical Engineering. The thesis is equivalent to 28
weeks of full time studies.
Contact Information
Authors:
Chaitanya Sindhu Sontyana
Kiran Kishore Isukapatla
E-mail: chaitu415@gmail.com, ikkiran@aol.com
University advisor(s):
Over the years, there has been an exponential increase in the capabilities
of networks, evolving from wired networks to wireless, and finally moving
towards 4G networks. This evolution has brought forth many ways in which
a user can access any service, particularly accessing the Internet. From
emailing and social networking to file transferring, users are on a constant
venture to exploit the advantages as much as possible. Predictions show
that the demand will only increase with increasing number of mobile de-
vices and subscribers. It becomes more clear that there will be rapid growth
in the demand for more energy-efficient mobile devices. However, due to
relatively slow increase in the battery technologies, the mobile users expec-
tations were not being met. This thesis highlights few interesting points
on the energy consumptions by the most common Internet browsing tasks.
It then presents the measurements of energy consumption on using various
network connection technologies namely Ethernet, Wi-Fi and 3G to access
the Internet. The obtained data from the experiments were then analyzed
to arrive at an idea on the difference in energy consumptions across various
browsing tasks and access technologies. Later, it involves a survey through
which critical observations with respect to power efficiency and QoE are
collected. The study concludes with a picture that would help users have an
insight on the technologies that they may wish to choose to connect to the
Internet. It helps manufacturers understand and consider the affect of an
interface on the power consumption. It also helps researchers bring better
solutions of designing the network interfaces. The aim would be to reduce
the energy consumption by the product components rather than struggling
to design powerful batteries to meet the increasing power demands from the
network components. A wise choice of networking technologies is or what is
may be required to gain better energy efficiency.
i
Acknowledgment
First of all, we would like to thank our supervisor, Mr. Junaid Junaid for
his valuable guidance and patience throughout the course of our Thesis. We
would also like to thank Prof. Markus Fielder for his support in providing
literature material and equipment for experiments. We would also like to
thank our parents for their ever present support. Lastly, we offer our sincere
thanks to all of our friends for their valuable contributions.
ii
Contents
Abstract i
Acknowledgment ii
Contents iii
List of Figures v
List of Tables vi
Introduction 1
1 Problem Identification 2
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Objective of this thesis . . . . . . . . . . . . . . . . . . . . . . 2
1.4 Research Questions . . . . . . . . . . . . . . . . . . . . . . . . 3
1.5 Research Methodology . . . . . . . . . . . . . . . . . . . . . . 3
1.6 Thesis Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Analysis 5
2 Related Study 6
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Network Technologies . . . . . . . . . . . . . . . . . . . . . . 6
2.2.1 Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.2 Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.3 3G . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Energy Efficient Technology Proposals . . . . . . . . . . . . . 7
iii
2.4 Battery Development . . . . . . . . . . . . . . . . . . . . . . . 8
2.5 Customer Perspectives . . . . . . . . . . . . . . . . . . . . . . 9
2.6 QoE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.6.1 QoE Factors . . . . . . . . . . . . . . . . . . . . . . . 9
2.6.2 User groups and Tasks . . . . . . . . . . . . . . . . . . 10
Implementation 12
3 Implementation 13
3.1 Experimental Setup . . . . . . . . . . . . . . . . . . . . . . . 13
3.1.1 Configuration and Settings . . . . . . . . . . . . . . . 13
3.1.2 Network Types . . . . . . . . . . . . . . . . . . . . . . 14
3.1.3 Browsing Tasks . . . . . . . . . . . . . . . . . . . . . . 14
3.2 Trial Flowchart . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.3 Parameters and Software Tools . . . . . . . . . . . . . . . . . 15
3.3.1 Parameters . . . . . . . . . . . . . . . . . . . . . . . . 15
3.3.2 Software Tools . . . . . . . . . . . . . . . . . . . . . . 17
3.4 Survey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Results 21
4 Results 22
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.2 Energy Consumption Comparison - Time Based . . . . . . . . 22
4.2.1 Idle Mode . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.2.2 Browsing Tasks . . . . . . . . . . . . . . . . . . . . . . 24
4.3 Survey Results . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5 Conclusions 33
5.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.2 Future Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Appendix 35
Bibliography 54
iv
List of Figures
v
List of Tables
vi
A.26 Upload:Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . 49
vii
Introduction
1
Chapter 1
Problem Identification
1.1 Introduction
Networking through mobile devices like laptops is in enormous use in the
recent years. It has become more of a necessity than as an accessory as
there is an increase in the diversification in the types of services provided.
This diversification of services coupled with the diversification of networks
themselves have opened up unlimited opportunities to the mobile user which
he/she could exploit to the maximum advantage.
1.2 Background
With the rise in mobile networking should be rise in the number of mobile
devices and power to them. However, advancements in battery technologies
havent been showing the same type of success [1]. Particularly where mobile
devices are concerned, constraints such as limited size, low heat dissipation,
increasing mobile device capabilities have been showing more pressure on
the chemists to develop better batteries [2]. This is more evident in the
most commonly used mobile devices such as laptops and smart phones [3].
They are not anymore mere low-computational mobile devices but are with
extreme capabilities of processing and networking with the ability to access
almost any type of network. However, they are on a constant look for power
to go on and continue to stay on. From here, comes the need to study the
energy consumption levels in mobile devices due to different network con-
nections and correlate with Quality of Experience (QoE) to see the impacts.
2
CHAPTER 1. PROBLEM IDENTIFICATION 3
has been the main motive towards this thesis. The research helps developing
a better understanding for device manufacturers and more importantly to
mobile networking devices users to make a choice in preferring a network
connection technology. It is now known that the current host-centric mobile
networking paradigm is based on always-on end-to-end connectivity which
leads to energy inefficiency. To conclude, the article introduces some useful
information on networking choices and highlights few open research issues
in the selection of energy efficient future network architectures.
2. If the answer to the above question is yes, what is the affect and to
what degree?
4. If the answer to the previous question is yes, are there some interesting
observations?
5. Are there any important factors considered by users that affect QoE
in choosing a network?
5
Chapter 2
Related Study
2.1 Introduction
In this chapter, the most familiar types of networks are listed with their
supported speeds. Since every type of network has several different energy
efficient technology implementation proposals, a few of them are listed later
in the chapter. Following this, current battery technologies and limitations
were shown. Finally, the chapter concludes with a brief discussion about the
various critical QoE parameters of the Internet.
2.2.1 Ethernet
An Ethernet LAN typically uses coaxial cable or special types of twisted pair
wires. The most commonly used Ethernet systems are known as 10BASE-T
with transmission speeds up to 10 Mbps. Fast Ethernet or 100BASE-T have
transmission speeds of up-to 100 megabits per second. Gigabit Ethernet is
a transmission technology based on the Ethernet that provides a data rate
of 1 billion bits per second.
2.2.2 Wi-Fi
Wi-Fi is the name for the wireless Ethernet 802.11b standard for WLANs. It
supports data rates of up-to 11 Mbps within distances of up-to 150 meters.
6
CHAPTER 2. RELATED STUDY 7
The maximum rate for Wi-Fi (11 Mbps) can only be achieved within a
certain range of the transmitter.
2.2.3 3G
3G is a wireless technology with data rates from 384 Kbps up to 2Mbps,
although most commercial deployments are only expected to offer data rates
of 100Kbps in practice. There are various implementations in 3G like UMTS
and HSDPA which support higher data rates which may reach up-to 14.0
Mbps. Further increases in speed is available with HSPA+, which provides
speeds of up to 42 Mbps down-link and 84 Mbps.
Power density
One of main concerns, power density, was a huge limitation in Lithium
Ion battery technology in the 90s. Though the technology has drastically
changed the way the Lithium Ion batteries are constructed in current times,
constant demand from the users for more power kept demanding for more
and more with no specific satisfactory levels to be met. As the current capac-
ities have not been able to provide such demands, we can say that the Power
density is one of the factors restricting the vendors from manufacturing such
batteries.
Contingencies
Users have been growing continuously with constant rise of expectations for
long performance time intervals without self discharge and multiple years of
service before any replacement. In respect to these demands, Lithium-ion
CHAPTER 2. RELATED STUDY 9
Cost
The cost effectiveness, durability and environmental friendly nature of the
lithium-ion batteries made them a very popular choice for portable power.
However, th limitations on their cell sizes, relatively expensive accessories
and an up-front cost might be daunting for an average consumer.
2.6 QoE
Quality of Experience (QoE) has been defined as an extension
of the traditional quality of service (QoS) in the sense that QoE
provides information regarding the delivered services from an
end-user point of view.[19]
[20]. Taking this weight-capacity relationship into account, few critical QoE
factors were considered.
Accessibility
Since most of the mobile devices (laptops, etc) these days have more than
one network interface, the accessibility will vary over different interfaces for
a particular user. If accessibility between two wireless technologies such as
Wi-Fi hot spots and 3G networks are compared, then there coverage area
has to be taken into picture. As the coverage area of a Wi-Fi hot spot is
less than that of a 3G network, user has greater mobility in 3G compared
to that in Wi-Fi. However, for a fixed broadband, accessibility cannot be
considered since it is a wireless QoE factor [21]. When the weight-capacity
relationship is taken into context, mobility is going to be affected which is
more in the case of 3G than Wi-Fi. Therefore itll be worthwhile to know
how important accessibility is to particular user based on his daily usage.
Instantaneity
Instantaneity deals with the duration in which data is transferred and re-
ceived [21]. How long was the duration of a particular session, and how
much time did it take to establish a connection. The survey showed that
mobile broadband users have 14% lesser satisfaction level in web browsing
activity than fixed broadband users due to many factors such as slower web-
page loading [22]. In the context of weight-capacity relationship, Since a
user can only browse for a limited period (due to limited capacities), speed
of a particular network can be a crucial factor which determines how much
time does a user browse the internet.
Integrity
Integrity deals with the success rate with which the data is transferred from
one end to the other [21]. In the case of video streaming, success rate
is a crucial factor because multimedia coding is highly correlated to the
effects of loss on the perceived QoS [23]. As a result, comparing the energy
consumptions of same quality videos on different types of networks will yield
useful observations. Cost was also considered in the study as it is one among
the crucial factors in choosing a type of network.
12
Chapter 3
Implementation
For this experiment, Packard Bell-EasyNote TJ75 was used with spe-
cific processing and networking configurations as mentioned in Table 3.1.
Therefore, the energy consumptions of the tasks are specific to these spe-
cific configurations and settings. It should be noted that the experiment was
conducted on a new laptop which eliminates any negative effects that might
occur with older or outdated equipment such as operational and battery
conditions. All the trials of the experiment were conducted on Windows 7
balanced power plan which regulates the energy consumption on the bat-
tery accordingly. However, in order to maintain a balance between the
energy consumption of the screen and proper browsing experience, medium
brightness level was chosen throughout the experiment. All the trials of the
experiment were conducted on Firefox browser[?]. Browser preferences such
as browser.cache.memory.enable and browser.cache.disk.enable were set to
13
CHAPTER 3. IMPLEMENTATION 14
Table 3.2: Types of networks and corresponding ISPs with network speeds
Network Type ISP Speed
Ethernet BAHNHOF AB, Downlink: 95 Mbps and Up-
SUNET/NORDUnet link: 24 Mbps
Wi-Fi BAHNHOF AB, Downlink: 10 Mbps and Up-
SUNET/NORDUnet link: 9 Mbps
3G Telenor Downlink:2 - 5 Mbps and Up-
link: 0.35 Mbps
1. Idle Mode task: In this task, the trial was conducted without con-
ducting the browsing tasks. Only the battery tools and OS applica-
tions were running in the background to see how much energy was
consumed by these processes alone.
CHAPTER 3. IMPLEMENTATION 15
2. Gmail: Login into the account, read the first mail, reply to an email,
logout.
3. YouTube 360p: Paste the link in address bar and press enter, watch
the video in full-screen mode at 360p resolution.
4. YouTube 720p: Paste the link in the address bar and press enter, select
the HD resolution of 720p, watch the video in full-screen mode.
5. Online game: Paste the link in the address bar and press enter, play
the game for the given duration and stop.
6. Download: Paste the link in the address bar and press enter, download
the file for the given duration and stop.
7. Upload: Paste the link in the address bar and press enter, upload the
file for the given duration and stop.
Figure 3.2: Charging and Discharging of the Battery with Time in Terms
of Voltage
BatteryCare V0.9.8
An other software called BatteryCare was used as a backup for verifying
values of the parameters with that of the BatteryMon during the trials[33].
A sample file with the information from this software can be seen in Fig 3.6.
CHAPTER 3. IMPLEMENTATION 20
Speed Test
www.speedtest.net [34] website was used to calculate both the up-link and
down-link speeds. The website was used either before or after a trial. The
purpose of noting the up-link and down-link speeds was to see whether they
had any effect on the energy consumption during a particular task on a
particular interface.
MS Excel
MS Excel was used for plotting the discharge rate curves, energy consump-
tions for particular tasks for a particular interface by importing the raw data
from the log files generated by BatteryMon.
3.4 Survey
An on-line survey was conducted on www.surveymonkey.com with 63 on-line
participants. All types of user groups are targeted in the survey. They are
all laptop users and belonging to various proffesions ranging from students
to employees. The QoE section was framed using the most important quality
parameters in the context of network access [35]. Following are the questions
posed to the users through the Survey:
6. Battery Backup: How much time does the participants battery last.
21
Chapter 4
Results
4.1 Introduction
The results from the experiments conducted are discussed and analyzed in
this chapter. Energy consumption using different interfaces in mode as well
as by running all the browsing tasks are listed and explained in the following
sections. The chapter also contains results from a survey that was conducted
on-line with 63 participants.
However, mere power ON state of the network interface alone has caused
a difference in the usage. This can be observed from the fig 4.2. If turning
ON of the network interface (without using it) had no effect on the energy
consumption in the idle state, the discharges rates should have been similar
in all cases. Hence our first and foremost critical observation is that the
USB network interface causes the highest energy consumption even when it
is not being used for network access. Of the three interfaces that we have
experimented on, the wired interface causes the least energy consumption
when it is on,followed by Wi-Fi as observed in fig 4.2.
22
CHAPTER 4. RESULTS 23
Ethernet
From Fig 4.3, it may be observed that the YouTube 720p task is the high-
est energy consuming browsing task. After YouTube 720p, it was YouTube
360p which consumed higher energy followed by Online gaming. This is
followed by Gmail and Upload tasks while Download task consumed the
least. It should be observed in the figure that there is another lower energy
consumption of all which is when the computer is at Idle state. This is
obvious as there are no browsing tasks running at this stage and therefore,
the network interface is not used to send or receive any data.
Wi-Fi
From Fig 4.4, it may be observed that the YouTube task running at 720p
resolution has caused the highest discharge. After YouTube 720p, it was
CHAPTER 4. RESULTS 25
YouTube 360p which has caused higher discharge followed by online gam-
ing. The upload task has caused relatively lesser discharge than online
gaming. The lowest discharge was during Download task followed by Gmail
access. Even though the value of energy consumptions of download and idle
mode are equal, download task has higher standard deviation than that of
idle mode which may be seen in tables A.7 and A.22. Therefore, it could be
concluded that download task does consume more energy than the idle mode.
3G
From Fig 4.5, it can be observed that online game, YouTube 360 and
YouTube 720 caused the highest discharge rate. The upload task has caused
relatively lesser discharge than online gaming. The lowest discharge was
during Download task followed by Gmail access. From these results, it is
observed that the graphic rich tasks have always caused highest discharge
rates in all the network types.
Overall Comparisons
From the energy consumptions figures that were obtained during various
browsing tasks, it was found that graphic-rich tasks have the highest con-
CHAPTER 4. RESULTS 26
sumption rate. It was seen that in every interface and in each experiment,
YouTube 720p, YouTube 360p and online games were causing more dis-
charge of the battery. The least energy consumption state with each inter-
face turned on is the Idle state. Other tasks that consumed lesser energy
are Gmail, Download and Upload tasks on the Internet. It can be observed
from the figure that the order of energy consumptions by various tasks has
almost remained the same across interfaces.
Speaking about the interfaces alone, it can be concluded that 3G is the
highest power consuming network interface followed by Wi-Fi. The least
energy consuming network interface has proven to be Ethernet. This can
also be observed in the Fig 4.6. This is for overall picture.
Usage
From the survey conducted as seen in Fig 4.7, it was determined that Wi-Fi
networks are most commonly used networks. This is followed by Ethernet.
The least number of users are connected through 3G for Internet connectiv-
ity.
Preference
As the Fig 4.8 shows, it was found that most of the users prefer to use
wireless network technologies to wired networks. Among Wi-Fi and 3G, the
later is of greater preference. This is a finding from the survey where a small
percentage of users who are currently on Wi-Fi prefer to use 3G. This can
be clearly attributed to the mobility factor that these technologies has to
offer.
A comparison between current usage and network preferences can be ob-
served in Table 4.1. It should be noted that most of the participants of the
survey were familiar to all types of networks. Therefore, each participant
was asked about the level of usage/preference for each type of network, based
CHAPTER 4. RESULTS 28
on their daily internet activity. It ranges from Never Used to Always. The
values in the Table 4.1 therefore shows the percentage of the entire survey
group for each type of network. The % Change column shows the difference
between usage and preference which indicates the demand of a network type.
Quality Parameters
From Fig 4.9, it has also been found from the survey that speed and avail-
ability of a network are two very important parameters that users look for
while choosing a network. These are followed by ease of access and cost of
accessing a network . The order of preference for various quality parameters
considered while choosing a network can be found from Table 4.2.
CHAPTER 4. RESULTS 30
Willingness
From Fig 4.10, One of the interesting finding from the survey was that many
users are willing to use an other type of network if it consumes lesser energy.
The percentage of users in this category is as high as 65%.
Browsing Time
From the survey result shown in Fig 4.11, it was found that almost 50% of
the users would use the Internet for more than 4 hours. This is on battery
power on any given day.
Battery Backup
It was also found as Fig 4.12 shows, that very less number of users get a
battery backup of more than 4 hours. Clearly, it is observed that most users
would like to have more battery backup. Various browsing time and battery
backup times can be seen from Table 4.2. This clearly shows that only 16%
of the users get a satisfactory battery backup.
CHAPTER 4. RESULTS 31
Battery Upgradation
It is very interesting to observe from Fig 4.13, that almost 80% of users are
considering battery up-gradation. This is due to higher browsing times and
low battery backups as seen earlier.
Chapter 5
Conclusions
5.1 Conclusion
In this thesis work we have analyzed the effect of various network types on
the energy consumption in laptops. The behavior of the battery is studied
and analyzed in various scenarios including different browsing tasks. Later
a survey was conducted for QoE ratings and a mapping has been carried
out with the results from the experiments. An experimental test-bed was
developed and the energy consumption was observed using Ethernet, Wi-Fi
and 3G to connect to the Internet.
It was found from the survey that as much as 20.6 % increase in the
preference of 3G users from Ethernet and Wi-Fi if the network provision is
available. This can be attributed to the mobility factor with 3G connec-
tions. However, few users from this group might as well look for a speedy
connection and lower power consumption. As it is already known, 3G has
the highest power consumption and not so high network speeds compared
to Ethernet and Wi-Fi. The worst impact will be on users who are willing
to move towards 3G networks and are prepared to use services such as video
33
CHAPTER 5. CONCLUSIONS 34
streaming sites like YouTube which have diverse applications to all types of
users ranging from vlogging to on-line classes.
35
Appendix A
36
APPENDIX A. EXPERMENTS AND RESULTS DATA 37
54
BIBLIOGRAPHY 55
[12] Tao Zhang, S. Madhani, P. Gurung, and E. van den Berg. Reducing
Energy Consumption on Mobile Devices with WiFi Interfaces. In Global
Telecommunications Conference, 2005. GLOBECOM 05. IEEE, 2005.
[13] Ronny Krashinsky and Hari Balakrishnan. Minimizing Energy for Wire-
less Web Access with Bounded Slowdown. In Proceedings of the 8th
Annual International Conference on Mobile Computing and Network-
ing.
[16] Eugene Shih, Paramvir Bahl, and Michael J. Sinclair. Wake on Wireless:
An Event Driven Energy Saving Strategy for Battery Operated Devices.
In Proceedings of the 8th Annual International Conference on Mobile
Computing and Networking.
[21] Yu Du, Wen an Zhou, Bao fu Chen, and Jun de Song. A QoE Based
Evaluation of Service Quality in Wireless Communication Network. In
New Trends in Information and Service Science, 2009. NISS 09. In-
ternational Conference on, 30 2009.
[23] Pablo Belzarena Pedro Casas and Sandrine Vaton. End-2-End Evalu-
ation of IP Multimedia Services, a User Perceived Quality of Service
Approach. In 18th ITC Specialist Seminar on Quality of Experience,
May 2008.
http://www.aps.org/policy/reports/popa-reports/energy/
units.cfm.
[35] Young-Min Key, Jung-A Kwon, Inkyu Lee, Sang-Chul Han, and
Jee Hyung Lee. The Economic Value of User-Controllable Internet
Speed Service. In Advanced Communication Technology, The 9th In-
ternational Conference on, volume 1, pages 331 336, 2007.
Master Thesis
Electrical Engineering
Thesis no: MSC-2010-XXX
December 2010
School of Computing
Blekinge Institute of Technology
37179 Karlskrona
Sweden
This thesis is submitted to the School of Computing at Blekinge Institute
of Technology in partial fulfillment of the requirements for the degree of
Master of Science in Electrical Engineering. The thesis is equivalent to 20
weeks of full time studies.
Contact Information
Author:
Oziel Alejandro Gonzalez Lagunas
E-mail: ozielglez@gmail.com
University advisor(s):
Examiner
Dr Patrik Arlos
School of Computing
i
ii
Acknowledgements
I would like to thank my supervisor, Tahir Nawas Minhas, for his advice,
feedback and suggestions through the development of this work. I would
also like to extent my gratitude to Dr Patrik Arlos for his guidance.
I am grateful to all the people who participated filling in questionnaires.
Thanks to Dele for his inputs in early stages of this project.
I devote this thesis to my family. Thanks for their love, support and
encouragement. Special thanks to Sebastian, for his support, feedback and
putting up with my antisocial writing habits.
This work was partly funded with a scholarship granted from the State
Government of Veracruz, Mexico.
iii
iv
Contents
Abstract i
Acknowledgements iii
Contents iv
1 Introduction 1
2 Background 3
2.1 Key Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.1 Video coding . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.2 Video Transmission . . . . . . . . . . . . . . . . . . . 4
2.1.3 Emulation . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.4 Quality of Video . . . . . . . . . . . . . . . . . . . . . 6
2.2 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
v
4 Results and Discussion 23
4.1 Packet loss . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.2 Delay variation . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.3 Mobile phone and laptop . . . . . . . . . . . . . . . . . . . . . 31
4.4 Validity Threats . . . . . . . . . . . . . . . . . . . . . . . . . 34
5 Conclusion 35
Bibliography 37
B Assessment material 47
B.1 Set of videos for the subjective assessment . . . . . . . . . . . 47
B.2 Questionnaire for the assessment session . . . . . . . . . . . . 47
vi
List of Figures
B.1 Questionnaire . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
B.2 Questionnaire . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
B.3 Questionnaire . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
B.4 Questionnaire . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
vii
viii
List of Tables
ix
Chapter 1
Introduction
1
2 CHAPTER 1. INTRODUCTION
Background
3
4 CHAPTER 2. BACKGROUND
it also affects the distortion sensitivity to packet loss and delay [16]. For
example, if we increase the distance between reference frames when encod-
ing, the compression ratio is bigger; on the other hand the effect of error
propagation due to packet loss also increases as less reference frames are
transmitted.
The H.264 codec has different profiles depending on the application that
will use the encoded video and depends on the complexity of the algorithms
that are applied to compress the video. These profiles were created to specify
the requirements for the equipment that will encode and decode the video.
Each profile has some variations in the algorithm that compresses the video,
as the computing capabilities differ. The most extended profiles are the
baseline profile that includes support for I-P-frames as is used for limited
capability devices such as mobile phones. The main and extended profiles
that support I-P-B frames are mainly used for video storage and television
broadcasting [27].
The profiles are divided in levels indicating the limits of parameters
such as sample processing rate, picture size, coded bit rate and memory
requirements [27]. Using these profiles and levels it is easier in the industry to
understand what are the requirements of the equipments to encode/decode
the video.
media streaming include the Transport Control Protocol (TCP) and Uni-
versal Datagram Protocol (UDP). TCP uses retransmission and flow control
mechanisms that, on one hand, guarantee the delivery of packets, but also
introduce delays that are not acceptable for time critical streaming appli-
cations. Consequently, UDP is the protocol most widely used for real-time
streaming of video [37, 2].
Video streaming over the Internet using UDP present different distor-
tions that affect the quality of video, in this thesis we focus on packet loss
and delay variation.
Packet loss
Packet loss over a network occurs when packets sent over the network do not
reach their destination. Packet loss can significantly damage video quality
during transmissions [22]. The losses are generally random and can affect
different frames in a GOP. If a key frame (I-frame or P-frame) is affected
this error will be propagated to all the GOP. The B-frames do not propagate
errors as these frames are not used as references for other frames [16]. The P-
frames can propagate errors to other P-frames and B-frames. The Figure2.2
shows an example of error propagation and how causes a cascade effect,
in this case the error occurs in the P-frame and propagates to the other
P-frames and will be corrected until the next reference I-frame.
Delay/Delay variation
2.1.3 Emulation
Network emulation is a way to simulate the network performance in a con-
trolled and repeatable environment. Traffic shapers are used for the varia-
tion of parameters such as delay and packet loss to emulate different network
conditions. It is very important that the traffic shapers behave according to
the given specifications in order to realise the desired network conditions [29].
profile or coding characteristics [3, 7, 23, 32], some other studies mention the
profile used for example [22] and [9] used the high profile, [26] used the main
profile, Ries et al. [28] uses the baseline profile for quality estimation based
in motion characteristics. In this study we want to use parameters that are
common for mobile phones, thus, a study that uses the baseline profile for
perception of packet loss and delay variation will have some contribution.
The network conditions for mobile internet differ from traditional net-
works. When the videos are used over mobile networks important require-
ments need to be considered such as frame rates and the screen size [18].
Additionally, studies of video quality perception for mobile devices in
some cases are carried out using a monitor or big LCD display instead of
a mobile phone [3, 32, 36]. Further, in the study from Jumisko et al. [18]
mobile phones were used for the study but the phones were attached to a
fixed stand, so the user was not able to manipulate the phone as occurs in
real life scenarios.
People have different perceptions of quality for different media devices.
Television and computers are usually at a fixed distance in contrast with
hand-held devices that distance and tilt can be adjusted easily by the user.
The perception changes according to the image size. Previous TV experi-
ments carried out found that the general rule to be the bigger the image the
better quality perceived [20].
Consequently, a study that tests the user perception of video quality
in different network conditions for packet loss and delay variation encoded
with H.264, and considers characteristics for mobile devices will contribute
to understanding the expectations of the users with mobile devices. Further,
an understanding of the role the device plays in the user perception of packet
loss and delay variation is required.
8 CHAPTER 2. BACKGROUND
Chapter 3
In this chapter the aims and research questions for this work are presented in
Section3.1. Section 3.2 explains the method selected and applied to answer
the questions. Furthermore, the design Section 3.3 describes the experi-
ment design, parameters and tools selected for the experiment. Finally, the
implementation Section 3.4 details the creation of the assessment material,
creation of video sequences with packet loss and delay variation; defining
the experiment set-up to be used to assess the videos.
RQ1: How do users perceive video quality with packet loss and delay
variation for video encoded with H.264 on selected mobile devices?
RQ1.1: How do users perceive video quality with packet loss and delay
variation for video encoded with H.264 on mobile phones?
9
10 CHAPTER 3. DESIGN AND IMPLEMENTATION
RQ1.2: How do users perceive video quality with packet loss and delay
variation for video encoded with H.264 on laptop computers?
3.2 Method
This section describes the methods elected to answer the research questions
and a comparison to other alternatives.
Video quality assessments can be objective and subjective. The objec-
tive method consists of methods that do not involve human grading. The
videos are evaluated by computers and mathematical algorithms. Differ-
ent objective methods are described by the Video Quality Experts Group
(VQEG) [34], which was formed to validate and standardise objective meth-
ods of video quality. These methods usually employ an error signal ratio that
is a relation between the original video (considered high quality) and the pro-
cessed signal with distortion or compressed. The most widely used objective
methods are the Mean Squared Error (MSE) and the Peak Signal-to-Noise
Ratio (PSNR) [32, 35]. Objective metrics do not always characterise the
real viewer satisfaction level.
The alternative to objective video quality assessment is subjective video
quality assessment. In subjective quality assessment the description of qual-
ity is based on human perception and can be different between subjects [6].
Human perception involves various aspects of human psychology and view-
ing conditions; such as vision ability, lighting conditions, preference for con-
tent, displaying devices, understanding of the rating criteria [35]. Different
objective methods are discussed in [25]; Absolute Category Rating (ACR)
or Single Stimulus (SS), in which the video sequences are presented each at
a time and rated independently, Degradation Category Rating (DCR) video
sequences are presented in pairs and the subject rate the impairment of the
second video in relation to the first video as a reference, in Pair Comparison
method (PC) the sequences are presented in pairs, they can be simultane-
ously shown on the same monitor.
Mean Opinion Score (MOS) is a way to assess the quality of video in a
subjective way. It is a metric obtained from a group of subjects that rate
the video sequences according to a scale that represents the quality of the
video in words and then is mapped into numbers as presented in Table 3.1.
Another option considered was the software Perceptual Evaluation Video
Quality (PEVQ) [24]. It is a software approved by the VQEG and ITU that
makes an objective analysis of the video and gives a correlation with the
subjective MOS. Although this method reduces the time necessary to per-
form the assessment sessions, the variation of parameters is limited, for this
work it was wanted to have control of the display devices. In addition, it was
3.3. DESIGN 11
3.3 Design
This section describes the parameters and tools selected for the experiment;
such as protocol, values for packet loss and delay variation selected. The
information described in this section will be applied for the creation of the
assessment material (video sequences), described in the implementation.
For this reason the experiment described in this thesis uses UDP as the
transport protocol and IP (Internet Protocol) as the network-layer protocol
to send packets over the network.
The packet size at data link layer in this experiment remains without
change, considering the Maximum Transfer Unit (MTU) of 1500 bytes for
Ethernet.
Table 3.2: Description of video content for the test sequences used in the
subjective test.
The length of each video sequences is between eight and ten seconds.
This is in the length suggested by the ITU-T [25]. Longer video sequences
3.3. DESIGN 13
Resolution
The resolution suggested by the ITU-T [25] for studies of video for mo-
bile devices is Quarter Common Intermediate Format (QCIF) due to the
limitation of the screen size. The ITU-T documentation P.910 was over
10 years ago in 1999, however, and during recent years there have been a
big development in the mobile phones industry. The commercialization of
smart-phones with higher processing capabilities, bigger screens and touch-
screens. Previous video studies for mobile have used the QCIF (176 144)
resolution [3, 18, 28, 32]; in some cases using mobile devices and some others
displaying the video on a computer monitor displaying the QCIF resolution.
For this study was decided to use higher resolution to cover the new segment
of modern phones. The resolution chosen was VGA (320 240), when it was
determined that a wide range of mobile phones brands (eg. Sony Ericsson,
Nokia, iPhone, HTC) now support this resolution.
The frame rate refers to the number of frames that is shown per second. The
frame rate used for this experiment is 30 fps as this is a common value [17]
and it is the maximum supported in Android and iPhone devices.
The bit rate refers to the number of bits that the video will process in a
given period of time. The value chosen for the bit rate is 768 kbps. This is
a common value used for mobile devices and creation of podcasts [17] [10].
This bit rate value is also the maximum value allowed by the H.264 baseline
profile level 1.3 that is supported by mobile phones.
Container
The container or wrapper defines how the data is stored in a file. A container
for video usually contains the video and audio traces. The container chosen
for the experiment set-up is MP4. This container is supported by most
of the new smart-phones with both Android and iPhone supporting this
format [17, 10].
An alternative container is 3GP. This video container mostly used in 3G
mobile phones. The MP4 container was selected for the experiment as the
files are to be shown on both a laptop and an iPhone. The iPhone does
not support the 3GP container [17],so choosing MP4 container covers the
majority of the mobile operating systems and is also a format widely used
by computer media players.
14 CHAPTER 3. DESIGN AND IMPLEMENTATION
Video Codec
This thesis considers mobile devices, where the decoding complexity must be
simpler than for laptops or desktop computers due to the reduced decoding
power of these devices. The baseline profile is supported by mobile phones
running Android, since early version of the iPhone and Symbian phones.
The baseline profile supports intra and inter-coding (using I-frames and
P-frames), does not support inter-coding B-frames, that uses a different
compression algorithm. Application examples of the baseline profile are
videoconferences and wireless transmission [27] .
Some studies have done analysis of H.264 with packet loss and delay,
for different applications and using different profiles of the codec. Pinson et
al. [26] compares packet loss for HDTV using the high profile; Vassiliou et
al. [32] makes an analysis of the wireless networks and video transmission
employing the MPEG-4 codec, but the article does not mention the profile
but describes the video with IPB-frames; Simone et al. [9] employs the H.264
codec high profile, that is used for devices with higher processing capabilities
than mobile phones.
A summarized table with the parameters chosen for the original encoded
videos is shown in Table 3.3.
The above parameters are kept constant for the realization of the exper-
iment, due that changes in these parameters have effect in the result of the
streamed videos with the added disturbance.
The results of the video sequence News are not taken into consideration
for the results, this sequence was utilized as dummy for the training session
that is discussed in the implementation section.
As this study wants to focus on the effects of the packet loss and delay
variation in video quality, no audio is included in these sequences.
FFMPEG and x264, free cross-platform software solutions, was used to
encode the videos [12], the pre-set files and commands are presented in the
Appendices A.2 and A.3.
Table 3.4 shows the video characteristics of the H.264 encoded video
sequences.
3.3. DESIGN 15
The values of packet loss for this experiment are defined as 0.4%, 0.8%, 3%,
5% and 7%.
A packet loss of 1% means that for every hundred packets transmitted
one of the packets is dropped.
These values were chosen as representative values. Various studies mod-
elling packet loss in different networks shows values below 10 15% [2, 3,
14, 9] . For this study, the maximum packet loss value is 7%, as samples
taken in the laboratory showed that for packet loss below this levels the
video content was lost.
For the distribution of the experimental values, special emphasis is given
to values below 1%, as studies showed that the distribution of the packet
loss failure during a session is higher at small percentages [23].
16 CHAPTER 3. DESIGN AND IMPLEMENTATION
For this experiment, was chosen to use delay variation (jitter) instead of
fixed delay values, jitter has bigger effects in the video sequences. Tests
were executed with different fixed delay values from 0ms to 1sec increases of
100ms and the effects in the transmitted video sequences were imperceptible
or for bigger values a small delay was noticed before start playing the video
smoothly. This is caused because all the packets are delayed with the same
value, so they arrive in order to the media player. In addition, previous
studies have addressed fixed delay and found that this have low impact on
the end users perception [6].
The values of delay and delay variation for this experiment are expressed
as D D ; where D is the fixed delay and D is the delay variation.
The fixed delay (D) selected for this experiment is 150ms and variable
delays {2ms, 4ms, 8ms, 12ms, 16ms}.
This means that for example for the value 150ms2ms, the delay values
are between 148ms and 152ms.
These experimental values were chosen from literature review and testing
values in the laboratory. Calyam et al. [6] defines 150ms as the transition
between good an acceptable in his experiment. The ITU standard G.114,
one-way transmission time, states that the delay should not be more than
150ms and jitter should not be more than 20ms to 50ms [19]. Zheng et al.
in a theoretical study of voice over IP shows that for a traffic load of 0.77,
there are 97% packets whose jitters are less than 20ms.
3.4 Implementation
This section describes the experiment implementation, equipment utilised,
media player configuration and the network emulator configuration com-
mands.
Traffic
Shaper
(TS)
Measurement
Point (MP)
VLC was used using the command line in the Linux terminal to semi-
automate the video sequences collection. The procedure followed to create
the video sequences is described in the Appendix A.1.
The procedure was repeated for each of the video sequences (football,
foreman, hall-monitor) and for each experimental value of packet loss and
delay variation. Three samples of each combination were executed to have
a database to select the videos to use in the human perception assessment.
A total of ninety nine videos were collected. The emulated packet loss is
random with NetEm, so having a database of videos we have a pool of videos
to choose with random packets loss and different effects.
NetEm configuration
NetEm [13] was used to set the experimental packet loss values in our ex-
perimental network topology, the following commands were used:
From the pool of videos collected at the test network (Figure 3.1) one video
sequence was chosen for every characteristic value. The video sequences
received at the R, assessment materials, were named according to the value
of packet loss or jitter applied at the TS; then, the names were changed as
we do not want the observers to relate the disturbance watched in the video
with the given name. The appendix B.1 presents a table with the names of
the videos presented in the assessment session.
3.4. IMPLEMENTATION 19
Assessment Methodology
The assessment sessions were held in a rooms conforming to the specifi-
cations of the ITU-T [25] at the premises of two academic institutions in
Kristianstad and Karlskrona in Sweden.
Two mobile devices were used for the assessment. A laptopToshiba
Satellite A205-SP4027 with an Intel Core Duo T2450 2.00GHz with a LCD
display of de 15.4 (diagonal) widescreen TruBrite TFT, resolution (1280
800), Intel Graphics Media Accelerator 950and an iPhone 3G. The media
players used were for the laptop VLC media player version 1.1.3 and for the
iPhone Mobile Phone the standard media player from Apple Inc.
The number of volunteers was chosen according to the recommendations
from the ITU-T[25]. This specifies that the sample needs to be bigger than
four and less than forty individuals for statistical purposes. For the data to
be considered a coming from normal sampling distribution a sample of 25
to 30 individuals is recommended by Howell [15].
Thirty four volunteers were involved in the assessment sessions. People
that was readily available, those that arrived on the scene, were asked to
participate (convenience sampling or accidental sampling) [21]. Volunteers
came from a range of different ages and backgrounds. In total 12 female
and 22 male volunteers, ranging ages from 19 to 41, with 12 having Eu-
ropean backgrounds, 15 having Asian backgrounds and seven having other
backgrounds.
Subjects were seated in front of the laptop screen with a viewing distance
set equal to 18H, where H is the native height of the picture shown. The
user was able to adjust their distance to the screen within these parameters.
An example of a participant using the laptop is shown in Figure 3.2.
For the mobile phone the user was able to choose the angle and distance
to watch the videos. This imitates what happens in a real-world environment
where the user can move the device as desired to achieve a comfortable
viewing position. An example of a participant using the mobile phone is
shown in Figure 3.3. It was observed that the participants felt comfortable
placing the mobile phone between 20cm and 35cm far from the eyes.
The video sequences shown on the laptop complied with the recommen-
dations made by the ITU-T [25]. The videos were played in VLC using the
original resolution of the video sequence (320 240), in the center of the
screen, with the background was set to fifty percent grey1 . A screen shot
indicating this set-up is shown in Figure 3.4.
Each assessment interview lasted for approximately 25 minutes and con-
sisted of three phases: training session, questions and main session. During
the introduction, the assessment methodology was explained, general infor-
mation of the subject was collected (age, background, experience with video
in computer and phone, use of corrective glasses or lenses);the grading scale
1
HTML Color #808080
20 CHAPTER 3. DESIGN AND IMPLEMENTATION
Figure 3.2: Laptop based assessment Figure 3.3: Mobile Phone assessment
was introduced as shown in Table 3.1; three stabilizing videos, dummy videos
sequences, News with three different distortions were presented to stabilize
participants opinion as suggested by the ITU-T [25]. The results for these
three videos are not considered for the data evaluation and that was told to
the observers. Then, during the questions session any concerns by the par-
ticipants were answered. The main session consisted of thirty three videos
sequences that were presented in the laptop and in the Mobile Phone, the
videos were shown indistinctly in some cases before in the laptop and in
some cases before in the Mobile Phone. For the evaluation we used the Sin-
gle Stimulus method in which the video sequence is showed alone, without
being compared to the reference version. Each sequence was displayed for
ten or eight seconds and then the participant had 2-5 seconds voting time,
the vote was collected and stored in a web-page form. A sample of the
questionnaire is available in the Appendix B.2.
22 CHAPTER 3. DESIGN AND IMPLEMENTATION
Chapter 4
This section presents the collected data from the assessment sessions. Con-
ventional statistics, like mean and variance, were applied to the raw data
and graphs were plotted to compare the results.
During the assessment sessions, thirty four volunteers graded the 33
videos sequences using the scale Excellent (5), Good (4), Fair (3), Poor (2)
and Bad (1). Each video was shown on both a laptop and on a mobile
phone. In total 66 video sequences were shown to the volunteers.
The reliability of the volunteers was evaluated by checking their be-
haviour when the original videos encoded with H.264 were shown. In these
cases, subjects were expected to give evaluations higher than three. This
helps ensures that they at least understood the instructions and they were
not grading randomly.
Mean and standard deviation were calculated for each of the video se-
quences (Foreman, Hall-monitor, Football) and for both of the devices
laptop and mobile phone.
The mean is defined as:
N
1 X
uj k = uij k (4.1)
N i=1
The standard deviation is defined as:
v
uN
uX (uj k uij k )2
sj k = t (4.2)
i=1
N 1
where : N is the number of observers, uij k is the score of observer i for
test condition j, video sequence k.
The MOS of the collected data is shown in the Table 4.1 and Table 4.2.
The following abbreviations are used: FM (Foreman), HM (Hall-Monitor),
FT (Football). The L denotes that the video sequence was displayed in the
laptop and P denotes that was displayed in the mobile phone.
23
24 CHAPTER 4. RESULTS AND DISCUSSION
Loss FM L FM P HM L HM P FT L FT P
0.0% 4.44 4.50 4.38 4.29 4.24 4.18
0.4% 3.26 3.44 3.56 3.29 3.21 2.82
0.8% 2.62 2.56 2.65 2.47 2.26 2.47
3.0% 1.85 2.15 1.88 1.94 1.76 1.74
5.0% 1.47 1.50 1.76 1.79 1.41 1.29
7.0% 1.15 1.15 1.79 1.71 1.41 1.47
Delay FM L FM P HM L HM F FT L FT P
150ms 2ms 2.00 2.18 1.88 1.88 3.03 2.71
150ms 4ms 1.79 1.85 1.68 1.79 2.56 2.68
150ms 8ms 1.18 1.15 1.44 1.47 1.88 1.59
150ms 12ms 1.09 1.06 1.12 1.12 1.18 1.29
150ms 16ms 1.03 1.03 1.06 1.06 1.18 1.12
5.00
4.50
4.00
3.50
MOS
3.00
2.50
2.00
1.50
1.00
0 1 2 3 4 5 6 7
Packet Loss [%]
5.00
4.50
4.00
3.50
MOS
3.00
2.50
2.00
1.50
1.00
0 1 2 3 4 5 6 7
Packet Loss [%]
Figure 4.2: MOS for packet loss displayed on the mobile phone
26 CHAPTER 4. RESULTS AND DISCUSSION
at 7%.
As recommended by the International Telecommunications Union- Ra-
diocommunications Sector (ITU-R) in the recommendation BT-500 [5] for
subjective assessment of the quality of television pictures, together with the
mean scores calculated previously the confidence interval was calculated for
each case. It is suggested to use a 95% confidence interval. This means:
The confidence interval consists of an upper and a lower limit for the
mean u.
[uj k j k , uj k + j k ] (4.3)
where:
sj k
j k = 1.96 (4.4)
N
sj k is calculated from the equation 4.2.
The values calculated for the confidence interval for packet loss are shown
in the Figure 4.3. The x-axis shows the video sequence (FM- foreman, HM-
hall-monitor, FT- football), the device that was used to present the video
sequence to the observer (L- laptop, P- mobile phone) and the percentage
of packet loss emulated. The y-axis refers to the MOS. We can appreciate
that there is not a big difference within the three different video sequences
in each of the packet loss values. The tendency shows that for bigger values
of packet loss the rate degrades for all the video sequences. In general, for
values above 5% of packet loss the observers rate is close to 1 (bad). Slightly
higher values of MOS are shown for the Hall-monitor video sequence in both
devices for values of packet loss of 5% and 7%. However, the assessment
value is close to 1 (bad).
The standard deviation for the videos and different display devices was
plotted in Figure 4.4). The values range from 0.36 to 0.89. Lower values
for this index, indicate minor divergence between the subject assessments.
Generally, can be observed that the standard deviation is lower for the packet
loss values of 5% and 7%, what means that the observers grades have less
variability, thus, the observers agree that the quality of the video is between
poor and bad. For the packet loss values in the middle it is noticeable higher
deviation in the opinion, it is more difficult for the observers to decide the
quality.
Standard Deviation !"#$
0.00
0.10
0.20
0.30
0.40
0.50
0.60
0.70
0.80
0.90
1.00
!"##$
%"##$
&"##$
'"##$
("##$
)*$+$#"#,$
)*$-$#"#,$
0
.*$+$#"#,$
.*$-$#"#,$
)/$+$#"#,$
)/$-$#"#,$
4.1. PACKET LOSS
)*$+$#"',$
)*$-$#"',$
0.4
.*$+$#"',$
.*$-$#"',$
)/$+$#"',$
FM L
)/$-$#"',$
)*$+$#"0,$
)*$-$#"0,$
FM P
0.8
.*$+$#"0,$
.*$-$#"0,$
)/$+$#"0,$
HM L
)/$-$#"0,$
)*$+$&"#,$
)*$-$&"#,$
3.0
.*$-$&"#,$
)/$+$&"#,$
%&'()$#(*+(,-(./(0&-(.1)22$
FT L
)/$-$&"#,$
)*$+$("#,$
)*$-$("#,$
FT P
.*$+$("#,$
5.0
.*$-$("#,$
)/$+$("#,$
7.0
.*$-$1"#,$
)/$+$1"#,$
)/$-$1"#,$
27
28 CHAPTER 4. RESULTS AND DISCUSSION
5.00
4.50
4.00
3.50
MOS
3.00
2.50
2.00
1.50
1.00
0 2 4 6 8 10 12 14 16
Delay Variation [ms]
The Figure 4.7 presents the confidence interval values for delay variation.
The x-axis shows the video sequence (FM- foreman, HM- hall-monitor, FT-
football), the device that was used to present the video sequence to the
observer (L- laptop, P- mobile phone) and the percentage of packet loss
emulated. The y-axis refers to the MOS. It is appreciated that the football
video sequence gets higher rates between 2ms and 8ms, the higher rates
become less obvious for the values of 12ms and 16ms.
The standard deviation was plotted in Figure 4.8). The values range
from 0.17 to 0.95 low values for this indicates minor divergence between the
subject assessments. The standard deviation is low at small values of the
delay variation, these results can be interpreted that at these values the users
perception about the video quality varies less, users agree in a higher extent
that the quality is bad. We can see in the graph slightly bigger values of the
standard deviation for the football video sequence this could be attributed
that the video sequence football got slightly better results than the other
4.2. DELAY VARIATION 29
5.00
4.50
4.00
3.50
MOS
3.00
2.50
2.00
1.50
1.00
0 2 4 6 8 10 12 14 16
Delay Variation [ms]
Figure 4.6: MOS for delay variation displayed on the mobile phone
("##$
'"##$
!"#$
&"##$
%"##$
!"##$
)*$+$%,-$
)*$.$%,-$
/*$+$%,-$
/*$.$%,-$
)0$+$%,-$
)0$*$%,-$
)*$+$',-$
)*$.$',-$
/*$+$',-$
/*$.$',-$
)0$+$',-$
)0$.$',-$
)*$+$1,-$
)*$.$1,-$
/*$+$1,-$
/*$.$1,-$
)0$+$1,-$
)0$.$1,-$
)*$+$!%,-$
)*$.$!%,-$
/*$+$!%,-$
/*$.$!%,-$
)0$+$!%,-$
)0$.$!%,-$
)*$+$!2,-$
)*$.$!2,-$
/*$+$!2,-$
/*$.$!2,-$
)0$+$!2,-$
)0$.$!2,-$
%&'()$#(*+(,-(./(0&-(./(123$%24&25),$
two sequences for delay variation and the users have more discrepancy when
assessing the video.
FM L FM P HM L HM P FT L FT P
1.00
0.90
0.80
0.70
Standard Deviation
0.60
0.50
0.40
0.30
0.20
0.10
0.00
2 4 8 12 16
Delay Variation [ms]
Despite not adding both disturbances to the same video, packet loss and
delay variation, we can notice that it is likely that the perception of quality
in the video degrades more for small changes in the delay variation. This is
similar to the findings of the study performed by Calyam et al. [6] although
their study was for the codec H.263 and adding different disturbances to the
same video sequence.
As we stated before, we chose the video sequences with different temporal
characteristics as this factor affects the way the video is encoded and the
GOP is structured.
In the Claypool et al. [8] study for the MPEG-1 codec, they found that
videos with few differences between most frames, such as a talking head
has low temporal aspect. This similar to the foreman video sequence chosen
in this thesis. Videos with this characteristics may not degrade much under
jitter or packet loss since viewers may not notice the delayed or missing
frames.
Claypool et al. [8] found that videos with high temporal aspect, like
sports or music video clips, are more sensitive to these disturbances. Al-
though we are using another codec in this experiment, we found that in the
case of packet loss the video sequence with the slightly lower MOS is the
football video, which is inline with their results.
Contrary to the findings of Claypool et al. [8], the football video sequence
was rated the best for the delay variation case in this experiment. These
variations could be caused by the fact that the packet loss and delayed
packets emulated by NetEm is random, so we do not have control of which
packets and which specific frames are affected. If we are unlucky and we get
4.3. MOBILE PHONE AND LAPTOP 31
an error in one of the key frames (I or P-frames) this error will be propagated
to the entire GOP as is shown in Figure 2.2.
4.50
4.00
3.50
3.00
MOS
2.50
2.00
1.50
Laptop
1.00
0 0.4 0.8 3.0 5.0 7.0 Mobile
Phone
Packet Loss [%]
Figure 4.9: MOS packet loss displayed on the laptop and mobile phone
H : uD = uL uP = 0 (4.5)
where:
32 CHAPTER 4. RESULTS AND DISCUSSION
5.00
4.50
4.00
3.50
MOS
3.00
2.50
2.00
1.50
Laptop
1.00
2 4 8 12 16 Mobile
Phone
Delay Variation [ms]
Figure 4.10: MOS delay variation displayed on the laptop and mobile phone
uL is the mean for the laptop, uP is the mean for the mobile phone and
uD is the difference in means between the laptop and the mobile phone.
This test needs the calculation of the tcalc parameter and then compare
it with the ttable that is obtained the Students t distribution table [15]. The
ttable value depends on the level of significance, in this case a 95% confidence
interval is used. Thus, the level of significance is 0.05, the degrees of freedom
(df) is defined as the number of observers minus one (N-1 ) is 33. The value
from the table to compare in our case corresponds ttable = 2.042.
The tcalc is defined as:
D uD
tcalc = sD (4.6)
N
where D and sD are the mean and standard deviation of the differ-
ence scores (difference between the data obtained for the laptop and mobile
phone); uD in this case is zero as our hypothesis and N is the number of
difference scores (number of pairs).
If we find that tcalc < ttable we fail to reject the hypothesis, so there is no
evidence to suggest that the different devices affect the perception of the
shown video.
The Table 4.3presents the results for the calculations for each of the
video pairs, referring to the same video sequence presented on the laptop
and on the mobile phone. DV stands for delay variation in the table. The
tcalc is compared with the ttable as explained before.
For the most of the video sequences, there is no evidence to suggest that
the different devices affect the perception of the shown video.
Therefore, we can conclude that there is not a significant difference be-
4.3. MOBILE PHONE AND LAPTOP 33
tween doing the experiment in the mobile phone and in the laptop displaying
the same resolution. Overall, the same results were obtained for both de-
vices.
Conclusion
35
36 CHAPTER 5. CONCLUSION
[2] John G. Apostolopoulos, Wai tian Tan, and Susie J. Wee. Video stream-
ing: Concepts, algorithms, and systems. Technical report, HP Labora-
tories, 2002.
[3] Hussein Muzahim Aziz, Hakan Grahn, and Lars Lundberg. Eliminating
the freezing frames for the mobile user over unreliable wireless networks.
In Proceedings of the 6th International Conference on Mobile Technol-
ogy, Application & Systems, Mobility 09, pages 57:157:4, 2009.
ACM.
[7] L.U. Choi, M.T. Ivrlac, E. Steinbach, and J.A. Nossek. Analysis of
distortion due to packet loss in streaming video transmission over wire-
less communication links. In Image Processing, 2005. ICIP 2005. IEEE
International Conference on, volume 1, pages I 18992, 2005.
[8] Mark Claypool and Jonathan Tanner. The effects of jitter on the pe-
ceptual quality of video. In Multimedia 99: Proceedings of the seventh
ACM international conference on Multimedia (Part 2), pages 115118,
1999. ACM.
37
38 BIBLIOGRAPHY
[22] Ting-Lan Lin, S. Kanumuri, Yuan Zhi, D. Poole, P.C. Cosman, and
A.R. Reibman. A versatile model for packet loss visibility and its ap-
plication to packet prioritization. Image Processing, IEEE Transactions
on, 19(3):722 735, 2010.
[25] ITU-T P.910. Subjective video quality assessment methods for multi-
media applications. International Telecommunications Union Telecom-
munication Sector, 1999.
[28] M. Ries, O. Nemethova, and M. Rupp. Video quality estimation for mo-
bile H. 264/AVC video streaming. Journal of Communications, 3(1):41
50, 2008.
[32] Vasos Vassiliou, Pavlos Antoniou, Iraklis Giannakou, and Andreas Pit-
sillides. Requirements for the transmission of streaming video in mobile
wireless networks. In Stefanos Kollias, Andreas Stafylopatis, Wlodzis-
law Duch, and Erkki Oja, editors, Artificial Neural Networks ICANN
2006, volume 4132 of Lecture Notes in Computer Science, pages 528
537. Springer Berlin / Heidelberg, 2006.
40 BIBLIOGRAPHY
[35] Zhou Wang, Hamid R. Sheikh, and Alan C. Bovik. Objective video
quality assessment. In In the handbook of video databases: Design and
applications, pages 10411078. CRC Press, 2003.
[36] S. Winkler and F. Dufaux. Video quality evaluation for mobile appli-
cations. In Proc. of SPIE Conference on Visual Communications and
Image Processing, volume 5150, pages 593603. Citeseer, 2003.
[37] Dapeng Wu, Y.T. Hou, Wenwu Zhu, Ya-Qin Zhang, and J.M. Peha.
Streaming video over the internet: approaches and directions. Circuits
and Systems for Video Technology, IEEE Transactions on, 11(3):282
300, mar. 2001.
Appendix A
This appendix presents information related to the encoding of the video se-
quences.
Initialise VLC client in the R laptop to be able to receive and save the
UDP stream.
Configure the packet loss or delay variation in the TS using the NetEm
(see section NetEm configuration) tc commands.
Start VLC server in the S laptop. Set the IP address and port to send
the stream, and choose the video sequence to be sent.
After each video streaming is finished a flush of the DAG cards was
performed to force out any remaining packet.
41
42 APPENDIX A. VIDEO ENCODING INFORMATION
These are the pre-set files used to encode the video with FFMPEG. These
pre-set files are included with the standard installation of the software.
libx264-ipod320.ffpreset
coder=0
bf=0
flags2=-wpred-dct8x8
level=13
maxrate=768000
bufsize=3000000
wpredp=0
libx264-slow.ffpreset
coder=1
flags=+loop
cmp=+chroma
partitions=+parti8x8+parti4x4+partp8x8+partb8x8
me method=umh
subq=8
me range=16
g=250
keyint min=25
sc threshold=40
i qfactor=0.71
b strategy=2
qcomp=0.6
qmin=10
qmax=51
qdiff=4
bf=3
refs=5
directpred=3
trellis=1
flags2=+bpyramid+mixed refs+wpred+dct8x8+fastpskip
wpredp=2
rc lookahead=50
A.3. COMMAND LINE FFMPEG 43
Assessment material
47
Table B.1: Set of videos for the subjective assessment
Disturbance Original File Received Renamed for Laptop Renamed for Mobile Phone
APPENDIX B. ASSESSMENT MATERIAL
Mohammd Iqbal
Md. Ibrahim Chowdhury
School of Engineering
Blekinge Institute of Technology
SE - 371 79 Karlskrona
Sweden
i
This thesis is submitted to the School of Computing at Blekinge Institute of
Technology in partial fulfillment of the requirements for the degree of Master of
Science in Electrical Engineering. The thesis is equivalent to Twenty weeks of full
time studies.
Contact Information:
Author(s):
Mohammad Iqbal
Email: iqbal99@gmail.com
Md. Ibrahim Chowdhury
Email: ibrahimiiuc@gmail.com
University Advisor:
Yong Yao & Kaibo Zhou
School of Computing
Blekinge Institute of Technology
Examiner:
Dr. Patrik Arlos, PhD
School of Computing
Blekinge Institute of Technology
School of Engineering
Blekinge Institute of Technology
SE - 371 79 Karlskrona
Sweden
Keywords
iii
ACKNOWLEDGEMENTS
We are most grateful to Almighty Allah for his loyal help, which gave us much more
strength for all kind of achievements at the time of our project work and enabled us to
complete the work successfully. We are thankful to our supervisors to give us appropriate
suggestion during our whole project and for exposing us to the beauty of learning.
We are also thankful to all of our friends who inspired us all the time to carry on this thesis.
They provided us their invaluable support and assistance during our whole study period.
I am thankful to Allah, the almighty to whom I offer all my worships and sacrifices, who
know the best of knowledge and from whom I expect the best rewards in heaven. I extend
my gratitude to several people. My parents: Abdul Hamid Chowdhury, and Rahima Akhter
Begum, who are my basis of existence in this world. My lifetime mentor and maternal uncle,
Professor Dr. Muhammad Loqman, one of the prominent founders of International Islamic
University Chittagong (IIUC), Bangladesh. My advisors in this thesis, Yong Yao and Kaibo
Zhou who lead towards the right research track and planted the research interests in my heart.
My hearty appreciation goes to all my teachers and friends all over the world. I am grateful
to the examiner Dr. Patrik Arlos and my program manager Mikael sman. I also share my
contributions to all the fascinating instructors and inspiring surroundings of BTH.
First of all, I thank Allah for giving me strength and ability to complete this work. I am
grateful to my family; who are, always with me in every step of my life. Specially, my
brother-in-law, Balaet Hossain, working in Nokia Corporation, always gave me support for
everything from my bachelor study to now. My mothers prayer is always with me which
leads me the success to accomplish this thesis work. I would like to express my deepest
gratitude to my supervisors: Mr Yong Yao and Mr. Kaibo Zhou for all of the valuable
discussions, useful advice and encouragement through the study. Their overly enthusiasm
and integral view on research has made a deep impression on me. I owe my respect to them,
for whom we find the right path to solve the thesis conundrum. I appreciate the system of
thesis currently running in BTH. I expressed my gratitude to my examiner Dr. Patrik Arlos
for his support. My program manager Mikael sman is a helpful man and I got much more
help from him during my study period in BTH.
..Mohammad Iqbal
In the end, we are thankful to Blekinge Institute of Technology which gave us sufficient
knowledge to the way of build our professional career in current competition of worlds job
market.
iv
TABLE OF CONTENTS
Abstract................... III
Acknowledgments.. IV
Table of Contents....... V
Acronyms IX
Chapter 1. Introduction 1
1.1 Research Design.. 2
1.1.1 Research Methodology .. 2
1.1.2 Main Problems 4
1.1.3 Research Questions. 5
1.1.4 Aims and Objectives . 5
1.1.5 Motivation . 5
1.1.6 Contribution ... 6
1.2 Thesis Outline. 6
Chapter 2. Background....... 7
2.1 Simultaneous Mobility and Handover 7
2.2 Stream Control Transmission Protocol (SCTP).. 7
2.2.1 SCTP association... 7
2.2.2 Multi-homing........ 8
2.2.3 Multi-streaming............. 8
2.3 SCTP Packet Structure 8
2.4 Mobile SCTP (mSCTP).......... 9
2.5 Related works...... 9
2.5.1 Simultaneous mobility solution by mSCTP with 9
RSerPool
2.5.2 Simultaneous mobility under asymmetric mobility 10
conditions..........................
2.5.3 Managing Simultaneous Mobility of IP hosts.. 10
v
Chapter 4. Proposed Model for Simultaneous Mobility with Location
Management 14
4.1 NS2 based architectural model for Simultaneous Mobility
with mSCTP... 14
4.2 Location management with Location Server (LS).. 16
4.2.1 LS setup and management process. 16
4.3 Solution of Simultaneous Mobility issues... 18
4.3.1 Mobile nodes location detection and configuration 18
4.3.2 LS enabled Simultaneous Mobility management
and Simultaneous Handover... 19
4.3.2.1 Association setup........................... 20
4.3.2.2 Dynamic Address Reconfiguration
(DAR) 20
4.3.2.3 Simultaneous Mobility process and
Handover 20
4.3.2.4 Context Analysis 21
4.3.2.5 Timing diagram.. 21
4.4 System constraints and Risk analysis.. 22
4.4.1 System constraints.. 22
4.4.2 Risk analysis....... 23
Chapter 5. Implementation.. 24
5.1 Objectives of analysis..... 24
5.1.1 System requirements and challenges (cost
analysis and etc.). 24
5.1.2 Parameter setup and assumptions of simulation. 24
5.2 Simulations.. 27
5.2.1 Definition of performance matrices for simulation
scenarios.. 27
5.2.2 Simulation scenarios and Observations. 28
5.2.3 Simulation insight.. 33
5.2.4 Incorporation of modeling into solution............ 34
5.2.5 Execution of mSCTP patch....................... 35
5.2.6 LS functionalities 37
5.2.7 Location Management by LS .... 37
REFERENCES............... 48
APPENDIX. 51
vi
LIST OF FIGURES
3.1 NS-2 Architectural view. 11
3.2 Trace File format 12
3.3 SCTP node outlook............. 13
vii
LIST OF TABLES
4.1 Example of random values for simultaneous mobility.......... 15
5.1 Definition of handover delay parameters........... 26
5.2 Simulation results showing overlapping number. 29
5.3 Simulation results showing overlapping number. 30
5.4 Simulation results showing overlapping number. 32
6.1 Different steps to measure handover latency for mSCTP with
and without LS.. 42
6.2 Handover latency for different cases of simultaneous
mobility.. 43
6.3 Confidence analysis of estimated values LS with mSCTP
Handover Delay 45
viii
ACRONYMS
IP Internet Protocol
WLAN Wireless Local Area Network
OSI Open Systems Interconnection
HIP Host Identity Protocol
HAWAII Handoff Aware Wireless Access Internet Infrastructure
MIP Mobile IP
IDMP Intra-domain Management Protocol
TCP Transmission Control Protocol
UDP User Datagram Protocol
SCTP Streaming Control transport Protocol
DAR Dynamic Address Reconfiguration
SIP Session Initiation Protocol
mSCTP Mobile Streaming Control Transport Protocol
MN Mobile Node
CN Correspondent Node
ASCONF Address Configuration Change
ASCONF-ACK Address Configuration Acknowledgment
Add-IP Adding IP
Delete-IP Deleting IP
LS Location Server
NS-2.34 Network Simulator version 2.34
4G The 4th generation wireless network
BS Base Station
RFC Request for Comments
IETF Internet Engineering Task Force
TSN Transmission Sequence Number
CWND Congestion Window
DCCP Datagram Congestion Control Protocol
RUDP Reliable User Datagram Protocol
MTU Maximum Transmission Unit
MAC Message Authentication Code
GPRS General Packet Radio Service
HOL Head Of Line
CRC Cyclic Redundancy Check
ix
DHCP Dynamic Host Configuration Protocol
DNS Domain Name System
RSerPool Reliable Server Pooling
ASAP Asynchronous Service Access Protocol
NS Name Server
ENRP Endpoint Name Resolution Protocol
AR Access Router
LR Location register
MTOSM Mean time to occurrence of simultaneous mobility
CDMA Code Division Multiple Access
Cygwin Linux Emulation for Windows
FIFO First In, First Out
REAL Previous name of NS2
TCL Tool Command Language
TK Tool Kit
OTcl Object oriented extension of TCL
TClCL TCL with classes
NAM Network Animator
XGRAPH It is used in NS2 to plot x-y data
ARP Address Resolution Protocol
IFq Interface Queue
NetIF Network Interface
DSR Dynamic Source Routing
DSDV Destination Sequenced Distance Vector
AODV Ad hoc On Demand Distance Vector
GOD General Operations Director
SACK Selective Acknowledgement
MN_0 Mobile Node_0
MN_1 Mobile Node_1
MN_#_init Mobile nodes initial position
MN_#_new Mobile nodes new position
step_length Numerical length of a step
del-t Delta time
TRD Time of Router Discovery
RTT Round Trip Time
RNG Random Number Generator
x
FTP File Transfer Protocol
Drop-tail A queue management algorithm
DHT Distributed Hash Table
xi
Chapter 1: Introduction
CHAPTER 1
INTRODUCTION
In the past years, communication technologies have become an integral part of
everyones life. In fact, it cannot be separated from the remaining peoples lives under
a microscope as an isolated object. Therefore, developing technology for technologys
sake could be a vital role to fulfill users expectations [1]. One of the elementary
resources needed to deliver users of the mobile internet with good service quality, is
connectivity. Mobility management protocols like Mobile IPv6 [2] address the
problem of providing connectivity when a node is moving and handing off between
points of attachment to the network. If both ends of the communications session are
mobile nodes, then those protocols cannot handle some situations where both sides
move at the same time. However, the researchers are realizing the obligation to
properly support simultaneous mobility.
Mobile technology brought many more progress especially in the wireless systems
which includes, for example, second, third and fourth generation (2G, 3G, and 4G),
satellite systems, WLANs (802.11) etc. [3]. Thus, it is a challenging issue for the next
generation wireless networks to integrate the existing and eventually coming systems
for managing user mobility among heterogeneous networks [4]. Mobility management
is based on the integration of different mobile standards such that each mobile user can
remain connected while roaming through different networks [5] [6]. There are several
resolutions for mobility management of IP nodes has been proposed. Seven properties
to fully realize the potential of ubiquitous mobility are proposed in [7], including
simultaneous mobility, i.e., that end hosts should be able to move simultaneously
without breaking an ongoing session between them.
Recently, solutions to the simultaneous mobility problem have been proposed for
Mobile IPv6 [9], for Mobile IP with Location Registers and SIP mobility [10], and for
TCP migration [11]. In this paper, we extend the analysis of simultaneous mobility
issues in seamless handover with using mSCTP protocol and proposed an alternative
solution based on suggested simultaneous mobility model which has been grounded on
independent location server.
1
Chapter 1: Introduction
a. Finding a problem: This is the first step to start with a research project. The
motivation comes from studying different contributions and prospects in near future
which can impact a great deal in the field of knowledge. The thesis proposal hauled
vast attentions and matched with our interested field closely. Thus, we focused to
search the particular problems underneath and started to investigate Simultaneous
Mobility solution. By questioning and finding the scope of work with limitations are
also vital in this phase.
In this project we formulate and design our speculated project hypothesis is as the
following:
2
Chapter 1: Introduction
This model only generates simultaneous mobility patterns for analysis. Yet we
need to look after another research issue which is obvious in maintaining mobility.
That is location management problem in simultaneous mobility. After analyzing and
thinking of the logical solution, we intend to build an alternative solution to address
location management problem.
From the above discussions it can be argued that the followed method for this
research project is a quantitative research. It has good control over the variables that
are determined in different levels of modeling and experiment.
3
Chapter 1: Introduction
Mobile SCTP does not handle the simultaneous handover of both SCTP endpoints.
If both endpoints perform a handover at the same time, the SCTP association will be
lost. mSCTP handover is only for the association triggered by the mobile nodes
because the MN knows the movement of itself and the signal strength from the old and
new access points. mSCTP can handle handovers of both SCTP endpoints if they
happen sequentially but not simultaneously. The hosts IPs, i.e., SCTP endpoints, are
changing their address simultaneously while moving across networks.
Problem: 1 In SCTP, there is no constant IP like mobile IP. Therefore the host IPs
are changing their address simultaneously while moving across networks. MN initiates
an SCTP association with the CN by negotiating a list of IP addresses. Amongst these
addresses, one is chosen as the primary path for normal transmission, and the other
addresses are specified as active IP addresses. While the MN reaches a new network
and obtains a new IP address, it sends an Address Configuration Change (ASCONF)
Chunk with an AddIP address parameter to inform the CN of the new IP address. On
receiving the ASCONF, the CN adds the new IP addresses to the list of association
addresses and returns ASCONF-ACK chunk to the MN. While MN is moving, it may
change the primary path to the new IP addresses via the path management function.
The SCTP association therefore can continue data transmission while moving to new
network. The MN also informs CN to delete the IP address of the previous network
from the address list by sending an ASCONF Chunk with a Delete IP Address
parameter when it confirms that the previous network links has permanently failed.
4
Chapter 1: Introduction
The aim of this research is started by gathering knowledge from the architecture of
available mobility management technology, wireless technologies, cellular
technologies, protocols, and some parameter keywords which were considered in other
research issues could be helpful to reach the certain goal. The primary main goal of
this thesis is to study the possibility of available mobility protocols and investigate the
suitable protocol whether it is useful to improve the current simultaneous mobility
issues. To testify the best protocol which fits for handover management when there is
an association exists. One of the main aims of this thesis is to understand the
simultaneous mobility issues in-depth and define a solution model to solve these issues
in seamless handover. The location management problem can be solved by using a
Location Server (LS). To achieve these goals, a bunch of simulation frameworks to be
created to study and evaluate issues and trade-offs during handover using NS2
simulator. Each of the simulation frameworks have different attribute to justify the
nature of the examined mSCTP protocol. Later, we have compared the simulation
results for better handover latency for simultaneous mobility.
1.1.5 Motivation
This topic includes the most recent issues of mobility management while both
endpoints move simultaneously. With the IP based network, simultaneous mobility
solutions attract a great deal of research attention. Mobile Stream Control
Transmission Protocol (mSCTP) is newly proposed to support simultaneous mobility
in the transport layer without requiring additional network components. mSCTP
provides mobility to all applications that use mSCTP as a transport protocol. However,
current mSCTP does not include location management service and cannot make
connection from a Corresponding Node (CN) to a Mobile Node (MN) without
assistance of other mobile protocols. The problems that may occurs when
simultaneous mobility phenomena happens, are such a challenging research topic to
deal with. Moreover by proper understanding of the issues and focusing on the right
5
Chapter 1: Introduction
track to solve are also very interesting. Without using any kind of agents like home
agent, we intended to build a unique solution which can have some contribution in this
topic. The inspirations of seeking advanced knowledge in the mobility protocol and the
total scope of work are so much stimulating.
1.1.6 Contribution
We focused firstly to recognize and isolate the problems of simultaneous mobility.
For these we built a unique simultaneous mobility model to deal with main aspects of
the concerns. The main problem is to figure out suitable solution for location
management. This is solves in this research by establishing SCTP supportive static
Location Server (LS). With the effective experiments and observations of the results,
we find productive inputs to implement the LS enabled simultaneous mobility model.
Simultaneous handover was an inside issue in this topic. We discovered it and validate
the solution approach by taking fitting parameter. Handover latency is reduced by
using LS, while simultaneous handover occurs. From the experimental results and
confidence analysis, it is shown than effective improvement is achieved after using LS
in simultaneous handover issue. Hence the key contribution of this thesis is to solve
the simultaneous mobility issue by adding LS which fulfills the location management
and reduces the handover latency as well.
Chapter 3 concludes the details of simulation tool used in this thesis work.
Chapter 6 includes the analysis and discussions upon simulation results and
confidence analysis.
6
Chapter 2: Background
CHAPTER 2
BACKGROUND
In this chapter, mobility issues like simultaneously movement, handover, protocols
etc are described. For transport layer mobility, SCTP and its extensions are thoroughly
introduced in this chapter.
Handover refers to the process of transferring an ongoing call or data session from
one channel connected to the core network to another. The most basic form of
handover is when a phone call in progress is redirected from its current cell (called
source) and its used channel in that cell to a new cell (called target) and a new channel.
Seamless handover is defined as a handover researches, most of them are based on the
pattern that a mobile node communicates with a fixed one. However, in a real world,
both nodes may be mobile, thus simultaneous mobility occurs.
7
Chapter 2: Background
2.2.2 Multi-homing
Standard SCTP introduces a new feature called multi-homing. Multi-homing
allows the use of multiple source-destinations IP addresses for a single association
between two SCTP endpoints. To support multi-homing, the endpoints of a transport
protocol must have more than one transport layer addresses. These transport layer
addresses are the different paths of the peer towards the endpoint with the multiple
transport addresses [17]. Multi-homed nodes can be simultaneously connected through
multiple end-to-end paths to increase resilience to path failure. For instance, users
might be simultaneously connected through dial-up/broadband or via multiple wireless
technologies such as 802.11b and GPRS [18].
2.2.3 Multi-streaming
Multi-streaming is a unidirectional dataflow of multiple streams of an SCTP
association. Order of data is preserved as intra stream such that each stream has its
own sequencing space. Incoming data from the upper layer application can be
multiplexed onto an association in SCTP.
When a segment of a certain stream is lost, following segments of the same stream
will be stored in the receivers stream buffer until the source retransmits the lost
segment. Yet, other streams can still be passed to the upper-layer application. Multi-
streaming elude the Head-of-line blocking (HOL) exists in TCP (Transmission Control
Protocol), where a single stream loss can cause subsequent streams to also be delayed.
HOL effect does not affect the SCTP association due to individual streams [18].
8
Chapter 2: Background
9
Chapter 2: Background
get the updated pool data. Therefore, the NS functionality can be compared to a
location register in mobile networks. Using an appropriate pool policy (e.g. the
newest element), the caller is now able to let the RSerPool name server resolve the
pool handle to the new transport address. Then, it can establish a new association and
execute an application-specific failover procedure. After that, the application can
continue the communication session.
10
Chapter 3: Simulation Tool
CHAPTER 3
SIMULATION TOOL & METHODOLOGY
Simulation tool and methodology used in this project to accomplish the simulation
task. Network simulation is a technique in telecommunication based research when the
behavior of a network is modeled either by calculating the interaction between the
different network entities (client, host, routers, data links, packets, etc) using
mathematical formulas, or actually capturing and playing back observations from a
production network [33].
NS2 started in 1989 as a variant of the REAL network simulator [37]. Simple NS2
scenarios run on any reasonable machine; however, for very large scenarios it is
necessary to have large amounts of memory. NS2 requires some additional packages to
run properly; these are: Tcl, Tk, OTcl and TclCL [38].
NS2 mainly consists of two languages: C++ and OTcl [38]. Tool Command
Language (Tcl) is a very powerful interpreted script language. Tcl scripts are written to
configure network topologies and provide linkage for class hierarchy, objects
instantiation, variable binding and command dispatching. OTcl is used for periodic or
triggered events. Tool Kit (Tk), is an escort program for Tcl, to help create graphical
user interface with Tcl. TclCL (Tcl with classes), a Tcl/C++ interface, provides linkage
between C++ and OTcl. Event scheduler and Basic network component objects are
written and compiled with C++ [34]. OTcl interpreter has these compiled objects
available by an OTcl linkage [39].
11
Chapter 3: Simulation Tool
The wired nodes consist of an entry point and two classifiers named Address
Classifier and Port Classifier. The configuration of a mobile node is same like wired
nodes. In a mobile node, packets arrive through the entry point to the address
classifiers to check the address. The packets are then flow through the port classifiers
to the routing agents. Routing agent processed the packet via some layer functionality.
Thus the mobile node can be treated as mobile because of the routing type defined in
the Tcl script [39].
12
Chapter 3: Simulation Tool
Figure 3.2 illustrates nine (9) trace entries of a sctp simulation, from them, the
event column has three enqueue operations (``+''), two dequeue operations (``-''), three
receive events (``r''), and one drop event. In the second column, the simulation time is
in seconds at which each event occurred. The next two columns indicate trace
happenings of two nodes. In the next two fields, the type of a packet and their size is
displayed. SCTP packet trace contains five (5) extra column fields than a TCP trace.
Among these, the chunk type indicates some alphabetic flags like I, D, S, H, B. The
flag I indicate an association initiation control chunk like INIT, INIT-ACK, COOKIE-
ECHO, and COOKIE-ACK. The D, S flags indicate a DATA and a SACK chunk. The
rest chunks H, and B are indicates a HEARTBEAT chunk and HEARTBEAT-ACK
chunk successively [39].
Henceforth, we select NS2 platform for this project implementation task to suit the
requirement of reaching a solution for simultaneous mobility in seamless handover.
According to NS2 architecture, a SCTP enabled node cannot be multi-homed. A multi-
homed node actually be the combination of three nodes such that a core node and a
couple of interface nodes to simulate the interfaces. All these nodes are SCTP
enabled. But, traffic flows only through the interfaces nodes. The core node has
connection with these interface nodes and is used only for routing. The connection of
core node with the interfaces is a unidirectional link. No traffic flows through the core
node. The following figure illustrates the SCTP node outlook [34].
13
Chapter 4: Proposed Model for Simultaneous Mobility with Location Management
CHAPTER 4 4
PROPOSED MODEL FOR SIMULTANEOUS
MOBILITY WITH LOCATION MANAGEMENT
In this chapter, we are going to describe the proposed model to solve the
simultaneous mobility issues. After citing the related and recent research papers in this
area and realizing the problem thoroughly, we suggest a new model as a solution
approach. First, we will go through the architectural model of simultaneous mobility
for mSCTP, which is prototyped on NS2 platform. Then location management is
inscribed for the model and related functionalities. After that the total solution
procedure of simultaneous mobility issues is presented with context analysis and
timing diagram. Lastly, we have discussed about the system constraints of the model
and risk analysis.
We consider the random movement of two mobile nodes, MN_0 and MN_1. The
mobile nodes are assumed to exist within different zones of homogeneous networks,
i.e., MN_0 in Zone_0 and MN_1 in Zone_1. These zones can be worked with
customized ranges. Suppose that MN_0 and MN_1 have the symmetric movement
position along x-axis. In details, the considerable mobility for MNs are taken by means
of one dimensional values, i.e., only x axis. The horizontal movement takes no angle,
i.e., =0. Let the values for x1 as (100, 0) to x2 as (150, 0) for simplicity of this
project solution. Thus the considerable movement is like that x1(100, 0) to x2(150, 0).
That means MN is moving from the position 100 to 150.
The most important state in this solution is the consideration of the term
step_length. The mobile nodes must pose into their mobility with random steps. Step
is defined as the position or state change of MN. At each step, MN has a specific
step_length. The value of step_length is equal to the distance travelled by the MNs
during a uniform interval time . We further assume that two mobile nodes are
simultaneously changes the value of step_length after every interval time. In addition
to the value of step_length; it is randomly generated; after every interval time , and
uniformly distributed. Let t0 denote the starting time of simulation. At time t = t0+ n,
where n = {1, 2,, N}. Thus mobility of MN will be called simultaneous. Also
step_length determines the logical connection between MNs past and future
movement according to our design concept. The simple algorithmic formula for MNs
14
Chapter 4: Proposed Model for Simultaneous Mobility with Location Management
positions is as follows:
For this model, we assume that MN_0 initially starts from a position which is
located at inferior distance from MN_1s initial place. According to the architecture of
this model the step_length is limited within a certain range of random values, which
has to be lower than ranges of Zone_0 and Zone_1. Otherwise MNs random steps
may exceed the boundary of its own region. The figure 4.1 demonstrates simultaneous
mobility pattern. Here we can perceive an overlapping zone in between Zone_0 and
Zone_1.This overlapping zone is essential in measuring handover occurrences. A
handover or simultaneous handover of MNs is triggered by any random step_length
closer to this overlapping zone. The decision, when to switch from the old zone to
the new one; is based on defining the minimal overlapping zone and the choice of
random step_length by MNs. These factors of handover process are also significant
in setting up an alternative solution of simultaneous mobility. We limit our solution by
setting up only these two measurements amongst others factors for gaining seamless
handover.
In the figure 4.2, the simulation model of simultaneous mobility is illustrated. With
the randomly generated step_length values, MN_0 and MN_1 are simultaneously
moving towards each other and when they crossed over into Zone_1 and Zone_0
respectively at the same time, simultaneous handover happens. We measure the
simultaneous mobility incidents of both MNs. This occurrence plays an important role
in measuring the performance of the solution. In the implementation chapter, we
included all our assumptions and parameters aimed at followed model.
16
Chapter 4: Proposed Model for Simultaneous Mobility with Location Management
When MN_0 wants to establish an association with corresponding node MN_1, the
first step is to determine its current address. Our proposed location management
scheme gets the current address from the LS, where a conditional local binding is
maintained between the mobile nodes addressed with step_length. This binding
update is maintained until MNs get latest location information from LS for keeping the
seamless mobility in mSCTP. Thus, LS manages simultaneous mobility in seamless
mode.
For the whole network, LS is used to maintain binding as a special entity. All the
connection paths are routed through LS. The specific functions for location
management are defined as follow:
Firstly LS registers all the initially generated random values of mobile node
(MN_0) and corresponding node (MN_1) with linked step_length value. It always
starts before SCTP association.
17
Chapter 4: Proposed Model for Simultaneous Mobility with Location Management
For the simulation purposes in NS2, all data set of mobile nodes initial and next
predictable movements can be stored with key values of step_length values into a
file. LS stores and manages the file location in simpler like .txt format. Our integrated
Tcl code can verify the exact data set for step_length and perform necessary action to
communicate with LS to save data.
18
Chapter 4: Proposed Model for Simultaneous Mobility with Location Management
In the next situation, there may have some different possible conditions occur. It
can happen that the MN_1 receives the MN_0 request before sending its own DAR
request. So, it responds to the MN_0 by sending a special ASCON-ACK to let the
MN_1 know about its new primary address. When MN_0 receives this
acknowledgement, it sends an ASCONF (Set Primary) message to the MN_1 on its
new primary address. Then, MN_1 responds by sending an ASCOF-ACK message on
the new primary address of the MN_0. The remaining procedure is to be completed
normally.
Delete Old IP address: After acknowledging that the new primary path is
working correctly, the old IP address path has to be deleted.
Update LS: LS has to update to notify about up to date changes made in the
network.
21
Chapter 4: Proposed Model for Simultaneous Mobility with Location Management
When MN_0 or MN_1 or both enters each others zone, they continue to receive
packets thorough Path1 or Path2. This is because their location changes already
notified in LS. With DAR process the corresponding MN_0 and MN_1 nodes path has
been set. The handover latency in this case is the time difference between the send of
the last packet by using Path1 and the receiving of first packet using Path 2. We can
determine the total handover delay by measuring the DAR process execution. The
detail techniques are mentioned in the implementation chapter.
22
Chapter 4: Proposed Model for Simultaneous Mobility with Location Management
23
Chapter 5: Implementation
CHAPTER 5 5
IMPLEMENTATION
In this chapter, we present the implementation of the proposed solution. First we
sort out objectives for analysis. Then, we illustrate the requirements for setting up
simulation environments. Several parameters and assumptions are considered based on
previous analysis. Towards the different implementation levels we have dealt with
some obvious challenges that will be discussed in the final system requirements and
challenges subsection.
The following objectives are crucial while working with implementation of our
proposed solution:
Setting up the actual and effective parameters for data analysis and
simulation.
Equipped with the necessary tools and supports to build modelled solution.
Execution and evaluation of main objectives with certain system constraints.
Validation of results with confidence interval analysis.
NS2 is a free tool to simulate, is a cost effective way to simulate. But, it takes too
much resources e.g., memory, disk-space during run-time. That is why NS2 needs a
high configured machine which is costly. NS2 generates huge trace files; as a result
software tools e.g., Tracegraph, Trace-analyzer, jTrana for converting a trace file is not
capable to load.
24
Chapter 5: Implementation
The following are the parameters used for execute the proposed solution:
MN_#_init: It is mobile nodes initial position, from where the mobile node
begins to move. The nature of this unit is random.
MN_#_new: It is the mobile nodes next movement position after random
step_length added with MNs initial position.
Zone_0: Area from where MN_0 starts to move. We set different ranges for
building and examining different simulation scenarios.
Zone_1: Area from where MN_1 starts to move. We set the different ranges
for experimenting with different simulation scenarios.
step_length: It is the random distance travelled in uniform interval time by
mobile node.
Range: This parameter is used to describe the upper and lower limit of
specific mobile node.
: It is the unit timestamp of both MNs simultaneous movement. It is set as
0.001s=01ms.
Handover Delay: This is the time difference between two given moments of
simultaneous mobility.
25
Chapter 5: Implementation
TRD 0 (i)
Hence, here are some parameters for analysing handover delay in table 5.1:
Parameter Definition
Tadd-IP mSCTP Add-IP time
Tdel-IP mSCTP Delete-IP time
Tset-primary-IP mSCTP set-primary-IP time
TASCONF mSCTP ASCONF chunk send delay
TASCONF- ACK mSCTP ASCONF-ACK chunk send delay
TRD Router discovery period
TDAR DAR procedure period between MN_0 and MN_1
TmSCTP mSCTP handover delay from MN_0 and MN_1
The following equation represents the handover delay when MN_0 and MN_ 1
handovers to each others zones:
Here, The DAR procedure period is composed of the ASCONF parameters sent
from MN_0 to MN_1.
Ideally for SCTP router discovery time can be overlooked because of the multi-
homing feature of SCTP. For example, a typical SCTP connection can be established
by WiFi card in WLAN for certain router discovery while data can still transmitted via
other heterogeneous network like CDMA2000 card. For our proposed solution for
simultaneous mobility, any of the two mobile nodes (MN_0 or MN_1), always be
multi-homed with LS. As Add-IP and Delete-IP, both of this process involves in
location management. Therefore handover delay is comprehensively depends upon
RTT of three ASCONF chunks (equation viii) for simultaneous handover occurrence.
26
Chapter 5: Implementation
The mSCTP handover delay is the addition of three RTT ASCONF chunks between
MN_0 and MN_1. This is why; we can say mSCTP handover as seamless handover.
5.2 Simulations
Simulation is the imitation which involves building a model of a certain system
under study. It can be mentioned as tool for approximation of reality. Simulations often
validate the models and assumptions, and used for verification the software and code.
The following sub-section will include the definitions of the performance matrices
which are required to be mentioned before building the simulation scenarios. Then, we
will discuss the scenarios based on our assumptions and observed experiments. The
final segment contains the incorporation and validation of our proposed model as a
solution for simultaneous mobility problems.
Overlap: An overlap occurs when any mobile node i.e. MN_0 or MN_1
passed over their boundary zone at any certain time.
MN_0 overlaps: When only MN _0 passed over the boundary of zone_0.
MN_1 overlaps: When only MN_1 passed over the boundary of zone_1.
Simultaneous Overlaps: It is the phenomenon, when both of the MNs overlap
into each others zone.
No overlaps: It occurs when any of the mobile nodes from any zone does not
pass their zone border. It means MN_0 or MN_1 is still moving simultaneously in their
belonged areas.
Sequential Handover: A sequential handover occurs while MN_0 or MN_1 or
both moves step by step along with their paths consistent tine intervals and passed the
Brink plane.
Simultaneous Handover: A simultaneous handover occurs when both MN_0
and MN_1 moving simultaneously and at the same time instance they crossed over
each others zones.
MN_0 handover: It is the total number of simultaneous handover in addition
27
Chapter 5: Implementation
It is assumed that MN_0 starts to move from Zone_0 and MN_1 starts to move
from Zone_1. The considered mobility is random for both the mobile nodes and they
follow uniform distribution. The mobility is simultaneous as we maintained the same
time for their movements. There are different ranges for both zones. Range for Zone_0
is from 0 to 374 and range for Zone_1 is from 376 to 750. The Brink plane value is
considered at 375. At each unit time (1 ms), any mobile node is supposed to move
with a random step_length. We assumed in the whole simulation that this Brink plane
value is the point after which MN_0 or MN_1 switch over to Zone_0 or Zone_1
successively. Thus, this point is considered as the Brink plane point for simultaneous
handover.
Figure 5.2: Showing random movements of MN_0 and MN_1 proceeding with
random step_length within range (0-750)
From the figure 5.2, we can observe that the simultaneous mobility pattern of
MN_0 and MN_1 are random and non-sequential. Within the same range, but two
different zones MN _0 and MN_1 are simultaneously moving.
We have built a Tcl script which can initiate the random movements of mobile
nodes simultaneously with random step_length values. In each run of simulations
there are different random movements of MN_0 and MN_1 are observed. Here is the
simple formula which we assumed for our simulation:
28
Chapter 5: Implementation
Following are some results generated for this specific scenario and parameters:
MN_0 MN_1 Simultaneous Simultaneous
No overlap
Overlaps overlaps overlap Handover
1 time 1 time No 28 times 0 time
Here, with this observation, we derive the formula for calculating average
step_length.
Total distances travelled within total runs
Average step_length = (ix)
Number of simulation runs
= 638.1 30 = 21.27 approx.: 22 steps.
Zone_0 is ranged within 0 to 374 i.e. 364 unit distances. Thus, mathematically
MN_0 should cross over to zone_1 after every 16.54, i.e. approx. 16 steps to handover.
Zone_1 is ranged within 374 to 750 i.e. 364 unit distances. Thus, mathematically
MN_1 should cross over zone_0 after every 17, i.e. approx. 17 steps to handover.
We did not observe any simultaneous handover of MN_1 and MN_0 together in
these thirty runs of successful simulation. The reason we find that if we imagine the
lower range of data for MN_0 and MN_1, then the probability of simultaneous
overlapping is increased.
29
Chapter 5: Implementation
Figure 5.3: Showing random movements of MN_0 and MN_1 proceeding with
random step_length
We assume that the MN_ 0 is randomly moving between Zone_0 and generating
uniformly distributed values of step_length while running. Similarly, MN_1 is
randomly moving within Zone_1 range and generating uniformly distributed values of
step_lengths while moving. Here, the maximum step_length is 50 as before. At each
unit time , any mobile node is moving with a random step_length (Appendix B2). In
B2, we can observe that MNs are following the presented solution model for
simultaneous mobility.
= 0.001s = 1ms
step_length = RNG (0:50)
For this specific scenario, we changed only the ranges and Brink plane point for
occurring handover. Every parameter remained same as previous scenario. Thus, we
observed the random and non-sequential mobility patters of MN_0 and MN_1 which
shown in figure 5.3.
Following are some results generated for this specific scenario and parameters:
MN_0 MN_0 MN_1 MN_1 Simultaneous No Simultaneous
overlaps handover overlaps handover overlap overlap Handover
08 times 13times 02 time 07 times 05 times 5 times 05 times
Here, from equation (ix), for calculating average step_length, the average
step_length comes approximately 22.
Zone_1 is spread over 101 to 150 unit distances. Thus, MN_1 mathematically
should cross over zone_0: after every (49/21.5) = approx. 2.27 steps to handover.
The number of simulation taken is 30. So, the estimated values for occurring
handover are 30/2.27=13.21. Simulation result shows total 15 times overlapping i.e.
handover occurs.
30
Chapter 5: Implementation
Now, we are assuming that the mobile nodes are moving sequentially with random
step_lenghts at each run. The simultaneous mobility of mobile nodes: MN_0 and
MN_1 from both zones are assumed to be successive. We consider new ranges:
In this scenario, it is assumed that MN_0 starts from initial position (10, 0) with
random step_length in Zone_0. And at the same time from Zone_1, MN_1 starts to
move from (500, 0) position with same random step_length. At STEP-1 (figure 5.4),
MN_1 is moving from position (500, 0) to position (472, 0) with random step_length
value 28. And with the same step_length value, i.e., 28, MN_0 is moving from the
position (10, 0) to position (38, 0) simultaneously. Hence, by the presented model
described in section 4.1, MN_1 is moving from 500 to 472 and MN_0 is moving
from 10 to 38. The detail MNs position values along with associated step_length
are shown on figure 5.6.
Here, we have only initialized the random and sequential motions of MN_0 and
MN_1 simultaneously towards each other. Every next movement from previous
positions are generated randomly. At each run of simulation, we inserted the initial
positions only. The step_length and next movements are generated by our Tcl code.
Below are some samples simulation results of the movement patterns from trace
file by generated main Tcl code:
Formation of output
M-movement
0.001-time for each movement unit (second)
1/0-id of mobile node
(_.00, _.00, 0.00),-initial position(x1,y1,z1)
(_.00, _.00, 0.00),-new position (x2,y2,z2)
_.00-step_length:distance travelled in each step- unit per step
31
Chapter 5: Implementation
Figure 5.4: MN_0 and MN_1 simultaneously moving and handovers occur at
step-11
Following are some results generated for this specific scenario and parameters:
Zone_0 is range within 0 to 249 units. Thus, mathematically should cross over
zone_0 after every (249/22 =) 11.31, approx. 11 steps to handover.
Zone_1 is range from 251 to 500= 249 units thus mathematically should cross
over zone_0 after every (249/22 =) 11.31, approx. 11 steps to handover.
Here, from equation (ix), for calculating average step_length, we found the mean
32
Chapter 5: Implementation
It is found from the simulation results that it would take approximately average 11
steps every time for MN_0 or MN_1 or both. Thus the estimated result is very closely
fit to the actual result.
The total number of simulation taken is 30 times. Simulation result shows total 20
times out of 30 times overlapping sequential handover occurred.
Figure 5.6: Data set from a random simulation run out of 30 times, (MN_1
and MN_0, handovers to each others region simultaneously)
33
Chapter 5: Implementation
set-off around 20s before simulation ends. Typically at 125.001s, we initialed to call
the ASCONF for mSCTP. Drop-tail queue is followed to store the packets. The duplex
links are set with delay of 200ms and bandwidth of 0.5Mb for interfaces used within
SCTP agent. We started record of all our simulation results after system gets stable.
No results were recorded but observed during warm-up periods. Approximately before
each pattern of simulation, we took 30 min warm-up time to have the system in steady
state. And buffer is flushed after that to get more free memory utilization. We
measured all the data sets for 30 different values where each value consists of 30
different simulations. All the data sets are assumed to follow normal distribution.
(a) (b)
Figure 5.7: (a) mSCTP unable to perform Add-IP (b) mSCTP successfully
perform Add-IP
For the above three scenarios in section 5.2.2, SCTP association is lost every time
when both MN_0 and MN_1 simultaneously moving and changing their locations
continuously. mSCTP can cope up with only sequential handover or sequential
mobility for single mobile node. But in case of both MN_0 and MN_1 performs
handover at the same time mSCTP failure occurs. It cannot complete necessary Add-
IP operation and session is lost.
In the figure 5.7 (a), mSCTP unable to maintain mobility in these process and
failed to preserve conventional DAR process when both nodes are mobile. Whereas, in
figure (b), it performs a successful DAR process, hence a handover occurs.
In simultaneous mobility, any mobile node must remain reachable to the rest of the
network via a static identifier regardless of its current location. At this point, we need a
Location manager for the service continuity to keep DAR process alive. Our proposed
solution has LS, which can act as a location identifier. The above problem can be
solved using mSCTPs ASCONF feature for seamless handover along with proposed
LS. mSCTPs ASCONF patch is installed on NS-2.34 and necessary programming for
integrating LS is done in Tcl script.
34
Chapter 5: Implementation
We used the mSCTPs ASCONF patch which yields the flexibility for
simultaneous mobility simulation. We incorporate this patch with LS to provide
complete seamless handover with location management. As LS is SCTP supported and
use multiple IP address, the end to end mobility between LS and mobile node
(MN_0/MN_1) can be maintained smoothly.
Figure 5.9: Showing new DAR process activity for mSCTPs ASCONF patch
In this patch no real IPs are considered, IP address are assigned globally with path
changes. We can initiate the sessions of Add-IP, Set Primary Path, and Delete-IP.
35
Chapter 5: Implementation
mSCTP internally assigns the new address when a Add-IP request is sent to specific
mobile node by sending an ASCONF request to other mobile node. After this request
is acknowledged, Add-IP session is successfully ends. This phenomenon happens
every time mobile nodes change its old location or primary address. Next step is to set
primary path.
The multi-homing feature allows a mobile node to use more than one IP address in
order to support more than one communication path, namely a primary path together
with several alternative paths in a single SCTP session. The primary path is used to
transport the data packets, and the MN will change its primary path to an alternative
path when its current primary path has failed. mSCTPs ASCONF patch assigns set
primary path after receiving ASCONF ACK from the other communicating
endpoint. The last following step is Delete-IP. This operation takes place after
mSCTP acknowledged that the old MN address is no longer available or previous
association has lost for any reason.
As mSCTP alone cannot either detect location of mobile nodes neither it can store
any information for future use. Without any type of location management tool mSCTP
can only manage two mobile nodes initial random values of an association. But, when
the mobile nodes starting to move simultaneously, mSCTP failed to locate mobile
nodes and SCTP association breaks. We can observe these phenomena clearly in figure
5.10 (a), (b).
(a) (b)
36
Chapter 5: Implementation
mSCTP successfully implemented while mobile nodes moving randomly with time
difference, but mSCTP failure occurs while mobile nodes are moving simultaneously.
The reason for this failure is there is no location management in simultaneous
mobility.
For a certain state of simultaneous mobility, it is not enough to contain only known
initial position of mobile nodes. Since, simultaneous mobility is a continuous process;
mobile nodes must need to be notified about their last and next association. Thats why
we need location management scheme to continue the simultaneous mobility process.
An LS successfully provides location support.
5.2.6 LS functionalities
For our proposed architecture, LS stores each MN node moving and keeps track of
mobility. It functions like a fixed SCTP enabled independent node which stores all the
movement positions in different zones as well as step_length values. For each MN_0
and MN_1, in every single step there is a step time called . LS node serves necessary
data sets for simultaneous mobility. As the step_length, MN_0 and MN_1s initial
variables are random here at every step of mobility; we have to save values of these
variables into LS. We observed in simulation running situations that for the same value
of step_length it is possible to generate initial positions of mobile nodes which
overlap at certain timestamps and also for the same values of step_length, mobile
nodes are not crossing over the Brink plane. Thus LS stores of both mobile nodes
initial positions and step_length value at each run.
For our proposed location management scheme, we only store the step_length ($)
and corresponding MNs initial position (symmetric for X= ($) =Y).
37
Chapter 5: Implementation
movements of specific mobile nodes. Also, LS is capable of storing all the values of
step_length for which handover is occurring. By exploiting these step_length values
for handover, LS can automatically measure the changed new location of mobile
nodes. In addition, LS can find the old initial values for mobile nodes. So, if LS can
detect the random new and old positions of mobiles, it can easily retrieve the lost
binding information. Beside that if location is detected, the session mobility can also
be solved. Thus location management problem is solved by using our simultaneous
mobility model.
Any participating mobile node can efficiently retrieve the values (positions)
associated with given key step_length value. It is a convenient way of maintain
mapping from key value to associated values where information can be scalable.
Thus, this location detection is solved by LS. This infrastructure of LS would be handy
to implement complex services like distributed information systems in LS.
This proposed solution with LS, starts from registering procedure. Every randomly
generated value of simultaneously moving MN_0 and MN_1 with associated
step_length values are registered into LS. LS verifies and checked if it is already
existing or not for non-occurring data redundancy. Implementation of LS registration
and update procedure is shown in Appendix C1 and C2.
Then, mSCTP operation starts with making data chunk for mobile nodes. The
SCTP association starts with Add-IP. It initiates by calling ASCONF. New address
location is forwarded from LS. This process finished in two steps. mSCTP always
generating global IP for each association and established virtual connection with
interfaces. After getting the new IP address from the changed location of MN_0
through LS, mSCTP sends Add-IP request to the corresponding mobile node and
waits for acknowledgement. After receiving ASCONF request, MN_1 makes its own
data chunk and forwards ASCONF acknowledgement. There exits two ASCONFs in
Add-IP.
38
Chapter 5: Implementation
Figure 5.13: Signalling between MN_0 and MN_1 and ASCONFs to measure
the total handover delay
Thus, mSCTP successfully completes first step Add-IP and proceeding with this
new address for further operation. The next process of Set Primary Path starts after
Add-IP is successfully finished. It follows the default DAR process of mSCTP which
consists of two ASCONFs. These two RTT will be added in total handover delay
calculation. The last step is Delete-IP. This process starts after setting up primary
path. This procedure of Delete-IP also consists of two ASCONFs. After data
communication is successfully finished with designated primary path, mSCTP
evaluates this path as no longer needed. This process ends very faster than other two
previous steps of mSCTP operation. Since, it is not needed to send any
acknowledgement to the primary address. It just deleted the old unused IP. But, our
proposed LS keeps the record that which location is already used and no longer
needed. So, at this stage LS updates itself by automatically deleting the old location
stored in the LS.
From figure 5.13, it can be realized that whole mSCTP procedure involved six
ASCONFs. These RTTs will be added while determining handover delay. LS stores the
locations of MNs to be initialized for DAR process and delete location information
from LS after finishing the DAR process. As LS starts instantaneously just before the
DAR, it is expected from our simulation that location management with LS provides
less handover delay. We will see detail in the results chapter.
39
Chapter 6: Experimental Results
CHAPTER 6 6
EXPERIMENTAL RESULTS
This chapter, we have analyzed the measured data sets and evaluate the
experimental results based on our proposed solution. At the beginning, we are going to
discuss about the performance of LS server for simultaneous mobility of mobile nodes.
To follow with the main performance parameter of this project, handover delay. And,
lastly we determine some confidence analysis of estimated results.
6.1 LS performance
The location management problem of simultaneous mobility is intended to solve
by location server (LS). LS can successfully register all the randomly generated
step_length values. It is used as the key value to determine the next movement of
MN_0 or MN_1. Also implemented LS acts as a multi-homed SCTP node, which
facilitates simultaneously moving MN_0 and MN_1 to remain connected and keep
mSCTP association intact. When MN_0 or MN_1 moves across to Zone_1 or Zone_0
for handover, LS updates the location of new MN_0 or MN_1. With the measured
step_length values, LS provides the new locations of mobile nodes which are to be
associated for mSCTP. Thus, it provides location management support.
LS provides faster and reliable location support over end-to-end mobility. As, all
the mobile nodes communicate via LS, it always aware of the latest condition of the
network. Thus LS easily detects the ongoing and outgoing paths of transmission. As
location updates can be managed by LS, the binding updates are also maintained by
mSCTP with LS.
Figure 6.1: LS server sample file storing all the simultaneous mobility
information
40
Chapter 6: Experimental Results
In this experiment, LS can store most probable random values of mobile nodes;
later through LS every MN can find its next movement with corresponding
step_length. But for location management in simultaneous mobility, LS only
provides information to MNs that are aware of coming handover. Through the mean
value of step_length and mean steps, it is convenient for location management
service to measure simultaneous mobility patterns. Moreover the occurrences of
simultaneous and non-simultaneous handover are successfully perceived through the
modelled simultaneous-sequential mobility scenario which is discussed on simulation
chapter.
41
Chapter 6: Experimental Results
We measured the three different criteria for estimating handover delay in our
solution. The first one is the handover delay of normal random movement of MN_0
and MN_1. In this case there is no location management support given by LS. The
next mentioned on the table 6.1, the handover delay of MN_0 with LS support. It is the
total time of three RTT ASCONF chinks of mSCTP after handovers to zone_1. MN_1
handover time is also calculated by adding the total time of Add-IP, set-primary-path
and Delete-IP ASCONFs. Finally, the simultaneous handover delay of MN_0 and
MN_1 is calculated by taking the time difference of crossing over to Zone_1 and
Zone_0 simultaneously. This will be also the calculated sum of three ASCONFs times
processed by mSCTP.
Table 6.1: Different steps to measure handover latency for mSCTP with and
without LS
The table 6.1 shows the time difference of Add-IP, set-primary-path and Delete-IP
between two mobile nodes using mSCTP without LS server and with LS server. At
first, we analysed the association delay of two mobile nodes moving randomly with
independent time difference in their own zones. There is no location management
involved for this. Then the result is based on the simultaneous mobility with handover
occurrence of MN_0 with LS server contribution. The next one is the outcome of
MN_1 handovers when simultaneously moving with LS provision. The rightmost
corner observation is for both MN_0 and MN_1 simultaneous handovers to each
others zone with LS provisioned location update.
From the results, we can compare the handover latency of mobile nodes by using
mSCTP for our proposed scheme with LS server and without LS server for
simultaneous mobility.
In this equation the three parameters for DAR process is consequently added for
mSCTP. For every occurrence of simultaneous or non-simultaneous handover, we can
measure the handover latency by this derived standard equation of TmSCTP [49].
Thus the coming aftermaths for handover latency of mSCTP with location
management and without location management, for simultaneous mobility are
dissected below:
From the above results in table 6.2, we can definitely interpret the significant
performance improvement of mSCTP with location management support of LS in case
of simultaneous mobility. In every cases of simultaneous mobility with LS support the
handover latency is curtailed. When simultaneous handover occurs between MN_0 and
MN_1, the proposed scheme has reached the handover latency perfection of
approximately 17.73ms less compared to handover latency of conventional
experimented approach. It can be observed from the table 6.2 that the average
handover delay is lessening to 17.73ms. With this mean value of average handover
latency progress, it is inspected that there is not much vulnerability in case of one
mobile node handovers or both mobile nodes simultaneously handovers. Hence we can
evidently mention that, the unique solution for simultaneous mobility with location
43
Chapter 6: Experimental Results
After comparing these above datasets, we can say that in case of simultaneous
mobility pattern this improvement is quite causative. Moreover to maintain the
seamlessness in on-going communication, this performance enhancement of mSCTP
with LS support is vital.
(i)
It is for normal distribution with n>= 30 to 40. For sufficiently large n, the error
between and approaches a normal distribution independently of the real
distribution of the error between and . As we worked with approximately n=30
revisited data sets, we follow the normal distribution. All the measured data are
identically distributed and simulated after system to be warmed up.
Similarly, we can calculate the other values of the mean of handover delay with LS
support. From the table 6.3, we can observe the average and standard deviations
measured. The data boundaries found after adding and deducting the CI interval from
the average value of handover latency with LS.
We can see from the below figure 6.3 (a), that estimated values exits into the
boundary of upper and lower bounds. The error graphs shows for three independent
simulation results of average performance. The mean value always exists between the
error boundaries. If we decrease the confidence level, then the size of the
corresponding interval will decreases. An increase in the sample size n (=30), will also
decrease the confidence interval without reducing the level of confidence. This is
because; standard deviation varies when n varies.
(a) (b)
Figure 6.3: (a) Error bars of estimated data 1.989170, (b) Error boundary
with standard deviation
45
Chapter 6: Experimental Results
46
Chapter 7: Conclusion and Future work
CHAPTER 7
CONCLUSION AND FUTURE WORK
In this project, an understanding of simultaneous mobility has been realized
through the NS-2 simulator for smooth handover purpose, applying an alternative
mobility model. Our main purpose was to solve the location management and
handover management for seamless condition when both nodes are mobile.
7.1 Conclusion
47
REFERENCES
[1] Akyildiz, I.F., Jiang Xie and Mohanty, S., "A survey of mobility management in next-
generation all-IP-based wireless systems, "Wireless Communications, IEEE , vol. 11, no. 4,
pp. 16-28, August 2004.
[2] D. Johnson, C. Perkins, and J. Arkko, Mobility support in IPv6, IETF RFC 3775, June
2004.
[4] A. Ezzouhairi, A. Quintero, and S. Pierre, A new SCTP mobility scheme supporting
vertical handover, in Proc. IEEE WiMob06, June 2006.
[5] Kelly, A, Muntean, G, Perry, P, and Murphy, J, Delay-Centric Handover in SCTP over
WLAN, Transactions on Automatic Control and Computer Science, 49, 63 (2004), 1--6.
[7] Shelley Zhuang, Kevin Lai, Ion Stoica, Randy Katz, and Scott Shenker, Host mobility
using an internet indirection infrastructure, in International Conference on Mobile Systems,
Applications and Services (Mobisys), San Francisco, May 2003.
[8] M. Ratola, Which Layer for Mobility? Comparing Mobile IPv6, HIP and SCTP, HUT
T-110.551, Seminar on Internetworking, 2005. Available: http://www.tml.tkk.fi/Studies/T-
110.551/2004/papers/Ratola.pdf
[9] Q. Liu, S. Li, H. He, and B. Wang, "A Multi-binding Solution for Simultaneous Mobility
of MIPv6," IEEE International (SOSE'06) China, 2006.
[10] Wong KD, Dutta A, Young K and Schulzrinne H. "Managing simultaneous mobility of
IP hosts".,in IEEE Milcom 2003; vol. 2, pp. 785790.
[12] Rosenberg J., SIP: Session Initiation Protocol, RFC 3261, June 2002.
[13] Stewart R., Stream Control Transmission Protocol, RFC 4960, September 2007.
[15] K. J. Lee, S. S. Nam, and B. I. Mun, SCTP efficient flow control during handover, in
Proc. IEEE WCNC, New Orleans, LA, Apr. 2006, pp. 6973.
[17] M. Riegel, M. Tuxen, N. Rozic, and D. Begusic, Mobile SCTP transport layer mobility
management for the Internet, in Proc. SoftCOM, Oct. 2002, pp. 305309.
48
[18] S. Fu and M. Atiquzzaman, SCTP: State of the art in research, products, and technical
challenges, IEEE Commun. Mag., vol. 42, no. 4, pp. 6476, Apr. 2004.
[19] Caro, A.L., Jr. et al., "SCTP: a proposed standard for robust Internet data transport,"
Computer, vol. 36, no. 11, pp. 56-63, Nov. 2003.
[20] R. Stewart et al., Stream Control Transmission Protocol (SCTP) Dynamic Address
Reconfiguration, RFC 5061, September 2007.
.
[21] P. Natarajan, F. Baker, P.D. Amer and J.T. Leighton, ''SCTP: What, Why, and How,
Internet Computing, vol. 13, no. 5, pp. 81-85, Sept. 2009.
[22] Po-Hsun Huang, Hung-Chi Chu and Huai-Hsinh Tsai Lin-Huang Chang, "Mobility
Management of VoIP Services Using SCTP Handoff Mechanism," in Symposia and
Workshops on Ubiquitous, Autonomic and Trusted Computing, 2009. UIC-ATC '09.,
Brisbane, 2009, pp. 330-335.
[23] R. Droms, Dynamic Host Configuration Protocol, RFC 2131, March 1997.
[25] W. M. Eddy, "At what layer does mobility belong? ," IEEE Communications Magazine,
vol. 42, no. 10, pp. 155-159, October 2004.
[27] P. Lei et al., An Overview of Reliable Server Pooling Protocols, RFC 5351,
September 2008.
[28] T. Dreibholz, A. Jungmaier, and M. Tuxen, A new Scheme for IP-based Internet
Mobility, in Proceedings of the 28th Local Computer Networks Conference,
Knigswinter/Germany, Nov 2003.
[29] K. Daniel and Lee Woon, Wei Wong, "Analysis of Simultaneous Mobility under
Asymmetric Mobility Conditions," in Military Communications Conference, 2007.
MILCOM 2007. IEEE , Orlando, FL, 2007, pp. 1 - 7.
[31] Wei-Kuo Chiang and Pei-An Lee, Simultaneous mobility support with IEEE 802.21
media independent handover, International Computer Symposium, vol 1, pp. 649-655,
November 2008.
49
[35] Ibrahim F. Haddad and David Gordon, "Using Network Simulator 2 to simulate case
scenarios using SCTP and TCP protocols with FTP and HTTP traffic, "LINUX JOURNAL,
Oct 2002. Available: http://www.linuxjournal.com/article/5929
[42] Seok J. Koh and Qiaobing Xie, Mobile SCTP (mSCTP) for IP Handover Support,
IETF Internet draft, Oct 2005.
[43] Wang and Qiang Liu, "A Multibinding Solution for Simultaneous Mobility of MIPv6",
presented at the Second IEEE International Workshop on Service-Oriented System
Engineering, 2006. SOSE 06, Shanghai, 2006, pp. 143-146.
[44] Patel, A. and Giaretta, G., Problem Statement for Bootstrapping Mobile IPv6
(MIPv6), RFC 4640, September 2006.
[45] Tuexen, M. and Stewart, R., Stream Control Transmission Protocol (SCTP) Chunk
Flags Registration, RFC 4960, October 2010.
[46] Thomson S., Narten T. and Jinmei T., IPv6 Stateless Address Autoconfiguration,
RFC 4862, September 2007.
[47] C. Ekelin and J. Jonsson, Real-Time System Constraints: Where do They Come From
and Where do They Go?, Proceedings of the International Workshop on Real-Time
Constraints, Alexandria, USA., Oct 1999, pp. 53-57.
[48] Abhishek Roy, Archan Misra and Sajal K. Das, "Location Update versus Paging Trade-
Off in Cellular Networks: An Approach Based on Vector Quantization," IEEE Transactions
on Mobile Computing, vol. 6, no. 12, pp. 1426-1440, June 2007.
[49] Jung Kee Song and Wenye Wang, "A simulation study of IP-based vertical handoff in
wireless," Wireless Communications and Mobile Computing, vol. 6, no. 5, pp. 629650, JUL
2006.
[50] Wei Wang and Norman Fenton, "Risk and confidence analysis for fuzzy multicriteria
decision making," Knowledge-Based Systems, vol. 19, no. 6, pp. 430-437, October 2006
50
APPENDIX
A1. Basic Wireless Configuration
51
B1. Data sets from randomly generated moving values of MN_0 and MN_1 for bigger
range for scenario-1:
Zone 0 Zone 1
Step_Length MN_0_Init MN_0_New MN_1_Init MN_1_New
6 84 90 534 528
16 276 292 396 380
14 308 322 508 494
14 352 366 504 490
45 308 353 501 456
9 310 319 402 393
18 352 370 381 363
37 161 198 381 344
31 311 342 470 439
34 331 365 438 404
35 300 335 446 411
5 330 335 387 382
12 284 296 449 437
30 58 88 494 464
3 150 153 476 473
31 220 251 498 467
44 84 128 513 469
20 308 328 423 403
10 150 160 473 463
3 102 105 432 429
14 316 330 411 397
4 149 153 454 450
43 56 99 422 379
45 54 99 440 395
8 108 116 513 505
2 262 264 379 377
28 356 384 407 379
6 255 261 388 382
33 315 348 524 491
35 158 193 515 480
32 332 364 548 516
52
B2. Data sets for randomly generated MN_1 and MN_0 for lower range in scenario-2:
Zone 0 Zone 1
Step_Length MN_0_Init MN_0_New MN_1_Init MN_1_New
36 99 135 142 106
0 96 96 146 146
20 74 94 148 128
9 55 64 101 92
10 90 100 137 127
4 60 64 110 106
17 68 85 150 133
29 59 88 135 106
5 78 83 127 122
8 75 83 142 134
46 96 142 147 101
6 71 77 132 126
8 76 84 109 101
33 75 108 102 69
49 92 141 134 85
33 90 123 142 109
31 73 104 125 94
14 53 67 107 93
20 81 101 147 127
28 98 126 148 120
38 72 110 148 110
19 62 81 127 108
15 68 83 133 118
7 85 92 124 117
14 82 96 126 112
45 86 131 145 100
31 71 102 150 119
43 95 138 137 94
24 51 75 130 106
3 52 55 121 118
53
C1. LS server registration and update, while MN_0 handovers:
54
C2. LS registration and update while MN_1 handovers:
55
D1. Trace file sample SCTP interface (if0):
56
D2. Trace file sample SCTP interface (if1):
57
D3. Multi-homed SCTP node sample trace file:
58
E1. XGRAPH view of SCTP node data transmission of if0:
59
E2. XGRAPH view of SCTP node data transmission of if1:
60
E3. XGRAPH view of Multi-homed SCTP nodes data transmission:
61
F. Code for ADD/Delete IP multiple interfaces of mSCTP:
62
set ftp [new Application/FTP]
$ftp attach-agent $sctp0
# Standard multi-test if
# {
proc add-ip {agent if1} {
global l1
global l0
$agent del_ip $if1 $l0
}
proc sim_start {} {
global ns
global h0_if1
global h1_if1
63
G. Header file (asconf.h) for mSCTP:
#ifndef ns_sctp_handover_h
#define ns_sctp_handover_h
#include "agent.h"
#include "node.h"
#include "packet.h"
#include "sctp.h"
#define SCTP_CHUNK_ASCONF_LENGTH 24
typedef struct SctpAsconfChunk_S
{
SctpChunkHdr_S sHdr;
u_int uiSeriNum;
u_int uiAddrParam;
u_short usType;
u_short usLength;
u_int uiAsconfReqCorID;
u_int uiIpValue;
SctpDest_S *spDest;
};
SctpHandoverAgent();
~SctpHandoverAgent(){}
//virtual
// void Timeout(SctpChunkType_E, SctpDest_S*);
void SackGenTimerExpiration();
protected:
//virtual
int command(int argc, const char*const* argv);
//virtual
int GenChunk(SctpChunkType_E eType, u_char *ucpChunk);
int ProcessAsconfAckChunk(SctpAsconfAckChunk_S
*spAsconfAckChunk);
//virtual
int ProcessChunk(u_char *ucpInChunk, u_char **ucppOutData);
int SendAsconf(SctpDest_S *spDest);
};
#endif
64
H. Random number generator header file in NS2:
/*
==============================================================
========
Global Variables
==============================================================
======== */
const double RANGE = 250.0; // transmitter range in
meters
double TIME = 0.0; // my clock;
double MAXTIME = 0.0; // duration of
simulation
Node *NodeList = 0;
u_int32_t *D1 = 0;
u_int32_t *D2 = 0;
/*
==============================================================
========
Random Number Generation
==============================================================
======== */
#define M 2147483647L
#define INVERSE_M ((double)4.656612875e-10)
char random_state[32];
RNG *rng;
double
uniform()
{
count++;
return rng->uniform_double() ;
}
..............................................................
.......
void
Node::RandomPosition()
{
position.X = uniform() * MAXX;
65
position.Y = uniform() * MAXY;
position.Z = 0.0;
}
void
Node::RandomDestination()
{
destination.X = uniform() * MAXX;
destination.Y = uniform() * MAXY;
destination.Z = 0.0;
assert(destination != position);
}
void
Node::RandomSpeed()
{
speed = uniform() * MAXSPEED;
assert(speed != 0.0);
}
void
Node::Update()
{
position += (speed * (TIME - time_update)) * direction;
if(TIME == time_arrival) {
vector v;
RandomDestination();
RandomSpeed();
v = destination - position;
direction = v / v.length();
time_arrival = TIME + v.length() / speed;
}
else {
destination = position;
speed = 0.0;
fprintf(stdout, NODE_FORMAT,
TIME, index, destination.X, destination.Y,
speed);
time_update = TIME;
time_transition = 0.0;
}
.........................................
66
/*
* Boundary conditions.
*/
if((t1 == 0.0 && t2 > 0.0) || (t2 == 0.0 && t1 >
0.0)) {
m1->reachable = m2->reachable = 1;
m1->time_transition = m2->time_transition =
TIME + max(t1, t2);
}
else if((t1 == 0.0 && t2 < 0.0) || (t2 == 0.0 && t1
< 0.0)) {
m1->reachable = m2->reachable = 0;
m1->time_transition = m2->time_transition =
0.0;
}
/*
* Non-boundary conditions.
*/
else if(t1 > 0.0 && t2 > 0.0) {
m1->time_transition = TIME + min(t1, t2);
m2->time_transition = TIME + min(t1, t2);
}
else if(t1 > 0.0) {
m1->time_transition = TIME + t1;
m2->time_transition = TIME + t1;
}
else {
m1->time_transition = TIME + t2;
m2->time_transition = TIME + t2;
}
/*
==================================================
Update the transition times for both NODEs.
================================================== */
if(time_transition == 0.0 || (m1->time_transition
&&
time_transition > m1->time_transition)) {
time_transition = m1->time_transition;
}
if(n2->time_transition == 0.0 || (m2-
>time_transition &&
n2->time_transition > m2->time_transition)) {
n2->time_transition = m2->time_transition;
}
next:
if(reachable != m1->reachable && TIME > 0.0) {
LinkChangeCount++;
link_changes++;
n2->link_changes++;
}
}
}
67
I. Sample trace file (SCTP) of calculating RTT and RTO:
68
time: 89.11296 saddr: 4 sport: 0 daddr: 6 dport: 0 cwnd:
66060 pba: 0 out: 64592 ssthresh: 65536 rwnd: 65536 peerRwnd:
944 rto: 1.000 srtt: 0.657 rttvar: 0.012 assocErrors: 0
pathErrors: 0 dstatus: ACTIVE isPrimary: TRUE frCount: 0
timeoutCount: 0 rcdCount: 0
time: 89.11296 saddr: 4 sport: 0 daddr: 7 dport: 0 cwnd:
2936 pba: 0 out: 0 ssthresh: 65536 rwnd: 65536 peerRwnd: 944
rto: 1.696 srtt: 0.669 rttvar: 0.257 assocErrors: 0
pathErrors: 0 dstatus: ACTIVE isPrimary: FALSE frCount: 0
timeoutCount: 0 rcdCount: 0
.......................................
time: 120.10485 saddr: 4 sport: 0 daddr: 6 dport: 0 cwnd:
66060 pba: 0 out: 64592 ssthresh: 65536 rwnd: 65536 peerRwnd:
944 rto: 1.000 srtt: 0.657 rttvar: 0.039 assocErrors: 0
pathErrors: 0 dstatus: ACTIVE isPrimary: TRUE frCount: 0
timeoutCount: 0 rcdCount: 0
time: 120.10485 saddr: 4 sport: 0 daddr: 7 dport: 0 cwnd:
2936 pba: 0 out: 0 ssthresh: 65536 rwnd: 65536 peerRwnd: 944
rto: 1.510 srtt: 0.659 rttvar: 0.213 assocErrors: 0
pathErrors: 0 dstatus: ACTIVE isPrimary: FALSE frCount: 0
timeoutCount: 0 rcdCount: 0
69