L2-балансировщик трафика

Описание и сценарии

СКАТ может работать как балансировщик трафика на основе IP-адресов, принадлежащих к AS, определенной как local в asnum.dscp.
В данном случае в сети СКАТ-LB выступает как L2-bridge, отсюда название L2-балансировщик трафика.

В данном режиме функциональность DPI не работает.

Сценарий: Балансировщик на зеркале трафика

Допустим, зеркало трафика 400Gbps нужно равномерно распределить между четырьмя VAS-платформами (Value-Added Services), осуществляющими анализ трафика и различное детектирование
В данном случае СКАТ-LB позволит равномерно распределить трафик с одинаковой утилизацией портов на съемниках и сохранить симметричность трафика (трафик одной сессии будет направлен только на один съемник).

Пример конфигурации /etc/dpi/fastdpi.conf:

Зеркало трафика подается в 4х100G интерфейсов.

Трафик балансируется между четырьмя съемниками, каждый съемник подключен 4х25G линками.

in_dev=05-00.0:05-00.1:05-00.2:05-00.3 out_dev=01-00.0:01-00.1:01-00.2:01-00.3:02-00.0:02-00.1:02-00.2:02-00.3:03-00.0:03-00.1:03-00.2:03-00.3:04-00.0:04-00.1:04-00.2:04-00.3 #Scale factor is about 1 for every 1 Gigabit of bandwidth scale_factor=1 timeout_check_dev=0 #FastDPI Control ctrl_port=29000 ctrl_dev=lo #Turn on Load Balancing enable_l2_lb=1 #Balance algorithm maglev=2 #Hash table lb_hash_out_dev_type=1

Настройка

Настройка подсетей для балансировки

Балансировка применяется только к IP-адресам, принадлежащим к AS, определенной как local в asnum.dscp.

Определить автономную систему с IP-адресами, которые используются абонентами:

vi aslocal.txt 10.0.0.0/8 64511 172.16.0.0/12 64511 192.168.0.0/16 64511 cat aslocal.txt | as2bin /etc/dpi/aslocal.bin

Примеры для IPv4

Пример для IPv6

Отметить заданную автономную систему как local:

vi my_as_dscp.txt 64511 local 10415 local cat my_as_dscp.txt | as2dscp /etc/dpi/asnum.dscp

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

Для применения параметров необходимо выполнить reload:

service fastdpi reload

Настройка /etc/dpi/fastdpi.conf

Определить входные и выходные интерфейсы в конфигурационном файле.
Входные интерфейсы, на которые подается зеркало трафика задаются в параметре in_dev, а выходные — в out_dev.
Интерфейсы не образуют пары и допускаются конструкции вида:

in_dev=05-00.0:05-00.1:05-00.2:05-00.3:0b-00.0:0b-00.1:0b-00.2:0b-00.3 out_dev=08-00.0:08-00.1:08-00.2:08-00.3

Или

in_dev=05-00.0 out_dev=out_dev=08-00.0:08-00.1:08-00.2:08-00.3

Включить режим балансировки в параметре enable_l2_lb, где:

0 — выключить балансировку;

1 — включить балансировку.

Определить, по какому значению выполнять инициализацию hash таблицы в параметре lb_hash_out_dev_type, где:

0 — использовать внутренний индекс выходного интерфейса;

1 — использовать имя интерфейса из [in|out]_dev.

Выбрать движок для работы с потоками-диспетчерами в параметре dpdk_engine, где:

0 — read/write движок по умолчанию, один диспетчер на все;

1 — read/write движок с двумя потоками-диспетчерами: на каждое направление по диспетчеру;

2 — read/write движок с поддержкой RSS: для каждого направления создается dpdk_rss диспетчеров (по умолчанию dpdk_rss=2), таким образом, общее количество диспетчеров = 2 * dpdk_rss.
Подробнее о параметре dpdk_engine по ссылке.

Выбрать алгоритм балансировки. Для балансировки трафика используется maglev алгоритм с фиксированным размером hash таблицы. Определение выходного интерфейса по следующему алгоритму:

1 — если src и dst ip оба local, то рассчитывается hash на основании этих двух адресов;

2 — если только src ip local, то рассчитывается hash на основании src ip;

3 — если только dst ip local, то рассчитывается hash на основании dst ip;

4 — рассчитывается hash на основе src и dst ip.
На основании рассчитанного hash значения производится определение выходного интерфейса путем определения индекса ячейки hash таблицы, содержащей индекс интерфейса из массива выходных интерфейсов. Значение из массива выходных интерфейсов подставляется в текущий контекст и возвращается pcs_accept.

Информационные команды

subs prop show active — вывести дамп L2-свойств всех активных (не-expired) абонентов

Требования к оборудованию СКАТ-LB

Max IN трафик Гбит/с (Зеркало на СКАТ-LB)	Max OUT трафик Гбит/с (Отбалансированный трафик на съемники)	Версия СКАТ LB	Количество ядер на один CPU c частотой от 2,5 ГГц	RAM GB	Тип и минимальное количество портов	Packet per second в миллионах при базовой частоте CPU от 2,5ГГц
до 100	до 100	СКАТ-100-LB	28 Intel 6258R, Intel 5320, 32 AMD 7502P	64 (8x8GB)	2x100G + 14x10/25G	40M pps
до 200	до 200	СКАТ-200-LB	64 AMD 9534	64 (8x8GB)	9x25/40/50/100G	60M pps
до 300	до 300	СКАТ-300-LB	96 AMD 9654	64 (8x8GB)	9x25/40/50/100G	80M pps
до 400	до 400	СКАТ-400-LB	128 AMD 9754	64 (8x8GB)	9x25/40/50/100G	120M pps