СКАТ может работать как балансировщик трафика на основе IP-адресов, принадлежащих к AS, определенной как local
в asnum.dscp
.
В данном случае в сети СКАТ-LB выступает как L2-bridge, отсюда название L2-балансировщик трафика.
Допустим, зеркало трафика 400Gbps нужно равномерно распределить между четырьмя VAS-платформами (Value-Added Services), осуществляющими анализ трафика и различное детектирование
В данном случае СКАТ-LB позволит равномерно распределить трафик с одинаковой утилизацией портов на съемниках и сохранить симметричность трафика (трафик одной сессии будет направлен только на один съемник).
Пример конфигурации /etc/dpi/fastdpi.conf:
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
.
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
vi my_as_dscp.txt 64511 local 10415 local cat my_as_dscp.txt | as2dscp /etc/dpi/asnum.dscp
В качестве AS можно использовать как кастомную, так и публичную AS.
Подробнее по ссылке
service fastdpi reload
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
— включить балансировку.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
— для работы с in_dev, и отдельный диспетчер для работы с out_dev.mqrx_lb_engine
. Принцип работы такой же, как и при обычном режиме dpdk_engine=2
, только rss включается на in_dev, а на out_dev создается только одна очередь rx. 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. Max IN трафик Гбит/с (Зеркало на СКАТ-LB) | Max OUT трафик Гбит/с (Отбалансированный трафик на съемники) | Версия СКАТ-LB | Количество ядер 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 + 14×10/25G | 40M pps |
до 200 | до 200 | СКАТ-200-LB | 64 AMD 9534 | 64 (8x8GB) | 9×25/40/50/100G | 60M pps |
до 300 | до 300 | СКАТ-300-LB | 96 AMD 9654 | 64 (8x8GB) | 9×25/40/50/100G | 80M pps |
до 400 | до 400 | СКАТ-400-LB | 128 AMD 9754 | 64 (8x8GB) | 9×25/40/50/100G | 120M pps |
до 800 | до 800 | СКАТ-800-LB | 2×128 AMD 9754 | 128 (16x8GB) | 9×25/40/50/100G | 240M pps |