Прокси-сервер, повышающий производительность

Прокси-серверы, повышающие производительность ( PEP ), — это сетевые агенты, предназначенные для улучшения сквозной производительности некоторых протоколов связи . Стандарты PEP определены в RFC 3135 (PEP, предназначенные для смягчения ухудшений, связанных с соединением) и RFC 3449 (влияние асимметрии сетевого пути на производительность TCP).

Механизм распределенного разделения PEP на уровне протокола

Классификация

Доступные реализации PEP используют различные методы повышения производительности.

  • Тип прокси: PEP может либо «разделить» соединение, либо «подглядывать» за ним. В первом случае прокси притворяется противоположной конечной точкой соединения в каждом направлении, буквально разделяя соединение на две части. Во втором случае прокси контролирует передачу сегментов TCP в обоих направлениях, фильтруя подтверждения и восстанавливая существующее соединение (см. подделку протокола ). Это основано на уровне OSI реализации PEP. [1]
  • Распространение: PEP могут быть как интегрированными, так и распределенными. Интегрированный PEP будет работать на одном устройстве, в то время как распределенный PEP потребует установки на обеих сторонах соединения, что приведет к снижению производительности. Это довольно распространено в коммерческих устройствах PEP, которые действуют как черный ящик , используя более или менее открытые протоколы для связи между собой вместо TCP.
  • Симметрия: Реализация PEP может быть симметричной или асимметричной. Симметричные PEP используют одинаковое поведение в обоих направлениях; действия, предпринимаемые PEP, происходят независимо от того, какой интерфейс принимает пакет. Асимметричные PEP работают по-разному в каждом направлении, что может привести, например, к повышению производительности только одного направления соединения.

Типы

Существует ряд различных типов PEP. Каждый из них используется для решения проблемы, связанной со ссылками. Некоторые распространенные типы включают:

  • Сплит-TCP
  • Децимация Ack
  • Снуп
  • D-прокси

Разделить TCP

Разделение TCP обычно используется для решения проблем TCP с большими задержками приема-передачи . Типичная система использует разделение TCP PEP для улучшения производительности TCP по спутниковой связи . Разделение TCP функционирует путем разбиения сквозного соединения на несколько соединений и использования различных параметров для передачи данных по разным ветвям. Конечные системы используют стандартный TCP без каких-либо изменений и не должны знать о существовании PEP между ними. Разделение TCP перехватывает TCP-соединения от конечных систем и завершает их. Это позволяет конечным системам работать без изменений и может преодолеть некоторые проблемы с размерами окон TCP на конечных системах, которые установлены слишком низкими для спутниковой связи.

Фильтрация/децимация ACK

Фильтрация или прореживание ack используется в сильно асимметричных соединениях. В асимметричных соединениях скорости восходящего и нисходящего потоков сильно различаются. Типичным примером является спутниковая широкополосная связь, где нисходящий спутниковый канал обеспечивает значительно большую пропускную способность, чем восходящий модемный канал. В этом сценарии скорость, с которой модем может возвращать подтверждения TCP, может быть ограничивающим фактором. Поскольку подтверждения TCP подтверждаются кумулятивно, некоторые из них могут быть прорежены или отфильтрованы для повышения производительности.

Снуп

Прокси-сервер Snoop [2] является примером интегрированного прокси-сервера. Он разработан для сокрытия помех или потерь пакетов из-за коллизий по беспроводному соединению. Прокси-серверы Snoop обнаруживают потери, отслеживая передачи TCP на предмет дублирующих подтверждений. Когда Snoop получает дублирующие подтверждения TCP, указывающие на потерю пакета, они будут молча сброшены, а потерянный пакет данных будет передан повторно. Отправитель TCP не должен знать о потере. Это должно помешать отправителям TCP ненужно уменьшать окно TCP.

D-Прокси

D-Proxy [3] [4] также разработан для сокрытия помех или потерь пакетов на основе коллизий по беспроводному соединению. D-Proxy — это новый распределенный TCP-прокси, требующий прокси с обеих сторон соединения с потерями. Как и Snoop, он использует порядковые номера TCP для обнаружения потерянных пакетов. Однако он имеет проактивный подход, отслеживая порядковые номера TCP в пакетах данных, а не подтверждения. Когда происходит потеря пакета, поток TCP будет временно буферизирован, пока не будет восстановлен и повторно упорядочен отсутствующий пакет.

Смотрите также

Ссылки

  1. ^ [1]: ПРОКСИ ДЛЯ ПОВЫШЕНИЯ ПРОИЗВОДИТЕЛЬНОСТИ (PEP): TCP в беспроводной сети
  2. ^ Балакришнан, Хари; Шринивасан Сешан; Рэнди Х. Кац (декабрь 1995 г.). «Улучшение производительности TCP/IP в беспроводных сетях». ACM Wireless Networks . 1 (4). doi :10.1007/BF01985757. S2CID  2204005.
  3. ^ Мюррей, Дэвид; Терри Козинец; Майкл Диксон (2009). «Устранение неэффективности ACK в сетях 802.11». Международная конференция IEEE по архитектуре и приложениям мультимедийных систем Интернета .
  4. ^ Мюррей, Дэвид; Терри Козинец; Майкл Диксон (2010). «D-Proxy: надежность в беспроводных сетях». 16-я Азиатско-Тихоокеанская конференция по коммуникациям (APCC) .
  • PEPsal: интегрированная реализация PEP-разделения на базе Linux , лицензированная GPL
  • PEP-сервер MediaSputnik: PEP-сервер MediaSputnik 2402 был разработан компанией MediaSputnik как сервер, совместимый с I-PEP и отвечающий рекомендациям SatLabs Group (ESA) для поддержки стандартов и сетей DVB-RCS.
  • RFC 3135: весь RFC (Прокси-серверы, повышающие производительность и предназначенные для смягчения ухудшений, связанных с соединением)
Взято с "https://en.wikipedia.org/w/index.php?title=Performance-enhancing_proxy&oldid=1266991013"