IPv4 / IPv6
Две версии адресов в интернете: привычные четыре числа вроде 192.168.1.10 и новые длинные адреса IPv6, которых хватит на всех.
IP-адрес — номер устройства в сети, по которому ему доставляются данные. Сейчас одновременно используются две версии протокола IP. IPv4 — привычные адреса из четырех чисел, например 192.168.1.10. IPv6 — новая версия с гораздо более длинными адресами, например 2001:db8::1, созданная потому, что адресов IPv4 на всех не хватило.
IPv4
Адрес IPv4 занимает 32 бита — это около 4,3 миллиарда вариантов. В 1980-е казалось, что этого достаточно навсегда. Свободные блоки адресов у глобального регистратора закончились в 2011 году, у европейского регистратора, который распределяет адреса и для России, — в 2019-м. Теперь адреса IPv4 перераспределяют и продают.
Нехватку смягчает трансляция адресов (NAT): домашние и офисные устройства получают «частные» адреса, которые не видны из интернета, а наружу все выходят через один общий адрес маршрутизатора. Частные диапазоны:
10.0.0.0/8172.16.0.0/12192.168.0.0/16
Запись /8, /24 показывает, какая часть адреса относится к сети; подробнее — в термине «Подсеть».
IPv6
Адрес IPv6 занимает 128 бит — адресов хватит каждому устройству на Земле с огромным запасом. Записывается восемью группами шестнадцатеричных цифр через двоеточие, а подряд идущие нули сокращаются до ::. Кроме объема, IPv6 упрощает настройку: устройство может само получить адрес в сети, а NAT становится не нужен — каждое устройство может иметь собственный публичный адрес (при этом доступ к нему из интернета по-прежнему регулирует межсетевой экран).
Почему переход идет медленно
IPv4 и IPv6 несовместимы напрямую, и почти все сети годами работают в обоих протоколах одновременно (dual stack). По данным Google, по IPv6 к его сервисам обращается уже около половины пользователей в мире, но доля сильно различается по странам; в России она заметно ниже среднемировой. Старое оборудование, программы, которые хранят адрес в поле на 15 символов, и правила межсетевых экранов, написанные только для IPv4, — типичные препятствия.
Что это значит на практике
- Сайт и API стоит делать доступными по обоим протоколам: в DNS для этого есть записи A (IPv4) и AAAA (IPv6).
- Поля для IP-адресов в базах данных и журналах должны вмещать IPv6.
- Правила безопасности и ограничения доступа нужно описывать для обеих версий, иначе IPv6 окажется «открытой дверью».
Оба протокола работают на сетевом уровне стека TCP/IP, а их пакеты между сетями доставляют маршрутизаторы.