Что такое трансляция сетевых адресов (NAT, серая сеть)

NAT (Network Address Translation) - это трансляция или другими словами подмена сетевых адресов. Это широкоиспользуемая технология которая позволяет противостоять недостатоку в нехватке IPv4 адресов и повысить безопасность сети.

Приватные адресса

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

Трансляция адресов

Для того чтобы организовать возможный выход в интернет с машин, имеющих приватные адреса применяется технология подмены адресов, или используется прокси-сервер. Если попытаться отправить, к примеру, запрос к web-серверу, находящимуся в интернете, с приватного адреса, то сам запрос теоретически дойдет, так как сервер имеет публичный адрес, а вот ответ от него не вернется, потому что обратный адрес, на который этот ответ надо отправлять - приватный. Подмена адресов заключается в том, что есть некоторое NAT-устройство, к примеру, сервер или маршрутизатор, который имеет один или несколько публичных адресов. При этом в пакете подменяется адрес отправителя: вместо приватного адреса клиента, устройство ставит в это поле один из своих публичных адресов, после чего пакет отправляется в сеть. Теперь у него и адрес отправителя и адрес получателя - публичные. Получатель обрабатывает пакет и возвращает на него ответ (например, содержимое запрошенное из интернета странички). Этот ответ, направляется на публичный адрес устройств, занимающегося NAT-ом. Машина помнит, когда и какой адрес оно подменяло и в этом пакете адрес получателся снова меняется: публичный адрес машины заменяется на приватный адрес клиента, после чего пакет идет дальше во внутреннюю сеть. Клиент получает данные, как будто бы никакого преобразование адресов небыло.

Преимущества трансляции адресов:

  • Минимизация применения публичных адресов;
  • Повышенная гибкость использования адресов;
  • Возможность изменения внешних адресов без необходимости изменятьадресный план локальной сети;
  • Повышенная защищенность в связи с тем что из интернета нельзя обратиться ко внутренним устройствам напрямую.

Недостатки трансляции адресов:

  • Уменьшение производительности в связи с дополнительными действиями на маршрутизаторе;
  • Проблемы с работой некоторых протоколов;
  • Сложности при организации туннелей;
  • Сложности с организацией входящих соединений из вне.

Виды трансляции адресов:

Вся информация указанная выше является общими принцыпами NAT. Однако, существуют различные методы организация этого процесса:

  1. Статитческий NAT - это когда на маршрутизаторе организована подмена одного конкретного inside local (приватный адрес нашего устройства, который отправляет запрос в интернете), в один конкретный inside global (когда пакет проходит через NAT-устройство, то адрес отправителя подменяется на публичный адрес, имеющийся в распоряжении NAT-устройств) адрес;
  2. Динамическая трансляция NAT - когда на маршрутизаторе имеется пул свободных inside global адресов, и конфигурация позволяет клиентам из некоего множества inside local адресов проходить трансляцию. В этом случае для очередного клиента изнутри в пуле выбирается очередной свободный адрес и происходит подмена;
  3. Трансляция портов (PAT) - это механизм NAT, затрагивающий не только третий, но и четвертый уровень модели OSI. Используется когда количество превышает размер пула inside global адресов. В этом случае клиенты могут транслироваться на один и тот же inside global адрес, но при этом может менять номер порта (TCP или UDP), чтобы при получении ответа, в зависимости от того, на какой он пришел порт, можно было бы организовать трасляцию этого ответа одному или другому клиенту. PAT вносит дополнительные ограничения на перечень работающих протоколов, впрочем HTTP, POP3, SMTP будут нормально работать и через PAT. PAT позволяет значительно сэкономить адресное пространство. В случае использования протокола ICMP, который не инкапсулируется в ТСР или UDP и к которому не применимо понятие «порт», вместо номера портов РАТ меняет после ICMP «Queue ID», что приводит к аналогичному результату.
  • nat.txt
  • Последние изменения: 2018/12/03 16:17
  • — konstantin