Открыть сервис

IPv4

IPv4 (Internet Protocol version 4) — это четвёртая версия межсетевого протокола (IP), являющаяся основным протоколом сетевого уровня модели OSI и первой широко внедрённой версией IP. Он отвечает за адресацию узлов (компьютеров, серверов, маршрутизаторов) в сети и маршрутизацию пакетов данных между ними. IPv4 использует 32-битные адреса, что теоретически позволяет адресовать до 4 294 967 296 (около 4,3 миллиарда) уникальных узлов.

История

Разработка протокола IPv4 началась в рамках проекта ARPANET в 1970-х годах. Первая спецификация была опубликована в 1978 году в RFC 760, а окончательная версия стандарта была зафиксирована в 1981 году в RFC 791. Этот протокол пришёл на смену более раннему протоколу контроля передачи данных NCP и стал фундаментом для развития глобальной сети Интернет. Внедрение IPv4 происходило постепенно: к концу 1980-х годов большинство сетей в США и Западной Европе перешли на этот протокол.

В середине 1990-х годов стало очевидным, что 32-битного адресного пространства IPv4 недостаточно для растущего числа подключённых устройств. Это привело к разработке масштабируемой схемы бесклассовой адресации (CIDR) и технологии Network Address Translation (NAT), а также к созданию следующего поколения протокола — IPv6. Несмотря на это, IPv4 остаётся доминирующим протоколом в Интернете и сегодня.

Формат пакета IPv4

Пакет (дейтаграмма) IPv4 состоит из заголовка и поля данных. Размер заголовка может варьироваться от 20 до 60 байт.

Структура заголовка

ПолеРазмер (бит)Назначение
Версия4Указывает версию IP (для IPv4 — 4).
IHL (Internet Header Length)4Длина заголовка в 32-битных словах.
Type of Service (ToS)8Указывает приоритет и тип обслуживания пакета.
Общая длина16Полная длина пакета (заголовок + данные) в байтах.
Идентификация16Номер для сборки фрагментированных пакетов.
Флаги3Контролирует фрагментацию.
Фрагментный смещение13Смещение фрагмента относительно начала исходного пакета.
TTL (Time to Live)8Максимальное количество маршрутизаторов, через которые может пройти пакет.
Протокол8Указывает протокол транспортного уровня (TCP — 6, UDP — 17).
Контрольная сумма заголовка16Проверяет целостность только заголовка пакета.
IP-адрес отправителя3232-битный адрес источника.
IP-адрес получателя3232-битный адрес назначения.
ОпцииПеременнаяДополнительные параметры (безопасность, маршрутизация).
ЗаполнительПеременнаяВыравнивание до 32-битной границы.

Поле данные содержит полезную нагрузку — сегменты протоколов транспортного уровня (TCP, UDP и др.).

Адресация IPv4

32-битный IP-адрес записывается в виде четырёх десятичных чисел (от 0 до 255), разделённых точками (например, 192.168.1.1). Каждое число соответствует 8 битам (октету). Адрес состоит из двух частей: идентификатора сети (network ID) и идентификатора узла (host ID). Граница между ними изначально определялась классовой адресацией, но в настоящее время используется бесклассовая (CIDR).

Классовая адресация

Исторически адреса делились на классы:

  • Класс A: адреса от 1.0.0.0 до 126.0.0.0 (идентификатор сети — 1 октет). Поддерживают до 16 777 214 узлов.
  • Класс B: адреса от 128.0.0.0 до 191.255.0.0 (идентификатор сети — 2 октета). До 65 534 узлов.
  • Класс C: адреса от 192.0.0.0 до 223.255.255.0 (идентификатор сети — 3 октета). До 254 узлов.
  • Класс D: адреса от 224.0.0.0 до 239.255.255.255 — для многоадресной рассылки.
  • Класс E: адреса от 240.0.0.0 до 255.255.255.255 — зарезервированы для экспериментальных целей.

Бесклассовая адресация (CIDR)

В начале 1990-х годов классовая адресация была признана неэффективной, и была введена бесклассовая междоменная маршрутизация (CIDR). В этой модели маска подсети (например, /24) указывает, сколько бит в адресе отведено под идентификатор сети. Это позволяет гибко распределять адресное пространство, уменьшая количество неиспользуемых адресов.

