Персональный
сайт
Игоря
Сысоева


 
english
обо мне
 
sysoev.ru
 
nginx
 
mod_accel
mod_realip
mod_deflate
программирование
всякая всячина
windows
freebsd
apache
pppd
unix
web
 
 

Протокол V.42bis и скорость порта

 

22.01.1999

При передачи каждого байта из компьютера в модем и обратно вместе с восемью битами данных передаются и ещё два бита — стартовый и стоповый. При использовании протокола V.42 модемы передают данные поблочно, естественно, убирая стартовый и стоповый биты, но внося при этом свои дополнительные байты, такие как идентификатор блока, контрольную сумму, стартовый и стоповый байты. Методом научного тыка было обнаружено, что для того, чтобы модемы передавали на полной скорости, в них нужно вливать данные скоростью минимум в 1.1 раза больше скорости модемного соединения. То есть, при скорости модемного соединения 9600 компьютер должен передавать данные в модем со скоростью 10560, для 14400 — 15840 и так далее. Поэтому, даже если Вы не будете использовать сжатие по протоколу V.42bis, все равно установите скорость порта больше, чем скорость модемного соединения.

Использование сжатия по протоколу V.42bis позволяет увеличить скорость прокачки по линии до четырёх раз. Естественно, наибольший эффект достигается при передаче текстов, например, HTML. Хуже обстоит дело с бинарными файлами и ещё хуже с уже сжатыми файлами. Если модем соединяется на скорости до 14400, то имеет смысл установить скорость порта 38400, при соединении от 14400 до 28800 — 57600. Ну, и наконец, для скоростей выше 28800, скорость порта нужно увеличить до 115200. Например, у меня при светлой луне и тихой погоде при соединении на скорости 49333 в мою сторону по протоколу V.90/V.42bis текстовые файлы качаются со скоростью до 115200.

Правда, стоит учитывать одно обстоятельство — для надёжной работы на скоростях выше 38400 последовательный порт должен иметь FIFO, то есть, FreeBSD должна опознавать его, как 16550A или как-то ещё, но ни в коем случае, как 8250 или 16450.

(C) Игорь Сысоев
http://sysoev.ru