Trinh Viet Doan | Justus Fries | Vaibhav Bajpai
Technical University of Munich
IFIP Networking 2021, June 21–24, 2021.
The DNS measurement and traceroute
datasets were collected from ~2.5k RIPE Atlas home probes.
A map of these home probes is shown below.
An extended set of 10.6k RIPE Atlas probes were used to determine the distribution of on-probe resolvers.
The datasets are stored in sqlite3
databases, aggregations and analyses are performed using Python scripts and jupyter
notebooks.
Required Python dependencies are listed in requirements.txt
and can be installed using pip3 install -r requirements.txt
.
For the calculation of CDFs and drawing of the corresponding plots, Pmf.py
→ and Cdf.py
→ from Think Stats → are used.
The main measurements using the 2.5k home probes were performed with the ./ripe-atlas-dns-week-msm.py
script.
The measurement results can be retrieved from the RIPE Atlas API through the measurement IDs, which are listed in ./metadata/msm_id_list.csv
.
An example script to fetch the data is provided with ./ripe-dns-fetch.py
.
It is recommended to follow up this process with the ./DNS-cleanup.ipynb
notebook.
The IDs of the one-off measurements (from the 10.6k probes) are listed in ./metadata/msm_id_list_all_ipv4_probes.csv
and ./metadata/msm_id_list_all_ipv6_probes.csv
, respectively.
The ./ripe-dns-all-probes.ipynb
notebook can be used to fetch and pre-process the results of these measurements.
The traceroute
measurement IDs are listed in the ./metadata/msm_id_list_traces_to_*.csv
files.
The measurements and result retrieval were all performed with ./ICMP-traceroute-msm.ipynb
.
This repository contains (most of) the required code, metadata, and table schemas to reproduce the results, see below for further instructions.
Move the modules to the right locations:
Pmf.py
→./data-aggregation/
and./plotting/
Cdf.py
→./data-aggregation/
and./plotting/
After fetching the data as outlined above, run the jupyter
notebooks in the ./data-aggregation/
directory to process and aggregate the raw datasets.
The notebooks in the ./plotting/
directory can then be used to generate the plots presented in the paper.
All plots are saved under ./plots/
.
Note: The required metadata lookups were already done and are stored in the ./metadata/
directory. The directory contains the scripts used to retrieve the metadata.
Please feel welcome to contact the authors for further details.
- Trinh Viet Doan (doan@in.tum.de) (corresponding author)
- Justus Fries (justus.fries@tum.de)
- Vaibhav Bajpai (bajpaiv@in.tum.de)