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.

Обновлено:

Все термины раздела «Backend»

Что будем искать? Например,Продвижение