8

Я хорошо знаю, для чего используются прокси и роутеры. Но я не знаю, как их надежно дифференцировать.

Вот список факторов, которые я нахожу в них.

Прокси-сервер

  • Может свободно изменять данные прикладного уровня
  • Обычно получает сеанс TCP от источника
  • Обычно формирует сеанс TCP для цели
  • Может читать данные прикладного уровня, чтобы определить цель
  • Целевой IP-пакет при использовании IP-протокола

Давайте не будем думать о части сетевого оборудования здесь. Подумайте о сетке серверов приложений, которые маршрутизируют запросы SOAP. маршрутизатор

  • Соответствует четко определенным протоколам маршрутизации
  • Обычно получает сеанс TCP от источника
  • Обычно формирует сеанс TCP для цели
  • Может читать данные прикладного уровня, чтобы определить цель
  • Целевой IP-пакет при использовании IP-протокола

Это называется маршрутизацией, когда правила маршрутизации известны всем сторонам, и прокси, когда нет? Я верю, что существует четкий фактор, позволяющий их различать.

3 ответа3

10

Прокси-сервер и маршрутизатор действуют на разных уровнях в стеке протоколов. Прокси-сервер действует на прикладном уровне (например, HTTP-прокси). Маршрутизатор действует на межсетевом уровне (например, протокол IP).

Основная задача маршрутизатора - перемещать пакеты между сетями.

Основная задача прокси-сервера - выполнять некоторые полезные службы, такие как кэширование содержимого HTTP, применение функций фильтрации и авторизации на уровне приложений и т.д.

Маршрутизаторы обычно не заинтересованы в установлении сеансов TCP. Даже маршрутизатор, выполняющий преобразование сетевых адресов (NAT), просто отслеживает сеансы между внутренними клиентами и внешними серверами и корректирует IP-адреса по мере необходимости.

При обычном использовании маршрутизаторы не являются конечными точками сеансов TCP.

При обычном использовании маршрутизаторы не читают содержимое протоколов прикладного уровня.

3

В модели OSI маршрутизация обычно ограничена уровнем 3, сетевым уровнем. Маршрутизаторы будут в основном перетасовывать IP-пакеты между сетями (на самом деле не слишком заботятся о потоках TCP, если QoS не находится в игре). Маршрутизаторы заставляют IP-заголовок изменяться в пакетах, когда он пересекает сети, но обычно не изменяют полезную нагрузку пакетов.

Прокси обычно работают на уровне 4 (транспорт) и выше (уровень 7, прикладной уровень, является наиболее распространенным). Прокси, скорее всего, работают с блоком данных, превышающим один пакет, и с большей вероятностью будут выполнять такие действия, как добавление, чтобы изменить полезную нагрузку данных (хороший пример - HTTP-прокси, добавляющие Via: headers).

Как и в большинстве случаев в сети, границы между слоями могут быть, а иногда и размыты. Маршрутизаторы могут выполнять множество функций прокси-серверов, таких как изменение трафика, фильтрация для обеспечения безопасности и т.д., И прокси-серверы могут использоваться, чтобы две разнородные сети могли общаться друг с другом. Обычно для маршрутизатора наиболее целесообразно делать как можно меньше из соображений производительности и стоимости, поскольку обычно требуется надежно обрабатывать ВСЕ интернет-трафик для всей сети, а не только для трафика конкретного приложения.

1

Я думаю, что я понял определяющий фактор.

Прокси-сервер заставляет цель ответить самому себе. Затем прокси-сервер может ретранслировать ответ на источник, синхронно или асинхронно. Форсирование ответа через себя определяет прокси-сервер.

Прокси также может быть кластером. В этом случае ответ передается через один прокси-кластер вместо одного прокси-сервера.

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