Смекни!
smekni.com

Модемы (модемные протоколы коррекции ошибок) (стр. 3 из 4)

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 типов кадров:

- 1 кадр I-формата;

- 4 типа кадра S-формата: RR, RNR, REJ и SREJ;

- 8 типов кадров U-формата: SABME, DM, UI, DISC, UA, FRMR, XID и TEST.

Двухбайтовая контрольная последовательность кадра подсчитывается с помощью образующего полинома X^16 + X^12 + X^5 + 1. Стоит обратить внимание на тот факт, что образующий полином отличается от того, кото­рый используется в протоколе MNP2. Четырехбайтовая контрольная последо­вательность кадра подсчитывается с помощью образующего полинома X^32 + X^26 + X^23 + X^22 + X^16 + X^12 + X^11 + X^10 + X^8 + X^7 + X^5 + X^4 + X^2 + X + 1. Выбор CRC-16 или CRC-32 производится в процессе согласо­вания параметров протокола с помощью кадров XID.

Вход в протокол - операция весьма ответственная и потому тщатель­но спланирована. Вызывающий модем начинает установку протокола непре­рывной передачей своему оппоненту двухбайтовых "шаблонов обнаружения вызывающего" (ODP, Originator Detection Pattern) в байт-ориентированном режиме, соответствующем Рекомендации V.14 CCITT. ODP состоит из байтов 11h и 91h, разделенных между собой 8 - 16 стоповыми битами. Отвечающий модем, приняв два подряд ODP, начинает выдавать "шаблоны обнаружения отвечающего" (ADP, Answerer Detection Pattern) в том же байт-ориентиро­ванном режиме. ADP состоит из байтов 45h ('E') и 43h ('C'), разделенных между собой 8 - 16 стоповыми битами. После выдачи десяти ADP отвечающий модем переключается в синхронный режим. Вызывающий модем, приняв два подряд ADP, прекращает передачу ODP и переключается в синхронный режим. Выдача первого кадра в синхронном режиме предваряется как минимум 16 флаговыми последовательностями, с помощью которых выдерживается пауза для гарантированного переключения обоих сторон в синхронный режим. Пер­вым кадром, как правило, оказывается кадр XID, с помощью которого сто­роны согласуют параметры протокола коррекции ошибок и сжатия.

3. Слава, слава V.42, победителю

Столь смелое восклицание обязывает непосредственно перейти к из­ложению факторов, по которым сравнительный анализ протоколов коррекции ошибок свидетельствует в пользу V.42.

3.1. Минимизация накладных расходов.

Совокупное преимущество V.42 по этому фактору имеет несколько составляющих.

а) Очевидное преимущество MNP3 и V.42 перед MNP2, обусловленное переходом на синхронный кадровый формат, заключается в уменьшении объ­ема передаваемых по каналу данных по крайней мере на 20% вследствие от­каза от передачи стартовых и стоповых битов.

б) Обеспечение кодовой прозрачности данных в байт-ориентированном режиме приводит в худшем случае, когда вся пользовательская информация состоит из одних байтов DLE, к увеличению объема передаваемых данных на 100%. Для синхронного кадрового формата худший случай, заключающийся в том, что пользовательская информация состоит из одних единиц (байтов 0FFh), приводит к увеличению объема передаваемых данных лишь на 20% - вставки дополнительного 0 после каждых пяти единиц.

в) Накладные расходы на передачу пользовательской информации пос­редством I кадра протокола V.42, обусловленные структурой кадра, сос­тавляют 6 байт. Аналогичные накладные расходы для кадров LT, осущест­вляющих передачу пользовательской информации, для протокола MNP3 сос­тавляют 8 байт, а для протокола MNP2 - 12 байт.

г) При двусторонней передаче информации протоколы MNP будут либо откладывать подтверждение принятой информации, неоправданно "загромож­дая" буфера оппонента отправленными, но неподтвержденными кадрами, либо будут вынуждены чередовать передачу пользовательской информации с подт­верждениями очередных принятых кадров, т.е. увеличивать накладные рас­ходы на 11 байт для MNP3 и на 15 байт для MNP2 (длина кадра LA). I кадр протокола V.42 в самой своей структуре несет функцию подтверждения при­нятой информации, и потому дополнительных накладных расходов не требу­ет.

3.2. Надежность входа в протокол.

Процедура входа в любой из протоколов MNP заключается в обмене сторонами кадрами LR в байт-ориентированном режиме. Переключение в

синхронный кадровый формат протокола MNP3 производится только после вы­дачи инициатором кадра LA (и, соответственно, его приема отвечающим), подтверждающего прием ответного кадра LR. Длина кадра LR составляет 31 байт, а кадра LA - 15 байт. Таким образом, установка протокола обуслов­лена безошибочным приемом 31 байта отвечающим модемом, затем 31 байта вызывающим модемом и, наконец, 15 байт вновь отвечающим модемом. В то время, как для установки протокола LAPM требуется безошибочно передать всего лишь по 4 байта в каждую сторону - по 2 ODP/ADP, соответственно. Впрочем, эти 4 байта должны перемежаться потоком стоповых бит длиной в среднем в 1.5 байта. Поэтому для корректности надо говорить о 10 бай­тах. Очевидно, что при наличии помех (в противном случае в протоколе просто нет нужды) вероятность безошибочного приема 10 байт значительно выше, чем 31 байта и, тем более, 46 байт.

Кроме того, поток ODP/ADP включает в себя не менее 10 шаблонов, т.е. каждая пара повторяется не менее 5 раз. В то время, как в случае неудачи приема кадра LR какой-либо из сторон, обмен этими кадрами будет повторен по истечении тайм-аута лишь однажды. Превосходство в кратности повтора процедуры еще более увеличивает разницу в вероятностях успешно­го входа в протокол коррекции ошибок, подчеркивая преимущество протоко­ла LAPM над MNP.

3.3. Устойчивость к полеганию.

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

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

Далее в бой вступают уже протокольные преимущества V.42 над MNP. Во-первых, одним из условий признания кадра недействительным в протоко­ле V.42, в отличие от протоколов MNP, является превышение размера его информационного поля оговоренного в процедуре входа в протокол значе­ния. Это позволяет принимающей стороне в ситуации пропуска флага, раз­деляющего два соседних кадра, не дожидаться конечного флага второго кадра, а сразу же выдать запрос на повторную передачу. Во-вторых, нали­чие типа кадра SREJ в протоколе LAPM позволяет не отбрасывать корректно принятый вслед за ошибочным кадр, а запросить селективный повтор одного единственного неверно принятого кадра.