Специальные адреса

  • 0.0.0.0/8 — адрес для обозначения «этой сети» (используется для маршрутизации по умолчанию).
  • 127.0.0.0/8 — петлевой адрес (loopback). Пакеты, отправленные на него, никогда не покидают устройство (обычно используется 127.0.0.1 для localhost).
  • 169.254.0.0/16 — адреса link-local, используемые в случае отсутствия DHCP-сервера.
  • 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 — частные (приватные) адреса, не маршрутизируемые в Интернете.

Исчерпание адресов IPv4

Теоретическое количество адресов IPv4 (около 4,3 млрд) оказалось недостаточным для современных интернет-устройств. Основные причины:

  1. Неэффективность классовой адресации: крупным организациям выделялись целые блоки класса A, содержащие миллионы адресов, которые часто использовались лишь частично.
  2. Бурный рост Интернета: начиная с середины 1990-х годов количество устройств стало расти экспоненциально.
  3. Неравномерное распределение: значительная часть адресов принадлежит американским организациям.

Первые предупреждения об исчерпании прозвучали в начале 2000-х годов. В 2011 году IANA (Интернет-корпорация по присвоению имён и номеров) распределила последние блоки адресов между региональными интернет-регистратурами. На российский рынок последние блоки были выделены в 2012 году. С этого момента новые адреса стали доступны только за счёт вторичного рынка или за счёт внедрения IPv6.

Современное применение IPv4

Несмотря на дефицит, IPv4 продолжает активно использоваться:

  • NAT (Network Address Translation): позволяет множеству устройств в частной сети использовать один публичный IPv4-адрес для доступа в Интернет. Это существенно замедлило процесс исчерпания адресов.
  • Dual-Stack: одновременная работа протоколов IPv4 и IPv6 на одном сетевом интерфейсе. Большинство современных операционных систем поддерживают dual-stack.
  • Туннелирование: передача трафика IPv4 через сети IPv6 и наоборот. Пример — протокол 6to4.

Крупные производители и сервисы

Подавляющее большинство серверов, сайтов и услуг (веб-хостинг, облачные провайдеры, корпоративные сети) до сих пор преимущественно используют IPv4. Переход на IPv6 происходит неравномерно: по данным Google на 2024 год, около 40% пользователей в мире получают доступ в Интернет преимущественно по IPv6, но доля трафика IPv4 остаётся доминирующей.

Переход на IPv6

IPv6 (Internet Protocol version 6) использует 128-битные адреса (2^128 возможных комбинаций), что решает проблему исчерпания адресного пространства. Протокол был стандартизирован в конце 1990-х годов (RFC 2460). Ключевые преимущества IPv6:

  • Огромное количество адресов (340 ундециллионов).
  • Отсутствие необходимости в NAT.
  • Улучшенная безопасность (поддержка IPsec на уровне протокола).
  • Автоматическая настройка адресов (Stateless Address Autoconfiguration — SLAAC).

Однако миграция с IPv4 на IPv6 происходит медленно из-за унаследованной инфраструктуры, затрат на обновление оборудования и несовместимости протоколов. На 2024 год около 60% глобального интернет-трафика всё ещё передаётся по IPv4. Российские операторы связи (Ростелеком, МТС, Билайн) ограниченно внедряют IPv6, но основным протоколом остаётся IPv4.

Источники

  • RFC 791 — Internet Protocol (протокол IPv4).
  • RFC 4632 — Classless Inter-Domain Routing (CIDR) — адресация и маршрутизация.
  • ISBN 978-5-459-01603-7 — Олифер В.Г., Олифер Н.А. «Компьютерные сети. Принципы, технологии, протоколы» — глава 6: протокол IPv4.
  • RFC 3021 — Using 31-Bit Prefixes on IPv4 Point-to-Point Links.
  • «Интернет в России 2024» — отчёт Центра глобальных IT-коопераций (CGITC) — данные по использованию IPv4 и IPv6 в России.
  • Отчёты Google по измерению IPv6-трафика (https://www.google.com/intl/en/ipv6/statistics.html) — данные на 2024 год.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →