IPv4 — версия 4 протокола Интернет¶
IPv4 (англ. Internet Protocol version 4) — четвёртая версия сетевого протокола Интернета, определяющего формат пакетов данных и систему адресации устройств в IP-сетях. Является базовым протоколом стека TCP/IP и до сих пор доминирует в глобальной сети, несмотря на постепенное вытеснение более новой версией IPv6.
¶Основные характеристики
IPv4 описан в стандарте RFC 791, опубликованном Инженерным советом Интернета (IETF) в сентябре 1981 года. Автор протокола — Винтон Серф, разработавший его совместно с Робертом Каном в начале 1970-х годов в рамках исследовательского проекта ARPANET.
Ключевые параметры протокола:
- Длина адреса — 32 бита, что даёт примерно 4,3 миллиарда уникальных адресов (2³²).
- Формат записи — четыре десятичных числа от 0 до 255, разделённых точками (например, 192.168.1.1).
- Максимальный размер пакета — 65 535 байт, хотя на практике ограничивается значением MTU канала передачи.
- Тип сервиса — поле ToS (Type of Service) для приоритизации трафика.
- Время жизни — поле TTL (Time To Live), ограничивающее число маршрутизаторов, через которые может пройти пакет.
¶Адресное пространство
¶Классовое деление
Изначально адресное пространство IPv4 делилось на пять классов — A, B, C, D и E. Класс определялся старшим битом адреса и задавал размер сети:
| Класс | Диапазон старших октетов | Маска подсети | Количество адресов |
|---|---|---|---|
| A | 1–126 | 255.0.0.0 | 16 777 216 |
| B | 128–191 | 255.255.0.0 | 65 536 |
| C | 192–223 | 255.255.255.0 | 256 |
| D | 224–239 | — | multicast |
| E | 240–255 | — | зарезервировано |
Классовое деление было заменено бесклассовой схемой маршрутизации CIDR (Classless Inter-Domain Routing, RFC 1519, 1993 год), которая позволяет задавать префикс сети произвольной длины — от /1 до /32.
¶Исчерпание адресов
К 2011 году глобальный пул свободных IPv4-адресов был полностью распределён региональным интернет-регистраторам (ARIN, RIPE NCC, APNIC и др.). Основными причинами исчерпания стали массовое подключение домашних устройств, рост числа серверов и мобильных устройств, а также неэффективное распределение крупных блоков адресов в начале развития сети.
Для продления срока службы протокола были разработаны технологии:
- NAT (Network Address Translation) — трансляция сетевых адресов, позволяющая множеству устройств в локальной сети использовать один внешний IP-адрес.
- CGN (Carrier-Grade NAT) — операторская трансляция адресов на уровне провайдера.
- Приватные адресные пространства (RFC 1918) — зарезервированные диапазоны 10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16 для использования в локальных сетях.
¶Структура пакета
Заголовок IPv4 состоит из 20 байт (при отсутствии опций) и содержит следующие поля:
- Версия (4 бита) — всегда равно 4.
- Длина заголовка (IHL, 4 бита).
- Тип сервиса (8 бит).
- Общая длина пакета (16 бит).
- Идентификатор пакета (16 бит).
- Флаги и смещение фрагмента (16 бит).
- TTL (8 бит).
- Протокол верхнего уровня (8 бит) — TCP, UDP, ICMP и др.
- Контрольная сумма заголовка (16 бит).
- IP-адрес отправителя (32 бита).
- IP-адрес получателя (32 бита).
- Опции (переменная длина, при наличии).
¶Фрагментация
При передаче пакета через сеть с меньшим MTU, чем размер пакета, происходит его фрагментация — разделение на части, каждая из которых передаётся отдельно и собирается на конечном узле. Поле «Флаги и смещение фрагмента» содержит биты DF (Don't Fragment — запрет фрагментации) и MF (More Fragments — присутствуют следующие фрагменты), а также смещение текущего фрагмента в исходном пакете.
¶Отличия от IPv6
Главное отличие IPv6 — адрес длиной в 128 бит (примерно 3,4 × 10³⁸ адресов), что полностью снимает проблему исчерпания адресного пространства. Другие отличия IPv6:
- Упрощённый заголовок фиксированной длины (40 бит).
- Обязательная поддержка IPSec.
- Отсутствие фрагментации на промежуточных маршрутизаторах.
- Автоконфигурация адресов (SLAAC).
- Поддержка multicast вместо broadcast.
¶Применение
IPv4 остаётся основным протоколом передачи данных в глобальной сети. По данным на 2020-е годы, более 70 % трафика интернета передаётся по IPv4, однако доля IPv6 стабильно растёт — крупные провайдеры, облачные сервисы и контент-платформы постепенно внедряют двойной стек (dual-stack), поддерживая обе версии протокола одновременно.
В России переход на IPv6 ведётся в соответствии с «Стратегией развития сетей и услуг связи нового поколения на территории РФ», утверждённой распоряжением Правительства РФ от 28 августа 2014 года № 1632-р. Крупнейшие российские операторы связи — «Ростелеком», МТС, «МегаФон» — предоставляют поддержку IPv6 на своих магистральных сетях.
¶Исторические факты
Первая коммерческая реализация IPv4 была внедрена в 1983 году при переходе ARPANET на стек TCP/IP — 1 января 1983 года считается днём «рождения» Интернета в его современном понимании. Адрес 0.0.0.0 зарезервирован для обозначения «любого адреса», а адрес 255.255.255.255 используется для широковещательных рассылок в пределах локальной сети.
