1 of 28

Open Internet Measurement: Measurement Lab

Chris Ritzo critzo@measurementlab.net

support@measurementlab.net

2 of 28

M-Lab’s Mission

Measure the internet. �Save the data.�Make it universally accessible and useful.

3 of 28

Our Organizing Principles

  • Active Measurements
    • All synthetic data, we take user privacy seriously.
    • Client initiated tests only, Servers do not start tests on their own
  • Experiments are curated and approved by a panel of reviewers, primarily developed by academics
    • Longitudinal research and data
  • Clients come from the community — we do not develop/maintain clients.
    • Anyone can develop them
    • Anyone can run tests against the platform
  • Openness
    • All of the data is released CC0.
    • All of the code is open source.

4 of 28

Measurement Model

5 of 28

How we measure

6 of 28

How we measure

7 of 28

How we measure

M-lab emulates the consumer experience so much better by measuring the full route from consumer to content

8 of 28

The Platform Infrastructure

9 of 28

Today — 500+ Servers in 130+ locations

10 of 28

In Canada

  • 24 Servers
  • 6 Locations
    • Vancouver
    • Calgary
    • Winnipeg
    • Toronto
    • Montreal
    • Moncton
  • Sponsored by CIRA
  • All transit through Hurricane Electric
  • All sites @1Gbps transit

11 of 28

The Measurements

12 of 28

MobiPerf

University of Michigan

Network Diagnostic Tool

Internet2

Neubot

Nexa Center for Internet and Society, Politecnico di Torino

NPAD

Pittsburgh Supercomputing Center

Reverse Traceroute

University of Washington

Paris Traceroute

University Pierre et Marie Curie

Project Bismark

Princeton University

Sharperprobe

Georgia Tech College of Computing

Experiments

For a complete, up-to-date list: measurementlab.net/tests/

13 of 28

Throughput Measurements

M-Lab hosts two active throughput measurements:

  • Network Diagnostic Tool (NDT)
  • BISmark

NDT is integrated with numerous applications and receives about 2,000,000 tests per day.

Nearly every country is well-covered.

14 of 28

Core Services

  • Paris Traceroute: Every connection to an M-Lab server triggers paris-traceroute measurements.
  • Sidestream: web100 summary statistics for every TCP connection to the platform.
  • DISCO: Switch telemetry from every location on the platform.

15 of 28

The Data

16 of 28

The Data

  • Current NDT global daily volume:
    • ~2,000,000 tests �
  • Avg. daily NDT test volume in Canada (2019-01-01 to ~2019-05-31):
    • ~114,000 tests�
  • Upload & Download each count as a test row

17 of 28

The Data

Data: 2019 Client Test Locations

18 of 28

Where do tests come from?

  • Partnerships with Regulatory Agencies: Monitoring the progress of broadband deployment for policy-making.
  • Examples: United States (FCC & SamKnows), EC (Alladin.IT), Canada/CIRA, Greece, Cyprus, Thailand, Austria, Netherlands.

19 of 28

Where do tests come from?

CIRA’s IPT, Google Search, Software Integrations (uTorrent), Router Integrations, Fingbox,

Chrome Extension, the M-Lab Website

20 of 28

How is the data collected?

21 of 28

Network Diagnostic Tool - NDT

22 of 28

NDT

23 of 28

NDT BigQuery Schema

test_id & log_time & parse_time metadata for every row��connection_spec.* client metadata�connection_spec.client_geolocation.* lat/lon, country, region, etc�connection_spec.data_direction 1 / download - 0 / upload��connection_spec.client.network.asn Client ASN �connection_spec.server.network.asn M-Lab server ASN��web100_log_entry.connection_spec.* server and client IP & ports

web100_log_entry.snap.* Web100 metrics�web100_log_entry.snap.HCThruOctetsAcked download byte count�web100_log_entry.snap.HCThruOctetsReceived upload byte count�web100_log_entry.snap.SndLimTimeRwin Receiver Limited Time�web100_log_entry.snap.SndLimTimeCwnd Congestion Limited Time�web100_log_entry.snap.SndLimTimeSnd Sender Limited Time�web100_log_entry.snap.CongSignals Total congestion events

24 of 28

  • NDT saves the variables used to calculate metrics like download and upload speed�
  • Download Speed in Mbps:

8 * (web100_log_entry.snap.HCThruOctetsAcked / (web100_log_entry.snap.SndLimTimeRwin +� web100_log_entry.snap.SndLimTimeCwnd +�web100_log_entry.snap.SndLimTimeSnd))�

  • Upload Speed in Mbps:

8 * (web100_log_entry.snap.HCThruOctetsReceived / web100_log_entry.snap.Duration)

25 of 28

M-Lab Geolocation Annotations

  • IP address geolocation using Maxmind Geolite 2�
  • Data is annotated after data collection
    • connection_spec.client_geolocation.*
    • connection_spec.server_geolocation.*�
  • Client latitude / longitude represents location of ISP infrastructure providing IP addresses not individual household addresses

26 of 28

Accessing & Using M-Lab Data

27 of 28

Resources

28 of 28