Copyright: Copyright © 1997 RIT Research Labs


Что такое Аргус?

Аргус - это почтово-файловая транспортная система, предназначенная для многолинейной работы  с одновременной поддержкой широко распространенных систем обмена данными: Dialup (коммутируемых модемных соединений) и TCP/IP (транспортного протокола сети Интернет).

Основными достоинствами системы являются:

•	Поддержка многозадачной работы Win32

•	Многолинейность

•	Расширенная поддержка TCP/IP


Поддержка многозадачной работы Win32

Система Аргус изначально разрабатывалась с учетом всех преимуществ интерфейса Win32, реализованного в Windows NT и в Windows 95. Такими преимуществами, которыми пользуется Аргус, является возможность одновременной работы параллельных процессов (что дает ощутимый выигрыш в мультипроцессорных системах), новый расширенный графический интерфейс пользователя, удобная поточная работа с коммуникационными устройствами, и.т.д.

Благодаря распараллеленности процессов Аргуса, системные ресурсы Windows используются максимально эффективно и экономично.


Многолинейность

Одно из главных новшеств системы Аргус — ее истинная многолинейность. Поэтому координация линий происходит быстро и эффективно. Особых ограничений на количество одновременно активных почтовых сессий (соединений) не существует. Обмен данными с одним и тем же узлом может производиться как по Dialup, так и по TCP/IP, в зависимости от текущей доступности интерфейса.

Модемные линии активизируются либо автоматически, при старте системы, либо по команде оператора System / Open Dialup Line. Для каждой активизированной модемной линии необходим как минимум коммуникационный порт, следовательно количество одновременно открытых модемных линий ограничено количеством свободных коммуникационных портов.

Линии TCP/IP создаются и освобождаются динамически, под управлением TCP/IP Daemon. Как только с системой Аргус произошло очередное входящее/исходящее соединение,  Daemon динамически открывает  новую линию почтовой системы и инициирует соответствующий почтовый протокол. По окончании почтовой сессии Daemon закрывает линию и завершает соединение.


Расширенная поддержка TCP/IP

В почтовой системе Аргус введена поддержка протоколо-независимого транспортного интерфейса WinSocket 2.0, который открывает множество возможностей: одновременная работа с множеством транспортных протоколов (не только TCP/IP), протоколо-независимое преобразование имен (например SAP, X.500, и.т.д., а не  только DNS), Win32-overlapped режим ввода-вывода, общие socket’ы, условные соединения, обмен данными во время соединения / разрыва, и.т.д.

В Shareware-версии системы Аргус введена поддержка в рамках WinSocket 2.0 самого распространенного транспортный протокола — TCP/IP (транспортный протокол сети Интернет).

Благодаря использованию WinSocket 2.0 и Win32,  преобразование имен, установка и завершение соединений, операции ввода/вывода TCP/IP — все это происходит параллельно и не мешает работе TCP/IP и всей системы в целом. Контролем за TCP/IP-линиями почтовой системы занимается TCP/IP Daemon.


Что нового?

В этой главе перечисляются нововведения, появившиеся в последних версиях системы Аргус

•	Расширенная конфигурация

•	Внешние приложения

•	Периодические прозвонки

•	Ивенты

•	Атомы

•	Выборочная подстановка AKA

•	Расширенная хронология

•	Skip / Refuse File

•	Прием факсов

•	Формат Cron

•	Параметры прозвонок


Основы FTN-технологии

Система Аргус взаимодействует с другими системами по стандартам, о которых пойдет речь в этой главе. Так как почтово-транспортная система Аргус построена на базе FTN (Fidonet Technology Network), в ней поддерживаются стандарты и предложения, принятые комитетом FTN. Также поддерживаются некоторые общие стандарты, свойственные для почтовых систем сиандарта FTN.


Поддерживаемые FTN-стандарты

В этой главе содержится описание стандартов и предложений, принятых комитетом FTN. Затрагиваются лишь основные моменты, которые желательно знать любому пользователю, имеющему дело с настройкой и эксплуатацией почтовой системы FTN, коей является система Аргус. Оригинальные документы находятся на ftp://ftp.fidonet.org

•	Список узлов (FTS-0005)

•	Протокол соединения EMSI (FSC-0056)

•	WaZOO-сессия и файловые запросы (FTS-0006)

•	Протокол Гидра (FSC-0072)

•	Флаг, указывающий время работы узла (FSC-0062)


Нодлист (FTS-0005)
Список узлов (FTS-0005)

Список узлов представляет собой удобный способ распространения и обновления данных об узлах сети. Это официальный документ в рамках сети.

Система Аргус поддерживает список узлов стандарта FTS-0005, который соответствует списку узлов сети Public Fidonet Network (PFN), публикуемым в каждую пятницу. Этот формат исторически известен как St. Louis nodelist format.

Стандартный FTS-0005 список узлов публикуется в виде файла, содержащего ASCII-текст. Имя файла соответствует маске NODELIST.%%%, где %%% — это три цифры, представляющие, дополненное слева нулями, число дней с начала года до пятницы, в которую был опубликован. Файл списка узлов содержит два типа строк: строки комментариев, начинающиеся с символа ‘;’ и строки данных. Каждая строка завершается ASCII-симолами перевода строки и возврата каретки, и не содержит пробелов и символов табуляции. Файл завершается символом конца файла (десятичный код 26, или “Ctrl-Z”).

Система Аргус снимает множество ограничений, накладываемых на список узлов стандартом FTS-0005, так, например, маска NODELIST.%%% не является обязательной для Аргуса, как и символ конца файла.

Каждая строка данных списка узлов состоит из восьми полей, разделенных символом запятой (‘,’). Так как использование пробельных символов в строке данных не допускается, вместо них применяется символ подчеркивания (‘_’).

Поле 1: “Ключевое слово”

Zone	Служит для определения зоны и ее координатора. Все последующие строки данных описывают регионы, сети, и узлы этой зоны. Узлы, определенные сразу после ключевого слова “Zone”, но до первого определения региона или хоста, являются административными узлами зоны.
Region	Служит для определения региона в пределах зоны и его координатора. Узлы, определенные сразу после ключевого слова “Region”, но до первого “Zone”, “Region” или “Host”, называются независимыми узлами данного региона.
Host	Служит для определения сети и ее координатора. Узлы, определенные после ключевого слова “Host”, но до первого “Zone”, “Region” или “Host”, являются узлами (или членами) данной сети.
Hub	Определяет узел, который является главным в подсегменте сети. Подсегмент включает все узлы до первого “Zone”, “Region”, “Host” или “Hub”.
Pvt	Определяет служебный узел в рамках сети. В соответствии с FTS-0005, этот флаг позволяет узлу иметь неопубликованный номер телефона.
Hold	Определяет временно нефункционирующий узел, на который почта обычно передается через сетевого координатора.
Down	Определяет полностью нефункционирующий узел, подлежащий скорому удалению из списка узлов. На этот узел почта передаваться не может.
пусто	Определяет обычный узел.

Поле 2: “Номер Зоны/Региона/Сети/Узла”

Это поле содержит только цифры, и в соответствии с FTS-0005, является номером в диапазоне 0-32767. Система Аргус накладывает иные ограничения на это поле: для зоны — до 4095, для сетей и узлов — до 65535.

