Masters Practical Course: Internet Measurements and Reproducibility Lab (2019)

The Internet is one of the most complex systems the human race has engineered. However, this increasing complexity has made it remarkably difficult for engineers to not only understand but also reliably predict its behavior today. It becomes intangible to identify improvements to a system when many aspects of the system become opaque to its designers.

Internet measurements has emerged as a new field in our era that helps to identify the properties of the Internet so that we are in a better position to improve it for future generations. Measurements are used today to not only isolate network failures but also to ascertain network performance and study the natural evolution of this running system. This is the reason why measurements are starting to get actively used by standardization bodies to inform protocol engineering and design. They are also actively used by network operators and content providers to help improve the quality of experience of their customers. Measurements are also becoming input for regulators that shape future broadband policies.

This lab is focused on Internet measurements and reproducibility of research results. In the first part, we will perform hands-on Internet measurement experiments using dedicated large-scale measurement platforms (such as RIPE Atlas et al.) and related measurement tools (such as ping, traceroute, dig, iperf et al.) to investigate variety of questions through a series of hand-on assignments. In the second part, we will attempt to reproduce results published in recent Internet measurement papers. The lab will conclude with a report and presentation of the reproducibility process.

Course requirements (recommended)

The participants should already be prepared by an undergraduate-level course on computer networks and networking protocols. Familiarity with networking tools used for performance evaluation and with network security may be beneficial, though not required. Experience in high-level programming languages (such as Python) and statistical tools (such as R or Pandas) is recommended as well, along with basic know-how of Linux and basic command line utilities.

Moodle page

To stay up to date with the latest course information, please refer to the Moodle course page.

Learning outcomes (study goals)

The topics covered in this lab revolve around Internet measurement and related tools. The lab assignments will give students hands-on experience with performing real-world experiments to investigate how the Internet functions and performs as of today. The students will learn how to collect data from such measurements, how to sanitize and validate the data using existing ground truth from related work, and how to analyze the data and interpret the observations while considering the inherent biases. Throughout the course, students will also explore about the possibilities and limitations of the measurement tools.

The participants will also learn how to critically read the paper assigned for reproducing the results in the second half of the lab. Students will further have the opportunity to advance their soft skills through a presentation of the reproducibility assignment. Participants may get in contact with the authors of the papers to facilitate the reproducibility of the work.

Teaching and learning methods

  1. Measurement assignments (40% of final grade)
  2. Reproducibility report (40% of final grade)
  3. Presentation of reproducibility report (20% of final grade)

Relevant Conferences and Journals:

  • ACM Conference on emerging Networking EXperiments and Technologies (CoNEXT)
  • ACM Internet Measurement Conference (IMC)
  • ACM SIGCOMM Conference
  • ACM SIGCOMM Computer Communication Review (CCR)
  • IEEE/ACM Transactions on Networking (TON)
  • IEEE International Conference on Computer Communications (INFOCOMM)
  • Passive and Active Measurement Conference (PAM)
  • Traffic Monitoring and Analysis (TMA)

Reading Material:

On Internet Measurement Platforms, Tools and Dashboards

On Reproducibility

Pre-course meeting: 17/July (14:00-14:15) at 01.07.023