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

Технология NAT

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

История и предпосылки появления

Технология NAT была разработана в середине 1990-х годов как временное решение проблемы истощения адресного пространства протокола IPv4, которое было спроектировано в 1981 году и предусматривало около 4,3 миллиарда уникальных адресов. С ростом Всемирной паутины в 1990-х годах стало очевидно, что такого количества адресов недостаточно для всех устройств, подключаемых к Интернету. Основной документ, описывающий NAT, — RFC 1631, опубликованный в мае 1994 года (авторы — К. Экертон и П. Фрэнсис), хотя более широкая спецификация была дана в RFC 2663 (1999 год). Изначально NAT рассматривался как временная мера, но его повсеместное внедрение закрепило его как стандартный элемент сетевой инфраструктуры.

Классификация и механизмы работы

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

Статический NAT (Static NAT, One-to-One Mapping)

Статический NAT — это преобразование, при котором каждому локальному IP-адресу постоянно ставится в соответствие один определенный внешний IP-адрес. Такое сопоставление настраивается вручную администратором. Статический NAT часто используется для того, чтобы сделать внутренний сервер (например, веб-сервер или сервер электронной почты) доступным из внешней сети без изменения его IP-адреса. Он не экономит внешние IP-адреса, так как каждому внутреннему устройству требуется свой уникальный публичный адрес.

Динамический NAT (Dynamic NAT, Many-to-Many Mapping)

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

PAT (Port Address Translation) или NAT с перегрузкой (NAT Overload)

PAT, также известный как маскарадинг (masquerading) или NAT с перегрузкой, является наиболее распространённым типом NAT, используемым в домашних и корпоративных сетях. Его ключевое отличие — возможность сопоставлять множество внутренних IP-адресов единственному внешнему IP-адресу (или небольшому пулу адресов) с использованием разных портов. Когда внутреннее устройство отправляет пакет, NAT-устройство не только заменяет IP-адрес, но и изменяет порт отправителя на уникальный порт (например, от T1 до T65535). Получается, что для каждого сеанса связи назначается комбинация «внешний IP-адрес: порт», которая однозначно идентифицирует внутреннее устройство. Таким образом, PAT является самым экономичным видом NAT, позволяя подключать тысячи внутренних устройств к Интернету через один публичный адрес.

Типы NAT по поведению при фильтрации трафика

В контексте сетевых протоколов реального времени, таких как VoIP и BitTorrent, NAT классифицируется по способу обработки входящих соединений:

Устройство и реализация

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

  1. Прямое преобразование (Inbound/Outbound): При прохождении пакета от внутренней сети во внешнюю NAT-устройство сохраняет в своей таблице преобразований (NAT Table) запись, содержащую: исходный IP и порт отправителя (внутренний), изменённые IP и порт (внешний), а также контекст сессии. Затем пакет отправляется во внешнюю сеть.
  2. Обратное преобразование (Outbound/Inbound): Когда приходит ответный пакет, NAT-устройство выполняет поиск в своей таблице по внешнему IP-адресу и порту адресата. Если запись найдена, адрес и порт меняются обратно на внутренние, и пакет доставляется соответствующему устройству внутри сети.

Таблицы преобразования имеют ограниченный объём. Устройства NAT также управляют временем жизни (Time to Live, TTL) записей, чтобы автоматически удалять устаревшие сессии и освобождать ресурсы.

Применение и значение

Основные сферы применения NAT:

Проблемы и критика

Несмотря на широкое распространение, NAT имеет ряд недостатков:

Перспективы и переход на IPv6

Разработка протокола IPv6, имеющего практически неограниченное адресное пространство (2^128 адресов), была частично мотивирована последствиями использования NAT. В сетях на чистом IPv6 сквозное соединение является нормой, и NAT, как правило, не используется (хотя возможны его вариации для целей безопасности). Тем не менее, в переходный период, пока IPv4 остаётся широко распространённым, NAT продолжает быть критически важной технологией. Кроме того, для подключения сетей IPv6 к сетям IPv4 используется метод NAT64, преобразующий адреса между различными протоколами.

Источники

  1. RFC 1631 — The IP Network Address Translator (NAT), 1994.
  2. RFC 2663 — IP Network Address Translator (NAT) Terminology and Considerations, 1999.
  3. RFC 3022 — Traditional IP Network Address Translator (Traditional NAT), 2001.
  4. Таненбаум Э., Уэзеролл Д. — Компьютерные сети, 5-е издание.
  5. Олифер В.Г., Олифер Н.А. — Компьютерные сети. Принципы, технологии, протоколы.

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

На главную BFOmetr →