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

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

NAT (Network Address Translation, трансляция сетевых адресов) — технология трансляции IP-адресов в сетях на основе протокола IP, позволяющая изменять IP-адреса и номера портов в заголовках пакетов при их прохождении через маршрутизатор. Основная цель NAT — решение проблемы исчерпания адресного пространства IPv4 и обеспечение связи внутренней сети с внешней (как правило, с интернетом) при использовании ограниченного числа глобальных IP-адресов.

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

NAT реализуется на маршрутизаторе (или другом сетевом устройстве), который выполняет роль шлюза между двумя сетями — внутренней (частной) и внешней (публичной). Устройство сопоставляет исходящие пакеты с записью в таблице трансляции, которая связывает внутренний адрес и порт с внешним адресом и портом. При получении входящего пакета NAT определяет по таблице, какому внутреннему хосту его следует перенаправить, и переписывает заголовок пакета соответственно.

Виды NAT

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

ВидОписание
Static NAT (статический NAT)Один-к-одному: каждый внутренний IP-адрес постоянно соответствует одному внешнему. Используется для серверов, требующих постоянного доступа извне.
Dynamic NAT (динамический NAT)Пул внешних адресов сопоставляется с внутренними хостами по мере необходимости; после завершения сессии адрес возвращается в пул.
PAT / NAT Overload (перегрузка NAT, портовая трансляция)Несколько внутренних адресов разделяют один внешний адрес за счёт разных номеров портов. Наиболее распространённый вариант в бытовых роутерах.
CGNAT (Carrier-Grade NAT, NAT операторского класса)Многоуровневый NAT, применяемый провайдерами связи для раздачи клиентам приватных адресов с последующей трансляцией в публичные.

Типы трансляции

По направлению изменения адресов NAT подразделяется на:

  • SNAT (Source NAT) — трансляция исходного адреса, используется при отправке пакетов из внутренней сети наружу;
  • DNAT (Destination NAT) — трансляция адреса назначения, применяется для проброса портов и публикации внутренних сервисов во внешней сети.

Проблемы и ограничения

NAT нарушает принцип сквозной связи (end-to-end) модели IP, поскольку адреса хостов меняются по пути следования пакетов. Это создаёт ряд проблем:

  • Невозможность прямого входящего соединения — внешние хосты не могут инициировать соединение с внутренними устройствами без дополнительной настройки (проброс портов, STUN, TURN, ICE);
  • Проблемы с протоколами, встроенными в адреса — FTP, SIP, H.323 и другие протоколы, передающие IP-адреса в полезной нагрузке, требуют специальных ALG-модулей (Application Layer Gateway) на маршрутизаторе;
  • Нарушение IPsec — трансляция заголовков конфликтует с проверкой целостности IPsec-пакетов, что требует применения NAT-T (NAT Traversal);
  • Трудности диагностики — при нескольких уровнях NAT (например, CGNAT у провайдера и бытовой роутер) определение реального адреса хоста затруднено.

История

Технология NAT была предложена в 1994 году инженерами Питером Фордом, Кирком Лохаймом и Дэвидом Треджиллом из корпорации Cisco Systems. Публикация RFC 1631 («The IP Network Address Translator») в июне 1994 года зафиксировала концепцию. Изначально NAT рассматривался как временное решение до полного перехода на IPv6, однако массовое внедрение IPv6 задержалось, и NAT стал де-факто стандартом для организации выхода в интернет.

Применение

NAT широко используется в домашних и корпоративных сетях. В домашних роутерах реализуется PAT, позволяющий десяткам устройств в локальной сети выходить в интернет через один публичный адрес провайдера. В корпоративных сетях NAT применяется для сегментации, безопасности и оптимизации адресного пространства. Провайдеры связи используют CGNAT при дефиците публичных IPv4-адресов.

Альтернативы

Основной альтернативой NAT является переход на протокол IPv6, который предоставляет каждому устройству глобальный уникальный адрес и восстанавливает сквозную связь. Дополнительными механизмами обхода ограничений NAT являются протоколы STUN, TURN и ICE, используемые в VoIP и видеосвязи, а также технологии VPN (IPsec, WireGuard, OpenVPN), обеспечивающие туннелирование поверх NAT.

Источники:

  • RFC 1631 — The IP Network Address Translator (NAT)
  • RFC 3022 — Traditional IP Network Address Translator (Traditional NAT)
  • RFC 4787 — Network Address Translation (NAT) Behavioral Requirements for Unicast UDP
  • К. Лохайм, Д. Треджилл, П. Форд. IP Network Address Translator (NAT) Terminology and Considerations
  • Справочник по сетевым технологиям Cisco Systems
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru