Реферат: Модемы (модемные протоколы коррекции ошибок)

То, что по недоразумению называют протоколом MNP4, протоколом на самом деле не является. Это не более, чем модифицированная реализация протоколов MNP2 и MNP3. А посему, ввиду отсутствия предмета, упоминание MNP4 в дальнейшем изложении отсутствует.

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

2.1. MNP2

Протокол коррекции ошибок MNP2 является знак-ориентированным про­токолом типа BSC (Binary Synchronous Communications). Его наличие или отсутствие никак не затрагивает формат передачи байта по каналу: он подвергается асинхронно-синхронному преобразованию в соответствии с Ре­комендацией V.14 CCITT. Каждый элемент кадра - байт - состоит из 8 ин­формационных бит, передается по каналу последовательно, младшим битом вперед; выдача первого бита предваряется стартовым битом (0), служащим синхросигналом приемнику; после передачи последнего бита выдается сто­повый бит (1). Если следующий байт не готов к выдаче, передается поток стоповых битов. Таким образом можно считать, что байт состоит как мини­мум из 10 бит, включая один стартовый и один стоповый биты (абстрагиру­ясь от незначительных в данном контексте подробностей, связанных с вы­равниванием скоростей на коммуникационных интерфейсах передатчика и приемника).

Из этого обстоятельства есть два весьма существенных следствия. Во-первых, процедура входа в протокол прозрачна и не требует специаль­ного синхронного переключения обоих модемов в какой-то специфический режим работы асинхронно-синхронного преобразования данных. В любой мо­мент модем может начать передачу символов, являющихся не самоценными данными, а служебным полем кадра протокола MNP2. Лишь бы приемник был готов на логическом уровне идентифицировать это обстоятельство. Во-вто­рых, реализация протокола может быть вынесена на уровень программного обеспечения компьютера, оставляя модем и вовсе в неведении относительно наличия протокола коррекции ошибок. Хорошо это или плохо - предмет от­дельного разговора, но это дополнительная степень свободы, предоставля­емая (или, вернее, не отнимаемая) протоколом.

Формат кадра MNP2 следующий:

- управляющее поле начального флага, включающее три байта: SYN, DLE и STX (16h, 10h, 2h);

- прозрачные пользовательские данные переменной длины;

- управляющее поле конечного флага, включающее 2 байта: DLE и ETX

(10h, 3h);

- двухбайтовая контрольная последовательность кадра, подсчитанная с помощью образующего полинома X^16 + X^15 + X^2 + 1.

Кодовая прозрачность управляющих полей обеспечивается байтом DLE, сигнализирующим о специальном значении следующего за ним байта. Если же этот байт встречается в пользовательских данных, то он должен дублиро­ваться, чем обеспечивается прозрачность самих пользовательских данных. Иногда процедуру вставки байта DLE в пользовательские данные в протоко­ле типа BSC называют байтстаффингом. Поскольку протокол MNP2 - знак-ориентированный, в нем нет специального межкадрового заполнителя. Им служит банальный межбайтовый заполнитель - поток стоповых битов.

В протоколе MNP2 существуют 6 типов кадров: LR, LD, LT, LA, LN и LNA. Каждый тип кадра в поле прозрачных пользовательских данных имеет свою собственную логическую структуру, в которой кодируется признак ти­па кадра, а также присущие ему параметры и пользовательская информация.

2.2. MNP3

Протокол коррекции ошибок MNP3 является бит-ориентированным про­токолом. Кадровый формат его радикальным образом отличается от вышеиз­ложенного и полностью соответствует основной части Рекомендации V.42, включая асинхронно-синхронное преобразование байта, подсчет двухбайто­вой контрольной последовательности кадра с точностью до образующего по­линома, обеспечение прозрачности данных и межкадровый заполнитель. Все это подробнее будет рассмотрено ниже, в разделе, посвященном протоколу

V.42. Все же остальное - перечень типов кадров, их логическая структура и собственно протокол - полностью идентично протоколу MNP2. По сути MNP3 - это паллиатив между MNP2 и V.42.

