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-адрес отправителя | 32 | 32-битный адрес источника. |
| IP-адрес получателя | 32 | 32-битный адрес назначения. |
| Опции | Переменная | Дополнительные параметры (безопасность, маршрутизация). |
| Заполнитель | Переменная | Выравнивание до 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 млрд) оказалось недостаточным для современных интернет-устройств. Основные причины:
- Неэффективность классовой адресации: крупным организациям выделялись целые блоки класса A, содержащие миллионы адресов, которые часто использовались лишь частично.
- Бурный рост Интернета: начиная с середины 1990-х годов количество устройств стало расти экспоненциально.
- Неравномерное распределение: значительная часть адресов принадлежит американским организациям.
Первые предупреждения об исчерпании прозвучали в начале 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 →