On the Impact of IP Option Processing

Packets with IP options are said to be processed in the so-called "slow path" by some routers, which leads to additional delay; sometimes, routers (or hosts?) drop packets carrying an IP option. Still, IP options may sometimes be useful - in particular, I believe that it is advantageous to combine them with Path MTU Discovery:

Michael Welzl: "PMTU-Options: Path MTU Discovery Using Options". Internet-draft draft-welzl-pmtud-options-01.txt, February 2004.
Implementation (Linux kernel patch):
Readme file:

It is necessary to measure the impact of slow path processing in order to properly judge the usefulness of IP options. The intention of this project is to document such measurements. To make a long story short, the additional delay of our pings was 10% in a 2002 measurement, 7% in a 2003 measurement when a NOP option was included; we encountered approximately 3000 different router addresses in both cases.

The newest measurement of February 2004 shows 26%of additional delay, and approximately14500 routers were encountered.


Documents:

So far, we have carried out four measurement studies, which are documented in the following two technical reports:

Mattia Rossi, Michael Welzl: "On the Impact of IP Option Processing", Preprint-Reihe des Fachbereichs Mathematik - Informatik, No. 15, October 2003.

Mattia Rossi, Michael Welzl: "On the Impact of IP Option Processing - Part 2", Preprint-Reihe des Fachbereichs Mathematik - Informatik, No. 26, July 2004.

techreport2 - pdftechreport2 - ps

The following files contain the sources of the first technical report:

Original results from measurement 1 (10 pings sequential) with plotfiles for gnuplot (bzip2 compressed - 315 KB)
The plot files work as follows:
    plot1.dat plots the average RTT of every path length and ping type
    plot2.dat plots the median RTT of every path length and ping type
    plot3.dat plots the variance of every path length and ping type
    plot4.dat plots the number of answering hosts of every path length

Original results from measurement 2 (10 pings alternating) with plotfiles for gnuplot (bzip2 compressed - 1,5 MB)
The plotfiles do the same as for measurement 1

Original results from measurement 3 (100 pings alternating - august 2002) with plotfiles for gnuplot (bzip2 compressed - 4,1 MB)
The plotfiles do the same as for measurement 1

Original results from measurement 4 (100 pings alternating - july 2003) with plotfiles for gnuplot (bzip2 compressed - 22,2 MB)
The plotfiles do the same as for measurement 1

Use the plot*.dat files as follows in the summary directory of every measurement:

                $ gnuplot plot*.dat

Where * is a number between 1 and 4.

The gnuplot plotfiles for the remaining graphics use the files statistik.dat and statistik_result3.dat.
The graphics produced are only for the third and the fourth measurement.
These files were changed for useability with gnuplot.
The plotfiles are:
    plot_stat_2002.dat
    plot_stat_2002_med.dat
    plot_stat_2002_avg.dat
    plot_stat_2003.dat
    plot_stat_2003_med.dat
    plot_stat_2003-avg.dat

The files plotlast01.dat, plotlast01-2.dat,plotlast03.dat and plotlast03-2.dat are data files and not plot files.
They were created to allow the boxplots. The plot files for the boxplots are:
    plot_hosts0103.dat
    plot_var0103.dat
    plot_avgmed0103.dat
 

Download the bzip2 archive (3,1 KB) here.

The gnuplot-boxfill.pl perl script was used to colour the boxes in the eps graphics.

Statistic sourcecode (bzip2 archive - 750,6 KB)
This only sourcecode works for the measurement with the datafiles of this technical report.
This archive contains the result and router files from measurements 3 and 4, which were slightly changed to suit the statistic tool.
!!The tool won't work with the original files!!
The second techreport brought some improvements even in this tool (see below), but has to be changed to work properly with the datafiles from the first (uncomment some lines..)
The correct.c program won't work with this datafiles (and it's not needed :) )

The statistik_real program is used to obtain the number of routers per measurement; this information is written to a file called "statistik_real.dat". The RTT values in this file are not reliable!

The following files contain the sources of the second technical report:


The larbin webcrawler with applied changes for the measurement (bzip2 compressed - 273 KB)


Original results from measurement with plotfiles for gnuplot (bzip2 compressed - 2,1 MB)

Sourcecode and Documentation for the Statistic and Correcting program and corrected datafiles and statistic (bzip2 compressed - 1,4 MB)
The sourcecodes of statistik.c and statistik_real.c have been merged, the correct.c program is new. Documentation is only available in English, while the comments in the sourcecode are German. the statistic tool should only be used with the corrected datafiles; otherwise, the results will not be reliable!

The plotfiles work as described for the first technical report. The tools (gnuplot, LaTeX, gnuplot-boxfill.pl) are the same.


Extping and Summary sourcecode

Extended Ping sourcecode (bzip2 archive - 116,1 KB)
This source code includes the Summary Tool.

Slightly outdated german documentation along with some very preliminary results:

Sorry, no english documentation available.

 




Last update: 21. July 2004
Back to Michael's page