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

Реферат по теме:

"Модемы (модемные протоколы коррекции ошибок)"

MNP-КОРРЕКЦИЯ

Для повышения скорости и надежности обмена информацией используются так называемые MNP-модемы - модемы с аппаратным сжатием и коррекцией ин­формации. Многие модемы (практически все) со скоростью 2400 бод являются MNP-модемами. Так как протоколы коррекции ошибок в MNP-модемах реализова­ны аппаратно, скорость обмена заметно возрастает ( в некоторых случаях в 2 раза).Следует отметить,что в отечественной телефонной сети без MNP-кор­рекции на скоростях выше 300 бод практически невозможно работать из-за высокого уровня шума в линии. И в то же время работая с MNP-коррекцией вы можете передавать данные даже тогда, когда за шумом и треском не слышно собеседника. Если ваш модем не является MNP-модемом, не следует огор­чаться - существует ряд коммуникационных пакетов, реализующих MNP-коррек­цию на программном уровне. Одним из таких пакетов (который распростра­няется по сети BBS) является МТЕ v.2.10g (MNP Terminal Emulator) фирмы MagiSoft. Этот пакет обладает всеми основными качествами коммуникационной программы и при обмене данными с модемом может осуществлять (по желанию пользователя) MNP-коррекцию. Существуют также резидентные эмуляторы MNP, перехватывающие прерывание 14h BIOS.

Что же такое MNP? Стандарт Microcom Networking Protocol (MNP) вобрал в себя многие разработки в области протоколов передачи данных. Протокол аппартно реализует коррекцию ошибок и сжатие передаваемой инфор­мации. Принцип работы MNP-модема заключается в использовании при передаче информации блоков переменной длины. Модем принимает от компьютера подле­жащие передаче данные и собирает их в пакет, который затем передается по линии другому MNP-модему. При сборке этого пакета информации вычисляется контрольная сумма, которая передается в конце пакета. Размер блока можно изменять от 64 до 265 байт с шагом в 64 байта, причем, на высококачест­венных телефонных линиях можно использовать блоки большей длины, что уве­личиват скорость передачи. Еще большей производительности можно добиться, применяя сжатие передаваемых данных.При этом скорость передачи повышается вдвое - т.е.модем, работающий в режиме MNP5 со скоростью предачи 2400 бод,работает так же производительно, как обычный можем со скоростью 4800 бод (а MNP7 даже втрое быстрее). При сжатии используются математические методы, аналогичные применяемым в утилитах архиваторов. Приняв сжатое сообщение в буфер,MNP-модем распаковывает его и в обычном виде передает в компьютер. MNP-модемы различаются по классам. Каждый класс отличается от предыдущего более высокой производительностью и расширенными возможностя­ми. Для более совершенных классов требуется более совершенное аппаратное обеспечение, более мощный процессор для микроконтролера модема.Однако в связи с тем, что все классы протокола MNP совместимы друг с другом, модем всегда будет стремиться использовать максимум своих возможностей. Ниже приводится краткое описание основных характеристик каждого из классов MNP.

Класс 1 использует асинхронный полудуплексный метод передачи данных с побайтной организацией. Он имеет наименьшую среди MNP-протоколов произ­водительность, но не требует больших объемов памяти и высокой скорости процессора. Сравнительная эффективность составляет 70 %, т.е. MNP-модем класса 1, работающий со скоростью 2400 бод, передает полезную информцию со скоростью 1680 бод.

Класс 2 использует асинхронный дуплексный метод передачи данных с побайтной организацией. Сравнительная эффективность - 84%.

Класс 3 использует синхронный дуплексный метод передачи данных с побитной организацией. Используемый в нем формат значительно эффективнее, чем асинхронные побайтные форматы.Дело в том, что при асинхронной пере­даче требуется передавать дополнительный старт-бит в начале байта и стоп-бит в его конце. Отказ от их использования заметно повышает произ­водительность протокола. Эффективность класса 3 составляет 108%.

Класс 4 отличается тем, что в нем реализованы два новых метода работы с информацией: адаптивная сборка передаваемых блоков и оптимизация фазы. В процессе передачи данных монитор модема следит за средней ско­ростью передачи, и в зависимости от количества ошибок изменяет длину блока. Использование метода оптимизации фазы позволяет избавиться от повторной передачи части служебной информации. Относительная эффектив­ность - 120%.

Класс 5 использует в дополнение к возможностям класса 4 сжатие данных в реальном масштабе времени. Применяется адаптивный алгоритм, поз­воляющий одинаково хорошо работать как в режиме передачи файлов, так и в интерактивном режиме. Коэффициент сжатия может достигать 99% для некото­рых видов информации. Графические файлы могут сжиматься до 10 % исходного размера, текстовые файлы - до 45-55%, программы -до 60-90%. Средний коэф­фициент сжатия 63%. Относительная эффективность 200%.

