Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к экзамену Архитектура ЭВМ и ОС.docx
Скачиваний:
18
Добавлен:
15.04.2019
Размер:
5.19 Mб
Скачать

9.5. Протокол yModem-g

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

Вариант g протокола YModem обеспечивает высокую эффективность передачи данных. Он используется приемником, который инициирует групповую передачу путем посылки знака "g" вместо "с". Передатчик, распознавший этот знак, прекращает ожидание обычных подтверждений по каждому переданному блоку и передает последовательные блоки на полной скорости с использованием метода управления потоком, такого как XON/XOFF.

Прежде чем передавать файл, передатчик ожидает поступления последовательности знаков "g", а в конце передачи каждого файла — подтверждающего знака АСК. Такой способ синхронизации позволяет приемнику открывать и закрывать файлы в нужное время.

При обнаружении ошибки в случае использования протокола YModem-g приемник прерывает передачу, посылая последовательность, состоящую из последовательности знаков CAN. Пример сеанса передачи с использованием протокола YModem-g приведен на табл. 9.6. '

Расширение YModem-g протокола YModem позволяет значительно повысить скорость передачи данных в каналах, защищенных от ошибок. То есть при использовании модемов со встроенными протоколами защиты от ошибок. Это достигается за счет отказа от переспроса принятых с ошибками блоков — при обнаружении ошибки передача файла прерывается. Для повышения быстродействия в последующих модификациях протокола XModem (например, в протоколе ZModem) был применен так называемый "оконный" алгоритм (процедура GBN), при котором последующие блоки передаются подряд, без ожидания подтверждения правильного приема некоторого числа блоков.

Таблица 9.6. Групповая передача файлов с помощью протокола YModem-g

ПЕРЕДАТЧИК

Направление передачи

ПРИЕМНИК

 

*-

<sb doom.'><CR>

"Передача в групповом режиме"

 

 

 

 

<д> (command:rb — д)

<SOH> <00 FF foo.C NUL[123]> <CRC-16>

 

 

<=

<д>

<SOH>01 РЕ<данные[128]хСНС-16>

 

 

<STX> 02 FD <данные[1024]><СРС-16>

 

<STX>.03 FC <данные[128]><СПС-16>

-^

 

<SOH> 04 FB <данные[100]> <CPMEOF[28]> <CRC-16>

... . -».,..

 

<EOT>

 

 

 

^

<АСК>

 

———<=———

<д>

<SOH> <00 FF NUL[128]> <CRC-16>

 

Передача файла завершена

9.6. Протокол zModem

Протокол ZModem введен в большинство связных программ и в настоящее время получил самое широкое распространение. Представляя собой развитие протоколов XModem и YModem, он устраняет их недостатки и при соблюдении совместимости имеет ряд преимуществ:

> высокое быстродействие благодаря использованию процедуры SBN;

> динамическая адаптация к качеству канала связи посредством изменения в широких пределах размера передаваемых блоков;

> возможность возобновления прерванной передачи файла с того места, на котором произошел сбой;

> повышенная достоверность передачи благодаря использованию 32-разрядной проверочной комбинации (CRC);

> возможность отключения функции контроля ошибок передаваемых блоков при использовании модемов с аппаратной коррекцией ошибок. Протокол ZModem явился результатом технического компромисса между следующими противоречивыми требованиями:

> простота использования;

> обеспечение высокой пропускной способности;

> сохранение целостности информации;

> достижение высокой надежности передачи;

> простота реализации.

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

Протокол позволяет или программно инициировать передачу файлов или передавать команды и (или) модификаторы другим программам. Названия файлов достаточно ввести только один раз. Возможен выбор файлов с помощью меню. При групповых передачах возможно задание файлов одной маской (например, "*.doc"). Организация передачи осуществляется путем введения минимального количества команд с клавиатуры.

При передаче файлов передается кадр ZRQINIT, который инициирует автоматический прием файлов.

Протокол ZModem может эмулировать режим протокола YModem, если процесс на удаленном компьютере не поддерживает протокол ZModem.

Пропускная способность

При разработке протокола ZModem особое внимание было уделено трем аспектам его применения:

> сетевым применениям в условиях больших задержек и малой вероятности ошибок;

> применениям в системах с временным уплотнением и буферированием, характеризующимися наличием значительных задержек и ухудшением пропускной способности при росте трафика обратного канала;

> обеспечение прямой связи между модемами при высокой вероятности ошибок в канале.

Целостность и надежность передачи данных

С момента начала сеанса связи протокол ZModem защищает передаваемые данные циклической проверочной комбинацией из 16 или 32 бит (CRC-16 или CRC-32). При применении протокола канального уровня ADCCP (версия HDLC - ANSI X3.66, FIPS PUB 71, FED-STD-1003) возможно использование CRC-32 в качестве проверочной последовательности блока. Использование 32-битной проверочной комбинации позволяет уменьшить вероятность необнаруженных ошибок не менее чем на пять порядков.

В протоколе реализован механизм защиты данных от сообщений, имитирующих разрешенные команды или передачу файлов (сообщения типа "Троянский конь").

Простота реализации

Протокол ZModem может быть использован в различных типах вычислительных систем: в персональных компьютерах, которые не могут одновременно работать с накопителем на жестком диске и последовательным портом ввода-вывода; в компьютерах без возможности одновременной передачи и приема через последовательный порт; в компьютерах и сетях передачи данных, в которых реализовано управление потоком методом XON/XOFF.

Протокол ZModem адаптирован к задержкам в сетях передачи данных и v системах с временным уплотнением за счет непрерывной передачи данных. Передача данных продолжается до тех пор, пока приемник не прервет передатчик запросом на повторную передачу искаженных данных. Фактически протокол ZModem использует отдельный файл как "окно". Это упрощает управление буфером и позволяет исключить режим переполнения окна, которому подвержены такие протоколы, как MEGAlink, SuperKermit и др.

Протокол ZModem предназначен для организации передачи файлов любого формата и может быть использован либо отдельно, либо в сочетании с протоколами защиты от ошибок канального уровня, такими как MNP, V.42, HDLC и др. В случае сочетания с протоколом HDLC протокол ZModem дополнительно обеспечивает обнаружение и исправление ошибок в интерфейсах между DTE и DCE.

Протокол ZModem для общего применения был разработан в 1986 году компанией Telenet. Его описание и исходный код программы rz/sz для операционной системы UNIX являются общедоступными. На применение этого протокола и исходной программы rz/sz не распространяются лицензирование, торговые марки и ограничения на копирование.