Настройки протоколов Zmodem и Janus
Информация, приведенная в данном разделе, предназначена для
квалифицированного пользователя. Многие функции T-Mail, описанные здесь,
нужно использовать весьма осторожно.
T-Mail при пересылке файлов использует либо полудуплексный протокол
Zmodem, либо дуплексный протокол Janus. T-Mail поддерживает 3 разновидности
протокола Zmodem:
Plain Zmodem (ZMO) - стандартный Zmodem;
ZedZap (ZAP) - Zmodem c размером окна, зависящим от скорости
соединения;
Direct ZedZap (DirZAP) - то же, что и ZedZap, но несколько ускоренный за
счет того, что не используется защита некоторых
служебных кодов (XON,XOFF и др.).
Для достижения максимальной производительности лучшим является DirZap,
однако его применение должно быть осторожным, поскольку требует тщательной
настройки модемов (и вашего, и модема удаленной системы). Кроме того, если
соединение систем непрямое, то есть через дополнительные программы и
аппаратуру, чувствительную к управляющим кодам, применение DirZAP может
быть невозможным. Протоколом по умолчанию, который годится практически
всегда, выбран ZedZap.
Переменная Dir_ZedZap в t-mail.ctl позволяет разрешить использование
DirZAP вашей системой. По умолчанию ее значение No.
Вы имеете возможность ограничивать возможность применения DirZAP и
ZedZAP для конкретных удаленных систем. Это достигается использованием
флагов ZMO и ZAP в файле подстановок subst.lst .
Примеры:
--------
5030/100.4 FLAGS ZAP ; Разрешены только ZedZAP и Zmodem
5030/100.5 FLAGS ZMO ; Разрешен только Zmodem.
Вы можете настраивать некоторые параметры протоколов в t-mail.ctl . Они
настраиваются индивидуально для разных скоростей соединения. Параметры
протоколов можно указать в переменных Connect_* файла t-mail.ctl . Синтаксис
этих переменных выглядит следующим образом:
Connect_<baud> <modem string>[,<MaxBlock>,<StartBlock>,
<ZTimeout>,<MinCPS_Rx>,<MinCPS_Tx>]
где:
<baud> - одна из скоростей, на которой устанавливается
соединение.
<modem string> - ответ модема после соединения, сигнализирующий об
установлении соединения с определенной скоростью.
<MaxBlock> - число, задающее максимальный размер окна данных при
передаче в байтах (только для Zmodem). Максимальный
размер - 8192. Значения по умолчанию указаны ниже в
таблице. Желательно, чтобы определяемые величины были
кратны степеням 2.
<StartBlock> - число, задающее начальный размер окна при передаче
(только для Zmodem). Значения по умолчанию указаны
ниже в таблице. Желательно, чтобы определяемые
величины были кратны степеням 2.
<ZTimeout> - число, задающее величину таймаута для протокола
Zmodem. Значения по умолчанию указаны ниже в таблице.
При соединении с MNP, V42, HST эти значения
утраиваются автоматически.
<MinCPS_Rx>
и
<MinCPS_Tx> - число, задающее минимальную производительность
протокола (байт в секунду) при приеме (MinCPS_Rx) или
передаче (MinCPS_Tx) файлов. По умолчанию не
определено. Если вы определяете этот параметр, то при
снижении средней величины скорости приема (передачи)
файлов для сеанса связи до этого предела или еще ниже
T-Mail прервет сеанс связи. Используется для
протоколов Zmodem и Janus. Применять эту возможность
следует весьма осторожно.
Параметр <modem string> является обязательным, остальные параметры
можно не задавать. Таблица со значениями этих переменных по умолчанию для
разных скоростей (кроме MinCPS_Rx и MinCPS_Tx, у которых значение по
умолчанию всегда равно 0) приведена в главе 7 в примере файла t-mail.ctl .
При использовании этих переменных можно задавать только часть
параметров, например, только <MaxBlock> или только <MaxBlock> и
<StartBlock>.
Примеры:
--------
Connect_2400 CONNECT 2400, 2048
Connect_2400 CONNECT 2400, 2048, 512, 10
Connect_2400 CONNECT 2400, 2048, 512, 10, 75, 50
Протоколы передачи используют для коррекции ошибок подсчет
циклического кода - CRC. Существует две разновидности - CRC-16 и CRC-32.
Второй обеспечивает более надежную защиту. Вам предоставлена возможность
задать тип коррекции, используя переменную ZJCRC32 в файле t-mail.ctl (для
Zmodem и Janus):
ZJCRC32 Always (или Yes) ; T-Mail пытается использовать CRC-32 всегда,
если его может использовать удаленная
система;
Never (или No) ; Всегда используется CRC-16;
Smart ; Если установленно соединение с коррекцией
ошибок (MNP, V42, и т.д.), то используется
CRC-16, иначе T-Mail пытается использовать
CRC-32 (значение Smart используется по
умолчанию).
Перед приемом файла T-Mail проверяет дату создания/модификации, размер
файла и его имя. Если на вашей системе уже имеется файл с таким именем,
размером и датой, то файл будет пропущен. Если размер существующего файла
меньше (файл недопринят), он будет приниматься с той позиции, где произошел
обрыв. Если же отличается дата файла, то в этом случае имеющийся файл будет
переименован с тем, чтобы новый файл был принят с тем именем, которое
сообщает удаленная система. Переименование происходит следующим образом:
последний символ имени файла (или расширения, если оно есть)
инкрементируется до тех пор, пока не будет найдено имя, несуществующее на
вашей системе. Инкремент производится циклически в пределах {A-Z,0-9} и
только при достижении последнего символа будет произведена перезапись
существующего файла по умолчанию.
Вы можете задать имена файлов, которые для вашей системы будут
считаться нежелательными для приема. При попытке удаленной системы передать
вам такой файл, он будет пропущен и не будет приниматься. Имена таких
файлов могут быть групповыми в соответствии с правилами операционной
системы и задаются переменными ZJSkiрFile (их может быть не более 16) в
t-mail.ctl (для Zmodem и Janus).
Примеры:
--------
ZJSkipFile LPT*.*
ZJSkipFile CON
ZJSkipFile COMMAND.COM
ZJSkipFile *.exe
Вы имеете возможность задать имена файлов, которые будут всегда
переписываться заново при приеме вне зависимости от того, существует ли уже
файл с таким именем на вашей системе. Имена таких файлов могут быть
групповыми в соответствии с правилами используемой операционной системы и
задаются переменными ZJOverWrite (их может быть не более 16) в t-mail.ctl
(для Zmodem и Janus).
Примеры:
--------
ZJOverWrite *.ZIP
ZJOverWrite READ.ME
Переменная ZFrameType определяет тип используемых фреймов Zmodem. Она
может иметь следующие значения:
ZCRCG (default) - обычные фреймы, не требующие подтверждения;
ZCRCW - фреймы, после которых ОЖИДАЕТСЯ подтверждение;
ZCRCQ - фреймы, после которых посылается (но не ожидается
передающим) подтверждение.
Пример: ( subst.lst ):
--------------------
5030/100.111 set ZFrameType=ZCRCW ; noise line
Вы имеете возможность включить или отключить диалоговый режим (chat) в
сеансах связи с помощью переменной ZJChat в t-mail.ctl (для Zmodem и Janus).
С помощью переменной ZJSkipManual можно отключить возможность пропуска
файлов при приеме (нажатием клавиш <Ctrl-X>) для Zmodem и Janus.
Ниже приводится фрагмент файла конфигурации t-mail.ctl , в котором
описаны команды настройки протоколов. Этот фрагмент можно добавить в
файл t-mail.ctl .
Секция определения параметров протоколов Zmodem и Janus
Dir_ZedZap YES ; Enable Direct ZedZap protocol
Если эта переменная имеет значение YES, то разрешается использовать
вариант Direct ZedZap протокола Zmodem. Если NO, то использование этого
варианта запрещается. По умолчанию - NO.
ZJChat Yes ; Enable/disable chat. Deafult - Yes
Если эта директива имеет значение YES, то разрешается использование
режима диалога (chat) при установленной сессии, если NO - запрещается.
По умолчанию - разрешено (YES).
ZFrameType ZCRCG ; Zmodem sending frame type (ZCRCG (default),
ZCRCQ or ZCRCW
Эта переменная определяет тип используемых фреймов протокола Zmodem.
ZJCRC32 Smart ; Options for CRC-32 in Zmodem & Janus
Эта переменная задает вариант использования контрольной суммы CRC-32 при
обмене файлами. По умолчанию используется значение Smart.
Always (или Yes) - T-Mail всегда будет пытаться использовать CRC-32;
Never (или No) - всегда будет использоваться CRC-16;
Smart - CRC-32 будет использоваться только если
соединение произошло без коррекции ошибок.
ZJSkipFile LPT*.*
Эта переменная определяет имена файлов, которые вашей системой
приниматься никогда не будут. Можно использовать шаблоны DOS. Таких
переменных может быть до 16.
ZJOverWrite *.ZIP
Эта переменная определяет имена файлов, которые при приеме всегда будут
замещать существующие без переименования. Можно использовать шаблоны
DOS. Таких переменных может быть до 16.
ZJSkipManual Yes
Если эта переменная имеет значение Yes (по умолчанию), то оператор имеет
возможность пропустить прием текущего файла (Ctrl-X) во время сеанса
связи. Если No, то эта возможность отключена.
ZBlockCheck Yes
Если эта переменная имеет значение Yes (по умолчанию), то при приеме
Zmodem-блока по размеру не кратного 16, такой блок будет отвергнут. Если
значение переменной - No, такого не происходит.