PassFront
  1. PassFront
  2. База знаний
  3. Модели OSI и TCP/IP

Что такое NAT и зачем он нужен?

Модели OSI и TCP/IP

NAT подменяет адреса в заголовках пакетов на границе сети: множество устройств с приватными IP выходят в интернет под одним публичным адресом. Это ответ на нехватку IPv4.

Как работает

  • Приватные диапазоны (RFC 1918): 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 — в интернете не маршрутизируются.
  • Самый частый вид — NAPT: роутер меняет «IP:порт источника» на «публичный IP:свободный порт» и запоминает пару в таблице трансляции.
  • Ответ приходит на этот порт — роутер находит запись и пересылает пакет нужному устройству.
  • Записи живут по таймауту, для UDP часто 30–120 с, поэтому долгим соединениям нужны keep-alive.

Разновидности

  • SNAT — меняется источник, типичный выход в интернет.
  • DNAT, или проброс портов, — входящие на публичный порт уходят на внутренний сервер.
  • CGNAT — NAT на стороне провайдера (диапазон 100.64.0.0/10), у абонента нет даже своего публичного IP.

Побочные эффекты

  • Входящее соединение к устройству за NAT без проброса невозможно — проблема для P2P, решается через STUN и TURN.
  • Ломает протоколы, передающие IP внутри данных, например активный режим FTP.
  • Скрывает внутреннюю адресацию, но файрволом не является.

Коротко для собеседования

NAT позволяет целой сети выходить в интернет через один публичный IPv4, запоминая соответствие портов в таблице трансляции. Цена — невозможность входящих соединений без проброса, поэтому P2P нужны STUN и TURN; в IPv6 NAT не нужен, его роль играет файрвол.

Другие вопросы раздела