T-mail

10.Сеанс связи

Начало сеанса связи, handshake. Пароли

Структура сеанса связи

Беседа (Chat) во время сеанса связи

Клавиши, используемые во время сеанса связи

 

Начало сеанса связи, handshake. Пароли

Перед проведением сеанса связи между системами 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 выбирает стратегию, по которой будет происходить сеанс связи. В общем случае, если сняты ВСЕ многочисленные ограничения, сеанс строится так:

Для ВЫЗЫВАЮЩЕЙ системы (при исходящем вызове):

  1. передать всюпочту без атрибутаhold для основногоадреса удаленной системы(это файлы,содержащиеписьма. Сначала передаютсяфайлы с именами *.рkt, затем *.?ut, кроме *.hut);
  2. передать REQ-файлы,если для основного адресаудаленной системы есть файловыезапросы. Прииспользовании протоколаJanus соответствующие пакеты передаются в течение всего сеанса связи;
  3. передатьвсефайлыизфайлбоксапоумолчанию(default filebox), соответствующего основному адресу удаленной системы;
  4. передатьвсефайлы(fileattached),"прицепленные"кписьмамдля основногоадресаудаленнойсистемы.
  5. еслииспользуетсяBink-StyleOutbound,то последовательно передать файлы, перечисленные в файлах *.clo, *.ilo, *.dlo, *.nlo, *.flo;
  6. передать файлы из дополнительногофайлбокса (user filebox), заданного
  7. в файле подстановок ключевым словом BOX для основного адреса удаленной системы;
  8. повторить передачуфайлов для дополнительныхадресов (AKA) удаленной системы (все пункты, указанные выше);
  9. послеэтогоПОВТОРНОпроверяетсяналичиефайловвфайлбоксепо умолчанию для основного адреса удаленной системы и, если там появились новыефайлы,производитсяпередача══ этихфайлов.Такимобразом, добавленные до этого момента в файлбоксы файлы будут отосланы.
  10. принятьпочтуифайлы══ отудаленнойсистемы.Прииспользовании протокола Janus прием и передача происходят одновременно.

Для ВЫЗЫВАЕМОЙ системы (при входящем вызове):

  1. принять почту и файлы от удаленной системы. Если задан Process Imm для каких-либо══ файлов,═══ то══ выполнить══ его═══ сразу══ после══ приема соответствующегофайла.ПрииспользованиипротоколаJanus прием и передача происходят одновременно;
  2. обработатьпришедшиефайловыеипрочие запросы, выполнить Process Online, если он задан;
  3. передатьвсюпочтубезатрибутаhold(.рktизатем .?ut файлы, кроме .hut, содержащие письма) для основного адреса удаленной системы;
  4. передатьвсюпочтусатрибутомhold(.рktизатем.hut файлы, содержащие письма) для основного адреса удаленной системы;
  5. передатьвсефайлыизфайлбоксапоумолчанию(default filebox), соответствующего основному адресу удаленной системы;
  6. передать все файлы из неактивного файлбокса по умолчанию (hold default filebox), соответствующего основному адресу удаленной системы;
  7. передатьвсефайлы(fileattached),"прицепленные"кписьмамдля основногоадреса удаленнойсистемы, втом численеактивные (hold).
  8. еслииспользуетсяBink-StyleOutbound,то последовательно передать файлы,перечисленныевфайлах*.clo,*.ilo,*.dlo, *.flo, *.nlo, *.hlo;
  9. передать файл, заданный переменной BroadCast в t-mail.ctl. (если такая переменная определена, файл существует и адрес системы входит в список адресов, задаваемый в переменной BroadCast).
  10. передать файлы из дополнительногофайлбокса (user filebox), заданного в файле подстановок ключевым словом BOX для основного адреса удаленной системы;
  11. повторить передачуфайлов для дополнительныхадресов (AKA) удаленной системы (все пункты, указанные выше);
  12. передатьответ нафайловые запросы,принятые отудаленной системы. Этот ответ может состоять из:

         найденных запрашиваемых файлов;

         письма с указанием причин отказа в запросе;

         письма-подтверждения обработки файлового запроса.

  1. после этого ПОВТОРНО проверяетсяналичие файлов в файлбоксах (простом и неактивном) поумолчанию для основного адресаудаленной системы и, еслитам появилисьновые файлы,производится передачаэтих файлов.

Таким образом, добавленные до этого момента в файлбоксы файлы будут отосланы.

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

Далее рассмотрим некоторые из ограничений, которые может устанавливать системный оператор.

Переменная 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 при использовании однонаправленного протокола, то есть прием и передача информации осуществляется поочередно. В случае, если соединение было установлено с использованием двунаправленного протокола, передача и прием информации осуществляется одновременно, при этом порядок действий аналогичен первому случаю. Повторная проверка наличия информации производится как по завершении приема, так и по завершении передачи - независимо.

Беседа (Chat) во время сеанса связи

В том, случае, если сеанс связи установлен с другим мэйлером T-Mail или с мэйлером, поддерживающим протокол беседы, совместимый с T-Mail, имеется возможность использовать режим беседы - 'chat'. Он включается нажатием клавиш Alt-C. По окончании беседы выход также осуществляется по нажатию Alt-C (или он будет осуществлен автоматически при обрыве соединения или окончании сеанса связи).

Беседа проводится в двух окнах, располагающихся в нижней части экрана, во время беседы можно использовать клавишу Ctrl-G - при ее нажатии на противоположной стороне прозвучит звуковой сигнал. Если один из операторов покидает режим беседы, другому оператору выдается уведомление об этом.

В t-mail.ctl можно определить переменную Chat_log. Если она определена, то при соединениях с коррекцией ошибок весь текст беседы записывается в этот файл.

Клавиши, используемые во время сеанса связи

Во время сеанса связи вы можете использовать следующие специфические команды с клавиатуры:

Alt-H Прерывает сеанс связи, можно использовать как во время уже установленного сеанса, так и в процессе установления соединения;

Ctrl-X Пропустить текущий файл - только при приеме файла. Может работать не со всеми мэйлерами;

Alt-C═══ Выход в режим 'Chat' - беседы.