Пакеты двоичных данны
При передаче пакетов двоичных данных заполнение пробелов (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; просмотров: 2060;