Моя машина подключена к локальной сети. для подключения к Интернету трафик проходит через прокси-сервер. мое понимание доверенное лицо сервер заключается в том, что он отправляет запрос на от имени отправителя исходного запроса. Поэтому, когда сервер отвечает, он отправляет ответ прокси-серверу, думая, что это клиент. Затем прокси пересылает ответ на мою машину.
Возьмем случай Трансляция сетевых адресов. Ваш запрос проходит через нат роутер. Затем маршрутизатор nat предоставляет вам общедоступный IP-адрес и сохраняет это сопоставление в своей таблице. Ответ (от сервера) отправляется на назначенный публичный адрес. Маршрутизатор nat разрешает ваш локальный IP-адрес из таблицы и пересылает ответ на ваш компьютер.
У меня вопрос, зачем нужен nat, если прокси-сервер сам может управлять трафиком и предоставлять вам доступ в Интернет?
Мне кажется, что вы хорошо усвоили основы здесь, и краткий ответ заключается в том, что если вы используете прокси с публичным адресом, вам не нужен NAT - для протоколов, которые опосредуются прокси .
Тем не мение, на небе и на земле существует больше протоколов, чем вы мечтаете в вашей философии; не все из них являются проксируемыми, и прокси не существуют даже для всех, поэтому NAT - удобный запасной вариант для них.
редактировать: Прокси-сервер - это вычислительное устройство, которое работает на уровне приложения. HTTP-прокси получает HTTP-запросы для удаленного сайта, и, как вы указали, он сам переходит на этот сайт, делает запрос и передает ответ обратно запрашивающему клиенту. Но для этого он должен понимать HTTP на детальном уровне.
Точно так же вы можете написать FTP-прокси, но он должен понимать детали MKD, DELE, LIST и подобных команд протокола ftp, чтобы правильно проксировать запросы клиента. Любой прокси, который хочет работать прозрачно, обычно должен хорошо понимать внутреннюю структуру протокола, чтобы прокси-сервер.
SOCKS в некоторой степени является исключением из этого правила, но это потому, что протокол SOCKS устанавливает более общий интерфейс для проксирования, требуя, чтобы каждый клиент быть SOCKSified и, следовательно, иметь возможность делать правильные запросы к прокси-серверу SOCKS, чтобы настроить тип проксирования, который требуется каждому, что не совсем прозрачно.
MadHatter написал отличное объяснение для непрофессионала различий между прокси и NAT.
Для получения дополнительных технических деталей я предлагаю вам ознакомиться с моделью OSI и моделью TCP / IP. Nat работает на более позднем 3 уровне модели OSI (сетевой уровень, в данном случае IP), а прокси обычно работают на уровне 7 (уровень приложений, HTTP или что-то еще, что вы проксируете).
NAT и прокси тоже пытаются решить несколько разные проблемы. NAT скрывает ряд частных IP-адресов за меньшим количеством общедоступных IP-адресов, чтобы уменьшить нехватку IP-адресов, в то время как прокси-серверы создают сетевую «точку доступа» из соображений безопасности, аудита или производительности.