Пакеты двоичных данны


При передаче пакетов двоичных данных заполнение пробелов (padding) не используется. Байты данных кодируются методом ZDLE и затем передаются. Далее передается знак ZDLE и окончание кадра, за которым следуют 2 или 4 кодированных ZDLE проверочных байта (CRC-16 или CRC-32). Циклическая кодовая проверка охватывает байты данных и окончание кадра.

Пакеты данных в коде ASCII

В настоящее время пакеты данных в коде ASCII не определены. Эти пакеты могут использоваться для команд серверов или для основных передач в системах с 7-разрядным форматом.

Типы кадров ZModem

ZRQINIT

Посылается передающей программой для инициализации передачи заголовка ZRINIT программой приема. Позволяет устранить стартовые задержки, свойственные протоколам XModem и Kermit. Передающая программа может повторить приглашение приема (включая ZRQINIT), если ответ не получен после первой передачи данного кадра.

ZRINIT

Передается программой приема. Байты ZFO и ZF1 содержат распределение битов или флаги, указывающие на возможности приемника (дешифрирование, передача и прием в дуплексном режиме, прием данных во время чтения-записи на диск, передач сигнала разрыва, декомпрессия, использование проверочной комбинации CRC-32, ожидание перехода управляющих знаков или 8-го бита).

Байты ZPO и ZP1 содержат размер буфера приемника в байтах или "О", если разрешен прием без остановки ввода-вывода.

ZSINIT

Передатчик посылает флаги с следующим за ними пакетом двоичных данных, завершаемым ZCRCW. Пакет данных содержит последовательность ATTN, состоящую максимум из 32 байт, включая завершающий "О".

ZACK

Подтверждение кадра ZSINIT, заголовка ZCHALLENGE, пакетов данных ZCRCQ или ZCRCW. Байты от ZPO до ZP3 содержат величину смещения в файле. Ответ на заголовок ZCHALLENGE содержит также 32 байта, как и принятый заголовок.

ZFILE

Обозначает начало передачи файла. Байты ZFO, ZF1 и ZF2 могут принимать различные значения, определяющие варианты преобразования, управления, передачи и др.

ZSKIP

Передается приемником в ответ на ZFILE и заставляет передатчик перейти к передаче следующего файла.

ZNAK

Указывает на искажение последнего заголовка.

ZABORT

Передается приемником для прекращения групповой передачи файлов по запросу пользователя. Передатчик отвечает при этом кадром ZFIN.

ZFIN

Посылается передающей программой для завершения сеанса протокола ZModem. Приемник отвечает на этот кадр собственным кадром ZFIN.

ZRPOS

Передается приемником для форсирования возобновления передачи файла с позиции смещения в файле, указанной в байтах ZPO—ZP3.

ZDATA

Байты ZPO—ZP3 содержат значение смещения в файле. За ними следует 1 или более пакетов данных.

ZEOF

Сообщение передатчика о завершении передачи файла. В байтах ZPO—ZP3 содержится конечное значение смещения в файле.

ZFERR

Свидетельствует об ошибке при чтении или записи файлов, протокольный эквивалент кадру ZABORT.

ZCRC

Запрос приемником и ответ передатчиком проверочной комбинации (полинома) файла. Проверочная комбинация содержится в байтах ZPO—ZP3.

ZCHALLENGE

Запрос эхо-возврата передатчиком случайного числа в байтах ZPO—ZP3 кадра ZACK. Посылается программой приема передающей программе для проверки соединения и его достоверности (осуществлено ли соединение под воздействием канальных ошибок или сообщения типа "Троянский конь").

ZCOMPL

Сообщает, что запрос в данный момент завершен.

ZCAN

Тип псевдокадра, возвращаемый программой в ответ на последовательность "Прекращения сеанса" (session abort sequence).

ZFREECNT

Запрос передающей программой кадра ZACK с байтами ZPO—ZP3, содержащими объем свободного дискового пространства в текущей файловой системе. Значение 0 соответствует неопределенному объему свободной памяти.

ZCOMMAND

Кадр ZCOMMAND передается в двоичном кадре. В байте ZFO содержится "О" или ZCACK1.

За пакетом данных ZCRCW следует строка текста в коде ASCII, завершающаяся знаком NUL. Если команда предназначена для выполнения ее операционной системой, в которой работает протокол (например, при выходе в операционную систему по команде "shell escape" или "DOS shell"), первым знаком должен быть знак "!". В других случаях подразумевается, что команда должна выполняться прикладной программой. Если приемник обнаруживает недопустимую или неправильно сформированную команду, то он сразу же отвечает заголовком ZCOMPL с кодом ошибки, содержащимся в ZPO—ZP3. Если в ZFO содержится ZCACK1, приемник отвечает заголовком ZCOMPL с состоянием "О". В других случаях приемник отвечает заголовком ZCOMPL после завершения выполнения команды. Код "Состояния выхода" (exit) выполненной команды хранится в ZPO—ZP3. Если код "Состояние выхода" равен "О", то это соответствует нормальному завершению выполнению команды.

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

Если программа приема не может выполнить принятую команду, она отображает ее в стандартном сообщении об ошибке и затем возвращает заголовок ZCOMPL.



Дата добавления: 2016-05-30; просмотров: 2051;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.008 сек.