Rigorous Measurement of the Internet Degree Distribution

Matthieu Latapy, Elie Rotenberg, Christophe Crespelle, Fabien Tarissan

Presentation

About

This webpage is supplementary material to our Internet Topology Measurement work. It provides the source of our tools and datasets, and detailed description of how to use them, as well as other useful related information.

Abstract

The degree distribution of the internet, i.e. the fraction of routers with k links for any k, is its most studied property. It has a crucial influence on network robustness, spreading phenomena, and protocol design. In practice, however, this distribution is observed on partial, biased and erroneous maps. This raises serious concerns about the true knowledge we actually have of this key property. Here, we design and run a drastically new measurement approach for the reliable estimation of the degree distribution of the internet, without resorting to any map. It consists in sampling random core routers and precisely estimating their degree with probes sent from many monitors scattered over the internet. Our measurement shows that the true degree distribution significantly differs from classical assumptions: it is heterogeneous but it decreases sharply, in a way incompatible with a heavy-tailed power law.

Authors

Matthieu Latapy Sorbonne Universités, UPMC Univ Paris 06, LIP6 UMR 7606, 4 place Jussieu 75005 Paris
Elie Rotenberg Sorbonne Universités, UPMC Univ Paris 06, LIP6 UMR 7606, 4 place Jussieu 75005 Paris
Christophe Crespelle Université Claude Bernard Lyon 1, DANTE/INRIA, LIP UMR CNRRS 5668, ENS de Lyon, Université de Lyon
Fabien Tarissan Sorbonne Universités, UPMC Univ Paris 06, LIP6 UMR 7606, 4 place Jussieu 75005 Paris
UDP Ping

Summary

udpping implements the UDP Ping measurement primitive.

Description

udpping sends an UDP probe towards each IP address read on the standard input (one per line, in dotted-decimal format). This UDP probe consists in a single UDP packet, with TTL 255, adressed to a specified UDP port, carrying a specified message. udpping waits for a set amount of time (60s), during which it waits for responses (ICMP Destination Unreachable packets). Every time a response is received, the target and the interface it used to respond is printed on the standard output. After this set amount of time, all probes without response are considered lost and dismissed.

Input

The targets, one text dotted IPv4 address per line.

Sample input

Output

For each probe that replied, two text-dotted IPv4 adresses that identify the replying interface and the replying target.

Sample output

Parameters

-v verbose mode
-p port port: Integer, target port (defaults to random port)
-d delay delay: Integer, delay in milliseconds between two probes (defaults to 1000)
-m message message: String, content of the UDP probes (defaults to UDP Ping). It is strongly advised to include a contact address in the message so that network administrators can opt-out of your measurements and report issues.
-h display help
Sample usage

./udpping -v -p 44302 -d 100 -m "Matthieu.Latapy@Lip6.fr" < targets.dat > results.dat

Depending on your system, you may need to use sudo or flag the executable with the setuid bit in order to listen to inbound ICMP packets.

UDP Explore

Summary

udpexplore implements the UDP Explore measurement primitive.

Description

udpexplore sends an UDP probes towards random valid IP addresses with increasing TTL (starting from 0), until more than one host sends back an ICMP Time Exceeded message, and displays the observed interfaces for each TTL.

Input

udpexplore accepts no input.

Output

For each probe that was sent, two integers that identify the initial TTL and the iteration of the probe, and two text-dotted IPv4 adresses that identify the destination address and the replying interface, or * if the probe had no response.

Sample output

Parameters

-v verbose mode
-p port port: Integer, target port (defaults to random(49152, 65535))
-n number number: Integer, number of probes sent for each TTL (defaults to 100).
-d delay delay: Integer, delay in milliseconds between two probes (defaults to 1000)
-t timeout timeout: Integer, time in milliseconds between the sending of a probe and its assumed loss if no reply is received (defaults to 1000).
-m message message: String, content of the UDP probes (defaults to admin@localhost). It is strongly advised to include a contact address in the message so that network administrators can opt-out of your measurements and report issues.
-h display help
Sample usage

./udpexplore -v -p 44302 -n 256 -d 100 -t 1500 -m "Matthieu.Latapy@Lip6.fr" > results.dat

Depending on your system, you may need to use sudo or flag the executable with the setuid bit in order to listen to inbound ICMP packets.

Datasets

Description

Each file contains the aggregated results of running UDP Ping againsts a list of target IPv4 addresses.

Each line in the ASCII-encoded text file has format $monitor $interface $target, where $monitor is a PlanetLab monitor hostname, and $interface and $target are two dotted-decimal IPv4 addresses.

Such a line represents the fact that $monitor has recorded a response to its probe targetted at $target, with origin address $interface.

As explained in the paper, this usually means that the response probe was sent by $target using its interface $interface, therefore allowing us to conclude that $interface belongs to the same IPv4 host than $target.

Raw datasets

M1.gz Measurement set 1 8.6GB (gzipped)
M2.gz Measurement set 2 8.7GB (gzipped
M3.gz Measurement set 3 8.5GB (gzipped)