Класс 6 в дополнение к возможностям MNP5 обеспечивает совместимость высокоскоростного протокола v.29 с низкоскоростными стандартами и автома­тически переключается между полудуплексным и дуплексным режимами в зави­симости от типа передаваемых данных.

Класс 7 использует более совершенный алгоритм сжатия данных. Отно­сительная эффективность 300%.

Класс 9 применяет протокол v.32 и соответствующий метод работы, обеспечивающий совместимость с низкоскоростнвми модемами. Наиболее употребимым классом для сравнительно недорогих модемов на сегодняшний день является класс 5.

МОДЕМНЫЕ ПРОТОКОЛЫ КОРРЕКЦИИ ОШИБОК:

V.42 ПРОТИВ MNP2-4

Оснащение стандартных среднескоростных модемов аппаратно реализо­ванными протоколами коррекции ошибок и сжатия данных стало в последнее время стандартом де-факто в модемостроении. Если для западного рынка, где качество телефонных каналов весьма высоко, наличие этих протоколов

- небесполезная подробность в рекламе предлагаемого изделия, которая к тому же повышает цену товара не более, чем на 15-20%, то в условиях отечественного (в широком смысле) телекоммуникационного пространства реализация тем или иным способом коррекции ошибок становится по понят­ным причинам совершенно необходимой.

В настоящее время приближается к концу затянувшийся спор о том, какие протоколы коррекции ошибок - MNP2-4 или V.42 CCITT - перспектив­нее, и разрешается он в пользу CCITT. Попытка аргументировать справед­ливость этого вывода и предпринята здесь.

1. Принципы коррекции ошибок

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

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

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

Фактор "стоимость трафика" заставляет с большой осторожностью от­носиться к таким методам коррекции ошибок, как многократное дублирова­ние передаваемой информации с мажоритарным выбором или применение ин­формационной обратной связи. Объем передаваемой информации в первом случае возрастает как минимум втрое, а то и более. Во втором случае, гонять одну и ту же информацию в полном объеме в обе стороны только для обнаружения факта наличия ошибки с последующим повтором представляется также излишне расточительным.

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

Разумным компромиссом было сочтено применение циклического поме­хозащищенного кодирования с решающей обратной связью. Суть этого метода состоит в следующем. Вся "полезная" информация разбивается на "порции"

- кадры. Передача каждого кадра завершается передачей специальной конт­рольной последовательности кадра, подсчитанной по некоему, заранее оп­ределенному алгоритму. Этот рекуррентный алгоритм в процессе выдачи кадра модифицирует контрольную последовательность с помощью очередного выдаваемого байта. Удаленная сторона, принимая кадр, также подсчитывает контрольную последовательность по известному алгоритму. По окончании приема кадра производится сравнение подсчитанной контрольной последова­тельности с принятым в конце кадра ее значением. По результатам сравне­ния приемник решает гамлетовский вопрос: быть ли данному кадру, или его следует повторить. Результат решения этого вопроса приемник сообщает передатчику посредством некоей "квитанции". Отсюда другое название это­го метода: метод автоматического повтора запроса (ARQ, Automatic Repeat reQuest).

Основная ответственность за надежность обнаружения ошибок при этом методе лежит на алгоритме вычисления контрольной последовательнос­ти кадра. Здесь используется аппарат циклического избыточного контроля (CRC, Cyclic Redundance Check). Циклическое кодирование базируется на математической теории групп, алгебре многочленов и теории колец. Оста­вив для другого раза теоретические основы циклического кодирования, стоит отметить его свойства, обусловившие выбор циклических кодов.

Главное - это то, что циклические коды обладают высокой надеж­ностью коррекции ошибок при весьма невысокой избыточности. Особенно они эффективны при обнаружении пакетов ошибок. Например, для кадра размером в 256 байт и контрольной последовательности в 16 бит (CRC-16) минималь­ное кодовое расстояние = 3, т.е. одна разрешенная кодовая комбинация отличается от другой, разрешенной же, минимум 3 битами, причем не любы­ми, а расположенными на вполне определенных местах во всей 2064-битовой последовательности. Вероятность появления нераспознаваемой ошибки, т.е. того, что вследствие ошибок одна разрешенная комбинация перейдет в дру­гую, не превосходит 10^(-14). При уменьшении размера кадра или при уве­личении длины контрольной последовательности минимальное кодовое расс­тояние растет, что еще более уменьшит вероятность появления нераспозна­ваемой ошибки.

