Сетевой протокол Microcom - Microcom Networking Protocol

В Сетевой протокол Microcoms, почти всегда сокращается до MNP,[1] это семейство протоколов исправления ошибок, обычно используемых на ранних скоростях (2400 бит / с и выше) модемы. Первоначально разработан для использования на Microcom это собственное семейство модемов, протокол позже был открыто лицензирован и использовался большей частью модемной индустрии, особенно «большой тройкой», Телебит, USRobotics и Hayes. Позднее MNP был заменен v.42bis, который использовался практически повсеместно, начиная с первых v.32bis модемы в начале 1990-х.

Обзор

Несмотря на то что Xmodem был представлен в 1977 г., еще в 1985 г. Нью-Йорк Таймс сначала описал XMODEM, затем обсудил MNP в качестве ведущего соперника, и что «начинают появляться модемы со скоростью 9600 бод».[2]К 1988 г. Раз говорил о 9600 и 19.2K и о том, что "по крайней мере 100 других марок модемов следуют" MNP (по сравнению с использованием Hayes LAP-B).[3]

Основы исправления ошибок

Модемы по своей природе подвержены ошибкам. Шум в телефонной линии - обычное явление - может легко имитировать звуки, используемые модемами для передачи данных, тем самым вызывая ошибки, которые трудно заметить. Для некоторых задач, таких как чтение или написание простого текста, можно принять небольшое количество ошибок, не вызывая слишком много проблем. Для других задач, таких как перенос компьютерных программ в машинный формат, даже одна ошибка может сделать полученные данные бесполезными. Поскольку модемы увеличивают скорость за счет использования большего количества доступного пропускная способность, также увеличивается вероятность того, что случайный шум внесет ошибки; выше 2400 бит / с эти ошибки довольно распространены.

Чтобы решить эту проблему, ряд протоколы передачи файлов были внедрены и реализованы в различных программах. Как правило, эти протоколы разбивают файл на серию кадры или пакеты содержащий ряд байты из исходного файла. Какие-то дополнительные данные, обычно контрольная сумма или CRC, добавляется к каждому пакету, чтобы указать, обнаружил ли пакет ошибку при его приеме. Затем пакет отправляется в удаленную систему, которая повторно вычисляет контрольную сумму или CRC данных и сравнивает ее с полученной контрольной суммой или CRC, чтобы определить, был ли он принят правильно. Если это было так, получатель отправляет ACK (подтверждение ) сообщение, предлагающее отправителю отправить следующий пакет. Если возникла проблема, он вместо этого отправляет NAK (непризнанный) сообщение, и отправитель повторно отправляет поврежденный пакет.

Этот процесс вводит "накладные расходы" на перевод. Во-первых, дополнительная контрольная сумма или CRC использует время в канале, которое в противном случае могло бы использоваться для отправки дополнительных данных. Однако это несущественная проблема, если только пакеты не очень маленькие (в которых они находятся UUCP например). Более серьезное беспокойство вызывает время, необходимое получателю, чтобы проверить пакет, сравнить его с CRC и затем отправить ACK обратно отправителю. Эта задержка увеличивается в относительном выражении по мере увеличения скорости модема; задержка телефонной линии постоянна, но объем данных, мог быть отправленным за это фиксированное количество времени, которое увеличивается по мере увеличения скорости. Для решения этой проблемы в новых протоколах используется система, известная как "раздвижные окна ", позволяя отправителю начать передачу следующего пакета без получения сообщения ACK; только если ACK не приходит в течение некоторого времени, он отправляет пакет повторно.

Подтверждение связи MNP

MNP-соединения были установлены после успешного подключения модемов. Исходная система (модем, который совершил вызов, или иногда компьютер, к которому он был подключен) отправляла короткую серию 8-битных символов, известную как «шаблон обнаружения отправителя» (ODP). Строка состояла из DC1 с четностью (10001000) в начале один или два $ FF (11111111), DC1 с нечетной четностью (10001001) и такое же количество $ FF очередной раз.[4]

Как только ODP был отправлен, отправитель запускает «Таймер фазы обнаружения» или T400. Автоответчик должен был должным образом ответить на ODP в течение этого времени, иначе исходная система предположит, что MNP не поддерживается.[4]

Если отвечающий модем действительно поддерживал MNP или более поздние стандарты V.42, которые его заменили, он отвечал одним из «шаблонов обнаружения ответчика» (ADP). Если модем поддерживал сжатие, он отвечал 8-битной версией строки E$ FF[$ FF]C$ FF[$ FF], что означает «EC» или «Исправление ошибок и сжатие». Если исправление ошибок поддерживалось, а сжатие - нет, то ADP был E$ FF[$ FF]NUL$ FF[$ FF] с указанием "E" или "Исправление ошибок". Стандарт допускал любое значение последних четырех битов второго символа для обозначения стандартов различия, но это никогда не было реализовано. ADP приходилось отправлять не менее десяти раз.[4]

