IP
Оригинальное название: Internet Protocol (IP)
Коротко
Основной протокол интернета: разбивает данные на пакеты, снабжает их адресами отправителя и получателя и доставляет через цепочку промежуточных сетей.
Что такое «IP»
Интернет — это не одна сеть, а тысячи независимых сетей провайдеров, дата-центров и компаний. IP позволяет им работать как единое целое. Каждый пакет несёт адрес назначения, и каждый маршрутизатор по пути решает только одно: в какую сторону отправить его дальше. Ни один узел не знает весь маршрут, и всё же пакет из Москвы доходит до сервера в Амстердаме за доли секунды.
IP не гарантирует доставку: пакеты могут потеряться, прийти не по порядку или задвоиться. Этот принцип называют «доставкой по возможности». Надёжность обеспечивает следующий уровень — TCP переспрашивает потерянное и собирает данные в правильном порядке. Для голоса и видео, где важнее скорость, чем полнота, используют UDP.
Что лежит в заголовке пакета
- Адрес отправителя и адрес получателя.
- Время жизни (TTL в IPv4, Hop Limit в IPv6) — счётчик, который уменьшается на каждом маршрутизаторе. На нуле пакет уничтожается, чтобы не кружить по сети вечно.
- Номер протокола верхнего уровня: TCP, UDP, ICMP.
- Длина и служебные поля для фрагментации.
Сами адреса, их публичные и частные диапазоны разобраны в статье про IP-адрес.
Пример: как увидеть путь пакетов
ping -c 4 example.ru # доходят ли пакеты и за сколько миллисекунд
traceroute example.ru # через какие маршрутизаторы идёт путь
tracert example.ru # то же в Windows
Трассировка использует поле времени жизни: отправляет пакеты с TTL 1, 2, 3 и так далее, а маршрутизаторы на каждом шаге сообщают, что пакет «умер» у них. Так виден весь путь и место, где растёт задержка. Если сайт недоступен у части посетителей, трассировка помогает понять, проблема на сервере или у провайдера по пути.
Две версии протокола
IPv4 использует 32-битные адреса — около 4,3 миллиарда вариантов, и они давно закончились. Нехватку смягчает NAT: множество устройств выходит в интернет под одним публичным адресом. IPv6 с 128-битными адресами решает проблему по-настоящему, но обе версии несовместимы напрямую и годами работают параллельно. Сайту, чтобы быть доступным по IPv6, нужен адрес этой версии на сервере и AAAA-запись в DNS.

