Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

Обзор [ править ]

Хотя Xmodem был представлен в 1977 году, еще в 1985 году New York Times сначала описала XMODEM, а затем обсудила MNP как ведущего конкурента и то, что модемы со скоростью 9600 бод «начинают появляться». [2] К 1988 году Times говорила о 9600 и 19,2K и о том, что «по крайней мере 100 других марок модемов следуют за» MNP (по сравнению с использованием Хейсом 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]

MNP "классы" [ править ]

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

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

MNP 1 и 2 [ править ]

Первый стандарт MNP, задним числом известный как MNP Class 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, добавив систему переменного размера пакета, которую они называли Adaptive Packet Assembly .

В случае 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, PEP HST Telebit от USRobotics и (вкратце) CompuCom SpeedModem . Всем этим стандартам было очень трудно выжить на рынке, где доминирует v.32bis, и, как и они, MNP 6 в значительной степени игнорировался.

Менее заметным дополнением к MNP 6 было Universal Link Negotiation . С введением дополнительных режимов модуляции, в частности 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, использовали чипсет Rockwell примерно с 1995 года, MNP 10 получил довольно широкое распространение (если не использовался). В конечном итоге USR добавила MNP 10 к своим модемам серии V.everything, что фактически сделало их универсальными.

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

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

См. Также [ править ]

  • X.PC
  • YModem
  • ZModem
  • BLAST (протокол)
  • Кермит (протокол)

Ссылки [ править ]

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