← Назад в базу знаний

Что такое IPv4? Полное руководство

Что такое IPv4? Полное руководство

Что такое IPv4

IPv4 (Internet Protocol version 4) — четвёртая версия протокола Интернета, основа глобальной сети с 1981 года. Описан в RFC 791. До сих пор является доминирующим протоколом, через который проходит более 60% мирового интернет-трафика.

IPv4 использует 32-битные адреса, что даёт теоретически 232 = 4 294 967 296 возможных адресов. На практике доступно меньше из-за резервирования служебных диапазонов.

Протокол работает на сетевом уровне модели OSI, обеспечивая адресацию и маршрутизацию пакетов между узлами сети.

История создания

Разработка IPv4 началась в 1970-х годах в рамках проекта ARPANET. Первая спецификация опубликована в RFC 760 (1980 год), финальная версия — в RFC 791 (сентябрь 1981 года).

При создании протокола 32-битное адресное пространство считалось более чем достаточным — 4,3 миллиарда адресов для мира, где компьютеры были редкостью. Никто не предполагал, что через 30 лет каждый телефон, телевизор и холодильник потребуют собственный IP-адрес.

Внедрение IPv4 стало ключевым фактором роста Интернета. Протокол пережил переход от ARPANET к NSFNET, появление WWW, бум доткомов и мобильную революцию.

Структура адреса IPv4

Адрес IPv4 состоит из 32 бит и записывается в десятичной нотации с точками — четыре октета по 8 бит, разделённых точками:

192.168.1.1

Каждый октет может принимать значения от 0 до 255. Адрес делится на две части:

  • Сетевая часть — идентификатор сети (префикс)
  • Хостовая часть — идентификатор устройства внутри сети

Граница между частями определяется маской подсети.

Классы адресов

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

КлассДиапазонПрефиксХостовНазначение
A1.0.0.0 — 126.255.255.255/8~16,7 млнКрупные сети
B128.0.0.0 — 191.255.255.255/16~65 534Средние сети
C192.0.0.0 — 223.255.255.255/24254Малые сети
D224.0.0.0 — 239.255.255.255Multicast
E240.0.0.0 — 255.255.255.255Экспериментальные

Классовая система была неэффективной: класс C (254 хоста) слишком мал, класс B (65 534) слишком велик. Это приводило к浪费 адресов. В 1993 году на смену пришла бесклассовая адресация CIDR.

Маски подсети и CIDR

Маска подсети определяет границу между сетевой и хостовой частями адреса. Записывается в десятичной нотации (255.255.255.0) или в CIDR-нотации (/24).

CIDR (Classless Inter-Domain Routing) — бесклассовая адресация, внедрённая в 1993 году (RFC 1518, 1519). Позволяет гибко выделять блоки любого размера, а не только /8, /16, /24.

Примеры масок:

CIDRМаскаХостов
/24255.255.255.0254
/16255.255.0.065 534
/8255.0.0.016 777 214
/30255.255.255.2522
/32255.255.255.2551 (конкретный хост)

Первый адрес подсети — адрес сети, последний — широковещательный (broadcast). Оба не назначаются устройствам.

Приватные и публичные адреса

Из-за дефицита адресов были выделены приватные диапазоны (RFC 1918), не маршрутизируемые в публичном Интернете:

ДиапазонCIDRРазмер
10.0.0.0 — 10.255.255.255/8~16,7 млн
172.16.0.0 — 172.31.255.255/12~1 млн
192.168.0.0 — 192.168.255.255/1665 536

Также существуют служебные диапазоны:

  • 127.0.0.0/8 — loopback, адрес 127.0.0.1 указывает на само устройство
  • 169.254.0.0/16 — link-local (APIPA), автоназначение при отсутствии DHCP
  • 0.0.0.0/8 — "эта сеть", используется при инициализации
  • 255.255.255.255 — ограниченный broadcast

NAT — трансляция сетевых адресов

NAT (Network Address Translation) — технология, позволившая отсрочить исчерпание IPv4 на десятилетия. Описана в RFC 1631 (1994 год), позже обновлена в RFC 3022.

Принцип работы:

  • Устройства внутри локальной сети используют приватные адреса
  • При выходе в Интернет NAT-шлюз подменяет приватный адрес на свой публичный
  • При ответе шлюз восстанавливает приватный адрес получателя

Типы NAT:

  • Static NAT — постоянное соответствие один-к-одному
  • Dynamic NAT — адрес выдаётся из пула на время сессии
  • PAT (NAPT) — трансляция с учётом портов (много устройств за одним IP)
  • CGN (Carrier-Grade NAT) — NAT уровня провайдера, двойной NAT

NAT имеет серьёзные недостатки: нарушает принцип сквозной связности (end-to-end), усложняет пиринговые соединения, мешает работе некоторых протоколов (IPsec, FTP, SIP). Но именно NAT позволил Интернету расти при ограниченном адресном пространстве IPv4.

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

Проблема исчерпания IPv4-адресов была предсказана ещё в конце 1980-х. Временные меры — CIDR, NAT, приватные адреса — отсрочили кризис, но не решили проблему.

Ключевые даты:

  • 31 января 2011 года — IANA выделила последние два блока /8 регистратору APNIC
  • 3 февраля 2011 года — IANA распределила последние пять блоков /8 (по одному каждому RIR)
  • 15 апреля 2011 года — APNIC первым исчерпал свободные адреса
  • 14 сентября 2012 года — RIPE NCC исчерпал пул
  • 10 июня 2014 года — LACNIC исчерпал пул
  • 24 сентября 2015 года — ARIN объявил о полном исчерпании

Единственный регистратор с остатком адресов — AfriNIC (Африка), но и его резервы подходят к концу.

Рынок IPv4-адресов

