В данный момент большинство пользователей спутникового интернета испытывает проблемы, связанные со скоростью получения данных. В связи с этим назрела необходимость дать краткие разъяснения, от каких параметров зависит скорость, а так же некоторые замечания по поводу работы TCP/IP в спутниковых системах.
Система передачи данных через спутник способна обеспечить однонаправленную передачу данных пользователю, обратная связь часто обеспечивается по наземным линиям связи, т.е. по обычному Dial-Up. Такой тип подключения приводит к тому, что мы имеем соединение с различной пропускной способностью к пользователю и от него. Большой процент пользователей (обычно около 85% от общего числа абонентов ISP) в основном получает информацию, нежели передает, поэтому такая асимметричность канала оправдана. Но высокая степень зависимости каналов (в большей степени это относится к обратному каналу) друг от друга становится критическим моментом для работы с подобной системой.
Пропускная способность TCP/IP соединения ограничена двумя пунктами:
1) временем возвращения - RTT round trip time
2) размером TCP окна.
Производительность DVB-систем построена на возможности IP->DVB шлюза устанавливать максимальные размеры TCP окон, а именно делать их равным 65535 байт. Использование конечным пользователем TCP стеков, отвечающих всем современным стандартам, позволяет IP->DVB шлюзам выполнять RFC-1323, имеющей возможность запрашивать увеличение размера окна для повышения пропускной способности канала.
Ограничения, которые накладывает обратный канал, являются в подобных системах наиболее <узким> местом, т.к. весь исходящий трафик, который порождает удаленный клиент, должен быть получен и обработан прокси-сервером до посылки клиенту.
Какие же негативные моменты порождает данный процесс?
Данный процесс особенно негативно отражается на работе с web-узлами, т.к. IP протокол имеет ряд <медленных> мест, а именно IP протокол начинает эффективно работать только тогда, когда от запрашиваемого узла получен основной <скелет> страницы, основной HTML код и начинается подгрузка остальных объектов (картинок, апплетов и т.п.). Любое соединение начинается с запросом клиентом TCP-соединения с Интернет, после чего клиент запрашивает требуемый HTML-документ, обычно это корневая страница сервера. Сервер подтверждает запрос и начинает передачу данных. Сначала он отсылает только один пакет и получает подтверждение о его приеме (ACK), но обычно страница имеет размер больший, нежели чем размер пакета, и сервер передает столько пакетов, сколько требуется для полной передачи запрашиваемой страницы и, соответственно, получает столько подтверждений, сколько необходимо. Если Вся страница передана, то сервер посылает пакет с информацией о конце передачи (FIN).
После получения основного <скелета> страницы, клиент, а точнее его броузер, анализирует поступивший код, на предмет наличия в нем ссылок на графические или еще какие либо объекты. После этого он открывает необходимое количество соединений и начинает получение этих объектов.
Как видно из следующего примера, чем больше объектов имеет запрашиваемая страница, тем выше будет скорость передачи.