IPv4 (Internet Protocol version 4 — интернет-протокол версии 4) — это четвёртая версия интернет-протокола и первая широко используемая версия. Протокол был описан в RFC 791 в сентябре 1981 года. На сегодняшний день IPv4 остаётся основным протоколом, на котором работает интернет.
Структура IPv4-адреса
IPv4-адрес представляет собой 32-битное число, которое обычно записывается в точечно-десятичной нотации — четырьмя числами от 0 до 255, разделёнными точками. Каждое из этих четырёх чисел называется октетом и представляет 8 бит информации.
Пример: 178.250.156.213
Общее количество возможных адресов в IPv4: (около 4,3 миллиардов). Несмотря на кажущееся большим число, это оказалось недостаточно для современного интернета.
Классы IPv4-адресов
Адреса IPv4 исторически делились на пять классов в зависимости от первого октета:
Класс A (0.0.0.0 — 127.255.255.255): адреса начинаются с бита 0. Первый октет находится в диапазоне от 1 до 126. Предназначены для очень больших сетей. Первый октет определяет сеть, остальные три октета — адрес узла. Максимально 128 сетей с 16 777 214 узлами в каждой.
Класс B (128.0.0.0 — 191.255.255.255): адреса начинаются с битов 10. Первый октет находится в диапазоне от 128 до 191. Предназначены для средних сетей. Первые два октета определяют сеть, последние два — узел. Максимально 16 384 сетей с 65 534 узлами в каждой.
Класс C (192.0.0.0 — 223.255.255.255): адреса начинаются с битов 110. Первый октет находится в диапазоне от 192 до 223. Предназначены для небольших локальных сетей. Первые три октета определяют сеть, последний октет — узел.
Класс D (224.0.0.0 — 239.255.255.255): адреса начинаются с битов 1110. Используются для многоадресной рассылки (мультикаста). Не имеют чёткого разделения на сети и узлы.
Класс E (240.0.0.0 — 255.255.255.255): адреса начинаются с битов 1111. Зарезервированы для будущего использования и экспериментальных целей.
Существуют также специальные диапазоны адресов. Например, сеть 169.254.0.0 (класс B) с 65 536 адресами зарезервирована для «канальных» адресов.
Структура заголовка IPv4-пакета
Заголовок IPv4-пакета содержит несколько важных полей:
Версия — первое поле размером в 4 бита, для IPv4 это значение 4.
Размер заголовка (Internet Header Length) — следующие 4 бита содержат размер заголовка в 32-битных словах. Минимальное значение — 5 (20 байт), максимальное — 15 (60 байт).
IPv4 и трансляция адресов (NAT)
В IPv4 используется технология NAT (Network Address Translation) — трансляция сетевых адресов. Это позволяет одному публичному IP-адресу маскировать множество частных IP-адресов внутри локальной сети. NAT был введён как временное решение для экономии адресного пространства.
Проблема исчерпания IPv4-адресов
Основная проблема IPv4 в современном интернете — исчерпание адресного пространства. Причины:
- Недостаточная проектная мощность инфраструктуры интернета, в которую не закладывался столь быстрый рост
- Быстрое развитие интернета вещей (IoT)
- Увеличение количества мобильных устройств
- Неэффективное распределение адресов в прошлом
Исчерпание в России и Европе: 25 ноября 2019 года в 17:35 по Москве был распределен последний блок IPv4-адресов в регионе. После этого новые адреса получить невозможно, хотя существующие адреса продолжают активно использоваться.
Последствия исчерпания адресов
Дефицит IPv4-адресов создаёт следующие проблемы:
- Усложнение сетевой архитектуры — провайдеры вынуждены применять несколько уровней трансляции адресов (NAT), что усложняет сеть и удорожает её.
- Проблемы с диагностикой и безопасностью — усложняет поиск проблем в сети и борьбу с ботнетами.
- Преграда для развития IoT — полноценное развёртывание интернета вещей в IPv4 невозможно из-за нехватки адресов.
- Технологический долг — накопление значимого технологического долга в интернет-инфраструктуре.
Переход на IPv6
Единственное долгосрочное решение проблемы — переход на IPv6, который использует 128-битные адреса и предоставляет возможных адресов. Однако переход идёт медленнее, чем ожидалось, из-за сложности миграции существующей инфраструктуры.
Современное использование
Несмотря на исчерпание нового адресного пространства, IPv4 остаётся основной версией протокола в интернете. Существующие адреса продолжают переиспользоваться, но это требует применения различных технологий трансляции адресов для обеспечения коммуникации в сети.
