Начало сеанса связи, handshake. Пароли
Беседа (Chat) во время
сеанса связи
Клавиши, используемые во время сеанса связи
Перед проведением сеанса
связи между системами FTN-сети принято осуществлять обмен начальной информацией -
"рукопожатием" (EMSI или YOOHOO handshaking). (EMSI - Electronic Mail Standard Information - стандартная информация электронной почты.) В
посылки handshake могут включаться основные характеристики систем, пароли, флаги и прочая
информация.
Если после установления
соединения между модемами получена посылка EMSI или YOOHOO, T-Mail немедленно приступает к "рукопожатию".
При этом идентифицируется адрес удаленной системы, пароль для сеанса связи,
заданный для этой системы.
В случае, если вызов
входящий, осуществляется проверка пароля на сеанс связи (для основного адреса и
всех предъявленных дополнительных адресов удаленной системы). Если для
вызывающей системы не задан пароль, но он был предъявлен - T-Mail просто выдаст предупреждение и продолжит
обработку вызова.
Если же для основного
адреса системы, которая вас вызвала, определен пароль, он должен совпадать с
тем, который был предъявлен. Если это не так, то T-Mail выдаст удаленной системе сообщение о неверном
пароле и прервет сеанс связи. Если же пароль совпадает (или с нашей стороны не
задан пароль для основного адреса удаленной системы), то будет проверено для
всех дополнительных адресов вызывающей вас системы, задан ли для них этот же
пароль. Если пароль для какого-либо адреса не совпадает с паролем, заданным для
основного адреса удаленной системы, то этот дополнительный адрес будет
проигнорирован и почта для него передаваться не будет. Об этом будет выдано
предупреждающее сообщение.
Примечание. Подобные ограничения вызваны тем, что при
процедуре handshake (как в посылке EMSI, так и YOOHOO) передается только один пароль.
Если к адресам удаленной
системы добавляются дополнительные адреса с помощью директивы Share (events.ctl), то для этих адресов
пароли не проверяются.
К моменту завершения
"рукопожатия" (процедуры handshake) T-Mail выбирает стратегию, по которой будет происходить
сеанс связи. В общем случае, если сняты ВСЕ многочисленные ограничения, сеанс
строится так:
Для ВЫЗЫВАЮЩЕЙ системы
(при исходящем вызове):
Для ВЫЗЫВАЕМОЙ системы
(при входящем вызове):
╥
найденных
запрашиваемых файлов;
╥
письма с указанием
причин отказа в запросе;
╥
письма-подтверждения
обработки файлового запроса.
Таким образом,
добавленные до этого момента в файлбоксы файлы будут отосланы.
Описанная выше схема
работы является примерной и в некоторых случаях может быть изменена.
Далее рассмотрим
некоторые из ограничений, которые может устанавливать системный оператор.
Переменная Accept_AKAs в t-mail.ctl определяет список дополнительных адресов
удаленных систем, которые будут восприниматься и обрабатываться T-Mail'ом. Не вошедшие в этот список дополнительные адреса,
сообщаемые удаленной системой игнорируются и пропускаются соответствующие
действия в сеансе связи. Основной адрес удаленной системы обрабатывается
всегда.
При определенных
обстоятельствах не будут передаваться файловые запросы на удаленную систему. Во-первых,
удаленная система может не поддерживать файловые запросы (или они могут быть
запрещены в текущий момент для вашего адреса). Во-вторых, Вы сами можете
установить временные ограничения для передачи файловых запросов на конкретную
удаленную систему:
1.
используя директиву NoReq в файле событий events.ctl;
2.
задав интервал
времени файловых запросов на удаленной системе полем FTime в файле подстановок subst.lst.
Если удаленная вызываемая
система не поддерживает файловые запросы, она сообщает об этом специальным
полем в посылке handshake. При обычной работе, получив такой флаг, T-Mail отложит файловые запросы на этот узел на час.
Благодаря этому, периодически опрашивая удаленную систему, T-Mail может дождаться момента, когда файловые запросы
будут разрешены. Этому режиму соответствует флаг HFR в посылке EMSI.
Для определенных адресов
можно задать режим "только почта". Этот режим задается директивой MailOnly в файле событий events.ctl. При этом в
большинстве случаев происходит обмен только почтовыми пакетами (.рkt), а также сжатой
почтой. Этот режим может быть рекомендован для так называемых "почтовых
часов", т.е. интервалов суток, когда создаются наиболее благоприятные
условия для быстрой доставки персональной сетевой почты. Он полностью действует
только в случае входного вызова и если мэйлер удаленной системы также понимает
такой режим. Этому режиму соответствует флаг HXT в посылке EMSI.
Для определенных адресов
можно задать режим "только передача". Этот режим задается директивой SendOnly в файле событий events.ctl. При этом происходит
только передача файлов. Этот режим действует только в случае входного вызова и
если мэйлер удаленной системы также понимает такой режим. Этому режиму
соответствует флаг HAT в посылке EMSI.
Наконец, при входящем
вызове можно задать условия, когда удаленная система будет отвергнута и сеанс
связи проводится не будет. Переменная Accept_Nodes в t-mail.ctl задает адреса систем, с которыми возможен сеанс
связи. Кроме того, можно задать минимальную скорость соединения переменными Min_Baud_In и Min_Baud_Out в t-mail.ctl.
Для передачи информации
во время сеанса связи T-Mail
использует два встроенных протокола: однонаправленный протокол Zmodem (и его варианты - DirZap и ZedZap) и двунаправленный
протокол Janus. Выше был описан порядок работы T-Mail при использовании однонаправленного протокола, то
есть прием и передача информации осуществляется поочередно. В случае, если
соединение было установлено с использованием двунаправленного протокола,
передача и прием информации осуществляется одновременно, при этом порядок
действий аналогичен первому случаю. Повторная проверка наличия информации
производится как по завершении приема, так и по завершении передачи -
независимо.
В том, случае, если сеанс
связи установлен с другим мэйлером T-Mail или с мэйлером, поддерживающим протокол беседы,
совместимый с T-Mail,
имеется возможность использовать режим беседы - 'chat'. Он включается нажатием клавиш Alt-C. По окончании беседы
выход также осуществляется по нажатию Alt-C (или он будет осуществлен автоматически при
обрыве соединения или окончании сеанса связи).
Беседа проводится в двух
окнах, располагающихся в нижней части экрана, во время беседы можно
использовать клавишу Ctrl-G - при
ее нажатии на противоположной стороне прозвучит звуковой сигнал. Если один из
операторов покидает режим беседы, другому оператору выдается уведомление об
этом.
В t-mail.ctl можно определить переменную Chat_log. Если она определена,
то при соединениях с коррекцией ошибок весь текст беседы записывается в этот
файл.
Во время сеанса связи вы
можете использовать следующие специфические команды с клавиатуры:
Alt-H Прерывает
сеанс связи, можно использовать как во время уже установленного сеанса, так и в
процессе установления соединения;
Ctrl-X Пропустить
текущий файл - только при приеме файла. Может работать не со всеми мэйлерами;
Alt-C═══ Выход в режим 'Chat' - беседы.