Если ADP успешно получен в течение времени T400, система успешно определила, что обе системы поддерживают какой-либо вид исправления ошибок и / или сжатия. В этот момент системы входят в «Фазу установления протокола», где определяются и выбираются детали этих стандартов. Это начинается с того, что исходная система отправляет строку L-ESTABLISH, указывающую, что режим переключается в режим исправления ошибок, и автоответчик отвечает тем же L-ESTABLISH. Автоответчик может отклонить попытку, отправив L-RELEASE. Эта фаза рассчитана на T401.[4]

Последним шагом в процессе установления связи является отправка пакета MNP, содержащего команду «SABME», сокращение от «установить расширенный асинхронный сбалансированный режим». Он отправляется отправителем и содержит ряд полей данных, указывающих точные протоколы, которые он может поддерживать. Автоответчик отвечает измененной версией того же пакета, переключая биты в данных, чтобы указать, что пакет прошел успешно. С этого момента две системы обмениваются данными, используя пакетный протокол с исправлением ошибок. Если этот последний шаг не завершается в течение таймера T401, отправитель отправляет L-RELEASE и возвращается к каналу без MNP.[4]

МНП "классы"

Идея Microcom заключалась в том, чтобы убрать протокол передачи файлов с главного компьютера и вместо этого поместить его в модем. При этом все в передаваемых данных будут исправляться ошибки, а не только при передаче файлов. Это также означало, что устройства без процессора, например немые терминалы, могли пользоваться безошибочной ссылкой.

Исходный протокол был чрезвычайно простым и довольно неэффективным, что привело к появлению множества улучшенных протоколов, называемых «классами».[5] Каждый класс обычно улучшал производительность по сравнению с более ранними версиями, которые были сохранены только по причинам обратной совместимости.

МНП 1 и 2

Первый стандарт MNP, задним числом известный как MNP Класс 1, или просто MNP 1, был простым полудуплексным протоколом, похожим на XModem в природе. В отсутствие поддержки раздвижных окон пропускная способность была довольно низкой, около 70%. Это означало, что на модемах со скоростью 2400 бит / с, таких как те, что продала Microcom, пропускная способность будет ограничена примерно до 1690 бит / с при использовании MNP 1. Эта система была создана в первую очередь для того, чтобы ее было легко реализовать на ограниченном оборудовании, что объясняет ее простоту.

С улучшением недорогой вычислительной мощности Microcom представила MNP 2, полнодуплексная версия MNP 1, которая позволяла возвращать сообщения ACK, пока следующий исходящий пакет уже запускался. Это устранило паузу, пока модем ждал возврата ACK, добавив требование, чтобы системе требовалась некоторая память, чтобы отслеживать, был ли получен ACK в течение заданного промежутка времени. Поскольку задержка между пакетами была уменьшена, остались только служебные данные CRC, что повысило пропускную способность примерно до 84%.[6]

MNP 3

При нормальном использовании модем может отправлять или получать данные в любой момент времени, этот режим работы известен как «асинхронный». Модем может определять скорость передачи данных отправителя, слушая передаваемые ему биты, и "запирая" свои часы к скорости приема битов. Поскольку данные могут поступить в любое время, точных сроков нет; часы, возможно, придется перенастроить для пауз, когда пользователь перестает печатать (например).

К сожалению, такого рода декодирование часов не работает, если в данных нет хотя бы нескольких переходов между 1 и 0; длинный поток нулей или единиц не имеет переходов, что делает невозможным узнать, где находятся данные для любого конкретного байт начинается. Чтобы избежать этой проблемы, дополнительные обрамление биты добавляются к любому концу каждого байта, обычно по одному биту с каждой стороны, известному как "стартовые и стоповые биты". Это гарантирует по крайней мере один переход с 1 на 0 для каждого байта, более чем достаточно, чтобы синхронизировать часы. Однако эти биты также расширяют каждые 8 ​​бит данных (один байт) до 10 бит, что составляет 20% служебных данных.

При использовании протокола передачи файлов сами пакеты предлагают собственное кадрирование. Пакеты всегда будут отправлять непрерывный поток данных, поэтому часы не могут «дрейфовать» так же, как это было бы для данных, отправляемых пользователем, вводящим текст на клавиатуре. Отключив эти биты кадрирования при работе на канале с исправленной ошибкой, можно устранить эти 20% служебных данных.

Это именно то, что MNP 3 сделал. После согласования и определения того, что оба модема поддерживают MNP 3, биты кадрирования были отключены, что повысило общую эффективность примерно на 20%. Это почти полностью компенсирует накладные расходы протокола, а это означает, что при использовании MNP 3 пользователь может рассчитывать очень близко к идеальной пропускной способности 2400 бит / с (по сравнению с 1900 бит / с).

