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

NAT64

NAT64 — это технология сетевой трансляции адресов, обеспечивающая взаимодействие между узлами, использующими протокол IPv6, и узлами, работающими по протоколу IPv4. Она позволяет устройствам, имеющим только IPv6-адрес, устанавливать соединения с серверами и ресурсами в сетях IPv4, и наоборот. NAT64 является одним из ключевых механизмов, облегчающих переход от IPv4 к IPv6 и сосуществование этих протоколов.

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

Основная задача NAT64 — преобразование сетевых пакетов между протоколами IPv6 и IPv4. Этот процесс включает в себя замену адресов и портов в заголовках пакетов, а также пересчёт контрольных сумм. Технология работает на сетевом уровне модели OSI и требует наличия специального шлюза (NAT64-шлюза), который выполняет трансляцию.

Синтаксис адресации

Для работы NAT64 используется специальный префикс IPv6, который обозначает адреса IPv4, представленные в пространстве IPv6. Наиболее распространённым является префикс 64:ff9b::/96, определённый в RFC 6052. Когда IPv6-узел хочет обратиться к IPv4-серверу, он формирует IPv6-пакет, в котором адрес назначения состоит из префикса 64:ff9b::/96, за которым следует 32-битный IPv4-адрес целевого сервера. Например, для сервера с IPv4-адресом 192.0.2.1 (в шестнадцатеричном виде c000:0201) IPv6-адрес назначения будет выглядеть как 64:ff9b::c000:0201.

Процесс трансляции

  1. Исходящий трафик (IPv6 → IPv4): IPv6-узел отправляет пакет на адрес, содержащий префикс NAT64. Пакет маршрутизируется к NAT64-шлюзу. Шлюз извлекает IPv4-адрес назначения из IPv6-адреса, заменяет IPv6-заголовок на IPv4-заголовок, подставляя свой собственный IPv4-адрес в качестве адреса источника. Также может выполняться трансляция портов (NAPT — Network Address and Port Translation). Затем пакет отправляется в сеть IPv4.
  2. Входящий трафик (IPv4 → IPv6): Ответный пакет от IPv4-сервера приходит на IPv4-адрес NAT64-шлюза. Шлюз по таблице трансляции определяет, какому IPv6-узлу принадлежит соединение, заменяет IPv4-заголовок на IPv6-заголовок, подставляя в качестве адреса источника префикс 64:ff9b:: и IPv4-адрес сервера, а в качестве адреса назначения — исходный IPv6-адрес узла. Затем пакет отправляется в сеть IPv6.

Роль DNS64

Для корректной работы NAT64 необходима поддержка со стороны системы доменных имён (DNS). Когда IPv6-узел запрашивает A-запись (IPv4-адрес) для доменного имени, DNS64-сервер (часто работающий совместно с NAT64) синтезирует AAAA-запись (IPv6-адрес), добавляя префикс NAT64 к полученному IPv4-адресу. Таким образом, IPv6-узел получает «синтезированный» IPv6-адрес, который можно использовать для соединения через NAT64. Если у домена уже есть AAAA-запись, DNS64 возвращает её без изменений, и соединение происходит напрямую по IPv6.

Типы и реализации

Существует несколько вариантов реализации NAT64, различающихся способом трансляции адресов и портов.

NAT64 с трансляцией портов (NAPT64)

Это наиболее распространённый тип, описанный в RFC 6146. Он позволяет множеству IPv6-узлов одновременно использовать один или несколько IPv4-адресов шлюза, назначая каждому соединению уникальный номер порта. NAPT64 обеспечивает высокую степень утилизации IPv4-адресов, что критично в условиях их дефицита.

NAT64 без трансляции портов (Basic NAT64)

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

Статический NAT64

Используется для организации доступа к внутренним IPv4-ресурсам (например, серверам) из сети IPv6 по фиксированным адресам. Для каждого IPv4-ресурса вручную задаётся соответствующее ему IPv6-представление.

Программные и аппаратные реализации

NAT64 может быть реализован как на программном уровне (например, в ОС Linux с использованием пакета tayga или Jool), так и на аппаратном — в маршрутизаторах и межсетевых экранах ведущих производителей (Cisco, Juniper, Huawei). Также существуют облачные сервисы, предоставляющие NAT64 как услугу.

Применение

NAT64 находит применение в различных сценариях, связанных с переходом на IPv6.

