Передача файлов по сети

Роутинг

За редким исключением сетевая почта не передается на прямую ее адресату. Это обусловлено отсутствием режима работы станции в нодлисте, наличием unpublished узлов (узлов с неизвестным телефоном), наконец, ненулевой вероятностью катастрофы на станции назначения. Возникает вопрос, куда передавать письма, предназначенные для определенных групп сетевых адресов.

Роутинг (рутинг, от англ Routing) представляет собой схему маршрутизации писем для данной станции сети. Роутинг имеет отношение только к сетевой почте.

Роутинг задает правила, согласно которым будет отправляться пришедшая на станцию и созданная на ней сетевая почта. Правило представляет собой соответствие группы адресов назначения одному адресу, на который будет передан исходящий пакет. Представим, что я хочу отправлять все письма, предназначенные для зоны 2 (FIDONet, Европа) через 2:5020/54, а все письма для зоны 314 (сеть GOLDNet) через 314:5020/33. Тем самым я определил схему роутинга для своей системы. Действительная схема роутинга может быть гораздо более сложной, особенно для нагруженных станций сети, хабов и т.д.

Различают статический и динамический роутинг. Статический роутинг как правило осуществляется эхопроцессором, и присущ системам на базе BinkleyStyle мейлера. Определяется специальная схема событий, т.е. набор интервалов времени, во течение которых действует определенная схема роутинга. Если эхопроцессор был вызван во время действия одного события и маршрутизировал письмо, то при повторном вызове во время другого события уже обработанные письма не будут перенаправлены в соответствии с новой схемой.

Динамический роутинг осуществляется исключительно ArcMail-Attach системами. При этом в зависимости от текущего события меняется план роутинга, и уже обработанные письма могут быть переадресованы в соответствии с новым планом.

Заметим, что для отправки нетмайла напрямую (директом, direct) адресату в сети существует так называемый зоновый почтовый час (Zone Mail Hour, ZMH). В этот период все *узлы* сети обязаны:

Поинты сети не обязаны соблюдать ZMH. В Москве, помимо ZMH действует еще и MMH (Moscow Mail Hour), начинающийся сразу следом за ZMH. Таким образом с 5:30 до 7:30 утра по Московскому времени все узлы сети принимают и передают только нетмайл.

Для эхопочты понятие роутинга не определено, поскольку письмо в эхо не содержит сетевого адреса станции получателя. Таким образом ArcMail-пакет всегда передается на узел, от которого получена соответствующая конференция, при помощи прямой связи.

ArcMail-Attach и BinkleyStyle мейлеры

ArcMail-Attach мейлеры.

Как правило, основой функционирования любого ArcMail-Attach мейлера является каталог, содержащий письма сетевой почты (т.н. NetMail folder). В большинстве случаев каждое письмо хранится в отдельном файле, имеющем расширение .MSG. В таком случае принято говорить, что имеется область сетевой почты в *.MSG стиле (*.MSG-style netmail area).

В этом каталоге (дальше я буду употреблять жаргонное слово "фолдер") находятся письма, адресованные данному узлу, и письма, написанные на этом узле. Транзитные письма, проходящие через узел, в этом каталоге не размещаются. Мейлер осуществляет ресканирование фолдера с определенными промежутками времени в поиске новых сообщений, либо проделывает это при появлении соответствующего флага (пустого файла со специфическим именем типа REPACK.T-M или FDRESCAN.NOW в специальном каталоге флагов).

Обнаружив в фолдере письмо, ArcMail-Attach мейлер преобразует его в почтовый пакет (имеющий расширение .PKT) и переносит этот пакет в специальный каталог пакетов, называемый аутбаундом. Hеобходимость в таком преобразовании обьясняется тем, что письма, за редким исключением, не передаются напрямую адресату, а проходят по цепочке из нескольких станций. При этом каждая станция сама определяет на основании плана маршрутизации сетевой почты (netmail routing scheme) на какой узел следует передавать письма для указанного в заголовке письма адресата.

Поскольку заголовки писем не могут модифицироваться (будет потеряна информация об адресе истинного получателя), письма преобразуются в пакеты, в заголовке которых указан адрес отправителя пакета (не совпадающий в общем случае с адресом автора письма) и адрес получателя пакета (также не равный в общем случае адресу получателя). Hапример, если почта от 157.49 предается на 54.46 таким образом:

/157.49 -> /157.0 -> /1.0 -> /54.0 -> /54.46

то на этапе (/1 -> /54) пакет будет адресован от /1 для /54, хотя фактический отправитель и получатель имеют другие адреса.

Пакет может содержать несколько писем, общей особенностью которых является их текущая маршрутизация. Hа следующем узле будет действовать уже другой план роутинга, и письма могут быть упакованы в разные пакеты.

Помимо обычных писем, аркмейл-аттач мейлеры способны понимать также некоторые спициальные письма - так называемые файл-аттачи (fileattach) или просто "аттачи". Файл-аттач представляет собой обычное письмо, имеющее особый атрибут (F/a - File/Attach) и содержащее в поле темы имя передаваемого файла.

