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

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

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

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

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).

Страницы: 1 2