8.2.1 — 8.2.2 Заголовок IPv4-пакета
IPv4-заголовок имеет фиксированный размер 20 байт и содержит несколько полей. Роутеры читают эти поля, чтобы знать куда направить пакет.
Поля заголовка IPv4:

Version (Версия) — 4 бита, значение 0100 — означает IPv4.
IHL — Internet Header Length — длина самого заголовка (обычно 20 байт).
DS — Differentiated Services (DSCP + ECN) — 8 бит, определяет приоритет пакета (например, голосовой трафик важнее обычных данных). DSCP — приоритет, ECN — уведомление о перегрузке сети.
Total Length — общая длина пакета (заголовок + данные).
Identification / Flags / Fragment Offset — поля для сборки фрагментированных пакетов. Если пакет был разбит на части, эти поля помогают собрать его обратно в правильном порядке.
TTL — Time to Live — 8 бит, счётчик “жизни” пакета. Каждый роутер уменьшает TTL на 1. Когда TTL = 0 — пакет уничтожается, а отправителю уходит ICMP-сообщение “Time Exceeded”. Защита от бесконечных петель в сети.
Protocol — 8 бит, указывает протокол следующего уровня внутри пакета:
1= ICMP6= TCP17= UDP
Header Checksum — контрольная сумма для обнаружения повреждений заголовка. Пересчитывается каждым роутером (так как TTL меняется).
Source IPv4 Address — 32-битный IP-адрес отправителя (всегда unicast).
Destination IPv4 Address — 32-битный IP-адрес получателя (unicast, multicast или broadcast).
Итого — самые важные поля:
| Поле | Зачем нужно |
|---|---|
| Source / Destination IP | Откуда и куда идёт пакет |
| TTL | Защита от петель |
| Protocol | Какой протокол L4 внутри |
| Flags / Fragment Offset | Сборка фрагментов |
| Header Checksum | Проверка целостности |