Реферат: Модемы (модемные протоколы коррекции ошибок)
Реферат по теме:
"Модемы (модемные протоколы коррекции ошибок)"
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, а то, что называется протоколом
--> ЧИТАТЬ ПОЛНОСТЬЮ <--