Урок 2 из 4 · 7 мин
Пакеты, маршрутизаторы и путь ваших данных
Что на самом деле происходит с вашими данными между вашим Mac и сервером: их режут на пакеты, передают от узла к узлу, а иногда — под океаном.
Прошлый урок проследил один клик от вашего Mac до сайта. Этот урок замедляется на шаге «подключение»: что такое пакет, как маршрутизаторы решают, куда его отправить, и как вы можете сами понаблюдать за этим путём.
Ваше сообщение, разрезанное на части
Ничто из того, что вы отправляете через интернет, не движется целиком. Как объясняет Learning Center Cloudflare, перед тем как покинуть ваше устройство, данные разбиваются на небольшие сегменты, называемые пакетами, а затем собираются заново тем, кто их получает. Это называется коммутацией пакетов: поскольку пакеты от множества разных компьютеров могут делить одни и те же провода и оборудование, миллиарды устройств могут обмениваться данными по одним и тем же сетям одновременно, при этом каждый пакет пересылается независимо и не обязательно приходит в том порядке, в каком был отправлен.
Маршрутизаторы: решение на каждом шаге
Пакет не движется напрямую к пункту назначения. Он передаётся от одного маршрутизатора к следующему, и каждый маршрутизатор сам решает, куда отправить его дальше. Cloudflare описывает маршрутизаторы как устройства, которые читают заголовок пакета — часть, где указан пункт назначения, — и сверяют его с таблицей маршрутизации, подобно тому как проводник поезда проверяет билет, чтобы решить, на какую платформу отправить пассажира. Таблицы маршрутизации можно настраивать вручную (статическая маршрутизация) или обновлять автоматически по мере изменения условий (динамическая маршрутизация), подобно тому как навигационное приложение прокладывает объезд вокруг пробки. Маршрутизатор делает это миллионы раз в секунду для миллионов пакетов от множества разных отправителей одновременно.
Поскольку интернет — это сеть множества независимо управляемых сетей, одно соединение с сайтом обычно пересекает сразу несколько из них: вашу домашнюю или офисную сеть, вашего провайдера, одну или несколько транзитных сетей и, наконец, сеть, где размещён сам сайт. Весь путь целиком не принадлежит никому, и ни одна компания не видит его полностью.
Наблюдаем за путём сами: traceroute
В macOS есть встроенный инструмент, который показывает этот путь по шагам. Learning Center Cloudflare объясняет, что traceroute работает, отправляя пакеты с постепенно увеличивающимся значением времени жизни, так что каждый маршрутизатор на пути отправляет обратно небольшое сообщение об ошибке, раскрывая себя один шаг за раз. В результате получается список маршрутизаторов, через которые прошёл ваш пакет, и время, затраченное на каждый шаг.
traceroute 1.1.1.1Настоящая трассировка до 1.1.1.1 Cloudflare, показанная в собственной документации Cloudflare, выглядит примерно так: сначала роутер у вас дома, затем один-два шага внутри сети провайдера, затем одна или несколько сетей, о которых вы никогда не слышали, и, наконец, пункт назначения. На некоторых шагах вместо времени показаны три звёздочки (* * *): обычно это означает, что маршрутизатор настроен не отвечать на traceroute, а не то, что что-то сломано.
Через океаны: кабели, которых вы не видите
Для соединения между континентами пакеты почти наверняка в какой-то момент проходят через подводный волоконно-оптический кабель. Международный комитет по защите кабелей (ICPC), организация, объединяющая государства и владельцев кабелей и основанная в 1958 году, отмечает, что такие кабели переносят международный голосовой и информационный трафик дешевле и надёжнее, чем спутники: вызов, которому иначе пришлось бы преодолеть десятки тысяч километров до спутника и обратно, может вместо этого пройти напрямую по дну моря. Одна пара волокон в таком кабеле сейчас способна нести оцифрованную ёмкость, которую ICPC описывает как эквивалент 150 000 000 одновременных телефонных звонков, а каждый кабель обычно объединяет несколько таких пар волокон. Поскольку кабель может повредить авария или якорь судна, отрасль полагается на наличие нескольких независимых маршрутов, а не одной линии между любыми двумя регионами.
Главное
- Данные разбиваются на пакеты, которые движутся независимо и могут идти к одному и тому же пункту назначения разными путями.
- Каждый маршрутизатор на пути принимает собственное решение о пересылке на основе таблицы маршрутизации, не видя весь путь целиком.
- Соединение с сайтом обычно пересекает несколько независимо управляемых сетей, а не один непрерывный кабель, принадлежащий одной компании.
- Инструмент macOS `traceroute` раскрывает путь по шагам и время в оба конца до каждого маршрутизатора.
- Межконтинентальные соединения обычно проходят через подводные волоконно-оптические кабели, которые отрасль защищает, прокладывая несколько независимых маршрутов.
Проверьте себя
1. Почему миллиарды устройств могут одновременно делить провода и оборудование интернета?
- Потому что у каждого устройства есть собственный выделенный кабель
- Потому что данные разбиваются на пакеты, и трафик разных устройств может чередоваться на одних и тех же линиях — Верно.
- Потому что провайдеры замедляют всех одинаково
- Потому что DNS-резолверы объединяют данные всех пользователей
Коммутация пакетов позволяет пакетам от множества отправителей делить одно и то же сетевое оборудование, пересылаясь независимо друг от друга.
2. Чем пользуется маршрутизатор, чтобы решить, куда отправить пакет дальше?
- Размером файла пакета
- Таблицей маршрутизации, сверенной с пунктом назначения пакета — Верно.
- Паролем от Wi-Fi отправителя
- Только временем суток
Маршрутизаторы читают пункт назначения в заголовке пакета и сверяют его с таблицей маршрутизации, чтобы выбрать следующий шаг.
3. Что на самом деле показывает `traceroute`?
- Пароль каждого маршрутизатора
- Содержимое страниц, которые вы посещаете
- Последовательность маршрутизаторов, через которые проходят ваши пакеты, и время до каждого из них — Верно.
- Только ваш собственный IP-адрес
traceroute раскрывает личность каждого узла и время в оба конца, заставляя маршрутизаторы на пути отвечать по очереди.
4. Почему отрасль подводных кабелей строит несколько независимых кабельных маршрутов между регионами?
- Чтобы намеренно замедлить соединения
- Потому что один кабель может быть повреждён, поэтому избыточность сохраняет надёжность сети — Верно.
- Потому что спутники выводятся из эксплуатации
- Потому что каждый кабель может обслуживать только одну страну
ICPC отмечает, что стихийные явления, суда и другие события могут повредить кабель, поэтому разнообразие маршрутов защищает всю сеть от единичного отказа.
Примените на практике в FireAI
Примените этот урок на своём Mac.
- Узнайте, куда приложение отправляет данные, на World map — Увидьте, с какой именно компанией и страной незаметно общается одно приложение.
- Глубокая проверка без расшифровки чего-либо — Получайте реальные подробности о защищённом соединении, при этом FireAI никогда не читает то, что внутри него.
- Карта мира — Видьте, куда на самом деле уходят ваши данные, а не просто имя хоста, которое пришлось бы искать самостоятельно.
Источники
- Cloudflare Learning Center: What is a packet?
- Cloudflare Learning Center: What is routing?
- Cloudflare Learning Center: What is My Traceroute (MTR)?
- International Cable Protection Committee: Frequently Asked Questions
Примените это на своём Mac
Все функции бесплатно на 17 дней, без банковской карты.