Концепции и инструкции
RTFM-ARC опредляет некоторые атрибуты сетевого трафика, в том числе и
"адресные атрибуты" PeerType, PeerAddress, TransType, TransAddress, которые
определены для значительного количества транспортных протоколов.
Сетевой поток - поток пакетов от источника к приемнику, определяемых через их
адресные атрибуты.
Счетчик наблюдает сетевой трафик, выделяет потоки и формирует записи о потоке.
Сетевые потоки являются двунаправленными, для каждой записи о потоке
определены два набора счетчиков - для пакетов в прямом направлении, и для
пакетов в обратном.
Счетчик должен быть запрограммирован какие потоки считать, и какие их атрибуты
сохранять.
Каждая SRL-программа выполняется сначала для каждого пакета и должна выполнять
следующие задачи:
определить, частью какого потока является данный пакет
сохранить нужную информацию для идентификации потока и посчитать накапливаемую
информацию
Если в программе не было обнаружено совпадение для данного пакета, программа
выполняется еще раз, но в пакете меняются адреса приемника и источника, что
позволяет накапливать информацию для прямого и обратного направлений.
Первая задача достигается использованием IF-выражений, вторая применением
одного или более SAVE-выражений, и COUNT для аккумуляции.
Инструкции языка:
Программа являет собой последовательность объявлений и выражений. Выражение
обычно заканчивается точкой с запятой. Объявлять можно подпрограммы, метки и
аргументы подпрограмм. Присваивания через :=.
Выражения могут быть 4 типов:
IF-выражение
Составное выражение
Императив
CALL-выражение
DEFINE something = somewhat;
Определение
SAVE
Сохраняет информацию для последующей идентификации потока.
SAVE lala=bebe;
SAVE lala;
SAVE lala/width;
SAVE lala & mask;
COUNT
Применяется после всех IF и SAVE. Сетевой поток идентифицируется по
сохраненным атрибутам и добавляется информация в его накопительные счетчики.
EXIT
Выход из составного выражения, выполнение будет идти с команды прямо за
ним
RETURN
Выход из подпрограммы, может быть использован только в подпрограмме.
IGNORE
Выполнение программы для данного пакета прекращается, никакая информация
не сохраняется, для анализа выбирается следующий пакет
NOMATCH
Означает отсутсвие совпадения. Если была проверка пакета в прямом
направлении, то происходит обмен адресов и начинается проверка в обратном.
STORE
Присваевает значение одной из переменных SourceClass, SourceKind,
DestClass, DestKind, FlowClass, FlowKind и сохраняет (SAVE) ее.
Определение подпрограмм
SUBROUTINE subname ( ((ADDRESS|VARIABLE) var)+ )
выражения
ENDSUB;
ADDRESS var - атрибут сетевого потока Var
VARIABLE var - одна из переменных выражения STORE
Вызов подпрограммы
CALL ( (var,)+ )
(n: Выражение)*
ENDCALL;
n: - используется для выполнения выражений в зависимости от возвращенного
из подпрограммы числа по RETRUN n;
источник - jamhed.pp.ru
|