Назад | Перейти на главную страницу

В чем разница между перенаправителем портов и прокси-сервером socks?

Название вопроса четко описывает себя

Самый простой ответ заключается в том, что переадресация портов (как в NAT) обычно прозрачна для клиента, тогда как прокси-сервер SOCKS (или HTTP) требует, чтобы клиент явно использовал протокол прокси.

Устройство NAT выполняет «преобразование адресов» (кортеж [порт TCP / UDP: IP-адрес] в другой кортеж), тогда как прокси прекращается (в терминах сети) уровень протокола, выполняет адаптацию (опять же в терминах сети) и перестраивает другое соединение к месту назначения.

Другими словами, NAT пытается быть настолько «прозрачным» для клиентского протокола, насколько это возможно, тогда как PROXY на самом деле представляет собой «два соединения, соединенных друг с другом» (одинаковые или разные протоколы на каждой стороне).

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

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