Мобильные сети (4G/5G)

В архитектуре мобильных сетей (например, согласно спецификациям 3GPP) NAT64 является стандартным механизмом для обеспечения доступа абонентов, использующих IPv6, к IPv4-ресурсам в интернете. Это позволяет операторам связи постепенно отказываться от выделения IPv4-адресов абонентским устройствам.

Корпоративные сети

При миграции корпоративной инфраструктуры на IPv6 NAT64 позволяет сохранить доступ к унаследованным IPv4-приложениям и серверам без необходимости их немедленной модернизации. Это снижает риски и затраты на переходный период.

Провайдеры интернет-услуг (ISP)

Интернет-провайдеры, испытывающие нехватку IPv4-адресов, могут использовать NAT64 в сочетании с раздачей IPv6-адресов своим клиентам. Это позволяет подключать новых абонентов, не приобретая дорогостоящие IPv4-адреса на вторичном рынке.

Тестирование и разработка

NAT64 широко используется в тестовых лабораториях и при разработке приложений для проверки их совместимости с протоколом IPv6 и корректности работы в средах с трансляцией адресов.

Преимущества и недостатки

Преимущества

  • Экономия IPv4-адресов: Позволяет организациям и провайдерам обслуживать большое количество IPv6-клиентов, используя минимальное количество публичных IPv4-адресов.
  • Плавный переход: Обеспечивает совместимость между IPv6 и IPv4, позволяя постепенно внедрять IPv6 без немедленного отказа от IPv4.
  • Прозрачность для конечного пользователя: При правильной настройке DNS64 пользователь не замечает факта трансляции, так как все необходимые преобразования выполняются автоматически.

Недостатки

  • Однонаправленность: NAT64 не поддерживает инициирование соединений из сети IPv4 к узлам в сети IPv6 без дополнительных механизмов (например, статических правил или использования порт-форвардинга). Это ограничивает возможность размещения IPv6-серверов, доступных из IPv4.
  • Дополнительная задержка: Процесс трансляции пакетов вносит некоторую задержку (латентность) по сравнению с прямым соединением по одному протоколу.
  • Сложность с некоторыми протоколами: Приложения, использующие встроенные в протокол IP-адреса (например, FTP в активном режиме, SIP, некоторые протоколы peer-to-peer), могут работать некорректно через NAT64 без специальной поддержки со стороны шлюза (ALG — Application Layer Gateway).
  • Потеря сквозной связности: Как и любой NAT, NAT64 нарушает принцип end-to-end связности, что может усложнить работу некоторых приложений и протоколов безопасности.

Критика и альтернативы

Основная критика NAT64 связана с её фундаментальным недостатком — нарушением сквозной модели интернета и усложнением сетевой архитектуры. Многие эксперты считают, что NAT64 — это временное решение, которое не решает проблему дефицита IPv4-адресов в долгосрочной перспективе, а лишь откладывает её.

Альтернативными подходами к обеспечению совместимости IPv6 и IPv4 являются:

  • Двойной стек (Dual Stack): Устройствам назначаются одновременно IPv4 и IPv6 адреса. Это считается предпочтительным подходом, но требует наличия IPv4-адресов.
  • Туннелирование (6to4, Teredo, 6in4): Пакеты IPv6 инкапсулируются в пакеты IPv4 для передачи через IPv4-сети. Эти методы менее надёжны и часто блокируются межсетевыми экранами.
  • 464XLAT: Комбинация NAT64 на стороне провайдера и NAT46 (обратная трансляция) на стороне клиентского устройства. Этот подход решает проблему однонаправленности и позволяет приложениям, использующим только IPv4, работать через IPv6-сеть.

Источники

  • RFC 6146 — Stateful NAT64: Network Address and Protocol Translation from IPv6 Clients to IPv4 Servers.
  • RFC 6052 — IPv6 Addressing of IPv4/IPv6 Translators.
  • RFC 6147 — DNS64: DNS Extensions for Network Address Translation from IPv6 Clients to IPv4 Servers.
  • RFC 6888 — Common Requirements for Carrier-Grade NATs (CGNs).
  • RFC 7915 — IP/ICMP Translation Algorithm.
  • Спецификации 3GPP TS 23.060 (General Packet Radio Service (GPRS); Service description; Stage 2).
  • Материалы RIPE NCC (Réseaux IP Européens Network Coordination Centre).

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

На главную BFOmetr →