После исчерпания бесплатных адресов сформировался вторичный рынок. Компании продают неиспользуемые блоки. Цена за один адрес IPv4 выросла с ~$5 (2011) до $25-30 (2021), в пиковые моменты доходила до $60.

Крупнейшие сделки:

  • MIT продал /8 (16,7 млн адресов) — одна из крупнейших продаж
  • Merck продал /8 Amazon Web Services
  • Рынок оценивается в сотни миллионов долларов ежегодно

Рынок создал парадоксальную ситуацию: IPv4-адреса стали дефицитным активом, торгуемым как недвижимость, в то время как IPv6-адреса практически бесплатны и неограниченны.

Заголовок пакета IPv4

Заголовок IPv4 состоит из 20 байт (без опций) и содержит 14 полей:

ПолеБитОписание
Version4Версия протокола (4)
IHL4Длина заголовка в 32-битных словах
DSCP/ECN8Тип обслуживания, приоритет
Total Length16Полная длина пакета (макс. 65 535 байт)
Identification16Идентификатор для сборки фрагментов
Flags3DF (Don't Fragment), MF (More Fragments)
Fragment Offset13Смещение фрагмента
TTL8Время жизни (макс. 255)
Protocol8Вышестоящий протокол (TCP=6, UDP=17)
Header Checksum16Контрольная сумма заголовка
Source Address32IP-адрес отправителя
Destination Address32IP-адрес получателя

Опции могут увеличить заголовок до 60 байт, но используются редко.

Фрагментация

Если пакет превышает MTU канала, он фрагментируется. В IPv4 фрагментацию может выполнять как отправитель, так и промежуточный маршрутизатор.

Фрагменты собираются только на стороне получателя. Если потерян один фрагмент — весь пакет отбрасывается. Это создаёт проблемы: атаки типа "отказ в обслуживании" через фрагментированные пакеты, повышенная нагрузка на получателя.

Флаг DF (Don't Fragment) запрещает фрагментацию — используется в Path MTU Discovery для определения минимального MTU на пути.

Контрольная сумма

IPv4 вычисляет контрольную сумму только для заголовка, не для данных. Каждый маршрутизатор пересчитывает её, так как TTL уменьшается на каждом хопе.

Алгоритм: заголовок разбивается на 16-битные слова, вычисляется сумма с дополнением до единицы. Это создаёт вычислительную нагрузку на маршрутизаторы. В IPv6 от контрольной суммы отказались.

TTL — время жизни пакета

TTL (Time to Live) — счётчик, ограничивающий время жизни пакета в сети. Изначально измерялся в секундах, на практике — в количестве хопов (маршрутизаторов).

Каждый маршрутизатор уменьшает TTL на 1. При TTL=0 пакет отбрасывается, отправителю посылается ICMP-сообщение "Time Exceeded".

Начальные значения TTL зависят от ОС:

  • Linux — 64
  • Windows — 128
  • macOS/iOS — 64
  • Cisco IOS — 255

Утилита traceroute использует TTL для определения маршрута: посылает пакеты с TTL=1,2,3... и фиксирует от каких маршрутизаторов приходят ICMP-ответы.

Протоколы на базе IPv4

IPv4 — фундамент, поверх которого работают транспортные протоколы:

ПротоколНомерНазначение
ICMP1Диагностика, ping, traceroute
IGMP2Управление multicast-группами
TCP6Надёжная передача с подтверждением
UDP17Быстрая передача без подтверждения
GRE47Инкапсуляция для туннелей
ESP50IPsec — шифрование данных
AH51IPsec — аутентификация

IPv4 и прокси

IPv4-прокси — наиболее востребованный тип прокси-серверов. Они совместимы со 100% сайтов и сервисов, не требуют специальной настройки клиента.

Типы IPv4-прокси:

  • HTTP/HTTPS — для веб-трафика
  • SOCKS4/SOCKS5 — универсальные, поддерживают UDP
  • Резидентные (Residential) — адреса реальных провайдеров
  • Дата-центровые (Datacenter) — адреса хостинг-провайдеров
  • Мобильные — IP сотовых операторов

Основной недостаток — ограниченное количество и высокая стоимость. IPv4-прокси дороже IPv6 в 5-10 раз именно из-за дефицита адресов.

Сравнение с IPv6

ХарактеристикаIPv4IPv6
Размер адреса32 бит128 бит
Адресное пространство~4,3 млрд~340 ундециллионов
NATШироко используетсяНе требуется
Заголовок20-60 байт40 байт (фикс.)
Контрольная суммаЕстьНет
ФрагментацияОтправитель + маршрутизаторыТолько отправитель
IPsecОпциональноОбязательно
QoSToS (8 бит)Flow Label (20 бит) + Traffic Class
BroadcastЕстьЗаменён на Multicast
АвтоконфигурацияDHCPSLAAC + DHCPv6
Совместимость100% сайтов~41% (Google, 2024)
Стоимость адресов$25-60/адресПрактически бесплатно

Будущее IPv4

IPv4 не исчезнет полностью ещё много лет. Он продолжит работать параллельно с IPv6 в режиме dual stack.

Основные тренды:

  • IPv4-адреса останутся дефицитным и дорогим ресурсом
  • NAT продолжит эволюционировать (CGNAT, NAT64, 464XLAT)
  • Новые сервисы будут запускаться на IPv6-first с пробросом через NAT64 для legacy-клиентов
  • Рынок IPv4-адресов сохранится, но спрос будет снижаться по мере роста IPv6-трафика

Практическая рекомендация: если вам нужна максимальная совместимость — берите IPv4. Если нужен большой пул адресов по низкой цене — выбирайте IPv6 через сервисы, которые обеспечивают совместимость с IPv4-сетями.

✔️Купить прокси