Найти в Дзене

Что такое NAT и PAT, простыми словами, с аналогиями и примерами

Оглавление

Краткая суть

  • NAT (Network Address Translation) — это технология, которая преобразует один IP-адрес в другой. Чаще всего используется для доступа в интернет с нескольких устройств, имея только один "белый" IP-адрес от провайдера.
  • PAT (Port Address Translation) — это частный и самый распространенный случай NAT. Он преобразует много частных IP-адресов в один публичный, но использует для этого разные номера портов. PAT часто называют NAT Overload ("перегруженный" NAT).

Проблема, которую решают NAT и PAT

Представьте, что у вас дома есть Wi-Fi-роутер. К нему подключены ноутбук, телефон, умный телевизор и т.д. Каждому устройству роутер выдает свой внутренний IP-адрес, например, из диапазона 192.168.1.2 до 192.168.1.100.

Возникает вопрос: Как несколько устройств с разными внутренними адресами могут одновременно выходить в интернет через один публичный IP-адрес?

Ответ: с помощью PAT (частного случая NAT).

NAT (Преобразование сетевых адресов)

Основная идея: Замена IP-адреса в заголовке IP-пакета на другой при прохождении пакета через маршрутизатор (роутер).

Типы NAT:

  1. Статический NAT (Static NAT) — постоянное соответствие "один к одному".
    Как работает: Один внутренний частный IP-адрес всегда отображается на один конкретный публичный IP-адрес.
    Аналогия: У вас есть офисное здание (ваша локальная сеть). Статический NAT — это как вывеска на дверью кабинета директора: "Главный офис". Внешний адрес всегда ведет именно сюда.
    Зачем нужен: Чаще всего для организации доступа извне к серверам внутри сети (например, к веб-серверу, почтовому серверу). Вы "пробрасываете" порты на роутере — это и есть статический NAT.
  2. Динамический NAT (Dynamic NAT) — пул адресов.
    Как работает: Есть несколько публичных IP-адресов (пул) и много внутренних частных адресов. Когда устройство выходит в интернет, ему на время сессии выделяется случайный свободный публичный IP из пула.
    Аналогия: Такси-стоянка. Машин (частных IP) много, свободных такси (публичных IP) несколько. Первая машина получает первое свободное такси и т.д.
    Зачем нужен: Используется реже, когда нужно скрыть внутреннюю структуру сети, но иметь несколько "белых" адресов.

Оба этих типа не решают проблему нехватки адресов, если устройств внутри сети больше, чем публичных адресов. Для этого и был придуман PAT.

PAT (Преобразование адресов портов) или NAT Overload

Это самый важный и распространенный тип, который используется в каждом доме и офисе.

Основная идея: Все устройства в локальной сети используют один общий публичный IP-адрес, но для (различения) их соединений маршрутизатор использует номера портов.

Как это работает на примере:

  1. У вас есть ноутбук (192.168.1.10) и телефон (192.168.1.11). Роутер имеет внутренний адрес (192.168.1.1) и внешний (95.31.18.44).
  2. Ноутбук хочет зайти на сайт google.com.
    Он отправляет пакет с адресом:
    Откуда: 192.168.1.10:1025 -> Куда: 172.217.16.206:80 (IP Google).
    Пакет доходит до роутера. Роутер делает запись в своей таблице NAT и меняет адрес источника:
    Откуда: 95.31.18.44:15000 (роутер подставил свой внешний IP и случайный высокий порт) -> Куда: 172.217.16.206:80.
  3. Телефон одновременно хочет зайти в Яндекс.
    Он отправляет пакет:
    Откуда: 192.168.1.11:2048 -> Куда: 31.13.76.102:443 (IP Яндекс).
    Роутер делает то же самое, но использует
    другой номер порта:
    Откуда: 95.31.18.44:15001 -> Куда: 31.13.76.102:443.
  4. Ответ от Google приходит на адрес 95.31.18.44:15000. Роутер смотрит в свою таблицу и видит, что порт 15000 соответствует ноутбуку 192.168.1.10:1025. Он заменяет адрес назначения в пакете и пересылает его ноутбуку.
  5. Ответ от Яндекс приходит на 95.31.18.44:15001. Роутер видит, что порт 15001 соответствует телефону 192.168.1.11:2048, и пересылает пакет ему.

Ключевой момент: Один внешний IP-адрес, но уникальность соединений обеспечивается за счет пар IP-адрес + номер порта.

Преимущества NAT/PAT

  1. Экономия публичных IPv4-адресов: Это главная причина, почему интернет до сих пор работает, несмотря на исчерпание IPv4-адресов. Миллионы устройств могут выходить в сеть через один IP.
  2. Безопасность: NAT по сути является простым фаерволом. Устройства извне не могут установить прямое соединение с устройством внутри локальной сети, если в таблице NAT нет специально созданного правила (проброса порта). Это скрывает внутреннюю структуру сети.
  3. Гибкость управления сетью: Можно легко менять внутренние IP-адреса, не затрагивая внешнее подключение.

Недостатки NAT/PAT

  1. Сложность для некоторых протоколов: Протоколы, которые вкладывают IP-адреса в данные пакета (например, FTP или SIP для VoIP-телефонии), ломаются при прохождении через NAT. Для их работы нужны специальные "помощники" (NAT helpers или ALG).
  2. Усложнение прямых пиринговых (P2P) соединений: Для сервисов вроде видеозвонков, онлайн-игр или торрентов требуется обход NAT (технологии вроде STUN, TURN, ICE).
  3. "Точка отказа": Если роутер с NAT выйдет из строя, вся внутренняя сеть потеряет доступ в интернет.

Заключение

PAT — это то, что позволяет вашему Wi-Fi-роутеру раздавать интернет на все ваши устройства. Когда вы слышите слово "NAT" в бытовом контексте (например, "проблемы с NAT" в онлайн-играх), в 99% случаев речь идет именно о PAT (NAT Overload). Это фундаментальная технология, которая стала спасательным кругом для IPv4 и до сих пор является стандартом для организации сетей.