Номера зон должны быть уникальными. Номера регионов и сетей должны быть уникальными только в пределах своей зоны, номера главных узлов подсегментов уникальны в пределах своей сети, номера узлов уникальны в пределах сети (в пределах региона, для независимых узлов региона, и в пределах зоны, для административных узлов зоны.

Поле 3: “Имя узла”

Это поле может содержать любые алфавитные символы, кроме пробелов и запятых. Подчеркивания используются, чтобы представить пробелы, а запятая определяет конец поля. Имя узла — это обычно название, под которым узел известен в сети.

Поле 4: “Географическое положение”

Это поле может содержать любые алфавитные символы, кроме пробелов и запятых. Подчеркивания используются, чтобы представить пробелы, а запятая определяет конец поля. Географическое положение обычно состоит из имени населенного пункта и административного деления.

Поле 5: “Имя системного оператора”

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

Поле 6: “Номер телефона”

Это поле представляет несколько числовых подполей, разделенных символом черточки (‘-’, десятичный код 45). В по спецификации FTS-0005 числовых подполей должно быть как минимум три, хотя обычно используется четыре. В системе Аргус нет ограничений на количество подполей, однако хотя бы один символ-разделитель (‘-’) должен присутствовать в номере телефона обязательно.

Поле номера телефона может содержать вместо номера зарезервированную строку “-Unpublished-”. По стандарту FTS-0005, узел с неопубликованным телефоном должен обязательно иметь ключевой слово Pvt в первом поле. Аргус такое ограничение не накладывает, и строка “-Unpublished-” может присутствовать вместо номера телефона у любого узла — в таком случае прозвонка на такой узел просто не будет производиться.

Поле 7: “Скорость”

По стандарту FTS-0005 это поле определяет максимальную скорость соединения узла, и может содержать одно из значений: 300, 1200, 2400, 9600, а в последних редакциях, 19200 или 38400. Система Аргус поддерживает это поле только для совместимости с FTS-0005, то есть значение поля 7 игнорируется.

Поле 8: “Флаги”

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

Вот несколько примеров строк данных списка узлов:

Zone,2,Europe_&_more,Belgium,Ward_Dossche,32-3-4480880,9600,CM,XX,U,K12,Z19

Region,46,Ukraine_and_Moldova,Donetsk_Ukraine,Anton_Kuznetsov,380-622-322106,9600,V34,V32B,V42B,CM,MO,XA,U,ENC

Host,469,Moldova_Net,Moldova,Michael_Karpov,373-2-246484,9600,V34,XX,MO,U,TSF

Hub,38,RIT_Zeppelin,Kishinau,Auto_Pilot,373-2-246888,9600,CM,MO,V34,XA,ZYX

,84,Blue_Carnation,Kishinau,Max_Masyutin,373-2-511511,9600,ZYX,XA


Протокол соединения EMSI (FSC-0056)

EMSI — это универсальный протокол инициирования почтовой сессии, разработанный для модемных соединений, работающих как по семибитным, так и по восьмибитным каналам. Протокол EMSI имеет неограниченные возможности для расширения благодаря своей простоте. Все последующие версии протокола обратно совместимы с предыдущими. Обмен данных в протоколе осуществляется передачей пакетов переменной длинны, состоящих из ASCII-символов в диапазоне 32-127, защищенных контрольной суммой.

При EMSI-соединении обеими сторонами передаются  друг другу следующие данные: параметры коммуникационной линии (например, 8N1, 7E1, 7O2, и т.д.), опции вызывающей/отвечающей системы, типы поддерживаемых протоколов передачи файлов, а также данные о том, обрабатывает ли система файловые запросы, поддерживает ли передачу файлов с длинными именами, и т.д.; данные о почтовой системе (код продукта, имя почтовой системы, номер версии и серийный номер. Все эти поля Аргус генерирует автоматически. Кроме этого, при EMSI-соединении передаются дополнительные данные из списка узлов, которые заполняется при настройке системы Аргус в диалоге Config/Dialup/Station: имя станции, список адресов, имя системного оператора, географическое положение станции, номер телефона и дополнительные флаги, а также пароль на сессию, прописываемый в Config/Passwords.

После успешного EMSI-соединения начинается сессия передачи файлов (WaZOO).


WaZOO-сессия и файловые запросы (FTS-0006)

Система Аргус во время WaZOO-сессии может поддерживать один из четырех (перечисленных ниже в порядке увеличения предпочтения) типов протоколов передачи файлов.

ZedZip	Классический Zmodem (однонаправленный протокол передачи) . Максимальный размером блока — 1K
ZedZap	Zmodem с максимальным размером блока 8K, за счет этого — улучшенная эффективность на качественных линиях
DirZap	ZedZap, c улучшенной на 5% эффективностью, за счет прямой передачей всех управляющих символов
Hydra	Двунаправленный (истинно дуплексный) протокол

Если во время сессии передачи файлов система Аргус принимает файл с расширением .REQ, то такой файл не сохраняется в Inbound, а рассматривается как файловый запрос в соответствии с стандартом FTS-0006.


Протокол Гидра (FSC-0072)

Протокол передачи файлов “Гидра” разработали Joaquim H. Homrighausen и Arjen G. Lentz в 1993 году. Гидра — это комбинация преимуществ более ранних протоколов — Zmodem и Janus. Основное достижение протокола Гидра (как и протокола EMSI) — это простота и расширяемость, несмотря на изначально высокую эффективность, особенно при двунаправленной передаче. Все последующие версии протокола обратно совместимы с предыдущими. Для работы протокола достаточно канала, пропускающего символы в диапазоне 32-126 и служебный символ 24. Гидра хорошо приспособлена к таймаутам (спутниковые / сетевые / модемные задержки), и, несмотря на это, сохраняет максимальную надежность, устойчивость и скорость.

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


Флаг нодлиста, указывающий время работы узла (FSC-0062)
Флаг, указывающий время работы узла (FSC-0062)

Не все узлы сети имеют возможность работать круглосуточно, поэтому в 1996 году David J. Thomas предложил ввести в список узлов дополнительный опциональный флаг, указывающий время работы узла. Этот флаг имеет форму Txy, где x представляет время начала, а y — время завершения работы узла, в соответствии со следующим форматом:

A	0:00		F	5:00		K	10:00		P	15:00		U	20:00
a	0:30		f	5:30		k	10:30		p	15:30		u	20:30
B	1:00		G	6:00		L	11:00		Q	16:00		V	21:00
b	1:30		g	6:30		l	11:30		q	16:30		v	21:30
C	2:00		H	7:00		M	12:00		R	17:00		W	22:00
c	2:30		h	7:30		m	12:30		r	17:30		w	22:30
D	3:00		I	8:00		N	13:00		S	18:00		X	23:00
d	3:30		i	8:30		n	13:30		s	18:30		x	23:30
E	4:00		J	9:00		O	14:00		T	19:00
e	4:30		j	9:30		o	14:30		t	19:30

Время указывается в UTC (Univarsal Coordinated Time), что соответствует времени Гринвичского меридиана без переводов на летнее/зимнее время.

Флаг Txy указывается после специального флага U.

Время работы станции может переваливать через полночь, то есть узлу, работающему с 18:00 до 6:00 UTC, соответствует флаг TSG.

Система Аргус использует этот флаг для прозвонки на узлы в их рабочее время.

Система Аргус позволяет объединять временные интервалы, используя перечисление флагов Txy. Например, TCh,TSW означает 2:00-6:30 и 18:00-22:00 UTC.

Система Аргус поддерживает расширенный флаг TxyL, определяющий время работы узла по местному времени, то есть узлу, работающему с 18:00 до 6:00 по местному времени соответствует флаг TSGL.


Поддерживаемые общие стандарты

•	Буфер отправки системы Binkley

•	Протокол BinkP


Binkley-style Outbound
Буфер отправки системы Binkley

Этот раздел раскрывает принципы структуры буфера отправки системы Binkley (Binkley-style outbound).

Буфер отправки системы Binkley был впервые применен в почтовой системе BinkleyTerm by Bit Bucket Software, после чего стал одним из стандартов де-факто для систем подобного рода.

Буфер системы Binkley представляет собой определенную структуру каталогов, содержащую файлы, подлежащие отправке. Буфер для текущей зоны (Default outbound zone) располагается в каталоге, прописанном в поле Outbound окна настройки каталогов. Буфера для других зон содержатся в каталогах с такими же именами, как и для текущей зоны, с одним лишь отличием, что в поле расширения их имени содержатся три шестнадцатеричных цифры, представляющие 12-битое число, являющееся номером соответствующей зоны. Вот от куда растут корни ограничения максимального номера зоны числом 4095 (FFF в шестнадцатеричной системе).

OUTBOUND	Буфер для текущей зоны (Default outbound zone)
OUTBOUND.001	Буфер для зоны 1 (Северная Америка)
OUTBOUND.03F	Буфер для зоны 63 (3F в шестнадцатеричной системе)

В буфере зоны располагаются пакеты, предназначенные для узлов этой зоны.

Пакеты подразделяются по типу приоритетности и по способу привязки.

Система Аргус поддерживает четыре типа приоритетности, перечисленные в порядке уменьшения приоритености: Crash, Direct, Normal и Hold. Имена типов имеют больше историческое, чем практическое значение.

По способу привязки пакеты подразделяются на прямые почтовые и списки привязанных файлов.

Тип	Инициирует прозвонку	Передается при исходящем соединении	Расширение прямого почтового пакета	Расширение списка привязанных файлов
Crash	да	да	CUT	CLO
Direct	да	да	DUT	DLO
Normal	нет	да	OUT	FLO
Hold	нет	нет	HUT	HLO

Прямой почтовый пакет —  это ничто иное, как стандартный FTS-0001 пакет сообщений, который перед отправкой удаленной системе переименовывается в файл с расширением PKT и именем, состоящим из восьми случайных шестнадцатеричных цифр.

Список привязанных файлов — это текстовый файл, содержащий строки, каждая из которых несет путь к файлу, подлежащему отправке. После успешной отправки файл может быть удален (если в строке перед путем к файлу стоит символ ^) или урезан до нулевого размера (если в строке перед путем к файлу стоит символ #).

Каждый пакет буфера отправки имеет имя файла, состоящее из восьми шестнадцатеричных цифр, первые четыре из которых представляют 32-битный номер сети соответствующей зоны, а остальные четыре - 32-битный номер узла. Отсюда и природа числа 65535, как максимальное значение номера сети и узла.

Для примера рассмотрим типичный пакет с именем — 01D50026.CLO, являющийся списком привязанных файлов, подлежащий отправке на узел 469/38 с приоритетом Crash.

01D5	шестнадцатеричное число 469 — номер сети
0026	шестнадцатеричное число 38 — номер узла
.CLO	список привязанных файлов с приоритетом Crash

Допустим, этот файл содержит строки:

#e:\fido\outbound\0000040.tu3

^d:\work\source\help\argus\hlpsrc.rar

e:\fido\staff\mw(all).rar

Это значит, что на узел будет передано 3 файла, причем e:\fido\outbound\0000040.tu3 после передачи будет урезан до нулевого размера, а d:\work\source\help\argus\hlpsrc.rar будет удален после передачи.

Для отправки определенным пойнтам узла, в соответствующем буфере (основном или для конкретной зоны) создается каталог с расширением .PNT, имя которого по аналогии с именем пакета представляет собой шестнадцатеричный номер сети и узла. В этот каталог помещаются прямые почтовые пакеты и списки привязанных файлов,  имя которого представляет шестнадцатеричный номер пойнта соответствующего узла. Например, пакет с именем 0000001e.CUT, вложенный в каталог 01D50066.PNT, будет отправлен пойнту 469/102.30

Кроме пакетов, в буфере отправки системы Binkley применяются также файлы следующих типов:

.BSY	Индикатор занятости узла.
.REQ	Список файлов, запрашиваемых у удаленного узла
.HRQ	Список файлов, запрошенных удаленным узлом


Протокол BinkP

Протокол BinkP, предназначенный для инициирования почтовой сессии и передачи файлов по двунаправленный двоичный канал, не допускающему ошибок (например, TCP/IP), был разработан в 1996 году Димой Маловым. BinkP сочетает в себе как протокол инициирования сессии, так и протокол передачи файлов.

Появление нового протокола BinkP дало настоящий толчок развитию Fido-коммуникаций на базе интернет - транспорта. До этого Fido-почта, долгие годы, если и передавалась через TCP/IP, то весьма неэффективно, используя протоколы, разработанные исключительно для модемных соединений — EMSI (для инициирования сессии) и Zmodem / Гидра (для передачи файлов). Дело в том, что эти протоколы содержали большую избыточность по времени и по передаваемых данным. Эта избыточность необходима для контроля ошибок, возникающих только при асинхронной передачи и модуляции цифровых данных по телефонным линиям.

За счет отсутствия квитирования, инициирование сессии через BinkP происходит во много раз быстрее, чем через EMSI при той же пропускной способности канала. Особый выигрыш ощущается на каналах с большой задержкой, особенно при передачи большого количества файлов малой длины.


Принципы асинхронной передачи

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

Если вы достаточно хорошо знакомы с концепциями работы последовательного порта, или используете систему Аргус только для работы по TCP/IP, Вы можете пропустить эту главу, однако, потратив несколько минут на ознакомление с ее содержанием Вы, возможно, избавитесь от множества вопросов и затруднительных ситуаций в будущем.

Вместо представления изнурительного описания всего неохватного количества деталей асинхронной последовательной коммуникации, в этой главе излагаются только те детали, которые Вам необходимо знать для настройки и работы с системой Аргус. Здесь излагаются концепции, о которых Вы должны иметь представление хотя бы перед тем, как подсоединить асинхронное последовательное устройство к вашему компьютеру.

Наиболее общее определение “последовательные коммуникации” включает что-либо  передающее и принимающее данные последовательным образом, где за одним битом следует другой в едином потоке, следующим по одному проводу. В “параллельных коммуникациях”, наоборот, множество бит передаются параллельно по множеству проводов. Термин “асинхронные коммуникации” просто-напросто означает, что поток данных включает стартовый и стоповый биты, которые отмечают начало и конец каждого символа в потоке данных. В “синхронных коммуникациях”, наоборот — стартовый и стоповый биты отсутствуют, но оба конца передачи синхронизированы по времени, чтобы знать, когда начинается и завершается передача каждого символа.

Когда пользователи PC говорят об “асинхронных коммуникациях”, речь обычно идет о коммуникациях, обеспеченных “последовательными портами” (или “COM-портами”) компьютера. К этим портам можно подсоединить множество различных периферийных устройств, таких как модемы, принтеры, плоттеры, устройства ввода и лабораторные инструменты — в общем, любые устройства, которые работают по тем же стандартам, что и последовательный порт. В этих главах термин “устройство” подразумевает именно устройство, подсоединенное к компьютеру через COM-порт.


Параметры линии

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

57600, CTS/RTS, 8N1

Это означает, что линия настроена на скорость передачи 57600 бод, используется тип контроля потока “CTS/RTS”, биты четности не используются, восемь бит данных, и один стоповый бит. Перед началом передачи оба конца должны иметь одинаковые параметры линии. В системе Аргус параметры линии настраиваются в диалоговом окне Config/Dialup/Ports.

Ниже приведены определения этих параметров, и руководства по правильной настройке значений.

Скорость передачи

Скорость передачи информации в коммуникациях зачастую путают со скоростью передачи бит — числом бит данных, переданных за одну секунду. Технически это неправильно и на самом деле она означает число событий коммуникационной линии за секунду. Так как одно событие может содержать информацию о более чем одном бите (как например, в протоколе V.34), скорость передачи может отличаться от количества бит в секунду. У последовательного порта каждое событие несет собой один бит, следовательно приравнивание скорости передачи к количеству переданных бит в секунду здесь верно.

Когда стоит выбор, обычно следует использовать наибольшую скорость передачи, чтобы достичь максимальной пропускной способности. Однако, программная или аппаратная среда может наложить ограничения на скорость передачи. Производительность компьютера, тип микросхемы, обслуживающей COM-порт, качество линии, тип коммуникационного драйвера Windows, загруженность системы — и все это в целом и/или по отдельности может ограничить максимально возможную скорость передачи. Обычно, любой 386 машине под Windows NT или Windows 95 хватает ресурсов, чтобы нормально обеспечить скорость передачи в 9600 бод. Более быстрые машины, оснащенные процессором 486, либо одним или несколькими Pentium / Pentium Pro, позволяют нормально работать на скорости, максимальной для стандартного коммуникационного драйвера Windows — 115.2K бод.

Есть и другие факторы, влияющие на выбор скорости передачи. Например, если Вы используете модем на 14400 бод, нет особого смысла в скорости обмена 115200 между компьютером и модемом. Уменьшая  скорость передачи Вы уменьшаете вероятность возникновения ошибок и снижаете загрузку системы.

Биты данных

Один байт данных может содержать 5, 6, 7 или 8 бит. В подавляющем большинстве случаев используется 8 бит, в редких случаях — 7.

Протоколы EMSI и Гидра, поддерживаемые системой Аргус, могут работать как с восьми-, так и с семибитным байтом.

Стоповые биты

Стоповые биты следуют в потоке за битами данных и отмечают конец байта данных. Стоповых бит может либо один, либо два.

Бит контроля четности

Бит контроля четности следует сразу после битов данных. В зависимости от выбранной схемы контроля, этот бит может означать четность или нечетность суммы бит данных. Передатчик вычисляет сумму бит данных и передает бит четности, приемник вычисляет сумму принятых бит данных и сравнивает ее с принятым битом четности. Если эти биты равны, полагается, что байт данных принят без ошибок, в противном случае приемник инициирует ошибку. Бит четности вычисляется по одному из возможных способов:

N	None	Бит четности не добавляется. Контроль четности не производится.
O	Odd	Бит равен 1, если сумма бит байта данных нечетна и 0 в противном случае
E	Even	Бит равен 1, если сумма бит байта данных четна и 0 в противном случае
M	Mark	Бит всегда равен 1, вне зависимости от суммы бит байта данных.
S	Space	Бит всегда равен 0, вне зависимости от суммы бит байта данных.

Чаще всего бит четности не добавляется, так как за контролем целостности потока данных следят внутренний протокол модема и протокол почтовой сессии.


Ошибки передачи

При операциях асинхронного ввода/вывода (как и при любых формах ввода/вывода), естественно, могут происходить ошибки. Ошибки возникают, когда байт, полученный приемником не соответствует посланному передатчиком. Это обычно происходит вследствие электрических помех.

Ошибки, инициируемые асинхронным приемопередатчиком, передаются от драйвера COM-порта Windows системе Аргус через стандартные средства интерфейса Win32. Система Аргус, в свою очередь, сообщает об этих ошибках в хронологическом журнале, приблизительно в следующей форме:

ComError CE_FRAME, In=8b, OutB=0b

“CE_FRAME” — это один из возможных типов ошибок, возвращаемых драйвером Windows, “InB”/”OutB” — число байт, находившихся в буферах приема и передачи в момент возникновения ошибки. Одновременно может возникнуть несколько типов ошибок, в этом случае они будут перечислены в той же строке, отделенные символом ‘|’

Следующие четыре типа ошибок инициируются самим асинхронным приемопередатчиком. Эти ошибки подробно описаны далее.

CE_BREAK	The hardware detected a break condition
CE_FRAME	The hardware detected a framing error
CE_RXPARITY	The hardware detected a parity error
CE_OVERRUN	A character-buffer overrun has occurred —  the next character is lost

Иногда (особенно при неправильно выбранном методе контроля потока данных) могут возникать ошибки, инициируемые драйвером COM-порта Windows, связанные с переполнением буферов приема/передачи.

CE_RXOVER	An input buffer overflow has occurred
CE_TXFULL	The application tried to transmit a character, but the output buffer was full

Драйвер Windows, по спецификации, может возвращать еще некоторые ошибки, которые на практике работы системы Аргус не могут возникать. Ограничимся лишь перечислением:

CE_IOE	An I/O error occurred during communications with the device
CE_MODE	The requested mode is not supported
CE_DNS	Windows 95 only: A parallel device is not selected
CE_OOP	Windows 95 only: A parallel device signaled that it is out of paper
CE_PTO	Windows 95 only: A time-out occurred on a parallel device

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

Остановимся подробнее на ошибках, инициируемых самим асинхронным приемопередатчиком.

Ошибка переполнения (CE_OVERRUN)

Ошибка переполнения (UART Overrun Error) свидетельствует о том, что второй байт поступил по последовательному порту до извлечения первого. Как правило, это означает, что линия инициализирована на слишком большую скорость, и драйвер COM-порта не успевает обрабатывать поток. Решением проблемы обычно является снижение скорости передачи до тех пор, пока ошибки не исчезнут. Однако, появление таких ошибок на скорости ниже 19200 бод служит поводом искать причины в другом — какой-нибудь Windows-процесс/сервис/драйвер может оставлять аппаратные прерывания запрещенными на длительный период времени или работать с очень большим приоритетом, не оставляя процессорного времени драйверу COM-порта.

Ошибки четности (CE_RXPARITY)

Ошибки четности (parity errors) возникают, когда принятый бит контроля четности не соответствует вычисленному. Например, если принимается бит “Odd”, а вычисляется “Even”, асинхронный приемопередатчик инициирует ошибку четности. Чаще всего, причиной возникновения ошибок четности является несогласованность между приемником и передатчиком в установленном методе контроля четности. Ошибки могут возникнуть сразу после того, как вы подсоединили новое устройство, не согласовав с ним метод контроля четности. Другим проявлением несогласованности может стать факт постоянного возникновения ошибок при передачи одних определенных символов, и полным отсутствием ошибок при передачи других.

Ошибки четности также возникают вследствие влияния помех на линию передачи — в этом случае ошибки появляются группой, иногда случайно, иногда с некоторой периодичностью, чередуясь с относительно долгими периодами безошибочной передачи. В этом случае решением проблемы может стать удаление кабеля от источников электромагнитных помех. Укоротить кабель — тоже выход.

Сбои кадра (CE_FRAME)

Сбои кадра (framing errors) происходят, когда биты данных в последовательном потоке не завершаются корректным стоповым битом, который всегда должен иметь значение ‘1’. Как и в случае ошибок четности, сбои кадра обычно возникают вследствие несоответствия параметров линии между приемником и передатчиком. Получив сбои кадра, проверьте параметры обоих сторон. Сбои кадра, чаще чем ошибки четности, могут быть вызваны электрическими помехами. И снова решением проблемы может стать укорачивание кабеля, и удаление его от источников помех.

Разрыв (CE_BREAK)

Разрыв на самом деле не является ошибкой приема или передачи — он представляет особое состояние линии. “Разрыв линии” или просто “разрыв” — это такое условие, при котором нулевые биты передаются подряд в течении времени, большему или равному времени передачи байта. Асинхронный приемопередатчик распознает это состояние и может сообщать системе Аргус через драйвер COM-порта факт разрыва линии. Разрывы предназначены для устройства о том, что ему необходимо отработать особое состояние. В коммуникациях системы Аргус сигнал разрыва специально не применяется, но он, как и в случаях со сбоями кадра и ошибками четности, может возникать как следствие помех или несогласованности устройств.


Контроль потока данных

Контроль потока данных (flow control) — это возможность приостанавливать поток данных при асинхронной передаче по запросу удаленной системы. Контроль потока данных необходим, когда скорость обработки принимаемых данных может быть меньше скорости поступления данных.

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

Контроль потока данных можно рассматривать с двух сторон — контроль потока принимаемых данных и контроль потока передаваемых данных. Контроль потока принимаемых данных означает возможность сообщать удаленной стороне о том, что ей следует приостановить передачу данных. Контроль потока передаваемых данных означает возможность правильно отрабатывать запрос удаленной стороны о приостановке передачи данных.

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

Если использовать 19200-BPS модем на скорости порта 38400, данные будут поступать от компьютера к модему с вдвое большей скоростью, то есть в среднем половину времени входной буфер модема будет заполнен, и модем будет запрашивать о приостановке передачи потока. Чтобы предотвратить потери данных, система Аргус должна правильно отрабатывать запросы модема на приостановку передачи потока.

Существует два типа контроля потока данных — аппаратный и программный.

Аппаратный контроль потока данных

Аппаратный контроль потока данных осуществляется при помощи контрольных сигналов последовательного кабеля. Название и значение этих сигналов соответствует спецификации RS-232.

Аппаратный контроль потока данных, в соответствии со стандартами, требует, чтобы модем поднял сигнал CTS перед тем, как PC начнет передавать символы. PC, в свою очередь, должен опустить сигнал RTS, когда его входной заполнится во время приема. Как только PC обработает весь входной буфер, он снова поднимает RTS.

Вот и все, что Вам необходимо знать об аппаратном контроле потока данных при работе с системой Аргус. Далее следует более детальный обзор темы.

PC		Устройство
data input		data output
data output		data input
DTR		DSR
RTS		CTS
DSR		DTR
CTS		RTS

По проводам data input/data output происходит последовательная асинхронная передача данных, остальные сигналы соответствуют спецификации RS-232.

DTR	data terminal ready	готовность устройства
RTS	request to send	запрос на посылку
DSR	data set ready	набор данных готов
CTS	clear to send	передача разрешена

Каждый сигнал может иметь одно из двух состояний: поднятое или опущенное (включен или выключен; on или off; high или low; raised или lowered; asserted или de-asserted).

Сигнал DTR поднимается системой Аргус сразу после инициализации COM-порта и означает что Аргус работает с этим портом. RTS тоже поднимается после инициализации COM-порта, и означает готовность Аргуса принимать данные. Так как чтением из порта в системе Аргус занимается отдельный подпроцесс с повышенным приоритетом, и переполнения буфера приема никогда не происходит, сигнал RTS поднят практически постоянно.

DSR — это входной сигнал от устройства, означающий, что устройство подсоединено и включено, но не обязательно готово принимать данные. CTS это входной сигнал от устройства, означающий, что устройство, кроме того что подсоединено и включено, готово к приему данных.

DTR и DSR применяются в системе Аргус не контроля потока данных, а для индикации готовности  к работе. Для аппаратного контроля потока в системе Аргус применяются RTS/CTS — если это не запрещено в диалоге настройки порта. Эти сигналы автоматически обрабатываются драйвером Windows, который опускает RTS при заполнении буфера приема и приостанавливает передачу при обнаружении падения сигнала CTS.

Программный контроль потока данных

Программный контроль потока данных (XOn/XOff flow control) осуществляется двумя специальными символами: символ приостановления потока — XOff  (ASCII 19) и символ продолжения потока — XOn (ASCII 17). Обычно в системе Аргус программный контроль потока данных не используется, но если разрешить его в диалоге настройки порта, коммуникационный драйвер будет приостанавливать передачу при получении символа XOff и продолжать при получении XOn.


Среда Аргуса

В этой главе описывается среда Аргуса: расширенные графические элементы, менеджер прозвонок, окно линии почтовой системы, и главное меню.


Расширенные элементы графического интерфейса

В этой главе описываются расширенные элементы графического интерфейса, используемые в Аргусе:

•	сетка ввода строк

•	окно хронологии

•	индикаторы активности модема

•	индикатор прогресса приема/передачи

•	нформационная панель присоединенного узла


Сетки ввода строк

Основным инструментом ввода и изображения строковых данных в Аргусе является сетка ввода строк. Сетки бывают двух видов — с фиксированным и переменным количеством строк.

Пример сетки с фиксированным числом строк

Пример сетки с переменным числом строк

Перемещаться по полям сетки можно клавишами-стрелками.

Перейти в режим изменения значения фокусированного поля можно одним из способов:

•	По нажатию левой кнопки мыши. При этом все значение поля становится отмеченным.

•	По нажатию клавиши Enter. Идентично нажатию левой кнопки мыши.

•	По нажатию клавиши F2. При этом отметки значения поля не происходит.

•	Просто начните вводить символы.

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

Вставить строку	Ctrl+Ins
Удалить строку	Ctrl+Del
Добавить строку	Ctrl+GrayPlus
Переместить строку	Ухватиться мышью за номер строки и перенести ее в нужное место

Нажатие правой кнопкой мыши в области сетки вызывает дополнительное меню со следующими пунктами:

Edit cell	Перейти в режим изменения значения фокусированного поля (редактировать ячейку)
Add row	Добавить строку в конец таблицы
Insert row	Вставить строку
Duplicate row	Дублировать строку
Delete row	Удалить текущую строку
Export table	Экспортировать содержимое таблицы в текстовый файл
Import table	Импортировать из текстового файла содержимое таблицы
Help on grid	Вызвать данную справку

См. также Расширенные элементы графического интерфейса


Окно хронологии

Последние 200 записей линии почтовой системы хранятся в окне хронологии. Обычно прокрутка строк в этом окне производится автоматически таким образом, чтобы последние занесенные строки били видимыми. Если перенести фокус на это окно, то автоматическая прокрутка приостанавливается, чтобы сделать удобным изучение всего содержимого окна. Если перенести фокус на другой элемент окна почтовой системы, то автоматическая прокрутка содержимого возобновляется.

См. также Расширенная хронология.


Индикаторы активности модема

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

Обычные символы отображаются черным цветом, а управляющие - голубым.

Каждое окно-индикатор — это своеобразный терминал, или матрица размером 9x30, состоящая из символов стандартного набора ASCII.

См. также Расширенные элементы графического интерфейса


Индикатор прогресса приема/передачи

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

При передаче файлов индикатор присутствует практически всегда, а при приеме — только если удаленная система заранее сообщила об объеме передаваемых данных.

См. также Расширенные элементы графического интерфейса


Индикатор сигналов модема

В правой нижней части окна почтовой системы расположен индикатор сигналов модема.

См. также Расширенные элементы графического интерфейса


Информационная панель присоединенного узла

Эта панель появляется во время почтовой сессии. В ней содержится информация о присоединенном узле.

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

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

Station - в этой секции указывается наименование станции.

Address - основной адрес узла, а так же его дополнительные адреса.

Sysop - имя и фамилия системного оператора узла.

Location - географическое местоположение узла (обычно город и страна).

Phone - телефонный номер узла.

Flags - дополнительные флаги узла.

Mailer - наименование и версия почтовой системы установленного на узле и с которым в данный момент ведется сессия.

см. также Окно линии почтовой системы и Расширенные элементы графического интерфейса


Менеджер прозвонок

Прозвонка на узел производится с интервалом в 2 минуты (+-50%). Этот интервал можно изменить в диалоге настройки Параметров Прозвонок.

Панель прозвонок

Node - Адрес узла

Phones - Список телефонов узла (перечислены через точку с запятой)

Owner - Название линии Аргуса, работающей с прозвонкой в настоящий момент, либо внешнее приложение, установившее флаг BSY в буфере отправки.

State - Текущий статус прозвонки (dialling / ringing / connect / handshake / EMSI / WaZoo)

Busy - Счетчик звонков, окончившихся приемом сигнала BUSY.

No c.  - Счетчик звонков, окончившихся неудачным соединением (NO CARRIER / NO ANSWER).

Fail - Счетчик звонков, окончившихся обрывом сессии из-за слишком большого количества ошибок или из-за потери несущей.

Если один из счетчиков достигает своего максимального значения, (или получен код VOICE от модема), то прозвонка на данный узел приостанавливается на 20 минут (+-50%). Этот интервал, а также максимальные значения счетчиков, можно изменить в диалоге настройки Параметров Прозвонок.

Type - Тип прозвонки

Manual - прозвонка создана оператором по команде Create Poll.

В окне ввода адресов можно указать одновременно несколько адресов, перечислив их в строке ввода через пробел. Manual Poll игнорирует время работы станции (флажки CM / U,Txy) и завершается после удачной исходящей сессии с назначенным узлом.

Cron - прозвонка создана Аргусом по Cron -событию.

Прозвонка типа Cron (периодическая прозвонка) аналогична прозвонке типа Outb, и завершается после удачной исходящей сессии с назначенным узлом.

Outb - прозвонка создана Аргусом по обнаружению пакета с приоритетом Crash или Direct в буфере отправки.

Outbound-Poll завершается после удачной исходящей сессии или в случае, если внешнее приложение удалило пакет, породивший прозвонку.


Окно линии почтовой системы

В этой главе описывается графический интерфейс и работа с окном линии почтовой системы Аргус. В каждый момент это окно может отображать одну из активных линий. Для открытия линий воспользуйтесь пунктом Open Dialup Line меню System.  Переключение между линиями осуществляется выбором соответствующей закладки в верхней части окна.

Окно состоит из следующих элементов: окна хронологии, индикаторов активности модема, индикатора сигналов модема .

Ожидание входящего звонка или возникновения прозвонки

Когда очередь прозвонок пуста (Буфер отправкиu пуст, либо в нем не присутствуют пакеты с приоритетом Crash или Direct), то почтовая система ждет либо появления прозвонки, либо входящего звонка. При этом в верхней части окна, в панели Status, выводится сообщение Idle.

см. также главу Менеджер прозвонок

Ожидание набора

Если очередь прозвонок не пуста, то в панели Status окна линии почтовой системы, выводится сообщение Waiting to dial, далее следует номер узла, который на данный момент является первым в очереди. В панели Timeout ведется отсчет времени до начала прозвонки.

Ожидание соединения

По окончании времени ожидания прозвонки, начинается набор номера вызываемого узла, надпись в панели Status меняется на Calling + номер вызываемого узла. В панели Timeout начинается отсчет времени до окончания ожидания соединения. Так же ожидание соединения происходит и при ответе почтовой системы на входящий звонок. Если до истечения времени ожидания соединение не произошло, то система переходит в режим ожидания набора следующего в очереди узла, либо в режим ожидания звонка.

Соединение

Когда произошло соединение, а также успешный обмен EMSI пакетами между станциями, то начинается собственно сессия. Экран окна линии почтовой системы изменяется: вместо индикаторов активности модема появляется информационная панель присоединенной станции, вместо панелей Status и Timeout, появляется две панели индикации хода передачи (вверху) и приема (внизу) почтовых пакетов и файлов. Ниже панелей индикации хода приема/передачи пишется тип протокола сессии и общее количество ошибок за сессию.

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

см. также Буфер отправки системы Binkley

Отсоединение

Отсоединение может произойти по нескольким причинам. Обычно это происходит когда ни вашей, ни присоединившейся станции больше нечего передавать. При этом происходит успешное завершение сессии. Однако также отсоединение может произойти в результате потери несущей частоты модема (NO CARRIER), либо в результате слишком большого количества ошибок, или предельно низкого падения скорости передачи. В таких случаях завершение сессия считается неудачной, и если вашей системе не удалось передать пакеты или файлы во время такой исходящей сессии, то Аргус попытается снова передать их при следующей сессии. Если с вашей станции был послан файловый запрос во время выполнения которого сессия завершилась, то запрос будет передан повторно, если ваша станция просто принимала файлы или пакеты, то будет сформирована повторная прозвонка на данный узел. При неудачном завершении неудачных сессий при входящих звонках, Аргус ничего не предпринимает. В любом случае при удачном либо не удачном завершении сессии, система переходит в состояние ожидания набора, если сессия закончилась неудачно или если в очередь прозвонок не пуста, либо в состояние ожидания звонка или возникновения прозвонки, если сессия завершилась удачно и очередь прозвонок пуста.


Главное меню

В этой главе рассматривается главное меню Аргуса, которое состоит из следующих пунктов:

•	Меню System

•	Меню Line

•	Меню Poll

•	Меню Tool

•	Меню Config

•	Меню Advanced

•	Меню Window

•	Меню Help


Меню System

Open Dialup Line - этот пункт служит для открытия окна линии почтовой системы, в раскрывающемся подменю будет предложено выбрать конкретную линию, окно которой Вы желаете открыть.

TCP/IP Daemon - этот пункт служит для запуска TCP/IP Daemon.

Interface Langaage - позволяет выбрать язык интерфейса.

Exit - выход из системы. Дублируется сочетанием клавиш Alt+X.


Меню Line

Reset - производит сброс и инициализацию отображаемой линии почтовой системы.

Answer call - производит ответ на входящий звонок. Полезно при запрещенном авто-ответе.

Flush Timeout - при выборе этого пункта происходит принудительное окончание ожидания прозвонки или соединения, и отображаемая линия соответственно переходит в режим набора или ожидания прозвонки.

Add to Timeout - при выборе этого пункта к значению времени ожидания прозвонки или соединения отображаемой линии прибавляется 30 сек.

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

Reject File - пропустить текущий принимаемый файл и отказаться от его приема в дальнейшем. Эта команда правильно воспринимается далеко не всеми системами.

Close - производит закрытие отображаемой линии почтовой системы.

см. так же Окно линии почтовой системы


Меню Poll

Create - создает прозвонку и ставит его в очередь для прозвонки на указанный узел.

Info - получить информацию о статусе прозвонки.

Reset - сбрасывает количество неудачных прозвонок.

Delete - удаляет прозвонку

Delete all - удаляет все сформированные Аргусом прозвонки и файловые запросы.

см. также Менеджер прозвонок


Меню Tool

Compile Nodelist - при выборе этого пункта происходит компиляция всех файлов типа  Nodelist, которые прописаны в окне конфигурации списка узлов.

Nodelist Browser - в последующих версиях выбор этого пункта приведет к открытию окна просмотра  списка доступных узлов. В данной версии этот пункт не реализован.

Edit File Request ... - этот пункт вызовет открытие окна редактирования файлового запроса.

Outbound Manager... - в последующих версиях будет вызывать Менеджер Буфера Отправки, в настоящей версии еще не реализован.


Меню Config

Pathnames - этот пункт вызывает диалоговое окно настройки каталогов

Nodelist - этот пункт вызывает диалоговое окно конфигурации списка узлов

Passwords - этот пункт вызывает диалоговое окно конфигурации паролей

Startup - этот пункт вызывает диалоговое окно конфигурации параметров запуска

Dialup - этот пункт вызывает диалоговое окно конфигурации модемных соединений

TCP/IP Daemon - этот пункт вызывает диалоговое окно конфигурации TCP/IP Daemon

см. также конфигурируем Аргус


Меню Advanced

Это меню вызывает расширенные настройки системы, которые описываются в отдельном разделе.


Меню Window

Create Mirror - при выборе этого пункта создается вторая копия окна Аргуса которая в точности

повторяет состояние главного окна.

Close - закрывает соответствующее окно Аргуса, если это было единственное окно системы, то происходит выход из нее.


Меню Help

Help Topics - при выборе этого пункта вызывается справочная система Аргус, с которой Вы в данный момент работаете.

Help Language - позволяет выбирать язык справочной системы Аргус.

Help on Help - инструкции по работе со справочной системой Аргус.

Argus Web Site - посетить Web-сервер поддержки системы Аргус — http://www.ritlabs.com/argus/

Credits - при выборе этого пункта открывается окно, в котором перечислены лица, так или иначе связаные с проектом Аргус.

License - при выборе этого пункта выводится окно с текстом лицензионного соглашения, которое Вы приняли при установке системы Аргус на Ваш компьютер.

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

Registration... - при выборе этого пункта выводится диалоговое окно регистрации программного продукта. Вам необходимо ввести ключ регистрации и пароль, полученные от дилера.


Конфигурируем Аргус

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

Эта глава содержит следующие разделы:

•	Каталоги

•	Основные пункты конфигурации

•	Конфигурация модемных соединений

•	Конфигурация TCP/IP

•	Расширенная конфигурация

•	Справочник по конфигурации Аргуса


Каталоги

Для того, чтобы система Аргус могла функционировать, ей необходимо знать пути к определенным файлам, а так же к каталогу для входящей и исходящей почты, и т.д. Настройка путей системы осуществляется в диалоговом окне Config / PathNames.

В этой главе описываются каталоги, с которыми работает Аргус (Home Directory и Special Directories), и их назначение.

Home Directory - основной каталог почтовой системы.

Special Directories - сетка ввода строк, в которой прописываются служебные каталоги почтовой системы: Secure inbound, Insecure inbound, Temporary inbound, Outbound и Log.

Настройка номера зоны по умолчанию

В поле ввода Outbound Default Zone (зона основного каталога для буфера отправки) Вы должны указать номер зоны, которому по умолчанию будет соответствовать каталог указанный в поле Outbound списка Special Directories. По умолчанию там установлено значение '2', что регионально соответствует Евроазиатскому континенту в сети FidoNet.

См. также Буфер отправки системы Binkley


Home Directory
Home directory - основной каталог, в котором располагается система Аргус и ее вспомогательные файлы. Здесь хранится файл конфигурации (config.bin), файл истории списков ввода (history.bin), список недокаченных файлов (badwazoo.lst), откомпилированный список узлов (nodelist.bin), флаг необходимости компиляции списка узлов (nodelist.ok), флаг необходимости экстренного выхода (exit.now) и.т.д. В Home Directory обычно (хотя не обязательно) находятся каталоги Special Directories. Текущий путь к Home Directory показывается в одноименной панели окна. Для того чтобы изменить этот путь, необходимо нажать на кнопку 'Change', расположенную в правой части этой панели. Как правило, Home Directory создается единожды при установке пакета Аргус на Ваш компьютер, и изменять его в дальнейшем не требуется.


Специальные каталоги

В этой главе описываются служебные каталоги почтовой системы: Secure inbound, Insecure inbound, Temporary inbound, Outbound и Log.

Обычно все, или большинство этих каталогов, расположены в Home Directory. В этом случае, пути к ним можно указывать не полностью (C:\FIDO\ARGUS\LOG), а относительно Home Directory (LOG). То есть, если в строке пути служебного каталога не указан диск, то путь к нему считается относительным и строится из Home Directory. Если строка пути начинается с косой черты, то путь строится из корневого каталога того же диска, на котором расположен Home Directory.

Если в строке пути к служебному каталогу диск указан, то такой путь считается абсолютным и не зависит от Home Directory.

Пример  трансляций записей таблицы Special Directories в строки пути. Пути строятся с учетом Home Directory C:\FIDO\ARGUS.

Запись	Транслируется в
LOG	C:\FIDO\ARGUS\LOG
IN\SEC	C:\FIDO\ARGUS\IN\SEC
\IN\PROT	C:\IN\PROT
R:\FL\OUT	R:\FL\OUT

См. также Расширенная хронология.


Secure inbound
Secure inbound - каталог, в который будут помещаться файлы, удачно и полностью принятые во время соединения с парольным линком.

См. также Special Directories.


Insecure inbound
Insecure inbound - каталог, в который будут помещаться файлы, удачно и полностью принятые во время соединения с непарольным линком.

См. также Special Directories.


Temporary inbound
Temporary inbound - в этом каталоге создаются файлы, находящиеся в стадии приема. После успешного завершения файл переносится в Secure Inbound или Insecure inbound.

Если файл с таким именем уже существует в Inbound, то новый будет храниться здесь до тех пор, пока старый не будет удален или перенесен вследствие обработки другой программой.

Если сессия обрывается в момент приема файла, принятая часть будет сохранена здесь, чтобы впоследствии принимать этот файл не с начала, а с сохраненной позиции.

См. также Special Directories.


Outbound
Outbound - буфер отправки системы Binkley. В этом каталоге Аргус будет искать отправляемые пакеты.

См. также Special Directories.


Log
Log -в этом каталоге ведется история Менеджера Прозвонок (polls.log), TCP/IP Deamon’а (ipdaemon.log), периодического запуска внешних приложений (cronapps.log), протокол модемных и TCP/IP (ip_?.log) линий почтовой системы, а также расширенная хронология.

См. также Special Directories.


Основные пункты конфигурации

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

•	Конфигурация списка узлов

•	Конфигурация паролей

•	Конфигурация параметров запуска

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


Конфигурация нодлиста
Конфигурация списка узлов

Список узлов представляет собой удобный способ распространения и обновления данных о структуре  сети. Это официальный документ в рамках сети (более подробно описан в отдельной главе Список узлов (FTS-0005) ). Аргус имеет возможность работать как с одним или несколькими списками узлов, так и вообще без них.

Список узлов конфигурируются в диалоговом окне Nodelist Configuration меню Config.

Files

Files - сетка ввода имен файлов списков узлов.

В именах файлов списков узлов можно использовать следующие символы-маски:

*	любая комбинация символов
?	любой символ
%	цифра ('0'-'9')

Количество файлов, ровно как и их суммарный размер, не ограничены.

Вы можете работать с Аргусом без список узлов, прописав номера телефонов (интернет - адреса) узлов, на которые Вы обычно звоните.

Пример содержимого таблицы Files, для использования стандартного FidoNet NodeList со списком пойнтов сети 5020.

Phones

Phones - сетка телефонных префиксов. Если номер телефона, на который должна производиться прозвонка, начинается со значения, указанного в поле колонки Phone Prefix, то это значение будет заменено на значение соответствующего  поля из колонки Replace With.

Пример таблицы Phones

При таком содержимом таблицы Phones, префикс 7-095- будет заменен на пустоту (то есть будет удаляться), префикс 373-2- на 8w0422, а ко всем остальным номерам будет добавлен 8w10. Таким образом, номер 373-2-146151 будет набран как 8w0422146151, номер 7-095-654321 как 7654321, а номер 46-46-738100 как 8w104646738100.

При работе в автономном режиме может возникать необходимость автоматический компиляции списка узлов, которая производится по обнаружению файла nodelist.ok в Home Directory.


Конфигурация паролей

В этой сетке ввода строк прописываются пароли на сессии с определенными узлами. В одном поле Nodes можно перечислять несколько узлов через пробел. Использование адресных масок в текущей версии не допускается.

Если пришло входящее соединение от системы, ни на один из адресов которой у нас не прописан пароль, то такое соединение считается непарольным. Все файлы и почта, принятые с этой системы, помещаются в Insecure Inbound. Если удаленная система при таком соединении предложила свой пароль на сессию, об этом сообщается в хронологическом журнале: “Remote proposes password....”

Если, при входящем соединении, на один из адресов удаленной системы у нас прописан пароль, но он не совпал с предложенным удаленной системой (или удаленная система не предложила пароля), то такая сессия прерывается, а в хронологическом журнале сообщается “Remote presented .... when .... required” (или “Remote presented no password when .... required”). При этом удаленной системе передается наша часть EMSI-данных, с ключевым словом “BAD_PASSWORD” (или “NO_PASSWORD”), чтобы сообщить ей об ошибке пароля. После этого в хронологическом журнале сообщается “Password security violation - disconnecting” и производится физическое отсоединение.

При совпадении паролей сессия считается парольной, все принятые файлы и почта помещается в Secure Inbound, а в хронологическом журнале сообщается “Password-protected session”.


Конфигурация параметров запуска

В диалоговом окне Startup Configuration настраиваются параметры, которые учитываются Аргусом только при запуске.

Вызов данного окна осуществляется через меню Config /  Startup.

Настройка автоматического открытия линий почтовой системы

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

В списке Dialup Lines / Auto-open перечисляются модемные линии почтовой системы, которые будут автоматически открыты при запуске программы. Оставшиеся линии (которые можно будет открыть вручную, через System / Open Dialup Line) перечисляются в списке Dialup Lines / Manual-open.

Если Вы выделите одну или несколько линий из списка Manual-open, то после нажатия кнопки > эти линии попадут в список Auto-open, и впредь будут открываться автоматически при старте системы. Если Вы желаете снова вручную открывать какую либо линию, то выделите ее имя в списке Auto-open, и нажмите кнопку <.

Настройка автоматического запуска TCP/IP Daemon

Опция Auto-Run TCP/IP Daemon служит для автоматического запуска TCP/IP Daemon.

Fast logging

При использовании стандартных установок, система Аргус держит файлы хронологии закрытыми, открывая их лишь в случае необходимости добавления новых данных. Это дает возможность переносить или стирать эти файлы без перезапуска Аргуса. При использовании опции Fast logging диалога, Аргус может держать файлы хронологии открытыми, что позволяет сэкономить системное время и ресурсы за счет избавления от необходимости переоткрывать эти файлы при каждой операции записи. При этом, для удаления / переноса хронологии необходим перезапуск Аргуса.

См. также Расширенная хронология.


Расширенная хронология

Кроме готовой текстовой хронологии, предназначенной для восприятия системным администратором, Аргус ведет также файлы расширенной хронологии:

access_log	Общая хронология переданных файлов в стандарте NCSA
agent_log	Общая хронология типов удаленных почтовых систем в стандарте NCSA
binary_log	Общая хронология сессий и переданных данных в двоичном формате

Файлы access_log и agent_log доступны для анализа любым NCSA-совместимым анализатором статистики. Пример результатов обработки этих файлов можно получить по http://www.ritlabs.com/stat/argus.html, где находится свежая статистика fido-сервера RIT Zeppelin (2:469/38), сформированная программой analog2.11/Win32 © Stephen R. E. Turner.

Формат файла binary_log совместим с используемым в T-Mail © Andy Elkin и BinkD © Dima Maloff. Для обработки результатов этого файла можно воспользоваться утилитой T-Hist © Michael Markowsky (2:5020/378@fidonet).

Способы работы с файлами хронологии

При использовании стандартных установок, система Аргус держит файлы хронологии закрытыми, открывая их лишь в случае необходимости добавления новых данных. Это дает возможность переносить или стирать эти файлы без перезапуска Аргуса. При использовании опции Fast logging диалога Config / Startup, Аргус может держать файлы хронологии открытыми, что позволяет сэкономить системное время и ресурсы за счет избавления от необходимости переоткрывать эти файлы при каждой операции записи. При этом, для удаления / переноса хронологии необходим перезапуск Аргуса.


Конфигурация модемных соединений

Здесь содержится информация, с которой необходимо ознакомиться для правильной настройки модемных соединений. Если Вы используете систему Аргус только для работы по TCP/IP, эту главу можно пропустить и перейти к конфигурации TCP/IP.

В этой главе описывается элементы основной панели конфигурации модемных соединений, а также все дополнительные окна конфигурации.

Глава включает следующие разделы:

•	Основная панель

•	Конфигурация линий почтовой системы

•	Настройка EMSI-данных

•	Настройка коммуникационных портов

•	Установка битовых параметров линий

•	Конфигурация модемов

•	Управляющие символы модема

•	Схемы ограничения прозвонок

•	Таблица переопределений узлов


Основная панель
Основная панель конфигурации модемных соединений

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

Группы конфигурации модемных соединений системы Аргус.

Lines	Конфигурация линий почтовой системы
Station	Настройка EMSI-данных
Ports	Настройка коммуникационных портов
Modems	Конфигурация модемов
Restrictions	Схемы ограничения прозвонок

Кнопки панели конфигурации модемных соединений

New	Позволяет создать новый элемент в группе, со значениями, принятыми по умолчанию.
Edit	Редактирует выбранный элемент группы.
Copy	Создает новый элемент в группе, со значениями, скопированными с выюранного элемента.
Delete	Удаляет элемент из группы и переносит в список удаленных элементов. Последний элемент группы Lines, а также главный элемент любой другой группы удалить нельзя.
Undelete	Восстанавливает все удаленные элементы (помещенные в список удаленных элементов).
Default	Назначает выбранный элемент группы главным элементом, или “элементом по умолчанию”. Об этом свидетельствует перемещение красного кружка — маркера главного элемента.


Конфигурация линий почтовой системы

В этом окне происходит привязка компонентов групп и привязка ивентов к линии почтовой системы. Окно состоит из двух страничек - General и Events.

General

Привязать можно как к определенному элементу, так и к Default — “элементу по умолчанию” (в этом случае тогда при переназначении этого элемента в группе, линия автоматически привяжется к новому элементу).

Line name	Название линии. Высвечивается в ярлычке окна почтовой системы при активизированной линии.
Station template	EMSI-данные, используемые линией.
Port	COM-port, используемый линией.
Modem	Модем, используемый линией.
Restrictions	Ограничения, используемые линией.
Log file name	Имя файла хронологического журнала. Если полный путь не указан, файл располагается в каталоге Log.

См. также Расширенная хронология.

Events

В списке Available находятся ивенты, не привязанные к данной линии. Привязать их можно нажатием кнопки > , это перенесет ивент в список Linked и привяжет к линии.


Настройка EMSI-данных

Диалог настройки EMSI-данных состоит из трех страничек: Данные EMSI, Приглашение и AKA.

Данные EMSI

Данные о Вашей станции, передаваемые удаленной машине при EMSI-соединении. Обычно эти данные в точности совпадают с данными о Вашей станции из список узлов.

Station Name	Название почтовой (файловой) станции
Address list	Список адресов станции (AKA), через пробел
Sysop name	Имя системного оператора
Location	Географическое положение станции
Phone	Номер телефона
Flags	Флаги

Приглашение

Приглашение - это текст, который выводится на экран пользователю, который соединяется с Аргусом, обычной терминальной программой (а не почтовой системой стандарта FTN), чтобы воспользоваться каким-либо консольным сервисом, введя с клавиатуры специальную последовательность.

AKA

Аргус имеет возможность при соединении с определенными адресами подставлять в качестве своего списка адресов иные значения, нежели Address list таблицы данных EMSI.

В поле “Удаленные адреса” можно перечислять несколько адресов или масок через пробел. При совпадении одного из адресов поля “Удаленные адреса” с одним из адресов удаленной системы в качестве списка адресов нашей станции будут предъявлены адреса поля “Локальные адреса” соответствующего ряда. Формат поля “Локальные адреса” идентичен формату поля Address list таблицы данных EMSI.

Механизм AKA работает как на EMSI, так и на BinkP-соединении.


Настройка коммуникационных портов

Параметры асинхронного коммуникационного порта: номер, скорость обмена, flow control и количество бит.

Скорости обмена свыше 38400 следует использовать с большой осторожностью, т.к. аппаратура или операционная система может не успевать обрабатывать поток, об этом может свидетельствовать       появление в хронологическом журнале ошибок CE_BREAK, CE_OVERRUN, CE_FRAME, и.т.д.


Установка битовых параметров линий

Диалог установки битовых параметров линий вызывается нажатием соответствующей кнопки окна настройки коммуникационных портов.


Конфигурация модемов

External Fax Receiver

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

General Commands

В сетке ввода строк содержатся управляющие строки (последовательности/команды) модема. В строках, посылаемых модему, можно указывать управляющие спецсимволы, которые описаны в отдельной главе Modem control characters.

Init	ATZ|	Строка инициализации модема. Посылается при запуске линии, по окончании сессии, каждые две минуты вне сессии (для проверки модема), и, перед набором номера.
Answer	ATA!	Строка, посылаемая модему по обнаружению сигнала RING. После посылки этой строки происходит переход линии в режим ожидания соединения.
Dial prefix	ATDP	Префикс команды набора номера. Полная команда набора номера состоит из префикса, собственно номера и суффикса,
Dial suffix	!	Суффикс команды набора номера. Суффикс в большинстве случаев состоит из ! (спецсимвол CR без ожидания)
Hangup	!`v~~^`!!`	Команда физического отсоединения. Большинство модемов производят отсоединение по опусканию сигнала DTR. Данная строка посылает CR, ожидает 0.1 сек, опускает DTR, ожидает 1.0 сек, подымает DTR, ожидает 0.1 сек, дважды посылает CR, и снова ожидает 0.1 сек.
Exit	нет

См. также Контроль потока данных

Responses

Сетка ввода стандартных строк ответов модема. В каждом поле можно перечислить через пробел несколько вариантов ответа для данного типа. Сам же пробел в строке ответа заменяется на символ подчеркивания.

Flags

Перед прозвонкой на узел с определенными флагами (которые указаны в списке узлов или непосредственно в настройках узлов в Аргусе), можно инициализировать модем для использования других протоколов соединения, то есть использовать иные Init string / Dial Prefix / Dial Suffix,  нежели описаны в General Commands.

В поле первой колонки (Flag list) перечисляются флаги, во второй (Init/Prefix/Suffix) - замещенные Init string / Dial Prefix / Dial Suffix.

Флаги в поле Flag List можно перечислять, используя логические операции ИЛИ / И. "Пробел" означает ИЛИ, "запятая" - И. Приоритет И выше.

Пример перечисления флагов с использованием логических операций.

Поле колонки flags list	Трактовка
PEP	PEP
HST H16	HST или H16
V32B,V42B	V32B вместе с V42B
ZYX,V34 32T	или ZYX вместе с V34, или V32T

В поле второй колонки (Init/Prefix/Suffix) таблицы Flags перечисляются через дробь: Init String, Dial Prefix и Dial Suffix. Одиночная точка на месте Dial Prefix и Dial Suffix интерпретируется как соответствующее значение из General Commands.

Пример формирования строк инициализации модема и набора номера, на основе значений сеток General Commands и Flags List:

Номер телефона	323323

Значения General Commands

Init	ATZ|
Dial Prefix	ATDP
Dial Suffix	!
Значение поля колонки Flags List	Строка инициализации перед прозвонкой	Строка набора номера	Комментарий
ATB1|/ATM0DP/!	ATB1|	ATDP323323!	Init string - ATB1| Prefix - ATM0DP Suffix - !
ATM0|/ATDT	ATM0|	ATDT323323!	Init string - ATM0| Prefix - ATDT Suffix - !
ATH1|	ATH1|	ATDP323323!	Пpификс и суффикс опущены - беpем их из General Commands
/ATX7DP/@!		ATX7DP323323@!	Одиночная точка на месте строки инициализации - стpока инициализации пуста
ATB0|/./@!	ATB0|	ATDP323323@!	Одиночная точка на месте Dial Prefix - берем его из General Commands


Управляющие символы модема

Интерпретация спецсимволов команд модема, используемых в сетке ввода строк Commands диалогового окна Modem Configuration

Символ	Код	Действие
`	60	задержка 0.1 сек
~	7E	задержка 0.5 сек
^	5E	поднять DTR
v	76	опустить DTR
|	7C	послать CR (0D) и ждать от модема ответа OK с таймаутом 3 сек
!	21	послать CR без ожидания
\	5C	послать следующий символ как есть (без интерпретации как специальный). Например, \~  -  послать тильду

См. также Контроль потока данных


Прием факсов

Аргус имеет возможность, помимо передачи файлов по FTN-технологии, заниматься приемом факсов посредством внешних программ - приемщиков. Отправка факсов в текущей версии Аргуса не реализована.

Если при ответе на входящий звонок от модема поступило сообщение +FCON, CONNECT FAX, или +FCO - это служит сигналом для начала факсимильного приема. При обнаружении этой строки Аргус передает управление портом внешней программе, согласно значению строки External Fax Receeiver диалога конфигурации модемов. В этой строке можно использовать специальные параметры, согласно главе Сервисы.

Большинство современных модемов работают с факсами по стандарту, близкому к Class 2, из-за его простоты и удобства, поэтому, для приема факсов ваш модем должен быть настроен на работу с Class 2. Это производится добавлением в строку инициализации команды +FCLASS=2 (или +FCLASS=2.0 для модемов USR, или +FCLASS=6 для модемов ZyXEL). Работа с другими классами в текущей версии системы Аргус не предусмотрена.

Пример настроек окна Config/Dialup/Modems для модема ZyXEL E+ для приема факсов с использованием программы BGFAX  B.J. Guillot:

External Fax receiver	c:\bgfax\bgfax32.exe /fzyx c:\bgfax h%h z /dte:%b
Commands/Init	ATZ|AT+FCLASS=6|
Commands/Answer	AT+FAA=1;A!


Схемы ограничений прозвонок

Ограничения на прозвонку:

Required -условия, необходимые для того, чтобы производить прозвонку.

Forbidden - условия достаточные для того, чтобы прозвонку не производить. В текущей версии реализованы условия трех типов - маска адресов, флаги узла и начало полного (обычно 10 или 11 цифр) номера телефона.

Допускается объединение адресов в группу, с использованием масок.

Условия перечисляются через пробел.

Пример

Required	+7-095- CM 2:50*/* HST
Звонить на узел только если его телефон начинается на +7-095-, у него прописаны флажки СM и HST и он находится в 50-ом регионе второй зоны.

Forbidden	2:5020/666.* +7-095-212- PEP ISDN
Не звонить если адрес узла 2:5020/66*, или номер телефона узла начинается на +7-095-212-, или у узла прописан флажок PEP или ISDN.


Таблица переопределений узлов
Таблица переопределений модемных узлов

Сетка ввода строк, в которой можно переопределить для узла один или более номеров телефона, переопределить флаги и время работы узла, вместо указанных в списке узлов. Номер телефона можно указывать косвенно (через список узлов).

Если узел не находится в список узлов, и вы указали номер его телефона без флагов, Аргус начнет автоматически (по появлению пакета с приоритетом Crash или Direct в буфере отправки) звонить этому узлу только в его ZMH (а пойнту вообще никогда), так как у этого узла отсутствуют, флаги, в том числе описывающие время его работы (CM/U,Txy). Очевидно, но тем не менее. К тому же, прозвонка может не происходить из-за того, что флаги узла прописаны не до конца, и/или могут не соответствовать Dial Restrictions.

Вы можете работать с Аргусом без список узлов, указав здесь номера телефонов узлов, на которые Вы обычно звоните.

Формат переопределения узла:

номер,флаги

Номер в переопределении можно указывать как прямо, например +31-133-456-1850,CM так и косвенно (номер будет извлечен из текущего списка узлов) например 5:133/555,CM

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

Значение поля колонки Node	Значение поля колонки Override	Комментарий
55:133/561	+31-133-456-1850	Сменился номер
55:133/562	55:133/562,U,TEX	Сменилось время работы узла
5:133/555	5:133/555,U,TAB,TDE	Узел работает с 00:00 до 01:00 и с 03:00 до 04:00 по UTC
55:133/563	55:133/563,CM,V34	Появился новый (V.34) модем
3:34/3443	333-031,CM 333-032,CM 333-033,CM	Круглосуточный трехлинейный узел
3:383/513	3:383/513 3:383/550 3:383/560	Три адреса у одного многолинейного узла
3:383/514	3:383/513,HST,CM 3:383/550,V34,U,TACL	Первая линия работает круглосуточно, а вторая - с 00:00 до 02:00 по местному времени.


Конфигурация TCP/IP

В этой главе описываются принципы работы системы Аргус по TCP/IP. Если Вы используете Аргус только для работы с коммутируемыми модемными соединениями, эту главу можно пропустить.

•	TCP/IP Daemon

•	Диалог кофигурации TCP/IP Daemon

•	Специальные флаги TCP/IP


TCP/IP Daemon

Daemon - это своеобразный менеджер, управляющий динамическим созданием и освобождением линий почтовой системы, работающий с входящими/исходящими TCP/IP соединениями.

Как только с системой Аргус произошло очередное входящее/исходящее соединение,  Daemon открывает новую линию почтовой системы и инициирует соответствующий почтовый протокол высокого уровня. По окончании почтовой сессии Daemon закрывает линию и завершает соединение.

TCP/IP Daemon системы Аргус поддерживает три основных протокола высокого уровня, работающих по транспортному протоколу TCP/IP: Raw (или ifcico), Telnet и BinkP.

Raw - протокол в точности имитирует установленное модемное соединение, с той лишь разницей, что в качестве транспорта используется не протокол модема, а TCP/IP, исключающий возможность появления ошибок. Обычно используется на порту 60179.

Telnet - это тот же Raw, но работающий в соответствии со спецификацией протокола RFC854. Обычно используется на портах 23 или 60177.

BinkP - принципиально новый протокол, который не занимается имитацией модемного соединения, следовательно позволяет избавиться от большой избыточности протоколов Raw/Telnet, что дает ощутимый выигрыш, особенно на медленных каналах. Обычно используется на порту 24554. Подробно описан в главе BinkP Protocol.

См. также:

Диалог кофигурации TCP/IP Daemon

Специальные флаги TCP/IP


Диалог кофигурации TCP/IP Daemon

Диалог конфигурации TCP/IP Daemon вызывается посредством меню Config / TCP/IP Daemon.

General

Здесь описываются параметры соединений TCP/IP. В сетке Incoming Ports указываются номера портов, на которых TCP/IP Daemon ожидает входные соединения для каждого из трех протоколов.

Station

Данные о станции, передаваемые удаленной системе. Во многом схожи с данными, конфигурируемыми для модемных EMSI-соединений. Однако, если Вы намерены связываться с почтовой системой BinkD by Dima Maloff, использующий протокол BinkP, адреса в поле Address List следует указывать в соответствии с 5D-адресацией, то есть с обязательным указанием домена, например 2:469/84@fidonet. Если Вы укажете свой адрес без домена, например 2:469/84, то BinkD не сможет его интерпретировать как 5D и аварийно завершит соединение.

Restrictions

Ограничения для исходящих IP-соединений.

Required -условия, необходимые для того, чтобы производить исходящие соединения .

Forbidden - условия достаточные для того, чтобы соединений не производить. В текущей версии реализованы условия двух типов - маска адресов и флаги узла.

Условия ограничения для исходящих IP-соединений схожи с условиями ограничений модемных прозвонок.

Nodes

Сетка переопределений TCP/IP узлов, в которой можно переопределить для узла один или более IP-адросов, портов или протоколов. Здесь также можно переопределить флаги и время работы узла, вместо указанных в списке IP - узлов. IP-адрес можно указывать косвенно (через список IP - узлов).

Если узел не находится в списке узлов, и Вы указали его IP-адрес без флагов, Аргус начнет автоматически (по появлению пакета с приоритетом Crash или Direct в буфере отправки) звонить этому узлу только в его ZMH (а пойнту вообще никогда), так как у этого узла отсутствуют, флаги, в том числе описывающие время его работы (CM/ U,Txy). Очевидно, но тем не менее. К тому же, прозвонка может не происходить из-за того, что флаги узла прописаны не до конца, и/или могут не соответствовать Dial Restrictions, описанных в этом диалоговом окне.

Вы можете работать с Аргусом без списка IP-узлов, указав здесь IP-адреса узлов, на которые Вы обычно звоните.

Таблица переопределений TCP/IP узлов схожа с таблицей переопределений модемных узлов.

Формат переопределения узла: адрес,флаги

Узел, работающий по IP должен обязательно содержать один из специальных TCP/IP-флагов.

Адрес в переопределении можно указывать как прямо, например 193.219.215.111,CM,IFC так и косвенно (номер будет извлечен из текущего списка узлов) например 5:133/555,CM,IFC

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

Адрес можно задавать как в цифровом, так и в символьном (DNS) виде, то есть в виде имени Интернет-хоста. Для указания адреса в символьном виде, его необходимо заключать в кавычки: "fido.ritlabs.com",CM,IFC

Для переопределения IP-порта его значение указывается после адреса через символ подчеркивания: "fido.ritlabs.com"_23,CM,IFC или "193.219.215.111"_23,CM,IFC

См. также:

Таблица переопределений модемных узлов

TCP/IP Daemon

Специальные флаги TCP/IP.


Специальные флаги TCP/IP

TCP	В соответствии со стандартом IP-листа, этот флаг обязателен для любого TCP/IP узла, однако система Аргус снимает это ограничение.
IFC	Raw (ifcifo) (по умолчанию порт 60179)
TEL или TELNET	Telnet (по умолчанию порт 23)
BND или BINKD	BinkP (по умолчанию порт 24554)

См. также:

TCP/IP Daemon

Диалог кофигурации TCP/IP Daemon

Специальные флаги TCP/IP


Расширенная конфигурация

Расширенная конфигурация, вызываемая посредством меню Advanced, включает следующие разделы:

•	Внешние приложения

•	Файловые запросоы

•	Периодические прозвонки

•	Ивенты

•	Параметры прозвонок

Как правило, для работы в сети в качестве пойнта, внесения изменений в эти настройки не требуется


Конфигурация файловых запросов

General

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

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

Disable all requests - запретить файловые запросы вообще. В EMSI-пакете об этом будет сообщено удаленной системе флажком NRQ. Если удаленная система проигнорирует этот флажок, и попытается передать REQ-файлы, они будут отвергнуты протоколом.

Recursive paths - искать во всех вложенных подкаталогах. Глубина рекурсии не ограничена.

Allow Masks - разрешить запросы по маскам. Поддерживаются расширенные маски, удовлетворяющие условиям длинных имен.

Real-time search - искать запрашиваемые файлы в реальном времени, то есть в течении сессии. Рекомендуется для небольших файловых баз с частым периодом обновления файлов. Например, на нашей станции (2:469/38) на поиск по базе, содержащей 8000 файлов в 120 каталогах уходит 10 секунд онлайна. Данная функция в текущей версии используется по умолчанию, и ее отключение не допустимо.

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

Aliases

Часто встречается случай,  когда запрос осуществляется не по имени файла, а по псевдониму.  Например, общеупотребителен псевдоним FILES. При запросе этого "файла" передается файл, содержащий полный список всех файлов системы. У  каждой системы этот файл имеет собственное  уникальное имя, но почти везде можно запросить FILES и получить что-нибудь вроде rz-all.zip в ответ.

В поле Alias сетки ввода строк Alias прописывается псевдоним файла, в поле Path - путь к файлу, который будет отдаваться по этому псевдониму, а в поле Password - необязательный пароль.

В псевдонимах файловых запросов можно использовать маски (как в поле Alias, так и в поле Path). Предшествующий символ '>' означает самый свежий файл, попадающий под эту маску. На один псевдоним можно назначить несколько файлов, перечислив их через пробел.

External Request Processing (SRIF)

Аргус имеет возможность вызывать внешний обработчик файловых запросов посредством стандарта SRIF (Standard Request Information File), который разработали Gordian Schuermann & Mirko Mucko.

Использование внешнего обработчика разрешается опцией Use SRIF. При этом остальные вышеописанные настройки файловых запросов игнорируются и вся забота перекладывается на плечи внешнего обработчика. Суть метода SRIF заключается в передаче данных внешнему обработчику через временный файл, который создается почтовой системой при файловом запросе.

Имя исполнимого файла внешнего обработчика задается в поле Standard Request Information File - External Processor. Ключевое слово %SRIF% в этом поле заменяется на имя временного файла.

Пример поля при использовании AllFix © Harms Software Eng.:

c:\fido\allfix\allfix Rp -SRIF %SRIF%


Периодические прозвонки

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

Если периодическая прозвонка возникает в момент, когда прозвонка на данный адрес уже существует - это служит сигналом обнуления все счетчики этой прозвонки (счетчик звонков, окончившихся приемом сигнала BUSY, счетчик звонков, окончившихся неудачным соединением NO CARRIER / NO ANSWER, счетчик звонков, окончившихся обрывом сессии из-за слишком большого количества ошибок или из-за потери несущей).

См. также Менеджер прозвонок


События
Ивенты

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

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

Ивент имеет периодичность, описываемую в формате cron, длительность действия и список атомов.

Атом - это частица ивента, влияющая на один параметр конкретной линии, к которой привязан ивент.

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

Ивент изменяет параметры только тех линий, к которым он привязан!

Ивенты привязываются к линии в диалоге настройки линии Config / Dialup / Line на страничке Events.

Cм. также:

Описание формата Cron,

Список Атомов


Атомы

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

Так, например, для изменения строки инициализации модема и строки необходимых условий прозвонки, ивент, привязанный к линии, должен содержать два атома - атом замены строки инициализации модема и атом замены строки необходимых условий прозвонки.

В текущей версии поддерживаются следующие типы атомов:

Modem Command Init	Командная строка инициализации модема. Обычно используется для запрещения включения динамика  модема в ночное время, либо для установки определенных протоколов по часовому расписанию.
Modem Command Answer	Командная строка ответа модема на входящий звонок. Обычно используется для установки соединения требуемых протоколов в определенное время.
Modem Command Prefix	Префикс командной строки модема набора номера. Обычно используется для установки определенных протоколов для исходящих соединений. А также для работы через внутренние мини-АТС в ночном режиме.
Modem Command Suffix	Суффикс командной строки модема набора номера.
Modem Command Hangup	Командная строка модема для отсоединения. Этот атом обычно применяется вместе с атомом Modem Command Init.
Modem Disable Reinit	Запретить регулярную инициализацию модема. Этот атом не разрешает инициализировать модем, находящийся в режиме ожидания.
Restriction Required Restriction Forbidden	Строки необходимых/запрещенных условий прозвонок. Применяются для учета различной тарификации звонков в зависимости от времени суток, для учета особенности работы узлов (например, не работающих по праздникам).
Replace Station	Замена всех установок станции, конфигурируемых в Config / Dialup / Station. Обычно используется на узлах, выполняющих разные функции в разное время.
Replace Modem	Замена всех установок модема, конфигурируемых в Config /Dialup / Modems. Чаще всего применяется, когда модем обслуживает разные протоколы в зависимости от времени суток. При этом порт остается неизменным.
Replace Restriction	Замена схемы ограничения прозвонок, конфигурируемой в Config / Dialup / Restrictions. Применяется вместо двух атомов Restriction Required и Restriction Forbidden.
Accept Files Required Accept Files Forbidden	Файлы допустимые к приему / запрещенные для приема. Чаще всего используется для запрещения в ZMH приема других файлов, кроме FTSC-0001-пакетов
Accept Nodes Required Accept Nodes Forbidden	Узлы допустимые к приему / запрещенные для приема. Может использоваться на хабах для распределения суточной нагрузки.
Accept Link Required Accept Link Forbidden	Протоколы соединения, допустимые к приему / запрещенные для приема. Протоколы перечисляются через пробел. Например HST ARQ. Используется для запрещение соединения без коррекции ошибок в определенное время.
Accept Speed Min	Минимально допустимая скорость входящих соединений.
Accept Freqs	Позволяет запрещать обработку входящих файловых запросов.
Rings	Число звонков перед поднятием трубки для ответа модемом. (0=запрет поднятия трубки)

Cм. также:

Ивенты

Менеджер прозвонок

Конфигурируем Аргус


Конфигурация внешних приложений

Текущая версия системы Аргус поддерживает три типа внешних приложений:

•	Обработчики

•	Сервисы

•	Периодически запускаемые приложения

Обработчики, сервисы и периодически запускаемые приложения конфигурируются в диалоговом окне Config /Externals.


Обработчики

Обработчики - это внешние приложения, запускаемые системой Аргус по приходу определенных файлов. Примерами обработчиков являются файлэхопроцессоры, тоссеры, трэкеры, и.т.д. Чтобы настроить Аргус на запуск определенного обработчика для определенной группы фалов, необходимо перечислить (через пробел, запятую или точку с запятой) список масок этой группы в поле Mask List, а командную строку обработчика - в поле String to Execute.

Специальная маска %ARCMAIL% идентична списку масок ArcMail (*.su? *.mo? *.tu? *.we? *.th? *.fr? *.sa?)

Mask list	String to execute	Комментарий
*.su? *.mo? *.tu? *.we? *.th? *.fr? *.sa?	c:\fido\lanius\squish.exe in out squash	Запустить эхопроцессор Squish по приходу почтовых пакетов
%ARCMAIL%	c:\fido\lanius\squish.exe in out squash	Запустить эхопроцессор Squish по приходу почтовых пакетов
*.tic	c:\fido\fileecho\allfix.exe file -tossbad	Запустить файлэхопроцессор Allfix по приходу TIC файлов

См. также Конфигурация внешних приложений


Сервисы

Сервисы - это специальные коммуникационные программы, которые запускаются из почтовой системы, когда от удаленной системы вместо пакета инициирования FTN-сессии приходит специальная строка.

Пользователь, соединяясь обычной терминальной программой  со станцией, оснащенной системой Аргус, может воспользоваться сервисом, введя с клавиатуры специальную последовательность. Самой распространенной последовательностью  для входа в BBS-сервисы являются два идущих подряд символа Escape. Так как Escape - не являются печатными, вместо них в поле Enter используется символ косой черты (back slash).

Поле Door and parameters содержит путь к исполнимому файлу сервиса и специальные параметры.

После соединения Аргус может высвечивать заставку-приглашение для пользователей терминальных программ. Заставка устанавливается в окне настройки EMSI-данных

Специальные параметры

Командная строка сервиса может содержать специальные параметры, которые перед запуском сервиса транслируются в соответствующие значения. Каждый параметр начинается с символа %. Все параметры регистрозависимы, то есть %c не может быть использован вместо %C.

Вот как транслируется строка параметров "Door and parameters" в строку запуска , при скорости DTE 57600, DCE 21600, номере линии - 2 и port handle - 64:

Door and parameters	d:\max\maxn.exe -s%b -b%B -n%n -p%h
Translated execution string	d:\max\maxn.exe -s57600 -b21600 -n2 -p64

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

	Environment	Description	Dialup value	TCP/IP value
%B	ARGUS_DCE	Скорость соединения	DCE (modem to modem)	Значение берется из “подразумеваемой скорости соединения”
%b	ARGUS_DTE	Скорость порта	DTE (computer to modem)	такое же как и %B
%e	ARGUS_CONNECT	Строка CONNECT (пробелы заменены на подчеркивания)	такая, как вернул модем, например "16800/ARQ/HST”	формируется TCP/IP Daemon’ом на основе адреса и порта соединения, например: "To 194.213.233.33 #24554”
%E	ARGUS_CONTROL	Транслированный код коррекции ошибок	"MNP", если в строке CONNECT присутствует MNP, ARQ или REL, иначе пустая строка	Всегда "TCP/IP"
%L	ARGUS_NAME	Имя линии почтовой системы (пробелы заменены на подчеркивания)	берется из названия линии, указанного в диалоге dialup/lines/line	"TCP/IP" плюс порядковый номер TCP/IP соединения, например: "TCP/IP 3"
%n	ARGUS_LINE	Номер линии почтовой системы	Порядковый номер в списке dialup/lines, например "1" для первой линии	порядковый номер TCP/IP соединения, например "2" для линии "TCP/IP 2"
%h	ARGUS_HANDLE	Communication resource handle	COM port Win32 handle	WinSock2 overlapped socket handle
%C	ARGUS_NUMBER	Номер порта	Номер COM-порта, например "1" для COM1 или "4" для COM4	Номер TCP/IP-порт, например: 24554 для BinkP
%p	ARGUS_INDEX	Индекс порта	Номер порта, считаемый с нуля, например "0" для COM1 или "3" для COM4	такой же как и %C

Если внешнее приложение является полноценной Win32-программой, оно может унаследовать Win32-handle открытого коммуникационного порта (или соединенного Winsock2 overlapped socked), и использовать этот порт (или socket) для передачи данных.

Специальный параметр %Z

Параметр %Z всегда транслируется в пустую строку - он предназначен для того, чтобы сообщить системе Аргус о необходимости закрыть порт перед запуском внешнего приложения, а затем снова открыть его, после завершения работы приложения. Параметр Z% предназначен для приложений Windows3.1 и DOS, которые не в состоянии оперировать с Win32-handles, и по этому они должны открывать и инициализировать порт самостоятельно.

Параметр %Z следует использовать с большой осторожностью, так как при закрытии порта драйвер Windows сбрасывает все контрольные сигналы UART (см. Контроль потока данных), в том числе DTR, который в большинстве модемов применяется для инициализации, поэтому для передачи COM-порта DOS- и Windows3.1-приложениям необходимо настроить модем так, чтобы он не воспринимал изменение сигнала DTR как сброс.

Специальные параметры используются также в строке строке External Fax Receeiver диалога конфигурации модемов для запуска внешних программ по приему факсов.

См. также Конфигурация внешних приложений.

Пример

Последовательность действий для установки системы Аргус с Proboard BBS под Windows NT (при некоторых изменениях подходят для Windows 95), модем USR Sportster 28800 with Fax (пример предоставил Sean Rima):

1. Добавьте драйвер FOSSIL в \winnt\system32\config.nt, например device=c:\dos\bnu.sys /p=01

2. Argus / Config / Dialup / Modems, выберите Ваш модем и добавьте к строке инициализации AT&C1&D0.

3. Добавьте к Argus / Advanced / Externals / Doors строку “Enter = pp” и “Door and Paramenters = c:\pb\proboard.exe %Z -b%B -p%C”


Периодически запускаемые приложения

Аргус имеет возможность периодического запуска внешних приложений и выполнения команд системного интерпретатора (Advanced/Externals/Cron)

Внимание - выполнения команд системного интерпретатора возможно только для версии под Windows NT. Под Windows 95 возможен только запуск EXE-приложений и BAT-файлов. BAT-файлы под Windows 95 запускаются следующим способом: c:\windows\command.com /C myfile.bat.

Cм. также описание формата Cron.


Параметры прозвонок

Этот диалог позволяет задавать параметры прозвонок.

Поля Busy, No c. и Fail задают максимальноые значения соответствующих счетчиков, по достижении которых прозвоонка переводится в режим Отбой на заданное полем Stand-off minutes число минут.

Поле Retry Seconds число секунд между повторами прозвонки. В качестве реального значения интервала Stand-off minutes и Retry Seconds используется случайное число в диапазоне от n*0.5 до n*1.5 (то есть+-50%). Например, при установленном в Retry Seconds значении 100, повторные прозвонки будут происходить со случайным интервалом от 50 до 150 секунд.


Справочник по конфигурации Аргуса

Эта глава включает следующие справочные разделы:

•	Прозвонка на  узел только в его рабочее время

•	Объединения адресов в группы

•	Формат Cron


Прозвонка на  узел только в его рабочее время

Для указания времени работы узла система Аргус использует FSC-0062-флаги Txy. Эти флаги указываются либо в соответствующем поле списка узлов, либо в таблице переопределений модемных- или TCP/IP-узлов. Если время работы узла не указано, прозвонка на него будет производиться только в его ZMH (а на пойнт — вообще никогда).

Флаг CM означает круглосуточный режим работы.


Маски адресов

Для объединения адресов в группу по маске используется символ ‘*’

1:*/*.*	все адреса в первой зоне
2:46*/*.*	весь 46-й регион второй зоны
2:469/*	то же, что 2:469/*.* - все узлы и пойнты сети 2:469
2:469/*.0	все 3-d узлы сети 2:469 (без пойнтов)
2*:50*/10*	все узлы и пойнты, номер зоны которых начинается с 2 (например, 2, 21, 228), у которых номер сети начинается с 50 (например, 50,5030,501,5020,5079), и номера которых начинаются на 10 (например, 10, 101, 100, 1034). К примеру, этим условиям удовлетворяет адрес 21:501/1034
*:*/*	все адреса


Формат Cron

Формат Cron представляет собой простой, но достаточно мощный и гибкий способ описаний периодических событий.

Формат:

* * * * *	или	Минута Час День Месяц ДеньНедели
	Диапазон
Минута	0-59
Час	0-23
День	1-31
Месяц	1-12
ДеньНедели	1-7 (1 = понедельник, 2 = вторник, ..., 7 = воскресенье)

Можно использовать список значений, разделенных запятыми, например "1,3,7", или используя символ черточка, например “1-5”. Вместо значения можно использовать звездочку - это означает полный диапазон.

Событие происходит только если удовлетворяются все условия.

Примеры:

* * * * *	Каждую минуту
59 23 31 12 5	За минуту до конца года, и если последний день года - пятница.
45 17 7 6 *	Каждый год 7-го июня в 17:45
0,15,30,45 0,6,12,18 1,15,31 * *	По полным четвертям часа; в полночь, в 6 утра, по 1-м, 15-м и 31-м числам каждого месяца, только по рабочим дням недели
0 12 * * 1-5	В полдень по рабочим дням
* * * 1,3,5,7,9,11 *	Каждую минуту в январе, марте, мае, июле, сентябре и ноябре
1,2,3,5,20-25,30-35,59 23 31 12 *	В последний день года в 23:01, 23:02, 23:03, 23:05, 23:20, 23:21, 23:22, 23:23, 23:24, 23:25, 23:30, 23:31, 23:32, 23:33, 23:34, 23:35, 23:59
0 9 1-7 * 1	Первый понедельник каждого месяца, в 9 утра
0 0 1 * *	В полночь, первого числа, каждый месяц
* 0-11 * * *	Каждую минуту до полудня
* * * 1,2,3 *	Каждую минуту в январе, феврале и мае
0 0 * * *	Каждый день в полночь
0 0 * * 3	Каждую среду в полночь

Строки Cron можно сокращать путем опускания крайних правых звездочек:

Полная запись	Сокращенная запись
* * * * *	*
59 23 31 12 5	59 23 31 12 5
45 17 7 6 *	45 17 7 6
0,15,30,45 0,6,12,18 1,15,31 * *	0,15,30,45 0,6,12,18 1,15,31
0 12 * * 1-5	0 12 * * 1-5
* * * 1,3,5,7,9,11 *	* * * 1,3,5,7,9,11
1,2,3,5,20-25,30-35,59 23 31 12 *	1,2,3,5,20-25,30-35,59 23 31 12
0 9 1-7 * 1	0 9 1-7 * 1
0 0 1 * *	0 0 1
* 0-11 * * *	* 0-11
* * * 1,2,3 *	* * * 1,2,3
0 0 * * *	0 0
0 0 * * 3	0 0 * * 3


Внимание!

Некоторая часть глав этого пособия еще не написана, поэтому мы ищем вашей помощи. Если у Вас есть желание написать одну или несколько глав и помочь нам в составлении этого пособия (на что у нас почти не остается времени), свяжитесь с нами: argus@ritlabs.com или 2:469/84@fidonet