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

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 и корректности работы в средах с трансляцией адресов.

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

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

Недостатки

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

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

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

Источники

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

На главную BFOmetr →