Bandwidth estimation

The experiments described below attempt to estimate bandwidth using dependence of travel times and RTTs on packet size.

We probe CAIDA monitor champagne.caida.org (located on UIUC network) with traceroute (UDP) packets of increasing size. The path which connects CAIDA network with the monitor goes through vBNS, which at the moment of writing has OC-12 and OC-48.

Each experiment sends 10 traceroute packets to each of the 10 hops connecting CAIDA to the UIUC monitor.

The first experiment tests coarse-grained banwidth-dependent network properties. A total of 65 traceroutes with packet data size of 1,2,...65 kilobytes is sent. The RTTs of these packets are shown on the graphs below. Same experiment was run 6 times, using hosts crunch, lib5, chianti, cider and ipn (twice).

A typical traceroute (as run from hosr crunch) looks as follows:

/usr/sbin/traceroute -q 10 champagne 1000 
 1  pinot-fe2-0-0 (192.172.226.65)  1.041 ms  1.018 ms  0.889 ms  0.942 ms  0.860 ms  0.902 ms  0.901 ms  0.901 ms  0.903 ms  0.912 ms
 2  cs-f-vbns.sdsc.edu (198.17.46.43)  5.769 ms  5.215 ms  5.447 ms  5.488 ms  5.459 ms  5.353 ms  5.324 ms  5.491 ms  5.367 ms  5.445 ms
 3  jn1-at1-0-0-2.rto.vbns.net (204.147.129.126)  5.367 ms  5.655 ms  5.323 ms  5.482 ms  5.373 ms  5.445 ms  5.322 ms  5.487 ms  5.658 ms  5.812 ms
 4  jn1-so7-0-0-0.hay.vbns.net (204.147.128.81)  17.006 ms  17.205 ms  17.280 ms  16.833 ms  17.247 ms  16.790 ms  17.450 ms  17.287 ms  16.825 ms  16.920 ms
 5  jn1-so7-0-0-0.dnj.vbns.net (204.147.136.141)  40.366 ms  40.462 ms  40.388 ms  40.390 ms  40.421 ms  40.383 ms  40.511 ms  39.936 ms  40.015 ms  40.221 ms
 6  jn1-so7-0-0-2.dng.vbns.net (204.147.136.144)  64.673 ms  64.843 ms  64.462 ms  64.428 ms  64.468 ms  64.471 ms  64.349 ms  64.426 ms  64.842 ms  64.423 ms
 7  cs-atm0-0-0-25.ncsa.vbns.net (204.147.136.90)  67.658 ms  68.045 ms  67.745 ms  68.239 ms  67.908 ms  67.993 ms  67.827 ms  67.766 ms  67.931 ms  68.088 ms
 8  charlie-atm1-0-5.ncsa.uiuc.edu (141.142.11.2)  68.602 ms  68.753 ms  68.404 ms  68.239 ms  68.564 ms  68.442 ms  68.406 ms  68.236 ms  68.688 ms  68.565 ms
 9  141.142.0.2 (141.142.0.2)  68.445 ms  68.808 ms  68.729 ms  69.714 ms  68.567 ms  68.770 ms  68.525 ms  68.398 ms  68.896 ms  68.727 ms
10  champagne (141.142.121.4)  68.451 ms  68.506 ms  68.719 ms  68.565 ms  68.443 ms  68.402 ms  68.404 ms  68.524 ms  68.281 ms  68.404 ms
The cities and areas passed by the path can be inferred from host names. This inference is corroborated by the vBNS maps of network topology and bandwidth map of Aug/21/2000 and prediction for Dec/31/2000. It has to pass metropolitan areas of Los Angeles, San Francisco - Bay area, Denver Colorado and Chicago on its way to NCSA and UIUC. The nominal bandwidth of the links along the path is OC-12 (622 Mbps), which may be of ATM or packet-over-SONET (POS) variety, or OC-48 (2.4 Gbps) POS.

According to RFC 1812, a router should send reply "TTL expired" with the address of the interface on which the packet was received. According to the same RFC, it should put the address of the interface on which the packet is sent when updating Record Route option in the IP header. This makes it possible to identify interfaces which belong to the same box, by sending traceroute packets to IP addresses and checking whether the source address in the response is different from the original destination. This idea was successfully used in the iffinder program developed by Ken Keys at CAIDA. Yet another way to identify interfaces is by using IP Record Route option and comparing recorded route to the interfaces returned by the traceroute. Recorded route is of course limited to 9 packets, nonetheless it is useful in many cases since the number of hops is either less than 9, or some of the intermediate hops do not insert their addresses in the option field.

Bandwidth shift which attains min.spread between minimum and median of resulting dtr.
(step=1 ns/bit = 8 ns/byte)
hop min.spr.at  diff,ns/bit bw.est,Mbps
  1     39.000     39.000     25.641
  2     67.000     28.000     35.714
  3     87.000     20.000     50.000
  4     85.000     -2.000      0.000
  5     90.000      5.000    200.000
  6     93.000      3.000    333.333
  7    102.000      9.000    111.111
  8    124.000     22.000     45.455
  9    121.000     -3.000      0.000
 10    126.000      5.000    200.000

Bandwidth shift which attains min.spread between minimum and median of resulting dtr.
(step=0.25 ns/bit = 2 ns/byte)
hop min.spr.at  diff,ns/bit bw.est,Mbps
  1     38.750     38.750     25.806
  2     66.500     27.750     36.036
  3     87.000     20.500     48.780
  4     85.000     -2.000      0.000
  5     89.750      4.750    210.526
  6     93.500      3.750    266.667
  7    101.500      8.000    125.000
  8    124.750     23.250     43.011
  9    120.750     -4.000      0.000
 10    126.250      5.500    181.818

Bandwidth shift which attains min.spread between minimum and median of resulting dtr.
(step=0.0625 ns/bit = 0.5 ns/byte)
hop min.spr.at  diff,ns/bit bw.est,Mbps
  1     38.688     38.688     25.848
  2     66.438     27.750     36.036
  3     87.062     20.625     48.485
  4     85.000     -2.062      0.000
  5     89.625      4.625    216.216
  6     93.438      3.812    262.295
  7    101.438      8.000    125.000
  8    124.625     23.188     43.127
  9    121.562     -3.062      0.000
 10    126.250      4.688    213.333

Bandwidth shift which attains min.spread between minimum and median of resulting dtr.
(step=0.0625 ns/bit = 0.5 ns/byte)
hop min.spr.at  diff,ns/bit bw.est,Mbps
  1     24.125     24.125     41.451
  2     50.500     26.375     37.915
  3     51.625      1.125    888.889
  4     67.500     15.875     62.992
  5     36.812    -30.688      0.000
  6     62.875     26.062     38.369
  7     56.375     -6.500      0.000
  8     29.250    -27.125      0.000
  9     81.375     52.125     19.185
 10     94.500     13.125     76.190

Data collecting and processing scripts.