Другое немаловажное свойство - простота кодирования: рекуррентный характер алгоритма при минимальном расходе вычислительных ресурсов. Причем, существуют по крайней мере два алгоритма, дающих идентичный ре­зультат. Один - битовый, модификация результата в котором производится по каждому биту. Его удобно реализовывать на аппаратном уровне с по­мощью сдвигового регистра. Другой - байтово-табличный, в котором моди­фикация результата производится после приема/передачи целого байта. Этот алгоритм больше подходит для реализации на программном уровне, поскольку требует некоторого объема памяти для хранения таблиц.

Данные принципы циклического помехозащищенного кодирования с ре­шающей обратной связью положены в основу всех аппаратных и программных реализаций наиболее широко распространенных протоколов коррекции ошибок MNP2/MNP3 и V.42 CCITT.

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

Строго говоря, противопоставление протокола V.42 CCITT (the International Telegraph and Telephone Consultative Committee) и MNP (the Microcom Networking Protocol) не вполне корректно. Дело в том, что Рекомендация V.42 CCITT - единый стандарт (по традиции называемый "Ре­комендация"), описывающий все рассматриваемые протоколы коррекции оши­бок. То, что в обиходе называется MNP2 и MNP3, есть соответственно байт-ориентированный и бит-ориентированный режимы протокола, описанного в Дополнении A к Рекомендации V.42, а то, что называется протоколом

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

То, что по недоразумению называют протоколом 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 типов кадров:

- 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 позволяет не отбрасывать корректно принятый вслед за ошибочным кадр, а запросить селективный повтор одного единственного неверно принятого кадра.

3.4. Гибкость.

Сей фактор целиком обязан своим появлением расширенным возможнос­тям собственно протокола LAPM по сравнению с протоколами MNP. Частично эти возможности уже были упомянуты выше. Здесь же будет приведен крат­кий, по возможности, их перечень.

а) Раздельное согласование параметров передачи в обе стороны. Та­ких, как максимальный размер кадра и размер окна. Последний параметр определяет количество кадров максимального размера, которое модем может хранить в своей памяти, ожидая их подтверждения. Оба этих параметра за­висят от размеров оперативной памяти модемов, участвующих в сеансе свя­зи. Поскольку они могут иметь разный объем памяти, представляется ло­гичным, что для каждого направления передачи согласуются свои значения этих параметров. В протоколе MNP в процессе согласования параметров вы­бирается одно, наименьшее значение для передачи в обе стороны.

б) Кадр XID протокола LAPM, с помощью которого производится сог­ласование параметров, позволяет модемам обмениваться дополнительной ин­формацией, такой как "ID (идентификатор) изготовителя". Это потенциаль­но (а может и реально) дает возможность модемам одного и того же изго­товителя расширять протокол в процессе сеанса по своему усмотрению.

в) Возможность повышения надежности коррекции ошибок с помощью четырехбайтовой контрольной последовательности кадра (CRC-32) в особо ответственных сеансах, при условии поддержки этой возможности обоими модемами. Поддержка этой возможности необязательна.

г) Совмещение функции передачи пользовательской информации с функцией подтверждения принятых данных.

д) Селективный повтор одного неверно принятого кадра. Реализация этой возможности (тип кадра SREJ) необязательна.

е) Кадр U-формата TEST позволяет в любой момент, не прекращая пе­редачу пользовательской информации, осуществить кольцевое тестирование канала передачи данных. Поддержка этой возможности необязательна.

ж) Пересогласование параметров передачи в любой момент времени после установки протокола. Модем может инициировать пересогласование параметров протокола, послав кадр XID, в любой момент, исходя из своих собственных внутренних критериев. Например, посчитав, что качество ка­нала связи ухудшилось, он может потребовать уменьшить максимальный раз­мер кадра, или включить любую из необязательных процедур: кольцевое тестирование, например, или CRC-32. MNP позволяет согласовывать пара­метры единожды, при входе в протокол.

з) Неразрывность физического соединения после корректного выхода из протокола. MNP требует разорвать физическое соединение после обмена кадрами LD. После выдачи кадра DISC V.42 физическое соединение не раз­рывается. Это может быть использовано для перетренировки аппаратуры мо­дема при ухудшении качества канала (retrain) с последующим повторным входом в протокол, или для временного отключения протокола коррекции ошибок, например, при передаче файлов под управлением высокоуровневых канальных протоколов с коррекцией ошибок (типа ZMODEM).

и) Протокол LAPM содержит задел для его расширения в будущем. В частности, наличие адресного поля открывает возможности для многоточеч­ного соединения.