MNP 4

MNP 4 было дальнейшим улучшением MNP 3, добавив систему переменного размера пакета, которую они называли Адаптивная сборка пакетов.

В случае MNP накладные расходы пакетной системы были относительно небольшими, но даже многобайтовый CRC занимал место, которое лучше использовать для данных. Обычно это решает использование пакета большего размера, потому что CRC остается того же фиксированного размера и, таким образом, его относительные накладные расходы уменьшаются по сравнению с объемом данных. Однако в случае возникновения ошибки использование пакетов большего размера также означает, что необходимо повторно отправить больше данных. На шумных линиях это может снизить общую пропускную способность.

С MNP 4 два модема постоянно контролируют линию на предмет отброшенных пакетов, и если определенный порог превышен (выбранный пользователем), модем возвращается к меньшему размеру пакета. Это означает, что при отбрасывании пакета объем данных, которые необходимо повторно отправить, становится меньше, что приводит к повышению пропускной способности. На линиях хорошего качества использование пакетов большего размера означает, что накладные расходы на CRC снижаются. Размер пакетов может составлять от 64 до 256 байт, и пользователь может при желании установить определенный размер.

MNP 4 также представила Оптимизация фазы данных, простое изменение протокола, которое позволяло отбрасывать некоторую информацию о кадрировании пакетов после установки соединения, что дополнительно сокращало накладные расходы протокола. Комбинация этих функций, наряду с отсутствием байтового кадрирования в MNP 3, позволила еще больше повысить эффективность пропускной способности.

MNP 5

Еще более радикальное изменение было внесено в MNP 5, представляем на лету Сжатие данных в модеме. С MNP 5 данные, полученные от компьютера, сначала сжимаются с помощью простого алгоритма, а затем передаются в систему пакетирования MNP 4 для передачи. В лучшем случае система предлагала сжатие примерно 2: 1, но в целом примерно 1,6: 1 было типичным, по крайней мере, для текста. В результате модем со скоростью 2400 бит / с может передавать текст со скоростью ~ 4000 бит / с.

Такое резкое увеличение пропускной способности позволило модемам Microcom оставаться в некоторой степени конкурентоспособными по сравнению с моделями других компаний, которые в остальном номинально были намного быстрее. Например, Microcom обычно производила модемы 1200 и 2400 бит / с, используя стандартные детали, в то время как такие компании, как USRobotics и Telebit, предлагали модели со скоростью до 19200 бит / с.

Однако это улучшение производительности было доступно только в том случае, если модемы на обоих концах поддерживали MNP. Это делало систему действительно привлекательной только для сайтов, устанавливающих модемы на обоих концах ссылок; для услуг коммутируемого доступа, таких как системы досок объявлений (BBS) не было веских причин использовать устройство Microcom, если у конечного пользователя оно вряд ли было. Даже в тех случаях, когда пользователь контролировал оба конца канала, «проприетарные» модемы Microcom были менее интересны, чем модели других компаний, которые предлагали гораздо более высокую «реальную» пропускную способность.

Чтобы создать рынок модемов Microcom, начиная с MNP 5, они сделали радикальный шаг и бесплатно лицензировали весь пакет MNP. Идея заключалась в том, что это резко увеличит количество модемов с установленным MNP, что сделает «настоящие» модемы Microcom более привлекательными. Более того, новые стандарты с улучшенной производительностью обеспечат еще лучшую производительность, если на обоих концах канала связи будет модем Microcom.

К сожалению, план провалился. Внедрение значительно улучшенного LAPM система сжатия в v.42bis Стандарт опередил собственные достижения Microcom, снизив ценность «настоящей» модели Microcom почти до нуля. Вскоре появилось огромное количество недорогих модемов с еще большей производительностью, чем у Microcom, с использованием v.42bis и стандартных комплектующих. Хотя Microcom продолжала вводить новые стандарты, они в основном игнорировались, и Microcom перестала быть силой на рынке.

MNP 6

Введение v.32 привело к появлению ряда стандартных модемов 9600 бит / с, почти все из которых предлагали MNP 5. Чтобы еще больше дифференцировать себя от того, что становилось товарным рынком (хотя это было не совсем так до появления v.32bis SupraFAXModem 14400 в 1991 г.), Microcom создала MNP 6.

