Internet Measurements: a Hands-on Introduction

بواسطة: France Université Numerique

Overview

Résumé en français

Ce cours en anglais est une introduction pratique aux mesures de l'internet (métrologie), basée sur des expérimentations réelles sur la plateforme PlanetLab Europe. Y sont abordés différents concepts tels que la topologie des réseaux et le routage, les pertes, la latence, la géolocalisation, la bande passante et les mesures de trafic.

Les vidéos de ce MOOC sont également sous-titrées en français

About This Course

This course is a hands-on introduction to internet measurements. You will learn about measuring the structure of the internet and the routes through that structure, about delays, losses and connectivity, about bandwidth, and about traffic.

You will see how to make these measurements, and you will understand what you can and cannot learn from them. We teach you how to run measurements from any computer. This course provides you with the ability to launch measurements on PlanetLab Europe, a platform consisting of internet connected servers at over 150 locations around the continent.

This course is structured in 5 weeks. Each week, around 6 course sequences will be available with video lectures, supplementary ressources, associated quiz and applicative exercises.

Syllabus

Course Syllabus

  • Week 1: Introduction
  • Week 2: Topology and routes
  • Week 3: Connectivity, losses, latency, and geolocation
  • Week 4: Bandwidth
  • Week 5: Traffic Measurements
Internet Measurements: a Hands-on Introduction
الذهاب الي الدورة

Internet Measurements: a Hands-on Introduction

بواسطة: France Université Numerique

  • France Université Numerique
  • مجانية
  • الإنجليزية
  • متاح شهادة
  • أيام محددة
  • الجميع
  • N/A
