2

Хост в локальной сети с IP (10.0.0.1 TCP-порт 8888) подключается к серверу, не зная, что на границе сети есть поле NAT. Поле NAT не используется и просто переводит порт 8888 в какой-то другой порт 5555 и изменяет IP-адрес на общедоступный IP-адрес (скажем, 205.209.96.96) и сохраняет в словаре пару ключ-значение: (5555,10.0.0.1: 8888) ,

Получив ответ, он выполняет обратную трансляцию и пересылает пакет обратно на хост. Чем отличается работа HTTP-прокси от этой? Я понимаю, что прокси-сервер может выполнять другие функции, такие как фильтрация, кэширование и т.д., Но чем отличается базовая работа прокси-сервера от NAT?

3 ответа3

2

HTTP прокси не будет работать ни для чего, кроме HTTP.

Он не будет работать для соединений OpenVPN, он не будет работать для трафика P2P, многопользовательских 3D-игр и т.д.

NAT хорош для всех видов TCP трафика. Многие из них также обрабатывают UDP и ICMP (ограниченным образом, поскольку ICMP не имеет портов).

2

NAT работает на более низком уровне протокола - он только переписывает IP-адрес и порт; в противном случае он не нарушает соединение TCP (и, таким образом, он в основном прозрачен для протоколов более высокого уровня).

HTTP-прокси делает что-то совсем другое: во-первых, TCP-соединение заканчивается там и открывает совершенно другое соединение с целевым хостом. Во-вторых, он выполняет собственную обработку и преобразования HTTP-запросов и ответов.

1

Они во многом похожи, они оба являются Вратами. HTTP-прокси работает на уровне HTTP-запроса. Маршрутизатор, выполняющий NAT, работает на уровне соединения TCP/IP. Многие сетевые маршрутизаторы также выполняют обе функции.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .