Алгоритм коррекции/сжатия
Детальное описание протоколов коррекции/сжатия можно найти в соответствующих описаниях, а сейчас я попытаюсь самым приблизительным образом описать, что же это такое.
В данный момент для нас в этих протоколах существенно то, что при передаче информации с использованием протокола коррекции (MNP4, v.42) происходит обрезание 10 бит, полученных из компьютера, до 8-ми информационных (удаляются стартовый и стоповый биты) (10 бит = старт_бит + 8 информационных + стоп_бит - см. Асинхронный протокол RS232). И наоборот, при получении из линии 8-ми информационных бит модем их преобразует в 10 и передает в компьютер. Таким образом по линии идет информации меньше, чем модем получил из компьютера. Но это еще не все. При использовании протокола сжатия (MNP5, v.42bis) происходит еще и уменьшение объема полезной информации, так что от тех 10-ти бит, что модем получил от компьютера, в линию (и на удаленный модем) попадет от них только часть...
А теперь посмотрим, что из-за этого происходит... Пусть наш модем работает со скоростью 2400, что значит, что за одну секунду по линии передается 2400 бит (2400 bps - bit per second). Получив 2400 бит СЖАТЫХ данных модем их распаковывает и передает в компьютер... Но после распаковки данных стало БОЛЬШЕ и передавать в компьютер их надо быстрее, чем на скорости 2400 bps, чтобы успеть принять следующие данные! Поэтому скорость общения модема с компьютером для 2400-модемов должна составлять 9600 или 4800 bps. Но чтобы все правильно работало, нужно зафиксировать модем и программу на этой скорости, т.е. сделать Lock Port...