Скорость загрузки данных через спутниковый Интернет1. Немного теории
1. Немного теорииОсобенностью спутникового канала является довольно большая задержка распространения сигнала. Чтобы пройти от оператора до спутника и от спутника до абонента, радиоволнам нужно около 250 мс. Кроме того, существует задержка в "запросном" (наземном) канале, которая может варьироваться в широких пределах – от нескольких десятков миллисекунд для скоростных наземных подключений до единиц секунд при использовании сильно загруженных сетей GPRS. К этому надо еще добавить задержку передачи информации в самой сети Интернет. В итоге при работе через асимметричный спутниковый интернет задержка практически не бывает меньше 300 мс, а при запросном канале GPRS может варьироваться в пределах от примерно полсекунды до нескольких секунд. Большинство способов передачи трафика, работающих в Интернет, используют протокол TCP (transmission control protocol, протокол управления передачей). TCP основан на подтверждении приёма информации, и если в заданный интервал времени подтверждения не приходит, то передача замедляется или вовсе прекращается. Настройки протокола TCP в большинстве систем ориентированы на подключения с небольшим временем задержки сигнала. При работе таких систем через спутниковый канал подтверждения протокола TCP не приходят в заданный настройками интервал времени, и передача данных начинает ограничиваться не скоростью спутникового канала, а задержкой распространения. Увеличить скорость передачи данных можно за счет запуска нескольких одновременных сессий TCP ("потоков закачки") – скорость каждой сессии будет ограничиваться задержкой на канале, но суммарная скорость вырастет. Однако этот способ увеличивает и количество передаваемой служебной информации, как в "прямом" спутниковом канале, так и в "запросном" наземном. Другой способ – увеличить время ожидания подтверждения. Это время задается так называемым "окном TCP" (TCP Window Size). "Окно TCP" – это количество байт, которое может быть передано до того, как ожидается получение первого подтверждения. Большое "окно TCP" позволяет получить достаточно большие скорости передачи даже на канале со значительно задержкой. Но чем больше "окно", тем медленнее растет скорость передачи до максимального значения. То есть, увеличение "окна TCP" эффективно только при "закачке" достаточно больших объемов информации (файлов). Практические рекомендации по установке "окна TCP" приведены в форуме на нашем сайте в разделе "Часто задаваемые вопросы". Третий способ – применить "акселератор трафика", например Slonax или Globax, который вместо стандартного TCP использует собственный протокол, как правило, на базе UDP, малочувствительный к задержкам на канале. Но это приводит к усложнению настройки системы на стороне клиента, а в случае закачки файлов – часто и к увеличению объемов входящей информации (при экономии объемов "исходящей"). Работа с акселераторами – предмет отдельного изучения и здесь далее не рассматривается. На скорость получения информации также влияет пропускная способность наземного канала. Если наземный канал ограничивает скорость отправки запросов и подтверждений на сервер, то и скорость получения данных с сервера будет ограничена. 2. Практические результатыВ лаборатории StarBlazer исследовалась зависимость максимально достижимой скорости "закачки" файлов от параметров "запросного" канала и настроек окна TCP на компьютере пользователя. Использовались операционная система Windows XP SP2, плата спутникового приема Technotrend S2-3200, запросные каналы ADSL (скорость "исходящего" трафика 384 кбит/с) и GPRS/EDGE. Результаты выглядят следующим образом:
* Приведенное отношение "исходящий/входящий" характерно для использования плат семейства Technotrend S2 с BDA-драйверами для Windows. При использовании других спутниковых плат и других драйверов отношение "исходящий/входящий" может существенно отличаться. Приведенные результаты были получены в следующих условиях:
3. Описание тестированияДалее приведено подробное описание испытаний, в результате которых были получены вышеприведенные данные. 3.1 Скоростной запросный каналПервая серия испытаний проводилась со скоростным запросным каналом (подключение к Интернет по ADSL, скорость исходящего трафика до 384 кбит/с). Сходные результаты должны получаться на любом запросном канале стабильного качества и со скоростью исходящего трафика от 100 кбит/с и выше. Параметры канала (запросный + спутниковый) измерены перед началом испытаний и оставались постоянными во время всей серии.
Первое испытание – окно TCP "по умолчанию" Настройки "окна TCP" по умолчанию (16 кбайт для Windows XP). Закачка файла размером 6.5 Мбайт в одну сессию TCP. Видно, что максимальная скорость ограничена на уровне примерно 400 кбит/с (скорость закачки файла по данным Download Master – 45 кбайт/с). Отношение исходящий/входящий трафик – 1:95. Закачка того же файла при пяти одновременных сессиях TCP (в пять потоков). Максимальная скорость около 2 Мбит/с, скорость закачки файла по данным Download Master – 190 кбайт/с. Увеличился как исходящий, так и входящий трафик (служебная информация на открытие и поддержку дополнительных сессий TCP), отношение исходящий/входящий трафик – 1:65. При закачке в восемь потоков. Максимальная скорость около 3 Мбит/с, скорость закачки файла по данным Download Master – 270 кбайт/с. Отношение исходящий/входящий трафик – 1:60. Второе испытание – окно TCP 64 кбайта "Окно TCP" установлено на значение 64 кбайта. Это максимальный размер, допустимый в "оригинальной" версии протокола TCP, с которым могут работать все сайты в Интернет. Закачка файла размером 6.5 Мбайт в один поток. Максимальная скорость ограничена на уровне примерно 1.5 Мбит/с (скорость закачки файла по данным Download Master – 145 кбайт/с). Отношение исходящий/входящий трафик – 1:110. То же самое при закачке в пять потоков. Скорость закачки файла по данным Download Master – 240 кбайт/с. Видно завершение отдельных потоков "закачки" и начало новых, скорость каждого из которых нарастает постепенно. Объем входящей информации увеличился за счет установления новых сессий TCP (потоков закачки). Отношение исходящий/входящий трафик – 1:70. При закачке в восемь потоков. Максимальная скорость более 4 Мбит/с, но скорость закачки по данным Download Master – 310 кбайт/с. Файл оказался слишком коротким и закачка закончилась раньше, чем скорость передачи по протоколу TCP успела выйти на "установившийся" уровень. Та же закачка в восемь потоков при окне 64 кбайта, но для файла размером 25 Мбайт. Скорость закачки файла по данным Download Master – 430кбайт/с. Видно завершение отдельных потоков "закачки" и начало новых. Отношение исходящий/входящий трафик – 1:60. Третье испытание – окно TCP 256 кбайт "Окно TCP" установлено на значение 256 кбайт. Поддержка окна размером более 64 кбайт не предусмотрена в оригинальной редакции протокола TCP и введена более поздним стандартом RFC 1323. Чтобы поддержка такого размера окна стала возможной, нужно в реестре Windows добавить параметр Tcp1323Opts типа DWORD и установить его значение в 1 или 3 (значение 3 разрешает механизм "временных меток", используемый для дополнительной оптимизации параметров TCP, но немного увеличивает объем "исходящего" трафика). Дополнительно нужно указать также параметр SackOpts со значением 1, который разрешает механизм Selective Acknowledgment (выборочных подтверждений) для окон большого размера. Следует иметь в виду, что при установлении сессии TCP происходит согласование параметров между сервером и клиентом. В этом испытании на сервере поддерживались окна TCP большого размера. Если на сервере не поддерживаются опции TCP по стандарту RFC 1323, то максимальный размер окна TCP окажется ограничен значением 64 кбайта, как в предыдущем испытании. Закачка файла размером 6.5 Мбайт в один поток при окне TCP размером 256кбайт. Максимальная скорость более 2.5 Мбит/с, скорость закачки файла по данным Download Master – 180 кбайт/с (для файла большего размера результирующая скорость была бы несколько выше, следующие измерения проводились с файлом размером 25 Мбайт). Отношение исходящий/входящий трафик – 1:120. Закачка в пять потоков, для файла размером 25 Мбайт. Скорость закачки файла по данным Download Master – 400кбайт/с. Видно завершение отдельных потоков "закачки" и начало новых. Отношение исходящий/входящий трафик – 1:75. Закачка в восемь потоков для файла размером 25 Мбайт. Скорость закачки файла по данным Download Master – 520 кбайт/с. Отношение исходящий/входящий трафик – 1:65. 3.2 Запросный канал GPRS/EDGEВторая серия испытаний проводилась с запросным каналом GPRS/EDGE, оператор МТС, для подключения использовался сотовый телефон Nokia 6300. Запросный канал EDGE обеспечивал максимальную скорость исходящего трафика порядка 20 кбит/с. Задержки и потери пакетов канала GPRS/EDGE достаточно быстро меняются в широких пределах и зависят от текущей загрузки сотовой сети голосовыми вызовами, имеющими максимальный приоритет по сравнению с передачей данный. Параметры канала (запросный GPRS/EDGE + спутниковый) замерены перед началом серии испытаний, во время испытаний заметно менялись. Испытания проводились по возможности в моменты наибольшей стабильности характеристик канала.
Первое испытание – окно TCP "по умолчанию" Настройки "окна TCP" по умолчанию (16 кбайт для Windows XP). Закачка файла размером 6.5 Мбайт в одну сессию TCP (поток). Максимальная скорость ограничена на уровне примерно 160 – 200 кбит/с. Видно, что в ходе закачки файла происходило ухудшение характеристик канала с потерей пакетов. Скорость сессии TCP при этом падает практически до ноля, после чего плавно пытается подняться до максимального значения, при котором пакеты еще не теряются. В результате скорость закачки файла по данным Download Master – 16 кбайт/с. Отношение исходящий/входящий трафик – 1:100. Закачка того же файла в пять потоков. Объем входящего и исходящего трафика возрос за счет установления дополнительных сессий. Скорость закачки файла по данным Download Master – 75 кбайт/с. Отношение исходящий/входящий трафик – 1:80. Закачка того же файла в восемь потоков. Максимальная скорость – более 1 Мбит/с. Скорость закачки файла по данным Download Master – 100 кбайт/с. Отношение исходящий/входящий трафик – 1:75. Второе испытание – окно TCP 64 кбайта "Окно TCP" установлено на значение 64 кбайта. (максимальный размер, допустимый в "оригинальной" версии протокола TCP, с которым могут работать все сайты Интернет). Закачка файла размером 6.5 Мбайт в одну сессию TCP (поток). Скорость порядка 500 кбит/с, скорость закачки файла по данным Download Master – 65 кбайт/с. Отношение исходящий/входящий трафик – 1:130. Закачка того же файла в пять потоков. Пиковая скорость – около 2.5 Мбит/с, скорость закачки файла по данным Download Master – 150 кбайт/с. Видно завершение основного количества потоков (сессий TCP) и "докачка" оставшегося объема данных с установлением новых сессий, которые не успевают "разогнаться" до больших скоростей. Отношение исходящий/входящий трафик – 1:90. Закачка того же файла в восемь потоков. Скорость закачки файла по данным Download Master – 170 кбайт/с. Существенного "ускорения" по сравнению с пятью потоками не происходит – сказывается ограничение скорости на запросном канале. Объем входящего и исходящего трафика несколько увеличился, отношение исходящий/входящий трафик – 1:90. Третье испытание – окно TCP 256 кбайт "Окно TCP" установлено на значение 256 кбайт, установлены параметры Tcp1323Opts и SackOpts. На сервере поддерживались окна TCP большого размера. Закачка файла размером 6.5 Мбайт в один поток. Скорость закачки файла по данным Download Master – 75 кбайт/с, т.е. уже мало отличается от окна TCP 64 кбайта – сказывается ограничение запросного канала. Отношение исходящий/входящий трафик – 1:120. Закачка того же файла в пять потоков. Скорость закачки файла по данным Download Master – 165 кбайт/с. Отношение исходящий/входящий трафик – 1:85. Ограничение максимальной скорости связано, возможно, с ухудшением параметров запросного канала в процессе передачи, но суммарная скорость закачки существенно не снизилась. Закачка того же файла в восемь потоков. Скорость закачки файла по данным Download Master – 185 кбайт/с. Видно завершение основного количества потоков (сессий TCP) и "докачка" оставшихся данных с установлением новых сессий, которые не успевают "разогнаться" до больших скоростей. Существенного "ускорения" по сравнению с пятью потоками не происходит – сказывается ограничение скорости на запросном канале. Отношение исходящий/входящий трафик – 1:85. 3.2 Влияние ошибок в каналеОшибки (пропадание пакетов) как в запросном, так и в спутниковом канале приводят к резкому падению скорости TCP-сессии практически до ноля, после чего скорость медленно поднимается до значений, при которых еще не происходит потеря пакетов (процедура slow-start). При этом происходит увеличение объемов передаваемого трафика и снижение результирующей скорости передачи. В качестве примера можно взять закачку файла с запросным каналом GPRS/EDGE в момент резкого ухудшения его характеристик. Закачка происходила в пять потоков с окном TCP "по умолчанию". Скорость закачки файла по данным Download Master – 45 кбайт/с, соотношение исходящий/входящий – 1:60. То же самое для стабильного запросного канала GPRS/EDGE. Скорость закачки файла по данным Download Master – 75 кбайт/с, т.е. почти вдвое выше, чем при нестабильном канале, соотношение исходящий/входящий также лучше – 1:80. Если сравнить объемы входящего и исходящего трафика, то видно, что из-за ошибок в запросном канале заметно увеличился объем передаваемых данных и, соответственно, ухудшилось отношение исходящий/входящий.
  Смотрите также
  © Copyright StarBlazer, 2009 Перепечатка статьи, полностью или частично, возможна только с разрешения автора. При размещении на других сайтах ссылка на www.starblazer.ru обязательна. Для получения разрешения напишите письмо по адресу с указанием сайта, на котором Вы хотите разместить статью. |
Новости
24.02.2024 28.12.2023 01.11.2023 12.09.2023 10.09.2023 |