NAT, PAT и Proxy: три разных уровня трансляции

NAT, PAT и proxy скрывают внутренний адрес клиента, но работают по-разному.

**NAT** (Network Address Translation) заменяет IP-адрес источника. Например:
`192.168.1.10 → 203.0.113.5 → Internet`
Роутер отслеживает соответствие соединений, но клиент и сервер остаются в рамках одной TCP-сессии.

**PAT** (Port Address Translation) дополнительно изменяет номера портов. Благодаря этому несколько устройств используют один публичный IP:

`192.168.1.10:49152 → 203.0.113.5:40001`
`192.168.1.11:49153 → 203.0.113.5:40002`

По портам роутер определяет, какому соединению вернуть ответ.

**Proxy** принимает соединение клиента и самостоятельно создаёт новое соединение с сервером:

`Client ↔ Proxy ↔ Server`

Это позволяет анализировать HTTP-запросы, применять фильтры, вести логи и выполнять TLS inspection.

В Wireshark при NAT видна одна TCP-сессия с изменённым адресом, а при proxy — две отдельные сессии. NAT не является firewall, PAT не обеспечивает анонимность, а proxy может выступать точкой контроля трафика.

Подпишись, тут про технолоджии.

P.S. Меня зовут Бедняков Артем, я разрабатываю backend-решения на Python любой сложности:

  • REST API и микросервисы;
  • агентные системы и AI-интеграции;
  • Telegram-боты и Mini Apps;
  • парсеры и автоматизация;
  • интеграции с внешними сервисами и API;
  • тестирование и CI/CD;
  • DevOps и развёртывание;
  • аудит и проверки безопасности.

Если вам нужна разработка или есть вопросы по реализации проекта — пишите мне в Telegram
Всегда рад обсудить задачу и помочь найти решение.

Также подписывайтесь на мой Telegram-канал IT POLICE, где я пишу о Python, backend-разработке, технологиях и кибербезопасности.