8.1.2PHP Version670msRequest Duration2MBMemory UsageGET ar/الدورات/{slug}Route
    • Booting (413ms)
    • Application (256ms)
    • 1 x Booting (61.55%)
      412.69ms
      1 x Application (38.19%)
      256.07ms
      14 templates were rendered
      • public.courses.show (resources/views/public/courses/show.blade.php)3bladefile
        Params
        0
        course
        1
        links
        2
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.courses.partials.details (resources/views/public/courses/partials/details.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.layouts.main (resources/views/public/layouts/main.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.meta (resources/views/public/layouts/partials/meta.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.navbar (resources/views/public/layouts/partials/navbar.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.links (resources/views/public/auth/profile/partials/links.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.layouts.partials.flash-session (resources/views/public/layouts/partials/flash-session.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      uri
      GET ar/الدورات/{slug}
      middleware
      web, localize:ar
      controller
      App\Http\Controllers\CourseController@show
      as
      ar.courses.show
      namespace
      prefix
      /ar
      where
      file
      app/Http/Controllers/CourseController.php:17-35
      7 statements were executed10.02ms
      • select * from `courses` where `slug_ar` = 'internet-measurements:-a-hands-on-introduction' limit 1
        8.18ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. internet-measurements:-a-hands-on-introduction
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:20
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • update `courses` set `visitors` = `visitors` + 1, `courses`.`updated_at` = '2025-06-10 18:37:36' where `id` = 2771
        650μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-06-10 18:37:36
        • 1. 2771
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:21
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `topic_id`, `slug_en`, `slug_ar` from `subjects` where `subjects`.`id` in (30)
        210μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `slug_en`, `slug_ar` from `topics` where `topics`.`id` in (1)
        180μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 25. /app/Http/Controllers/CourseController.php:23
        • 26. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 27. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 28. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 29. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `institutions` where `institutions`.`id` in (128) and `institutions`.`deleted_at` is null
        280μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `providers` where `providers`.`id` in (47) and `providers`.`deleted_at` is null
        180μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `html_files` where `html_files`.`id` = 2762 limit 1
        340μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 2762
        Backtrace
        • 21. /app/Models/Course.php:84
        • 28. view::public.courses.show:29
        • 30. /vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:125
        • 31. /vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • 32. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:72
      App\Models\HtmlFile
      1
      App\Models\Provider
      1
      App\Models\Institution
      1
      App\Models\Topic
      1
      App\Models\Subject
      1
      App\Models\Course
      1
        _token
        lVCKp5OIHKCGDIbwfbOz7WEN2DoedYY7DH2cQGuw
        locale
        ar
        _previous
        array:1 [ "url" => "https://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/intern...
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/internet-measurements:-a-hands-on-introduction
        status_code
        200
        
        status_text
        OK
        format
        html
        content_type
        text/html; charset=UTF-8
        request_query
        []
        
        request_request
        []
        
        request_headers
        0 of 0
        array:24 [ "cf-ipcountry" => array:1 [ 0 => "US" ] "cf-connecting-ip" => array:1 [ 0 => "216.73.217.5" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "x-forwarded-for" => array:1 [ 0 => "216.73.217.5" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "cf-ray" => array:1 [ 0 => "94dafb1a6b41870b-ORD" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "priority" => array:1 [ 0 => "u=0, i" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "host" => array:1 [ 0 => "www.corspedia.com" ] "content-length" => array:1 [ 0 => "" ] "content-type" => array:1 [ 0 => "" ] ]
        request_server
        0 of 0
        array:50 [ "USER" => "www-data" "HOME" => "/var/www" "HTTP_CF_IPCOUNTRY" => "US" "HTTP_CF_CONNECTING_IP" => "216.73.217.5" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_X_FORWARDED_FOR" => "216.73.217.5" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_CF_RAY" => "94dafb1a6b41870b-ORD" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_PRIORITY" => "u=0, i" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "HTTP_HOST" => "www.corspedia.com" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "corspedia.com" "SERVER_PORT" => "443" "SERVER_ADDR" => "141.95.147.152" "REMOTE_USER" => "" "REMOTE_PORT" => "54452" "REMOTE_ADDR" => "172.70.130.41" "SERVER_SOFTWARE" => "nginx/1.18.0" "GATEWAY_INTERFACE" => "CGI/1.1" "HTTPS" => "on" "REQUEST_SCHEME" => "https" "SERVER_PROTOCOL" => "HTTP/2.0" "DOCUMENT_ROOT" => "/var/www/corspedia/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/internet-measurements:-a-hands-on-introduction" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "SCRIPT_FILENAME" => "/var/www/corspedia/public/index.php" "PATH_INFO" => "" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1749580656.0176 "REQUEST_TIME" => 1749580656 ]
        request_cookies
        []
        
        response_headers
        0 of 0
        array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Tue, 10 Jun 2025 18:37:36 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6ImtZYVg3Qk9OSGRJd2FLYmdBRzN0OVE9PSIsInZhbHVlIjoiVmw1Y2o5YUh6M3FiWHNhQ2loYUlVSmRXM0tsditxa0dJMDROcU5maFUxMVp2dFhJaE1RQndSN1o2TDc3cnhZcmw5R2ZSTEFZcE12N0l3Y2JLME5OdXpCMnh5cVBIYjZFSHhPaUlZUHhNakZ5aUZ0OU1DQ2NRUmpxL2hoRUw2WUoiLCJtYWMiOiJjMDM2NmJlNGNlMTgxZTViYWI0NzE4N2YzYmIzMzc1MzcyYTg5ZGU5MWM1YTc0MjJjZDJhNjE5OTg1ZDBlYTg4IiwidGFnIjoiIn0%3D; expires=Tue, 10 Jun 2025 20:37:36 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6ImtZYVg3Qk9OSGRJd2FLYmdBRzN0OVE9PSIsInZhbHVlIjoiVmw1Y2o5YUh6M3FiWHNhQ2loYUlVSmRXM0tsditxa0dJMDROcU5maFUxMVp2dFhJaE1RQndSN1o2TDc3cnhZcmw5R2ZST" 1 => "laravel_session=eyJpdiI6IktYM21sOUkxYWZON2c4VGczaTZwd1E9PSIsInZhbHVlIjoiTERvQnBCQUVZVXlRVHFiWC9RTkpacE00dkZjWk1jNitYaUoza09XN2ZZOGhzby85R0crb3hyTXFMWERUcWRRbzQwWFBBV3NtdEJqWVdLc3BpVmxzWFB4Zm5xT3EweXRxRjFQTUZTWFJ0WHJxRTZsVDBCQU1lVWJ2dXZTeTJPUVgiLCJtYWMiOiIwOTUzNzczZmVjNmFkZTg1YjE2ZWQ2MjkzYTg2YjA4YzcyMjQ5OWM5NGQyNzk3MzQ4MmMzNzEyNDc5NTE4YmNkIiwidGFnIjoiIn0%3D; expires=Tue, 10 Jun 2025 20:37:36 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6IktYM21sOUkxYWZON2c4VGczaTZwd1E9PSIsInZhbHVlIjoiTERvQnBCQUVZVXlRVHFiWC9RTkpacE00dkZjWk1jNitYaUoza09XN2ZZOGhzby85R0crb3hyTXFMWERUcWRRbzQw" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6ImtZYVg3Qk9OSGRJd2FLYmdBRzN0OVE9PSIsInZhbHVlIjoiVmw1Y2o5YUh6M3FiWHNhQ2loYUlVSmRXM0tsditxa0dJMDROcU5maFUxMVp2dFhJaE1RQndSN1o2TDc3cnhZcmw5R2ZSTEFZcE12N0l3Y2JLME5OdXpCMnh5cVBIYjZFSHhPaUlZUHhNakZ5aUZ0OU1DQ2NRUmpxL2hoRUw2WUoiLCJtYWMiOiJjMDM2NmJlNGNlMTgxZTViYWI0NzE4N2YzYmIzMzc1MzcyYTg5ZGU5MWM1YTc0MjJjZDJhNjE5OTg1ZDBlYTg4IiwidGFnIjoiIn0%3D; expires=Tue, 10-Jun-2025 20:37:36 GMT; path=/XSRF-TOKEN=eyJpdiI6ImtZYVg3Qk9OSGRJd2FLYmdBRzN0OVE9PSIsInZhbHVlIjoiVmw1Y2o5YUh6M3FiWHNhQ2loYUlVSmRXM0tsditxa0dJMDROcU5maFUxMVp2dFhJaE1RQndSN1o2TDc3cnhZcmw5R2ZST" 1 => "laravel_session=eyJpdiI6IktYM21sOUkxYWZON2c4VGczaTZwd1E9PSIsInZhbHVlIjoiTERvQnBCQUVZVXlRVHFiWC9RTkpacE00dkZjWk1jNitYaUoza09XN2ZZOGhzby85R0crb3hyTXFMWERUcWRRbzQwWFBBV3NtdEJqWVdLc3BpVmxzWFB4Zm5xT3EweXRxRjFQTUZTWFJ0WHJxRTZsVDBCQU1lVWJ2dXZTeTJPUVgiLCJtYWMiOiIwOTUzNzczZmVjNmFkZTg1YjE2ZWQ2MjkzYTg2YjA4YzcyMjQ5OWM5NGQyNzk3MzQ4MmMzNzEyNDc5NTE4YmNkIiwidGFnIjoiIn0%3D; expires=Tue, 10-Jun-2025 20:37:36 GMT; path=/; httponlylaravel_session=eyJpdiI6IktYM21sOUkxYWZON2c4VGczaTZwd1E9PSIsInZhbHVlIjoiTERvQnBCQUVZVXlRVHFiWC9RTkpacE00dkZjWk1jNitYaUoza09XN2ZZOGhzby85R0crb3hyTXFMWERUcWRRbzQw" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "lVCKp5OIHKCGDIbwfbOz7WEN2DoedYY7DH2cQGuw" "locale" => "ar" "_previous" => array:1 [ "url" => "https://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/internet-measurements:-a-hands-on-introduction" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]