Шлюзы позволяют ускорить TCP-потоки в спутниковых каналах связи

Спутниковая связь — идеальный способ «протянуть» Internet-соединения туда, где нет адекватной наземной инфраструктуры. Армады спутников связи способны обеспечить сетевой доступ чуть ли не из любой точки земного шара, обещая в скором времени расширить «космическую» полосу пропускания.

Однако несмотря на то, что протоколы TCP/IP были разработаны специально в расчете на сетевые инфраструктуры любых типов, особенности протокола TCP применительно к условиям передачи, характерным для спутниковых каналов, может серьезно ограничить пропускную способность последних. Преодолеть эти ограничения призваны новые решения — шлюзы протоколов, или ускорительные прокси-серверы.

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

  • Задержка: геосинхронные спутниковые орбиты проходят на высоте 14 тыс. км, в результате чего общий цикл прохождения сигнала к спутнику и затем от него на одном участке спутниковой сети составляет примерно 540 мс. Если не проводить специальную настройку параметров TCP, типичный размер окна приема, равный 8 Кбит/с, устанавливает предел пропускной способности одного соединения на уровне всего лишь 120 Кбит/с.
  • Ошибочные биты: протоколом TCP предполагается, что потери данных вызываются перегрузками в сети, а не другими факторами, и потому TCP оказывается крайне чувствителен к тем уровням потерь, которые характерны для спутниковых и прочих беспроводных каналов.
  • Асимметрия полосы пропускания: по соображениям экономии в спутниковых сетях широкий прямой канал часто сочетается с узким обратным. Однако, если такая асимметрия окажется слишком значительной, обратный канал может резко замедлить общее быстродействие.

Эти проблемы допускают частичное решение: например, можно соответствующим образом настроить стек TCP на оконечных узлах и воспользоваться такими нетривиальными возможностями TCP, как масштабирование окна передачи и выборочное подтверждение приема. Однако подобный подход, как правило, оказывается непрактичным, поскольку требует конфигурировать на каждом конечном узле стек TCP/IP таким образом, чтобы он поддерживал эти возможности.

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

Используя специальный протокол, эффективно работающий в особых условиях спутниковой связи (большая задержка, значительные потери данных и асимметричная полоса пропускания), и действуя на одиночной линии с известными, фиксированными характеристиками пропускной способности и времени задержки, протокольные шлюзы могут в полном объеме использовать доступную полосу пропускания. Архитектуры спутниковых протоколов могут варьироваться, но у всех есть общие элементы:

  • большие окна приема: чтобы избежать ограничений на пропускную способность, связанных с размером окна приема, спутниковые протоколы используют большие окна, определяемые на основе известных значений параметров полосы пропускания и задержки;
  • управление скоростью передачи: протокольный шлюз передает данные строго в рамках известной, фиксированной полосы пропускания, что обеспечивает максимальную пропускную способность и предотвращает потери данных из-за перегрузок;
  • «негативные» подтверждения: в спутниковом канале имеется только один путь передачи данных, так что паузы в последовательности пакетов будут означать потерю данных, что позволяет оперативно отреагировать на ситуацию.

Принцип действия шлюзов протокола TCP

При передаче TCP-трафика по спутниковым каналам могут возникать проблемы, связанные с временем ответа, ошибками битов и асимметричностью полосы пропускания. Шлюзы протоколов специальным образом пакуют трафик, обеспечивая оптимальную производительность передач