Модемы и факс-модемы. Программирование для MS-DOS и Windows

       

Протоколы коррекции ошибок


При передаче данных по зашумленным телефонным линиям всегда существует большая вероятность, что данные, переданные одним модемом, будут приняты другим модемом в искаженном виде. Некоторые передаваемые байты могут изменить свое значение или даже просто исчезнуть. Могут быть приняты данные, которые не были переданы удаленным модемом, то есть принимающий модем может распознать принятый шум на линии как данные.

Для того чтобы пользователь имел гарантию, что его данные переданы без ошибок, используются протоколы коррекции ошибок.

Общая форма передачи данных по протоколам с коррекцией ошибок следующая: модем передает данные отдельными блоками (пакетами) по 16 - 20000 байт, в зависимости от качества связи. Каждый блок снабжается заголовком, в котором указана проверочная информация, например, контрольная сумма блока. Принимающий модем самостоятельно подсчитывает контрольную сумму каждого блока и сравнивает ее с контрольной суммой из заголовка блока. Если эти две контрольные суммы совпали, считается что блок принят без ошибок. В противном случае принимающий модем отсылает передающему модему запрос на повторную передачу этого блока. Передача сбойного блока продолжается до тех пор, пока он не будет принят правильно.

Протоколы коррекции ошибок могут быть реализованы не только на аппаратном, но и на программном уровне. Аппаратный уровень реализации более эффективен. Наиболее распространенны следующие протоколы коррекции ошибок, поддерживаемые модемами на аппаратном уровне - MNP1-MNP10 и V.42.



Содержание раздела