При бесспорном снижении накладных расходов, обусловленном перехо­дом на синхронный кадровый формат, MNP3 не достигает кондиций V.42, те­ряя в гибкости по сравнению с MNP2. Даже экономии вычислительных ресур­сов невозможно добиться, отказываясь от реализации байт-ориентированно­го режима MNP. По той простой причине, что процедура входа в протокол MNP3 заключается в обмене сторонами кадрами LR в байт-ориентированном режиме. Только согласовав с помощью этого кадра применение в дальнейшем бит-ориентированного режима, стороны синхронно в него переключаются. Таким образом, все вычислительные процедуры, присущие MNP2 - формирова­ние кадра специфического формата, вычисление контрольной последователь­ности по специфическому образующему полиному, байтстаффинг и пр. - все это необходимо реализовывать для установки протокола MNP3. И в этой связи совершенно непонятна логика разработчиков некоторых дорогостоящих модемов, в которых байт-ориентированный режим MNP считается устаревшим и не поддерживается (например, ZyXEL U-1496). Не говоря уже о том, что это является прямым нарушением Рекомендации V.42: "An error-correcting entity that supports framing mode 3 must also support framing mode 2." (CCITT, Blue Book, Volume VIII - Fascicle VIII.1, Data communication over the telephone network, Geneva 1989, p. 349).

В качестве заметки на полях, хотелось бы обратить внимание sysop'ов BBS, пользующих ZyXEL, на такое его поведение. Полагая, что столь неплохо зарекомендовавший себя модем умеет все делать сам, опера­торы станций не подключают драйверы, эмулирующие MNP2. И тем самым практически исключают из числа своих абонентов тех несчастных, модемы которых аппаратно не поддерживают протоколы коррекции ошибок и которые вынуждены уповать только на программную реализацию MNP2.

2.3. V.42

Протокол коррекции ошибок V.42 является подмножеством, называемым LAPM (Link Access Procedure for Modems), бит-ориентированных протоколов типа HDLC (High-level Data Link Control). Как уже было сказано выше, формат кадра LAPM отличается от кадрового формата MNP2. Если последний можно было условно назвать асинхронным кадровым форматом, то LAPM можно смело называть синхронным.

Кадр LAPM состоит их нескольких полей, каждое из которых включает целое число байт. Все байты в кадре передаются последовательно друг за другом без каких бы то ни было служебных битов: вслед за старшим битом предыдущего байта передается младший бит следующего. Все кадры начина­ются и заканчиваются уникальной битовой последовательностью, называемой флагом: шестью единицами подряд, окаймленными нулями (01111110b, 7Eh). Кодовая прозрачность тела кадра обеспечивается вставкой нулевого бита вслед за пятью подряд единицами, независимо от значения следующего бита (битстаффинг). Межкадровым заполнителем служит флаговая последователь­ность. Завершающий флаг одного кадра может одновременно служить началь­ным флагом следующего. Таким образом, битстаффинг гарантирует приемник от появления флага в середине кадра; обнаружение флага в потоке данных говорит приемнику об окончании принимаемого кадра; появление в потоке флаговых комбинаций последовательности битов, отличных от флага, гово­рит о начале следующего кадра. Резюмируя вышеизложенное, правильнее, думается, называть LAPM "кадр-ориентированным" протоколом, нежели "бит-ориентированным".

Формат кадра LAPM следующий:

- начальный флаг (7Eh);

- поле адреса;

- управляющее поле;

- информационное поле;

- двухбайтовая или четырехбайтовая контрольная последовательность кадра;

- конечный флаг (7Eh).

Подробное описание полей кадров LAPM - предмет довольно скучный. Стоит лишь отметить, что управляющее поле кадра идентифицирует один из трех форматов кадра. Информационные кадры (I-формат) предназначены для передачи информации с возможностью одновременного подтверждения приня­той информации. Супервизорные кадры (S-формат) предназначены для подт­верждения принятой информации, запроса на повторную передачу или сооб­щения оппоненту о неготовности к приему. И, наконец, ненумерованные кадры (U-формат) выполняют дополнительные управляющие сеансом процеду­ры, как то: установка/прекращение работы протокола, согласование пара­метров протокола, передача сигнала break, тестирование канала и пр. Всего в протоколе LAPM насчитывается 13 типов кадров:

К-во Просмотров: 983
Бесплатно скачать Реферат: Модемы (модемные протоколы коррекции ошибок)