SRL language for NeTraMet
<< ::Index :: Home :: >>
Концепции и инструкции  


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