Главной особенностью MNP 6 было Статистический дуплекс, который может выделить большую или меньшую часть полосы пропускания той или иной стороне модемного соединения. Например, если одна машина отправляла большой файл, другой конец отправлял бы только небольшой объем информации, сообщения ACK и NAK. В этом случае модемы будут отдавать как можно большую часть канала отправителю, предлагая одностороннюю полосу пропускания до 19 200 бит / с. На самом деле это не требовало каких-либо изменений в системе модуляции: обычно модем 9600 бит / с имел полный канал 9600 бит / с в обоих направлениях, всего 19200 бит / с; MNP 6 просто позволял передавать большую или меньшую часть этой полосы пропускания одной или другой стороне вместо того, чтобы оставлять фиксированное значение 9600 в обоих направлениях.

Эта базовая концепция уже широко использовалась в отрасли, легла в основу Hayes протокол Express 96, USRobotics 'HST Телебит PEP и (кратко) CompuCom SpeedModem. Всем этим стандартам было очень трудно выжить на рынке, где доминирует v.32bis, и, как и они, MNP 6 в значительной степени игнорировался.

Менее заметным дополнением к MNP 6 было Согласование универсального канала. С введением дополнительных режимов модуляции, в частности v.32 и более поздних дополнений, модемы на обоих концах канала должны были тратить все больше времени на согласование общего стандарта. Например, модем v.32bis сначала будет посылать тональные сигналы в линию, чтобы попытаться получить ссылку 14.4; если через некоторое время это не удастся, он попробует 9600, 2400 и, наконец, 1200 бит / с. Поскольку каждый из этих стандартов определял минимальный период времени для «попытки» соединения, задержка увеличивалась более чем на 10 секунд.

ULN избежал этой задержки, всегда согласовывая соединение со скоростью 2400 бит / с без включения коррекции ошибок. Хотя это исключало совместимость со старыми модемами 1200 бит / с, к тому времени они были крайне редки. Как только соединение было установлено, что произошло быстро, оба модема отправили удаленному модему небольшую строку идентификации. Оба модема затем проверили строку и выбрали самый быстрый общий режим. Затем вызывающий абонент повторно согласовал на этой более высокой скорости.

MNP 7

MNP 7 представил новые алгоритмы сжатия с заявленным улучшением сжатия текстовых файлов 3: 1. Однако к тому времени, когда был введен MNP 7, v.42bis стандарт предлагал сжатие 4: 1.

MNP 9

MNP 9 (по-видимому, не было выпущено 8) улучшено обнаружение универсального канала для добавления новых высокоскоростных режимов, но в остальном оно было идентично MNP 7.

MNP 10

MNP 10 представила новый протокол исправления ошибок, разработанный специально для работы на шумных телефонных линиях, широко используемых в Восточной Европе. В отличие от более ранних версий, таких как MNP 4, MNP 10 постоянно контролировал качество линии и корректировал размер пакета, если условия улучшились.

В 1991 году Microcom лицензировал MNP 10 на Rockwell International для использования в их чрезвычайно популярных наборах микросхем модемов. Поскольку почти все модемы, за исключением моделей USR, примерно с 1995 года использовали набор микросхем Rockwell, MNP 10 получил довольно широкое распространение (если не использовался). В конечном итоге USR добавила MNP 10 к своим модемам серии V.everything, что фактически сделало их универсальными.

MNP 10 позже был расширен до MNP 10EC, «EC» означает «расширенная сотовая связь». Это была серия модификаций, которые позволили MNP 10 справляться с паузами передачи, когда сотовый телефон перемещается из одной ячейки в другую, что обычно интерпретируется как ошибки в линии. При использовании MNP 10EC эти паузы правильно идентифицируются как «не ошибки», а скорость соединения остается более высокой. Его успех привел к появлению конкурента, созданного AT&T Paradyne, ТАК ДАЛЕЕ.

MNP 10EC был особенно привлекательным в роли сотовой связи из-за включения метода согласования канала ULN, первоначально представленного в MNP 6 (и улучшенного в MNP 9). В сотовой сети, где все эфирное время оплачивается, более быстрая установка сэкономила деньги. Срок службы MNP 10EC был ограничен, поскольку сотовые сети превратились в различные полностью цифровые системы, которым больше не требовался модем для подключения к компьютеру.

Смотрите также

использованная литература

  1. ^ Янссен, Кори. «Что такое сетевой протокол Microcom (MNP)». techopedia.com. Получено 14 апреля 2014.
  2. ^ Эрик Сандберг-Димент (8 сентября 1985 г.). «Когда компьютерам нужно поговорить». Нью-Йорк Таймс.
  3. ^ Питер Х. Льюис (10 апреля 1988 г.). «Одинокая дорога для производителя модема». Нью-Йорк Таймс.
  4. ^ а б c d е T-REC-V42 (Технический отчет).
  5. ^ «Телекоммуникационные стандарты, сетевой протокол Microcom». IBM Corp. Получено 14 апреля 2014.
  6. ^ Дурда, Франк.