Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
dpi:load_balancer:start [2024/03/29 12:39] – atereschenko | dpi:load_balancer:start [Дата неизвестна] (текущий) – удалено - внешнее изменение (Дата неизвестна) 127.0.0.1 |
---|
{{indexmenu_n>6}} | |
======L2-балансировщик трафика====== | |
=====Описание и сценарии===== | |
СКАТ может работать как балансировщик трафика на основе IP-адресов, принадлежащих к AS, определенной как ''local'' в ''asnum.dscp''.\\ | |
В данном случае в сети СКАТ-LB выступает как L2-bridge, отсюда название L2-балансировщик трафика. | |
<note>В данном режиме функциональность DPI не работает.</note> | |
====Сценарий: Балансировщик на зеркале трафика==== | |
Допустим, зеркало трафика 400Gbps нужно равномерно распределить между четырьмя VAS-платформами (Value-Added Services), осуществляющими анализ трафика и различное детектирование\\ | |
В данном случае СКАТ-LB позволит равномерно распределить трафик с одинаковой утилизацией портов на съемниках и сохранить симметричность трафика (трафик одной сессии будет направлен только на один съемник). | |
| |
{{ :dpi:load_balancer:load_balancer.png?450 |}} | |
**Пример конфигурации /etc/dpi/fastdpi.conf:** | |
* Зеркало трафика подается в 4х100G интерфейсов. | |
* Трафик балансируется между четырьмя съемниками, каждый съемник подключен 4х25G линками. | |
<code bash> | |
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 | |
| |
</code> | |
=====Настройка===== | |
====Настройка подсетей для балансировки==== | |
Балансировка применяется только к IP-адресам, принадлежащим к AS, определенной как ''local'' в ''asnum.dscp''. | |
- Определить автономную систему с IP-адресами, которые используются абонентами:<code bash>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</code> | |
- [[dpi:dpi_options:opt_statistics:statistics_asn:start#примеры_для_ipv4|Примеры для IPv4]] | |
- [[dpi:dpi_options:opt_statistics:statistics_asn:start#настройка_для_ipv6|Пример для IPv6]] | |
- Отметить заданную автономную систему как local:<code bash>vi my_as_dscp.txt | |
64511 local | |
10415 local | |
cat my_as_dscp.txt | as2dscp /etc/dpi/asnum.dscp</code> В качестве AS можно использовать как кастомную, так и публичную AS.\\ Подробнее [[dpi:dpi_options:opt_priority:priority_config_as:start|по ссылке]] | |
- Для применения параметров необходимо выполнить reload:<code bash>service fastdpi reload</code> | |
====Настройка /etc/dpi/fastdpi.conf==== | |
- Определить входные и выходные интерфейсы в конфигурационном файле.\\ Входные интерфейсы, на которые подается зеркало трафика задаются в параметре ''in_dev'', а выходные — в ''out_dev''.\\ Интерфейсы не образуют пары и допускаются конструкции вида:<code bash>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</code> Или <code bash>in_dev=05-00.0 | |
out_dev=out_dev=08-00.0:08-00.1:08-00.2:08-00.3</code> | |
- Включить режим балансировки в параметре ''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'' [[dpi:dpi_components:platform:dpi_config:start#загрузка_потока_диспетчера|по ссылке]]. | |
- Выбрать алгоритм балансировки. Для балансировки трафика используется ''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 [[https://ark.intel.com/content/www/us/en/ark/products/199350/intel-xeon-gold-6258r-processor-38-5m-cache-2-70-ghz.html|Intel 6258R]], [[https://ark.intel.com/content/www/us/en/ark/products/215285/intel-xeon-gold-5320-processor-39m-cache-2-20-ghz.html|Intel 5320]], \\ 32 [[https://www.amd.com/en/products/cpu/amd-epyc-7502p|AMD 7502P]] | 64 (8x8GB) | 2x100G + 14x10/25G | 40M pps | | |
| до 200 | до 200 | **СКАТ-200-LB** | 64 [[https://www.amd.com/en/products/cpu/amd-epyc-9534|AMD 9534]] | 64 (8x8GB) | 9x25/40/50/100G | 60M pps | | |
| до 300 | до 300 | **СКАТ-300-LB** | 96 [[https://www.amd.com/en/products/cpu/amd-epyc-9654|AMD 9654]] | 64 (8x8GB) | 9x25/40/50/100G | 80M pps | | |
| до 400 | до 400 | **СКАТ-400-LB** | 128 [[https://www.amd.com/en/products/cpu/amd-epyc-9754|AMD 9754]] | 64 (8x8GB) | 9x25/40/50/100G | 120M pps | | |
| |
| |
| |