logo
Беспроводные_и_Спутниковые_Сети_1

Транспортные протоколы в спутниковых сетях

В качестве транспортных протоколов Интернет широкое применение нашли протоколы TCP и UDP. Однако их эффективность в спутниковых каналах резко снижается по причине имеющихся значительных задержек и высокого уровня канальных ошибок. Для управления скоростью передачи и обеспечения надежности доставки в протоколе TCP используется механизм положительной обратной связи. Большая задержка, присущая спутниковым каналам, увеличивает круговую задержку TCP и приводит к задержкам в получении подтверждений. Медленная обратная связь ограничивает функциональность механизмов управления скоростью передачи и предотвращения перегрузок, что в результате снижает эффективность работы протокола. Дополнительная проблема связана со значительными флуктуациями круговой задержки RTT (Round-Trip Time), которые особенно велики в низкоорбитальных спутниковых сетях. Флуктуации задержки RTT ведут к неправильно установленным тайм-аутам и ошибочным повторным передачам.

На этапе медленного старта протокол TCP увеличивает скорость передачи по экспоненциальному закону, но все же этого оказывается недостаточно, чтобы задействовать имеющуюся пропускную способность спутникового канала. Одно из предложений по модификации протокола состоит в увеличении начального размера окна. Протокол TCP позволяет устанавливать максимальный размер окна 64 Кбайт, которому соответствует максимальная скорость передачи 64 Кбайт/RTT. В результате пропускная способность спутникового канала не будет полностью задействована. Для устранения этого недостатка размер окна необходимо увеличивать. Ряд опций масштабирования окна TCP определены в документе IETF RFC1323.

Для спутниковых каналов связи характерен высокий уровень ошибок, обусловленных наличием помех, замираний, затенений и затухания сигнала на осадках. Хотя современные методы модуляции и канального помехоустойчивого кодирования (Forward Error Correction - FEC) значительно снижают уровень ошибок BER (Bit Error Rate), он часто остается неприемлемым для многих приложений. Однако протокол TCP «считает», что все потери передаваемых данных происходят только из-за перегрузок в сети. Как только обнаруживается потеря пакета, в целях борьбы с перегрузкой протокол TCP уменьшает размер окна в два раза, хотя на самом деле никакой перегрузки и не было. Специально разработанный альтернативный протокол SCPS-TP (Space Communication Protocol Standards-Transport Protocol) предусматривает меры по определению причин потери пакетов и разную реакцию на них. Асимметричность спутниковых каналов тоже вносит свою лепту в снижение эффективности TCP. Асимметричные спутниковые каналы имеют место не только в системах прямого вещания, но и в сетях VSAT, где наземные терминалы часто принимают значительно более высокоскоростные потоки данных, чем способны передать. Ограниченная пропускная способность обратного канала приводит к запаздыванию получения давно ожидаемых подтверждений.

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

  1. Опция выборочного подтверждения TCP (Selective Acknowledgment - SACK), описанная в документе RFC2018, позволяет приемнику точно указать искаженный сегмент. В результате этого передатчик повторно передаст только искаженные пакеты. Данная опция также позволяет восстановить несколько искаженных сегментов в рамках окна передачи с одним значением RTT.

  2. Расширение TCP для коротких блоков данных (TCP for Transaction - T/TCP), описанное в документе RFC1644, пытается сократить задержку установления соединения (handshaking latency) с двух до одного значения времени RTT, что должно существенно повысить скорость передачи коротких блоков данных.

  3. Устойчивое TCP-соединение, поддерживаемое протоколом HTTP 1.1 (RFC2068), позволяет производить множество низкоскоростных передач данных в рамках одного устойчивого TCP-соединения.

  4. Механизм открытого (discovery) MTU позволяет протоколу TCP использовать максимально возможный размер пакета, который допустим механизмом IP-сегментации. При этом уменьшается избыточность служебных заголовков и устраняется влияние неоптимальности параметров фрагментации/дефрагментации.

  5. Применение кодов с исправлением ошибок FEC реализуется на канальном уровне модели ISO для улучшения качества спутниковых каналов. Однако кодирование не может решить всех проблем, в частности связанных с преднамеренными помехами или затуханием сигнала на осадках. Кроме кодирования FEC, другие механизмы канального уровня, такие, как перемежение битов и автоматический запрос повторения, тоже могут снизить уровень искажения пакетов.

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

  1. TCP spoofing. Исходное соединение делится на две части точкой разрыва, в качестве которой выступает шлюзовая станция. Она заблаговременно передает передатчику обманные (spoofing) подтверждения на принятые пакеты, а при необходимости пересылает любые потерянные данные приемнику.

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

  3. Web-кэширование. В отличие от двух предыдущих вариантов TCP-соединение делится здесь с помощью механизма Web-кэширования. Если запрошенный контент находится в кэширующем сервере, то пользователи спутниковой сети соединяются только с ним и не устанавливают TCP-соединений с Web-серверами, находящимися за пределами спутниковой сети. Web-кэширование эффективно сокращает задержку соединения и непроизводительные потери пропускной способности канала.

Спутниковый транспортный протокол (Satellite Transport Protocol - STP) разработан специально для варианта разделения исходного TCP-соединения и выполнения функций управления трафиком в спутниковой сети. STP основан на протоколе SSCOP (Service Specific Connection-Oriented Protocol). Обратный трафик минимизирован в нем следующим образом. Передатчик периодически запрашивает приемник на предмет успешного приема, а в случае потери пакетов приемник уведомляет передатчик, посылая ему отрицательное селективное подтверждение. Таким образом реализуется гибридный механизм управления потоком. Протокол STP хорошо подходит для асимметричных каналов, так как в обратном направлении его служебный трафик имеет небольшой объем. Однако он тоже не различает причин потери пакетов и не устраняет влияние RTT на эффективность работы протокола TCP.

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