ЭЛЕКТРОННАЯ БИБЛИОТЕКА КОАПП |
Сборники Художественной, Технической, Справочной, Английской, Нормативной, Исторической, и др. литературы. |
Часть 10 ГЛАВА 9 КОНТРОЛЬ ОШИБОК И СЖАТИЕ ДАННЫХ КОНТРОЛЬ ОШИБОК Контроль ошибок предотвращает появление ошибок при передаче данны х по модему, определяя и повторно передавая те данные, которые бы ли переданы с ошибками. Модемы ZyXEL поддерживают протоколы контр оля ошибок как MNP, так и V.42. Протокол MNP "де факто" явл яется промышленным стандартом, разработанным и лицензированным фирмой Microcom, Inc. Модемы ZyXEL поддерживают протоколы контрол я ошибок уровней 4 и 3, обычно обозначаемые MNP4 и MNP3. V.42 - э то разработанный в более позднее время стандарт CCITT (тепе рь называемый ITU-TSS) - организации, разрабатывающей междунаро дные телекоммуникационные стандарты. V.42 поддерживает как LAPM ( Link Access Procedure for Modem - процедура доступа для связи с м одемом), так и MNP4. При "рукопожатии" V.42 сначала пытает ся установить соединение по LAPM, а в случае неудачи - по MNP4. Методы контроля ошибок (MNP4, LAPM), используемые для связи модем а с модемом, основываются на таких способах, которые должны приме няться взаимно, обоими модемами. Эти способы описаны ниже. 1) Преобразование асинхронного потока данных в синхронный Функция контроля ошибок может применяться только тогда, когда инт ерфейс от DTE (терминал или компьютер) к DCE (модем) является аси нхронным. Если интерфейс является синхронным, то тогда компьютеры на обеих сторонах будут самостоятельно выполнять функцию контроля ошибок. Модем преобразует асинхронные символы в поток си нхронных данных. Протокол контроля ошибок (LAPM или MNP4) удаляет стартовый и стоповый "обрамляющие" (framing) биты в асинхронном формате и преобразует поток данных в блоки. Каждый блок об рамляется стартовым флагом (01111110) и конечным флагом (01111110 ). Максимальный размер блока данных, используемый в модемах сер ии U-1496 - 256 байтов. Максимальное число блоков, отправленных к другому модему без подтверждения их корректного получени я - 31 для 128-байтного блока. Эти величины регулируются в соотв етствии с установками модема на другой стороне. 2) Распознавание ошибок с использованием циклического избыточного кода CRC (Cyclical Redundancy Check). В конце каждого блока данных посылается 16-битное контрольное чис ло CRC, которое вычисляется с помощью полиномной функции. Принима ющий модем получает блок, вычисляет его собственный CRC с помощью той же самой полиномной функции, а затем сравнивает эти два числа. Если они совпадают, то все в порядке. Если нет - значи т, в блоке где-то есть ошибки. Модем проверяет каждый полученный блок на наличие в нем ошибок. 3) Коррекция ошибок с автоматическим запросом повторной передачи ARQ. Как только установлено, что блок данных принят без ошибок, приним ающий модем немедленно подтверждает получение этого блока. Переда ющий модем получает это подтверждение и проверяет, нет ли блоков, для которых не пришло подтверждение. Например, было переда но 18 блоков, и были получены подтверждения для первых 14 блоко в. Если после этого в течение определенного промежутка времени ( timeout) не будет получено следующее (для блока 15) подтверждение или придет еще одно подтверждение для блока 14, то это озн ачает, что в блоке 15 произошла ошибка. Подтверждения для следу ющих блоков (16-18) будут игнорироваться. Передающий модем автома тически выполнит повторную передачу, начиная с блока 15. 4) Коррекция ошибок с ARQ с выборочным перезапросом SREJ. Модемы ZyXEL поддерживают коррекцию ошибок V.42 с выборочным пере запросом. При наличии этой особенности модем будет передавать по вторно только те блоки данных, которые были переданы с ошибками, а не все последующие блоки данных, начиная с ошибочного. В вышеприведенном примере - только блок 15, а не все с 15 по 18. Э то позволяет уменьшить время, затрачиваемое на повторную передач у, и значительно увеличить эффективность работы в тех случаях, ко гда уровень ошибок высок. Практически протокол контроля ошибок может распознавать и устраня ть почти 100% ошибок, что позволяет выполнять безошибочную переда чу. СЖАТИЕ ДАННЫХ Сжатие данных выполняется посредством представления исходной инфо рмации в виде меньшего количества битов и передачи уменьшенного ч исла битов данных по модемной связи. Получатель восстанавливает исходную информацию с помощью процесса, обратного процессу сжатия. Процесс представления исходных данных в виде меньшего ч исла битов называется удалением излишков. Его эффективность зави сит как от алгоритма, так и от самих данных. Файл со случайными данными невозможно сжать. Файл данных с высокой степенью пр едсказуемости - такой, как английский текстовый файл ASCII, граф ический файл или файл базы данных - вполне пригоден для сжатия. В модеме сжатие данных происходит в процессе преобразования асинх ронного потока в синхронный с одновременной попыткой дополнительн о уменьшить число реально посылаемых данных. Принимающий модем пр именяет противоположные способы, чтобы восстановить действ ительные данные из потока сжатых данных. Модемы серии U-1496 поддерживают протоколы сжатия данных как V.42 bis, так и MNP5. Сжатие данных нуждается в безошибочной связи для нормальной работы, так как невозможно осуществить правильную ра спаковку испорченных сжатых данных. Поэтому протокол сжатия данных MNP5 подразумевает совместное использование с протоколо м контроля ошибок MNP4, а V.42bis - с протоколом контроля ошибок V.42. Сжатие данных по протоколу MNP5 использует способы кодирования по вторяющихся символов и кодирования обрезкой лишних блоков. V.42b is использует алгоритм кодирования строк. Эффективность сжатия по протоколу V.42bis обычно несколько выше, чем по MNP5. В некоторых случаях она может быть выше на 50% - 10 0%, а в некоторых случаях - совсем ненамного выше. Но в среднем эффективность сжатия по V.42bis выше примерно на 50%. КОДИРОВАНИЕ ПОВТОРЯЮЩИХСЯ СИМВОЛОВ Этот способ используется, чтобы избежать передачи длинных последо вательностей повторяющихся символов (данных). Когда три или бол ее повторяющихся символов появляются последовательно, реально буд ут посылаться только первые три знака (tokens), представляю щих сжатый формат этого символа, и число повторений. КОДИРОВАНИЕ ОБРЕЗКОЙ ЛИШНИХ БИТОВ Этот способ используется после удаления повторяющихся символов (д анных). При этом способе кодирования сжатый (обрезанный) символ ( token) подставляется в поток данных вместо реально появляющегося символа, чтобы можно было посылать менее 8 битов для каждо го символа. Этот символ генерируется из динамической таблицы част отности появления символов. Полное число символов - 256, но толь ко первые 32 знака имеют менее 8 битов, так что случайные данные , сжатые таким способом, не будут иметь никаких преимуществ по сравнению с несжатыми. КОДИРОВАНИЕ ТАБЛИЦЕЙ ПОВТОРЯЮЩИХСЯ СТРОК Вместо того, чтобы посылать каждый символ данных отдельно, посыла ется знак для символьной строки. Модем адаптивно выстраивает слов арь строковых знаков в соответствии с появлением тех или иных дан ных. Модемы серии U-1496 поддерживают словарь размером до 2 Кб строковых знаков. Символы входящих данных комбинируются и пр оверяются на соответствие этим словарным строкам. Знак посылается для наиболее длинной строки, соответствующей данной, из строк, и меющихся в словаре. Сжимаемость выше, если существует некот орая регулярность в появлении символов в потоке данных. Для модемов серии U-1496 контроль ошибок и опция сжатия данных мо гут быть включены с передней панели или с терминала. Уровень контроля Команда AT Контроль ошибок Сжатие данных NONE (нет) AT&K0 Не включен Не включен MNP4(MNP3) AT&K1 MNP4 Не включен MNP4+MNP5 AT&K2 MNP4 MNP5 V.42(MNP4) AT&K3 V.42 или MNP4 Не включен V.42(b)+MNP4(5)* AT&K4 V.42 или MNP4 V.42bis или MNP5 * По умолчанию принимается &K4. В некоторых случаях - например, при связи с BBS, - когда передают ся уже сжатые файлы, процесс сжатия данных MNP5 реально производи т более избыточные данные и замедляет передачу. В таких случаях установка бита 5 регистра S38 позволит отключить протокол MNP5 независимо от установки протокола контроля ошибок. ДВУНАПРАВЛЕННОЕ СЖАТИЕ Процесс сжатия данных потребляет много вычислительной мощности пр оцессора модемного контроллера. Хотя протоколы сжатия V.42bis и MNP5 двунаправлены, на многих модемах скорость существенно пада ет при двусторонней передаче файлов из-за ограниченной вычи слительной мощности процессора. Модемы ZyXEL серии U-1496 используют мощный 32/16-битный процессо р 68000, который позволяет осуществлять двустороннюю передачу без понижения скорости. ОПЦИИ ПРИ НЕУДАЧНОЙ СВЯЗИ Существует две опции, которые Вы можете выбрать, если при первона чальной попытке "рукопожатия" не установилась связь с контролем о шибок: STAYS ON-LINE AT*E0 Если не установилась связь с контролем ошиб ок, сохраняется связь без контроля ошибок. (По умолчанию) DISCONNECT AT*E1 Если не установилась связь с контролем ошибок, связь обрывается. СВЯЗЬ DTE С DCE Независимо от того, какой уровень контроля включен, скорость DTE всегда может быть установлена отличной от скорости модема, кроме того случая, когда Вы устанавливаете опцию 'FOLLOW LINK RATE' (сл едовать за скоростью связи). Для максимальной пропускной сп особности будет лучше, если Вы установите командой AT&B1 (по умол чанию) опцию 'FIXED AT DTE RATE' (зафиксировать на скорости DTE), так как при этом скорость порта DTE не будет зависеть от того, н а какой скорости установилась модемная связь. Скорость порт а DTE может изменяться от 300 bps до 76800 bps. Скорость порта DT E, которая будет оптимальной для Вашего конкретного случая, зави сит от того, как быстро Ваш компьютер и коммуникационные програм мы могут работать с последовательным портом. Модемы серии U-1496 используют некоторые команды и способы управления моде мом, которые позволяют значительно улучшить его характеристики. УСРЕДНЕНИЕ ПРОПУСКНОЙ СПОСОБНОСТИ Медленные компьютеры имеют тенденцию терять данные на высокой ско рости DTE. Хотя многие программы и поддерживают протоколы с возмо жностью коррекции ошибок, требуется время на восстановление непра вильно полученных данных. U-1496 может усреднять пропускну ю способность перед посылкой символов на DTE. Благодаря этому уме ньшается вероятность того, что PC потеряет символы из-за "взрывн ого" увеличения интенсивности передачи символьных строк. Поскольку новые PC намного быстрее и в них все более широко испол ьзуется микросхема последовательного порта 16550A UART, скорость PC теперь представляет менее серьезную проблему. Поэтому по умол чанию данная установка (усреднение пропускной способности) отключена. Это уменьшает задержку данных и увеличивает пропускную способность при использовании программ, работающих под Unix. Вы можете включить усреднение пропускной способности, установив би т 1 регистра S42 равным 1. УКАЗАНИЯ ДЛЯ РАБОТЫ НА ВЫСОКОЙ СКОРОСТИ Коммуникационные программы имеют тенденцию терять принимаемые пос ледовательные данные при записи на диск переданного блока, пото му что уровень прерывания у винчестера обычно выше, чем у послед овательного порта. Поэтому лучше, если коммуникационные про граммы могут осуществлять аппаратный контроль потока во время за писи на диск, чтобы предотвратить потерю данных. На некоторых компьютерах изменения разрешения монитора или количе ства цветов могут приводить к увеличению скорости передачи данных через модем, т.к. при этом на передачу данных в видеобуфер требу ется меньше времени, и больше времени компьютер может удели ть модему. Выбор эффективной коммуникационной программы (обычно написанной п рямо на Ассемблере) - это тоже очень важная задача. При использов ании коммуникационной программы пользуйтесь простым протоколом б ез программного контроля ошибок (т.к. модем уже сделал эту работу аппаратно) - таким, как YModem-G и ZModem. Программа PC с усложненной обработкой протокола понизит его скорость при обрабо тке последовательных данных. КОНТРОЛЬ ПОТОКА Эта особенность относится к процессу приостановки и возобновления передачи потока данных в буфер данных модема и из него. Контроль потока необходим, чтобы устройство (компьютер или модем) не прин имало больше данных, чем оно может обработать. Модемы серии U-1496 предусматривают два метода управления этим потоком. АППАРАТНЫЙ CTS/RTS КОНТРОЛЬ ПОТОКА Этот метод управляет потоком в обоих направлениях, CTS и RTS явля ются сигналами RS-232 и должны быть доступны для Вашего компьютер а. Когда модемный буфер передачи уже почти переполнен, модем вык лючит сигнал CTS, чтобы сообщить DTE, что он больше не може т принимать данные. Включение сигнала CTS уведомит DTE, что он мо жет продолжать посылать данные на модем. Некоторые прикладные пр ограммы выключают сигнал RTS при переполнении принимающего буфе ра программы, чтобы сообщить модему, что нужно прекратить п осылать данные на DTE. Включение сигнала RTS сообщит модему о воз можности возобновить пересылку данных на DTE. При работе с асинхр онной полудуплексной коммуникационной программой модем U-1496 все гда воспринимает сигнал RTS как сигнал контроля потока. Мо демы U-1496 автоматически устанавливают по умолчанию такой аппара тный контроль потока, и это лучший выбор. ПРОГРАММНЫЙ XON/XOFF КОНТРОЛЬ ПОТОКА Это также метод управления потоком в обоих направлениях. Символы XON и XOFF по умолчанию - это десятичные ASCII коды 17 и 19; чтоб ы изменить эту установку, нужно модифицировать S-регистры 31 и 32 . Как модем, так и DTE будут воспринимать XOFF как сигнал п риостановки передачи данных, а XON - как сигнал возобновления пер едачи данных. При этом, разумеется, модемы не будут посылать эти символы, полученные от своего локального порта, дальше на удаленн ый модем. |