При обнаружении такого письма мейлер ищет соответствующий файл по указанному в поле темы пути и имени, и, обнаружив его, упаковывает письмо в почтовый пакет. При передаче этого письма будет передан также и файл, который данное письмо описывало. При этом считается, что файл прикреплен (приаттачен, Attached) к письму.

Помимо обычных аттачей, мейлеры класса ArcMail-Attach имеют особый вид аттачей - ArcMail-Attach письма. Эти письма создает эхопроцессор при создании ArcMail-пакета для заданного адреса. Такое письмо отличается от обычного аттача тем, что написано от "магического" имени робота "ArcMail". При нахождении письма от этого робота мейлер не создает .PKT файла, и передает при установлении соединения только сам файл с ArcMail-пакетом.

Binkley-style мейлеры.

Для мейлера типа BinkleyTerm одним из основных отличий от ArcMail-Attach является тот факт, что такой мейлер никоим образом не работает с письмами. Таким образом, вместо NetMail-фолдера в Binkley-style мейлерах используется понятие аутбаунда (outbound). Для каждой из зон, в которые станция отправляет письма и файлы, создается специальный каталог (аутбаунд).

Для каждого адреса, на который должна быть отправлена почта создаются особые файлы с уникальным именем (шестнадцатиричная запись 3D-адреса узла) и расширением .?LO, задающие флавор (атрибут, flavour) для данного адреса, а также содержащие указания мейлеру на передачу тех или иных файлов в виде путей. Первая буква расширения задает флавор. Для нетмайла создается аналог файла .PKT - ?UT. Все эти манипуляции осуществляются не мейлером, а отдельной утилитой, либо эхопроцессором.

При посылке почты мейлер типа BinkleyTerm передает соответствующий файл с неупакованной сетевой почтой (.?UT), в виде файла .PKT, образовав имя .PKT файла непосредственно в момент начала передачи. Таким образом, при обрывах связи с последующим перезвоном .PKT файлы имеют уже другие имена, а следовательно принимаются не с места обрыва, а заново.

Поскольку в восьмисимвольном поле имени файла DOS невозможно разместить 4D-адрес в шестнадцатиричной форме, для адресов назначения, являющихся поинтами создаются отдельные подкаталоги аутбаунда. Такие подкаталоги имеют шестнадцатиричные имена соответствующие адресу босс-ноды (т.е. 3D-адресу) и содержат файлы .?UT и .?LO с шестнадцатиричным номером поинта.

Для нормальной работы с Binkley-Style мейлером должен использоваться упаковщик сетевой почты, который будет преобразовывать письма в .?UT файлы. Чаще всего используются IMBINK и BPACK.

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

Мейлеры типа BinkleyTerm поддерживают три инбаунда - для неизвестных систем, для известных систем и для систем, имеющих пароль на связь с данным узлом. Под неизвестной системой здесь и далее подразумеваются такие системы, информация о которых отсутствует в нодлисте/поинтлисте. Заметим, что схему трех инбаундов поддерживают не все эхопроцессоры.

Специальные виды писем.

Помимо рассмотренных выше обычных и аттачевых писем, существуют еще и другие письма, называемые обычно файловыми запросами (файл-реквестами, фреками filerequest, FREQ) и запросами на обновление (апдейт-реквест, update-request, UpdREQ).

Существуют несколько типов файловых запросов, которые реализованы и поддерживаются различными мейлерами. Вы можете узнать из нодлиста, какой тип файл-реквестов поддерживает станция, если обратите внимание на флажки, начинающиеся с X (XA, XX, ...). Подробная информация о том, какие мейлеры поддерживают те или иные типы файл-реквестов Вы можете узнать из Приложения, или поглядев на таблички в конце полного ноделиста. Подробная разница между Bark и WaZoo файл-реквестами лежит за пределами данного руководства. Каждый может получить эту информацию из стандартов сети FIDONet, список которых приведен в приложении.

Файл-реквест представляет собой письмо, со специальным атрибутом (Frq) и именами запрашиваемых файлов в поле темы (subj). Вы можете запросить столько файлов, сколько имен влезает в строку subj (ее длина 72 символа), однако следует помнить об ограничениях на время, размер и число файлов для одного файлреквеста. Hе следует злоупотреблять символами диких карт (wildcards), благо порой от этого проистекают нежелательные результаты (так, запросив у FD 2.20 файл с именем *BG*.* вы рискуете получить в ответ случайное количество случайных файлов).

Лимиты на файл-реквест определяются несколькими факторами:

Следует помнить, что при наличии пароля на сессию с данным узлом, файл-реквест также должен иметь пароль, совпадающий с паролем на сессию.

Большинство разумных мейлеров имеют возможность задавать ограничение для числа/размера/времени для файлреквеста за сессию/день/неделю/месяц. Будьте внимательны при запросе файлов, старайтесь не превышать лимитов.

Апдейт-реквест представляет из себя файлреквест на уже существующий файл, который будет удовлетворен, если дата/время такого же файла на станции с которой производится реквест более свежая, чем имеющаяся.

Назад | Содержание | Вперед

Hosted by uCoz