Твоя цельВыполните 1 задание в моделировании и 4 вопроса викторины0 из 5 выполненоПерейти к первому заданию ↓
У пакета есть две части — как у посылки с этикеткой.
Полезная нагрузка — это сами передаваемые данные, например часть фотографии.
Заголовок — это этикетка: кто отправил пакет, куда он направляется и какое у него порядковое число.
Маршрутизаторы читают заголовок, чтобы решить, куда отправить пакет дальше. Им совсем не нужно заглядывать в полезную нагрузку. Обычно заголовок содержит такие поля:
Адрес источника: откуда пришёл пакет.
Адрес назначения: куда он направляется.
Порядковый номер: какая это часть сообщения (добавляется протоколом TCP, Мир 5).
Время жизни (TTL): счётчик, который не даёт потерянным пакетам блуждать вечно (Мир 2).
Контрольная сумма: небольшое число для обнаружения повреждений (в следующем уроке).
Слои и упаковка. Отправка данных разделена на задачи, и каждая задача выполняется отдельным слоем. В простой модели TCP/IP их четыре, сверху вниз:
Прикладной слой: собственный язык программы, например HTTP для веб-сайтов или DNS для имён.
Транспортный слой: разделяет данные на части и отслеживает их с помощью TCP или UDP, а также использует номера портов, чтобы указать, для какой программы предназначены данные.
Интернет-слой: назначает пакету адрес и прокладывает для него маршрут через сети. Это IP, интернет-протокол.
Канальный слой: перемещает пакет через один участок пути по Wi-Fi или кабелю Ethernet.
Когда данные спускаются по слоям, каждый слой добавляет свой заголовок — как если бы мы положили письмо в конверт, потом конверт в коробку, а коробку в почтовый мешок. Это называется инкапсуляцией. Получатель распаковывает слои в обратном порядке. Поэтому один пакет содержит одновременно номер порта, IP-адрес и аппаратный адрес.
Адрес на пакете: IP.IPv4-адрес состоит из 32 бит и записывается как четыре числа от 0 до 255, разделённые точками, например 192.0.2.42. Каждое число хранится в 8 битах (одном байте). 32 бита дают 2³² = 4 294 967 296 возможных адресов — около 4,3 миллиарда. В 1980-х годах этого казалось вполне достаточно. Но этого не хватает для каждого телефона, ноутбука и датчика в мире.
На помощь пришли две вещи:
IPv6 использует 128 бит, что даёт около 3,4 × 10³⁸ адресов. Его адреса записываются в шестнадцатеричной системе с двоеточиями, например 2001:db8::42, а нули можно сокращать с помощью двойного двоеточия.
Частные адреса и NAT. Некоторые диапазоны зарезервированы для использования внутри дома или компании и никогда не передаются через Интернет: 10.0.0.0–10.255.255.255, 172.16.0.0–172.31.255.255 и 192.168.0.0–192.168.255.255. Твой маршрутизатор делит один публичный адрес между всеми твоими устройствами с помощью приёма под названием NAT (трансляция сетевых адресов). Поэтому миллионы домов могут одновременно использовать адреса 192.168.1.x.
Два вида адресов. У устройства также есть MAC-адрес — шестнадцатеричное число из шести пар, например 00:1A:2B:3C:4D:5E, которое идентифицирует его сетевое оборудование. Разницу удобно запомнить так: IP-адрес сообщает, где сейчас находится устройство в сети, а MAC-адрес — какое именно оборудование это устройство. IP переносит пакет через Интернет, а MAC-адрес используется для последнего перехода в твоей локальной сети. Порт — это уже совсем другое: число от 0 до 65,535, которое указывает, какой программе на устройстве предназначены данные. О портах ты узнаешь в Мире 5.
Если собрать всё вместе, путь пакета — это последовательность переходов. На каждом переходе канальный слой использует аппаратный адрес для этого конкретного перехода, а IP-адрес остаётся неизменным от начала до конца.
Загрузка 3D-лаборатории…
Проверь себя
Сколько битов в адресе IPv4?
Проверь себя
Что это за адрес: 192.168.1.20?
Проверь себя
От чего защищает поле времени жизни (TTL)?
Проверь себя
Какую часть пакета маршрутизатор в основном читает, чтобы решить, куда его отправить?
Выполнено 0 из 5 обязательных заданий. Выполни каждое задание и пройди каждый тест.Следующий урок →