Одновременно с развитием протоколов передачи данных шло и развитие протоколов сжатия и коррекции ошибок. Это было связано с тем, что
требовалась передача больших объемов информации, чем позволяли существующие модемы, кроме того, качество каналов
обещало желать лучшего. Поэтому фирмы - производители модемов разрабатывали для своей аппаратуры передачи данных необходимые ей протоколы
сжатия и коррекции ошибок. Почти все представленные протоколы предназначены для асинхронной передачи данных, за исключением SDC, который
наиболее эффективен для повышения качества и скорости передачи трафика X.25, Frame Relay, SDLC, PPP.
MNP (Microcom Network Protocols) - серия наиболее распространенных аппаратных протоколов, впервые реализованная на модемах фирмы
Microcom. Эти протоколы обеспечивают автоматическую коррекцию ошибок и компрессию передаваемых данных.
Сейчас известны следующие протоколы:
MNP1. Протокол коррекции ошибок, использующий асинхронный полудуплексный метод передачи данных. Это самый простой из протоколов MNP.
MNP2. Протокол коррекции ошибок, использующий асинхронный дуплексный метод передачи данных.
MNP3. Протокол коррекции ошибок, использующий синхронный дуплексный метод передачи данных между модемами
(интерфейс модем - компьютер остается асинхронным). Так как при асинхронной передаче используется десять бит на байт - восемь бит
данных, стартовый бит и стоповый бит, а при синхронной только восемь, то в этом кроется возможность ускорить обмен данными на 20%.
MNP4. Протокол, использующий синхронный метод передачи, обеспечивает оптимизацию фазы данных, которая несколько улучшает неэффективность
протоколы MNP2 и MNP3. Кроме того, при изменении числа ошибок на линии соответственно меняется и размер блоков передаваемых данных.
При увеличении числа ошибок размер блоков уменьшается, увеличивая вероятность успешного прохождения отдельных блоков. Эффективность этого
метода составляет около 20% по сравнению с простой передачей данных.
MNP5. Дополнительно к методам MNP4, MNP5 часто использует простой метод сжатия передаваемой информации. Символы часто встречающиеся
в передаваемом блоке кодируются цепочками битов меньшей длины, чем редко встречающиеся символы. Дополнительно кодируются длинные
цепочки одинаковых символов. Обычно при этом текстовые файлы сжимаются до 35% своей исходной длины. Вместе с 20% MNP4 это дает повышение
эффективности до 50%. Заметим, что если вы передаете уже сжатые файлы, а в большинстве это так и есть, дополнительного увеличения
эффективности за счет сжатия данных модемом этого не происходит.
MNP6. Дополнительно к методам протокола MNP5 автоматически переключается между дуплексным и полудуплексным методами передачи в
зависимости от типа информации. Протокол MNP6 также обеспечивает совместимость с протоколом V. 29.
MNP7. По сравнению с ранними протоколами использует более эффективный метод сжатия данных.
MNP9. Использует протокол V. 32 и соответствующий метод работы, обеспечивающий совместимость с низкоскоростными модемами.
MNP10. Предназначен для обеспечения связи на сильно зашумленных линиях, таких, как линии сотовой связи, междугородними
линиями, сельские линии. Это достигается при помощи следующих методов:
- многократного повторения попытки установить связь
- изменения размера пакетов в соответствии с изменением уровня помех на линии
- динамического изменения скорости передачи в соответствии с уровнем помех линии
Все протоколы MNP совместимы между собой снизу вверх. При установлении связи происходит установка наивысшего возможного
уровня MNP-протокола. Если же один из связывающихся модемов не поддерживает протокол MNP, то MNP-модем работает без MNP-протокола.
Для модемов работающих с DTE по асинхронному интерфейсу, комитет CCITT (Международным Комитетом Телеграфии и Телефонии) разработал
протокол коррекции ошибок V.42.
В стандарте V.42 основным является другой протокол - протокол доступа к линии связи для модемов (Link Access Protocol for Modems, LAP-M).
Однако стандарт V.42 поддерживает и процедуры MNP 2-4, поэтому модемы, соответствующие рекомендации V.42, позволяют устанавливать связь
без ошибок с любым модемом, поддерживающим этот стандарт, а так же с любым MNP - совместимым модемом. Протокол LAP-M принадлежит симейству
HDLC и в основном работает так же, как и другие протоколы этого семейства, - с установлением соединения, кодирование данных, нумерацией кадров
и восстановлением кадров с поддержкой метода скользящего окна. Основное отличие от других проотоколов этого семейства - более разветые переговорные
процедуры, для которых в протоколе LAP-M предусмотренные дополнительныые типы кадров - XID и BREAK.
С помощью кадров взаимной идентификации (Exchange Identificator, XID) модемы при установлении соединения могут договариться о некоторых параметрах
протокола, например о максимальном размере поля данных кадра, о величине тайм-аута при ожидании квитанции, о размере окна и т.п.
Эта процедура напоминает переговорные процедуры протокола PPP. Команда BREAK служит для уведомления модема-напарника о том, что поток данных
временно приостанавливается. При асинхронном интерфейсе с DTE такая ситуация может возникнуть. Команда BREAK посылает в ненумерованном кадре,
она не влияет на нумерацию потока кадров сеанса связи. После возобновления поступления данных модем продолжает работать так, как еслибы паузы в передаче не было.
Оснащение стандартных среднескоростных модемов аппаратно реализованными протоколами коррекции ошибок и сжатия данных стало в последнее время стандартом
де-факто в модемостроении. Если для западного рынка, где качество телефонных каналов весьма высоко, наличие этих протоколов - небесполезная
подробность в рекламе предлагаемого изделия, которая к тому же повышает цену товара не более, чем на 15-20%, то в условиях отечественного
елекоммуникационного пространства реализация тем или иным способом коррекции ошибок становится по понятным причинам совершенно необходимой.
Сравнив MNP2-4 и V.42 ITU-T, становится понятно, какой же перспективнее, и разрешается это сравнение в пользу ITU-T. Попытаемся
аргументировать справедливость этого вывода ниже.
Принципы коррекции ошибок
Не вдаваясь глубоко в теорию кодирования и помехозащищенности передачи информации, можно лишь констатировать, что бесплатных
ужинов не бывает: избыточность - единственный реальный базис обнаружения и коррекции ошибок. Избыточность в широком смысле.
Она может быть "последовательной", в случаях применения любого из методов кодирования, т.е. передача дополнительной по отношению
к "полезной" информации. Либо "параллельной", в случаях как использования параллельных каналов связи (возможно, различной физической природы),
так и применения информационной обратной связи, т.е. возврата, используя дуплексный канал, принятой информации для анализа передатчиком ее
правильности. Применение кодирования с решающей обратной связью - это пример комбинированной, "последовательно-параллельной" избыточности.
Степень избыточности определяет глубину и надежность обнаружения ошибок. Представляется очевидным, что чем больше дополнительной информации
будет передано, тем большее количество ошибок и с большей достоверностью может быть обнаружено и даже, возможно, исправлено. Но, в то же
время, тем меньше доля полезной информации в общем потоке данных и - тем меньше эффективная скорость приема/передачи и, в конечном счете,
пропускная способность канала. Выбор процедуры коррекции ошибок, таким образом, можно рассматривать как оптимизационную задачу, критерием
которой является минимизация накладных расходов при заданной надежности приема/передачи информации.
Физическая природа канала передачи информации - коммутируемая телефонная сеть - определяет те факторы, вес которых оказывается
наиболее значим при решении поставленной оптимизационной задачи. Отсутствие дублирования канала (по крайней мере на абонентском участке линии)
исключает из рассмотрения физическое параллельное дублирование. В то же время, применение обратной связи вполне допустимо вследствие того,
что ка- нал дуплексный.
Фактор "стоимость трафика" заставляет с большой осторожностью относиться к таким методам коррекции ошибок, как многократное дублирование
передаваемой информации с мажоритарным выбором или применение информационной обратной связи. Объем передаваемой информации в первом случае
возрастает как минимум втрое, а то и более. Во втором случае, гонять одну и ту же информацию в полном объеме в обе стороны только
для обнаружения факта наличия ошибки с последующим повтором представляется также излишне расточительным.
Разумным компромиссом было сочтено применение циклического помехозащищенного кодирования с решающей обратной связью. Суть этого
метода состоит в следующем. Вся "полезная" информация разбивается на "порции" - кадры. Передача каждого кадра завершается передачей
специальной контрольной последовательности кадра, подсчитанной по некоему, заранее определенному алгоритму. Этот рекуррентный алгоритм
в процессе выдачи кадра модифицирует контрольную последовательность с помощью очередного выдаваемого байта. Удаленная сторона, принимая
кадр, также подсчитывает контрольную последовательность по известному алгоритму. По окончании приема кадра производится сравнение
подсчитанной контрольной последовательности с принятым в конце кадра ее значением. По результатам сравнения приемник решает вопрос:
быть ли данному кадру, или его следует повторить. Результат решения этого вопроса приемник сообщает передатчику посредством некоей
"квитанции". Отсюда другое название этого метода: метод автоматического повтора запроса (ARQ, Automatic Repeat reQuest).
Основная ответственность за надежность обнаружения ошибок при этом методе лежит на алгоритме вычисления контрольной последовательности
кадра. Здесь используется аппарат циклического избыточного контроля (CRC, Cyclic Redundance Check). Циклическое кодирование
базируется на математической теории групп, алгебре многочленов и теории колец. Оставив для другого раза теоретические основы
циклического кодирования, стоит отметить его свойства, обусловившие выбор циклических кодов.
Главное - это то, что циклические коды обладают высокой надежностью коррекции ошибок при весьма невысокой избыточности.
Особенно они эффективны при обнаружении пакетов ошибок. Например, для кадра размером в 256 байт и контрольной
последовательности в 16 бит (CRC-16) минимальное кодовое расстояние = 3, т.е. одна разрешенная кодовая комбинация
отличается от другой, разрешенной же, минимум 3 битами, причем не любыми, а расположенными на вполне определенных
местах во всей 2064-битовой последовательности. Вероятность появления нераспознаваемой ошибки, т.е. того, что
вследствие ошибок одна разрешенная комбинация перейдет в другую, не превосходит 10^(-14). При уменьшении размера
кадра или при увеличении длины контрольной последовательности минимальное кодовое расстояние растет, что еще более
уменьшит вероятность появления нераспознаваемой ошибки.
Другое немаловажное свойство - простота кодирования: рекуррентный характер алгоритма при минимальном расходе
вычислительных ресурсов. Причем, существуют по крайней мере два алгоритма, дающих идентичный результат.
Один - битовый, модификация результата в котором производится по каждому биту. Его удобно реализовывать
на аппаратном уровне с помощью сдвигового регистра. Другой - байтово-табличный, в котором модификация
результата производится после приема/передачи целого байта. Этот алгоритм больше подходит для реализации
на программном уровне, поскольку требует некоторого объема памяти для хранения таблиц.
Данные принципы циклического помехозащищенного кодирования с решающей обратной связью положены в
основу всех аппаратных и программных реализаций наиболее широко распространенных протоколов коррекции
ошибок MNP2/MNP3 и V.42 CCITT.
Протоколы коррекции ошибок
То, что по недоразумению называют протоколом MNP4, протоколом на самом деле не является. Это не
более, чем модифицированная реализация протоколов MNP2 и MNP3. Протокол коррекции ошибок определяет
формат кадра, перечень допустимых типов кадров, логическую структуру кадра каждого типа и собственно
протокол, т.е. порядок установки режима коррекции ошибок, выхода из режима и допустимого чередования кадров.
MNP2
Протокол коррекции ошибок MNP2 является знак-ориентированным протоколом типа BSC (Binary Synchronous Communications).
Его наличие или отсутствие никак не затрагивает формат передачи байта по каналу: он подвергается асинхронно-синхронному
преобразованию в соответствии с Рекомендацией V.14 CCITT. Каждый элемент кадра - байт - состоит из 8 информационных
бит, передается по каналу последовательно, младшим битом вперед; выдача первого бита предваряется стартовым битом
(0), служащим синхросигналом приемнику; после передачи последнего бита выдается стоповый бит (1). Если следующий
байт не готов к выдаче, передается поток стоповых битов. Таким образом можно считать, что байт состоит как минимум
из 10 бит, включая один стартовый и один стоповый биты .Из этого обстоятельства есть два весьма существенных следствия.
Во-первых, процедура входа в протокол прозрачна и не требует специального синхронного переключения обоих модемов в
какой-то специфический режим работы асинхронно-синхронного преобразования данных. В любой момент модем может начать
передачу символов, являющихся не самоценными данными, а служебным полем кадра протокола MNP2. Лишь бы приемник был
готов на логическом уровне идентифицировать это обстоятельство. Во-вторых, реализация протокола может быть вынесена
на уровень программного обеспечения компьютера, оставляя модем и вовсе в неведении относительно наличия протокола
коррекции ошибок. Хорошо это или плохо - предмет отдельного разговора, но это дополнительная степень свободы,
предоставляемая (или, вернее, не отнимаемая) протоколом.
Формат кадра MNP2 следующий:
1. управляющее поле начального флага, включающее три байта: SYN, DLE и STX (16h, 10h, 2h);
2. прозрачные пользовательские данные переменной длины;
3. управляющее поле конечного флага, включающее 2 байта: DLE и ETX (10h, 3h);
4. двухбайтовая контрольная последовательность кадра, подсчитанная с помощью образующего полинома X^16 + X^15 + X^2 + 1.
Кодовая прозрачность управляющих полей обеспечивается байтом DLE, сигнализирующим о специальном значении следующего за
ним байта. Если же этот байт встречается в пользовательских данных, то он должен дублироваться, чем обеспечивается
прозрачность самих пользовательских данных. Иногда процедуру вставки байта DLE в пользовательские данные в протоко-
ле типа BSC называют байтстаффингом. Поскольку протокол MNP2 - знак-ориентированный, в нем нет специального межкадрового
заполнителя. Им служит банальный межбайтовый заполнитель - поток стоповых битов.
В протоколе MNP2 существуют 6 типов кадров: LR, LD, LT, LA, LN и LNA. Каждый тип кадра в поле прозрачных пользовательских
данных имеет свою собственную логическую структуру, в которой кодируется признак типа кадра, а также присущие ему
параметры и пользовательская информация.
MNP3
Протокол коррекции ошибок MNP3 является бит-ориентированным протоколом. Кадровый формат его радикальным образом
отличается от вышеизложенного и полностью соответствует основной части Рекомендации V.42, включая асинхронно-синхронное
преобразование байта, подсчет двухбайтовой контрольной последовательности кадра с точностью до образующего полинома,
обеспечение прозрачности данных и межкадровый заполнитель. Все это подробнее будет рассмотрено ниже, в разделе, посвященном
протоколу V.42. Все же остальное - перечень типов кадров, их логическая структура и собственно протокол - полностью идентично
протоколу MNP2. При бесспорном снижении накладных расходов, обусловленном переходом на синхронный кадровый формат, MNP3 не
достигает кондиций V.42, теряя в гибкости по сравнению с MNP2. Даже экономии вычислительных ресурсов невозможно добиться,
отказываясь от реализации байт-ориентированного режима MNP. По той простой причине, что процедура входа в протокол MNP3
заключается в обмене сторонами кадрами LR в байт-ориентированном режиме. Только согласовав с помощью этого кадра применение
в дальнейшем бит-ориентированного режима, стороны синхронно в него переключаются. Таким образом, все вычислительные процедуры,
присущие
MNP2 - формирование кадра специфического формата, вычисление контрольной последовательности по специфическому образующему
полиному, байтстаффинг и пр. - все это необходимо реализовывать для установки протокола MNP3. И в этой связи совершенно
непонятна логика разработчиков некоторых дорогостоящих модемов, в которых байт-ориентированный режим MNP считается устаревшим
и не поддерживается (например, ZyXEL U-1496). В качестве заметки на полях, хотелось бы обратить внимание sysop'ов BBS,
пользующих ZyXEL, на такое его поведение. Полагая, что столь неплохо зарекомендовавший себя модем умеет все делать сам,
операторы станций не подключают драйверы, эмулирующие MNP2. И тем самым практически исключают из числа своих абонентов
тех несчастных, модемы которых аппаратно не поддерживают протоколы коррекции ошибок и которые вынуждены уповать только
на программную реализацию MNP2.
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).
Стоит отметить, что управляющее поле кадра идентифицирует один из трех форматов кадра. Информационные кадры
(I-формат) предназначены для передачи информации с возможностью одновременного подтверждения принятой информации.
Супервизорные кадры (S-формат) предназначены для подтверждения принятой информации, запроса на повторную передачу
или сообщения оппоненту о неготовности к приему. И, наконец, ненумерованные кадры (U-формат) выполняют дополнительные
управляющие сеансом процедуры, как то: установка/прекращение работы протокола, согласование параметров протокола,
передача сигнала break, тестирование канала и пр.
Всего в протоколе LAPM насчитывается 13 типов кадров:
· 1 кадр I-формата;
· 4 типа кадра S-формата: RR, RNR, REJ и SREJ;
· 8 типов кадров U-формата: SABME, DM, UI, DISC, UA, FRMR, XID и TEST.
Двухбайтовая контрольная последовательность кадра подсчитывается с помощью образующего полинома
X16 + X12 + X5 + 1.
Стоит обратить внимание на тот факт, что образующий полином отличается от того, который используется в протоколе MNP2.
Четырехбайтовая контрольная последовательность кадра подсчитывается с помощью образующего полинома
X32 + X26 + X23 + X22 + X16 + X12 + X11 + X10 + X8 + X7 + X5 + X4 + X2 + 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, с помощью которого стороны согласуют параметры
протокола коррекции ошибок и сжатия.
Факторы, свидетельствует в пользу V.42
Минимизация накладных расходов.
Совокупное преимущество 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 в самой своей структуре несет функцию подтверждения принятой информации, и потому
дополнительных накладных расходов не требует.
Надежность входа в протокол.
Процедура входа в любой из протоколов 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.
Устойчивость к полеганию.
Этот фактор характеризует как преимущество синхронного кадрового формата над байт-ориентированным режимом, так и преимущество собственно
протокола LAPM над MNP. Имеется в виду здесь следующее. Помехи не разбирают ,какова логическая значимость того или иного бита, который
они искажают до неузнаваемости. Это может быть "рядовой" бит пользовательских данных, а может и бит в управляющем поле кадра.
Если представить себе, что этот злосчастный бит находится в двухбайтовом управляющем поле конечного флага кадра протокола MNP2, то
нетрудно себе представить что это значит для принимающей стороны. Потеря конца кадра приводит к тому, что принимающая сторона воспринимает
поток стоповых битов, являющийся межкадровым заполнителем, в качестве паузы между двумя соседними байтами принимаемого незаконченного
кадра. Все это продолжается вплоть до появления стартового флага следующего кадра, либо до истечения тайм-аута. Даже если следующий
кадр не заставил себя долго ждать, весь он будет фактически накладным расходом, так как даже при безошибочном его приеме, он будет
признан недействительным вследствие ошибки последовательной его нумерации из-за неприема его предшественника. Теперь рассмотрим с
этой точки зрения синхронный кадровый формат. Пусть произошел сбой в конечном флаге. Но межкадровым то заполнителем служит все тот
же флаг. Стало быть будет пойман пусть не первый, так следующий флаг. Кадр будет признан ошибочным, но ждать "у моря погоды"
принимающей стороне незачем, ситуация для нее вполне определенная - можно посылать запрос на повтор кадра. Далее в бой вступают
уже протокольные преимущества V.42 над MNP. Во-первых, одним из условий признания кадра недействительным в протоколе V.42, в
отличие от протоколов MNP, является превышение размера его информационного поля оговоренного в процедуре входа в протокол значения.
Это позволяет принимающей стороне в ситуации пропуска флага, разделяющего два соседних кадра, не дожидаться конечного флага второго
кадра, а сразу же выдать запрос на повторную передачу. Во-вторых, наличие типа кадра SREJ в протоколе LAPM позволяет не отбрасывать
корректно принятый вслед за ошибочным кадр, а запросить селективный повтор одного единственного неверно принятого кадра.
Гибкость.
Сей фактор целиком обязан своим появлением расширенным возможностям собственно протокола LAPM по сравнению с протоколами MNP.
Частично эти возможности уже были упомянуты выше. Здесь же будет приведен краткий, по возможности, их перечень.
а) Раздельное согласование параметров передачи в обе стороны. Таких, как максимальный размер кадра и размер окна.
Последний параметр определяет количество кадров максимального размера, которое модем может хранить в своей памяти,
ожидая их подтверждения. Оба этих параметра зависят от размеров оперативной памяти модемов, участвующих в сеансе связи.
Поскольку они могут иметь разный объем памяти, представляется логичным, что для каждого направления передачи согласуются
свои значения этих параметров. В протоколе MNP в процессе согласования параметров выбирается одно, наименьшее значение
для передачи в обе стороны.
б) Кадр XID протокола LAPM, с помощью которого производится согласование параметров, позволяет модемам обмениваться
дополнительной информацией, такой как "ID (идентификатор) изготовителя". Это потенциально (а может и реально) дает
возможность модемам одного и того же изготовителя расширять протокол в процессе сеанса по своему усмотрению.
в) Возможность повышения надежности коррекции ошибок с помощью четырехбайтовой контрольной последовательности
кадра (CRC-32) в особо ответственных сеансах, при условии поддержки этой возможности обоими модемами.
Поддержка этой возможности необязательна.
г) Совмещение функции передачи пользовательской информации с функцией подтверждения принятых данных.
д) Селективный повтор одного неверно принятого кадра. Реализация этой возможности (тип кадра SREJ) необязательна.
е) Кадр U-формата TEST позволяет в любой момент, не прекращая передачу пользовательской информации,
осуществить кольцевое тестирование канала передачи данных. Поддержка этой возможности необязательна.
ж) Пересогласование параметров передачи в любой момент времени после установки протокола.
Модем может инициировать пересогласование параметров протокола, послав кадр XID, в любой момент,
исходя из своих собственных внутренних критериев. Например, посчитав, что качество канала связи ухудшилось,
он может потребовать уменьшить максимальный размер кадра, или включить любую из необязательных процедур:
кольцевое тестирование, например, или CRC-32. MNP позволяет согласовывать параметры единожды, при входе в протокол.
з) Неразрывность физического соединения после корректного выхода из протокола. MNP требует разорвать
физическое соединение после обмена кадрами LD. После выдачи кадра DISC V.42 физическое соединение не
разрывается. Это может быть использовано для перетренировки аппаратуры модема при ухудшении качества канала
(retrain) с последующим повторным входом в протокол, или для временного отключения протокола коррекции ошибок,
например, при передаче файлов под управлением высокоуровневых канальных протоколов с коррекцией ошибок (типа ZMODEM).
|