Это старая версия документа!
L2-балансировщик трафика
Описание и сценарии
СКАТ может работать как балансировщик трафика на основе IP-адресов, принадлежащих к AS, определенной как local
в asnum.dscp
.
В данном случае в сети СКАТ-LB выступает как L2-bridge, отсюда название L2-балансировщик трафика.
Сценарий: Балансировщик на зеркале трафика
Допустим, зеркало трафика 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 #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
- Отметить заданную автономную систему как 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 таблицы, содержащей индекс интерфейса из массива выходных интерфейсов.
Требования к оборудованию СКАТ-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 |