Классификация пакетного трафика/Формальная постановка задачи

Материал из b4wiki

Перейти к: навигация, поиск

Основные термины:

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

Правило (rule): каждое правило определяет поток к которому может пренадлежать пакет основываясь на некотором критерии, относящемуся к заголовку пакета.

Классификатор (classifier): совокупность (таблица) правил.

Каждое правило классификатора имеет d компонентов (d - количество полей заголовка по которым классифицируется пакет). R[i] - это i-тый компонент правила R, который является некоторым выражением применяемым к i-тому полю заголовка пакета. Говорят, что пакет P удовлетворяет правилу R если для всех i i-тое поле заголовка пакета P удовлетворяет выражению R[i].

Абстрактное выражение R[i] на практике является парой маска/адрес либо диапазоном/префиксом (конкретное значение считаем диапазоном с совпадающим началом и концом).

Примеры (для поля IP адреса):

1. Адрес/маска : 192.168.1.144/255.255.255.248
Данное выражение охватывает непрерывный диапазон адресов 192.168.1.144 - 192.168.1.151. Непрерывный диапазон - это частный случай, возникающий при использовании спецификации "адрес/маска". Данный пример интересен еще и тем, что маска имеет вид "111...1000...0", т.е. все значащие биты (1) расположены левее незначащих (0) и маска, таким образом, является непрерывной (конечно, в общем случае этого может и не быть). Поэтому мы можем заменить пару адрес/маска на один префикс, который в двоичном виде выглядит так: 11000000.10101000.00000001.10010***; где символ "*" означает произвольное значение. Т.е. с помощью префиксов мы можем задавать диапазоны длиной 2^t, где t = Wf - Wp = 32 - 29 = 3 ; Wf - количество бит в поле заголовка; Wp - количество бит в префиксе;

2. Диапазон: 192.168.1.144 - 192.168.1.151

3. Конкретное значение: 192.168.1.149

Важным моментом является взаимозаменяемость способов задания что показано в нашем примере. Один диапазон мы задали тремя разными способами: парой адрес/маска, префиксом и непосредственно диапазоном. В более общем случае, любой диапазон может быть преобразован в совокупность префиксов и конкретных значений поля. Рассмотрим пример подобного преобразования для поля длиной 4 бита:
Диапазон -> Префикс
[4,7] -> 01**
[3,8] -> 0011, 01**, 1000
[1,14] -> 0001, 001*, 01**, 10**, 110*, 1110

В худшем случае W-битовый диапазон преобразуется в 2(W-1)префиксов.

разное