Фильтр для механизма приоритезации представляет из себя таблицу с правилами для захвата сетевого трафика. Таблица прикрепляется к сетевому интерфейсу. Весь исходящий сетевой трафик будет обрабатывать согласно правилам прикрепленной таблицы. К интерфейсу можно привязать только одну таблицу.
При создании таблицы необходимо определить ее размер и маску. Размер таблицы - примерное количество правил, которое будет содержаться в заданной таблицы. Маска позволяет определить данные, по которым будет происходить поиск сетевых пакетов, которые попадают под заданные критерии.
Одна таблица может ссылаться на другие таблицы для составления многоуровневых механизмов приоритезации. Например, первая таблица ищет данные с маской L2, если сетевой трафик не попадает под этот критерий, то он передается для обработки в следующую таблицу с маской L3 и т.д.
При создании правил необходимо определить их принадлежность к той или иной таблице, определить номер конвейера, номер очереди и критерии поиска. Критерии поиска должны совпадать с маской таблицы. Например таблица с маской L2 позволяет искать данные по заголовкам второго уровня стандартной сетевой модели, с маской L3 позволяет искать данные по заголовкам третьего уровня стандартной сетевой модели и т.д.
Если сетевой трафик не удовлетворяет ни одному из правил, то он будет направлен в 7 очередь конвейера номер 0.
Таблица определяется следующей командой “classify table buckets <Number_of_rules> mask <mask_type>”. Параметры и их значения описаны в таблице ниже.
Название параметра | Описание |
Number_of_rules | Параметр определяет количества правил, которые будут заданы в таблице. |
Mask_type | Маска которая определяет смещения в сетевом пакете, по которому будет происходить поиск заданных значений.. Поддерживается маска L2, L3, L4. Маска строго определяет тип трафика, который необходимо захватить. |
Mask type L2 | Описание |
L2 srс | Таблица позволяет искать трафик по MAC адрес источника. |
L2 dst | Таблица позволяет искать трафик по MAC адрес назначения. |
L2 src dst | Таблица позволяет искать одновременно трафик по MAC адресу источника и назначению. |
L2 tag1 | Таблица позволяет искать трафик по 1-й метке VLAN_ID. |
L2 tag1-ignore | Таблица позволяет искать трафик без меток VLAN_ID. |
L2 tag2 | Таблица позволяет искать трафик с двумя метками VLAN_ID. |
L2 tag2-ignore | Таблица позволяет искать трафик без второй метки VLAN_ID. |
L2 proto | Таблица позволяет искать трафик по Ethertype. |
L2 <param1> <param2> | Таблица позволяет комбинировать параметры поиска. |
Mask type L3 | Описание |
L3 ip4 src/prefix | Таблица позволяет искать трафик по ip адресу источника с заданным префиксом. Для случая маски /32 указывать ее не нужно. |
L3 ip4 dst/prefix | Таблица позволяет искать трафик по ip адресу назначения с заданным префиксом. Для случая маски /32 указывать ее не нужно. |
L3 ip4 src/prefix dst/prefix | Таблица позволяет искать трафик по ip адресу источника и назначения с заданными префиксами. |
L3 ip4 proto | Таблица позволяет искать трафик по протоколу Layer4 (TCP/UDP). |
l3 ip4 proto l4 src_port | Таблица позволяет искать трафик для протокола ipv4 по сетевому порту источника для заданного протокола TCP или UDP. |
l3 ip4 proto l4 dst_port | Таблица позволяет искать трафик для протокола ipv4 по сетевому порту назначения для заданного протокола TCP или UDP. |
При составлении многоуровневых механизмов приоритезации можно ссылаться на другие таблицы. Для создания первой таблицы необходимо использовать команду: “classify table buckets <Number of rules> mask <mask type>”. Для последующих таблиц необходимо необходимо указывать дополнительный параметр “next-table <table num>”, например, “classify table buckets <Number of rules> next-table <table num> mask <mask type>”.
Правило определяется следующей командой “classify session table-index <table_index> pipe <num> queue <0-7> match <l2/l3/l4 with parametrs>”. Параметры и их значения описаны в таблице ниже.
Параметр | Описание |
table-index | Параметр определяет таблицу, в которую попадает заданное правило приоритезации. |
pipe | Параметр определяет номер конвейера, в который будет попадать сетевой трафик с заданным профилем. |
queue | Параметр определяет номер очереди в конвейере, в которую будет попадать сетевой трафик с заданными параметрами. |
match | Параметр определяет поля, по которым осуществляется захват сетевого трафика. |
#Фильтра для захвата сетевого трафика на основе MAC адреса источника
classify table buckets 1 mask l2 src
classify session table-index 0 pipe 1 queue 0 match l2 src 00:00:00:00:00:0b
#Фильтра для захвата сетевого трафика на основе MAC адреса назначения
classify table buckets 1 mask l2 dst
classify session table-index 0 pipe 1 queue 0 match l2 dst 00:00:00:00:00:0b
#Фильтра для захвата сетевого трафика на основе MAC адреса источника и назначения
classify table buckets 1 mask l2 src dst
classify session table-index 2 pipe 1 queue 0 match l2 src 00:00:00:00:00:0b dst 00:00:00:00:00:0a
#Фильтра для захвата сетевого трафика на основе поля EtherType
classify table buckets 1 mask l2 proto
classify session table-index 0 pipe 1 queue 0 match l2 proto 0x0800
#Фильтра для захвата сетевого трафика на основе подсети источника с маской /24
classify table buckets 1 mask l3 ip4 src/24
classify session table-index 0 pipe 1 queue 0 match l3 ip4 src 192.168.1.0
#Фильтра для захвата сетевого трафика на основе подсети назначения с маской /24
classify table buckets 1 next-table 0 mask l3 ip4 dst/24
classify session table-index 0 pipe 1 queue 0 match l3 ip4 dst 192.168.1.0
#Фильтра для захвата сетевого трафика на основе сетевого адреса источника (host)
classify table buckets 1 mask l3 ip4 src
classify session table-index 0 pipe 1 queue 0 match l3 ip4 src 192.168.1.119
#Фильтра для захвата сетевого трафика на основе сетевого адреса назначения (host)
classify table buckets 1 mask l3 ip4 dst
classify session table-index 0 pipe 1 queue 0 match l3 ip4 dst 192.168.1.119
#Фильтра для захвата сетевого трафика на основе подсети источника и назначения с маской /24
classify table buckets 1 mask l3 ip4 src/24 dst/24
classify session table-index 0 pipe 1 queue 0 match l3 ip4 src 192.168.1.0 dst 192.168.1.0
#Фильтра для захвата сетевого трафика на основе протокола TCP и сетевом порту источника
classify table mask l3 ip4 proto l4 src_port
classify session table-index 0 pipe 1 queue 0 match l3 ip4 proto 6 l4 src_port 2015
#Фильтра для захвата сетевого трафика на основе протокола TCP и сетевом порту назначения
classify table buckets 1 mask l3 ip4 proto l4 dst_port
classify session table-index 0 pipe 1 queue 0 match l3 ip4 proto 6 l4 dst_port 443
#Фильтра для захвата сетевого трафика на основе протокола TCP, сетевого адреса источника и сетевого адреса назначения
classify table buckets 1 mask l3 ip4 proto l4 src_port dst_port
classify session table-index 0 pipe 1 queue 0 match l3 ip4 proto 6 l4 src_port 2015 dst_port 22
#Фильтра для захвата сетевого трафика на основе протокола UDP и сетевом порту источника
classify table buckets 1 mask l3 ip4 proto l4 src_port
classify session table-index 0 pipe 1 queue 0 match l3 ip4 proto 17 l4 src_port 2015
#Фильтра для захвата сетевого трафика на основе протокола UDP и сетевом порту назначения
classify table buckets 1 mask l3 ip4 proto l4 dst_port
classify session table-index 0 pipe 1 queue 0 match l3 ip4 proto 17 l4 dst_port 443
#Фильтра для захвата сетевого трафика на основе протокола UDP, сетевого адреса источника и сетевого адреса назначения
classify table buckets 1 mask l3 ip4 proto l4 src_port dst_port
classify session table-index 0 pipe 1 queue 0 match l3 ip4 proto 17 l4 src_port 2015 dst_port 22
#Фильтра для захвата сетевого трафика на основе протокола сетевого адреса источника и назначения и сетевой порт источника и назначения для протокола UDP
classify table buckets 1 mask l3 ip4 src/24 dst/24 proto l4 src_port dst_port
classify session table-index 0 pipe 1 queue 0 match l3 ip4 src 192.168.1.0 dst 192.168.1.0 proto 17 l4 src_port 2015 dst_port 22