L2-балансировщик трафика [Документация VAS Experts]

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
dpi:load_balancer:start [2024/03/29 08:31] elena.krasnobryzhdpi:load_balancer:start [2024/04/10 11:01] (текущий) – [Настройка /etc/dpi/fastdpi.conf] elena.krasnobryzh
Строка 2: Строка 2:
 ======L2-балансировщик трафика====== ======L2-балансировщик трафика======
 =====Описание и сценарии===== =====Описание и сценарии=====
-СКАТ может работать как балансировщик трафика на основе IP-адресов, принадлежащих AS и определяемой как ''local'' в ''asnum.dscp''.+СКАТ может работать как балансировщик трафика на основе IP-адресов, принадлежащих к ASопределенной как ''local'' в ''asnum.dscp''.\\
 В данном случае в сети СКАТ-LB выступает как L2-bridge, отсюда название L2-балансировщик трафика. В данном случае в сети СКАТ-LB выступает как L2-bridge, отсюда название L2-балансировщик трафика.
 <note>В данном режиме функциональность DPI не работает.</note> <note>В данном режиме функциональность DPI не работает.</note>
Строка 16: Строка 16:
 in_dev=05-00.0:05-00.1:05-00.2:05-00.3 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 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 #FastDPI Control
Строка 35: Строка 31:
  
 </code> </code>
-=====Настройка и управление===== +=====Настройка===== 
-Для корректной работы требуются следующие настройки: +====Настройка подсетей для балансировки==== 
-    - Определить автономную систему с IP-адресами, которые используются абонентами:+Балансировка применяется только к 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#примеры_для_ipv4|Примеры для IPv4]]
       - [[dpi:dpi_options:opt_statistics:statistics_asn:start#настройка_для_ipv6|Пример для IPv6]]       - [[dpi:dpi_options:opt_statistics:statistics_asn:start#настройка_для_ipv6|Пример для IPv6]]
-    - Отметить заданную автономную систему как local. Пример:<code bash>64512       local</code> Подробнее [[dpi:dpi_options:opt_priority:priority_config_as:start|по ссылке]] +    - Отметить заданную автономную систему как local:<code bash>vi my_as_dscp.txt 
-    - Определить входные и выходные интерфейсы в конфигурационном файле.\\ Входные интерфейсы задаются в параметре ''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+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=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> out_dev=out_dev=08-00.0:08-00.1:08-00.2:08-00.3</code>
Строка 53: Строка 59:
       * ''0'' — read/write движок **по умолчанию**, один диспетчер на все;       * ''0'' — read/write движок **по умолчанию**, один диспетчер на все;
       * ''1'' — 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#загрузка_потока_диспетчера|по ссылке]]. +      * ''2'' — read/write движок с поддержкой RSS: для каждого направления создается ''dpdk_rss'' диспетчеров (по умолчанию ''dpdk_rss=2''), таким образом, общее количество диспетчеров = 2 * ''dpdk_rss'' — для работы с in_dev, и отдельный диспетчер для работы с out_dev.\\ При значении параметра 2 активируется движок ''mqrx_lb_engine''. Принцип работы такой же, как и при обычном режиме ''dpdk_engine=2'', только rss включается на in_dev, а на out_dev создается только одна очередь rx. \\ \\ Подробнее о параметре ''dpdk_engine'' [[dpi:dpi_components:platform:dpi_config:start#загрузка_потока_диспетчера|по ссылке]]. 
-    - Выбрать алгоритм балансировки. Для балансировки трафика используется ''maglev'' алгоритм с фиксированным размером hash таблицы. Определение выходного интерфейса по следующему алгоритму:+    - Выбрать алгоритм балансировки. Для балансировки трафика используется ''maglev'' алгоритм с фиксированным размером hash таблицыгде:
       * ''1'' — если src и dst ip оба local, то рассчитывается hash на основании этих двух адресов;       * ''1'' — если src и dst ip оба local, то рассчитывается hash на основании этих двух адресов;
       * ''2'' — если только src ip local, то рассчитывается hash на основании src ip;       * ''2'' — если только src ip local, то рассчитывается hash на основании src ip;
       * ''3'' — если только dst ip local, то рассчитывается hash на основании dst ip;       * ''3'' — если только dst ip local, то рассчитывается hash на основании dst ip;
-      * ''4'' — рассчитывается hash на основе src и dst ip.\\ \\ На основании рассчитанного hash значения производится определение выходного интерфейса путем определения индекса ячейки hash таблицы, содержащей индекс интерфейса из массива выходных интерфейсов. Значение из массива выходных интерфейсов подставляется в текущий контекст и возвращается ''pcs_accept''. +      * ''4'' — рассчитывается hash на основе src и dst ip.\\ \\ На основании рассчитанного hash значения производится определение выходного интерфейса путем определения индекса ячейки hash таблицы, содержащей индекс интерфейса из массива выходных интерфейсов. 
-=====Информационные команды===== +=====Требования к оборудованию СКАТ-LB===== 
-  * ''subs prop show active'' — вывести дамп L2-свойств всех активных (не-expired) абонентов +^ Max IN трафик\\ Гбит/с \\ (Зеркало на СКАТ-LB)  ^ Max OUT трафик\\ Гбит/с \\ (Отбалансированный трафик на съемники)  ^ Версия СКАТ-LB   ^ Количество ядер 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                                                             | 
-=====Требование к оборудованию СКАТ-LB===== +| до 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                                                             | 
-^ Max IN трафик\\ Гбит/с \\ (Зеркало на СКАТ-LB)  ^ Max OUT трафик\\ Гбит/с \\ (Отбалансированный трафик на съемники)  ^ Версия СКАТ LB   ^ Количество ядер на __один__ CPU\\ c частотой от 2,5 ГГц                                                                                                                                                                                                                                                                                              ^ RAM \\ GB   ^ Тип и __минимальное__ количество портов  ^ Кол-во Public IP\\ в NAT pool  ^ Packet per second в миллионах \\ при базовой частоте CPU от 2,5ГГц +| до 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                                                             | 
-| до 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                       | 5000                           | 40M 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                                                            | 
-| до 200                                          | до 200                                                             | **СКАТ-200-LB**  | 64 [[https://www.amd.com/en/products/cpu/amd-epyc-9534|AMD 9534]]                                                                                                                                                                                                                                                                                    | 64 (8x8GB)  | 9x25/40/50/100G                          | 10000                          | 60M pps                                                             | +| до 800                                          | до 800                                                             | **СКАТ-800-LB**  | 2x128 [[https://www.amd.com/en/products/cpu/amd-epyc-9754|AMD 9754]]                                                                                                                                                                                                                                                                                 | 128 (16x8GB)  | 9x25/40/50/100G                          240M pps                                                            |
-| до 300                                          | до 300                                                             | **СКАТ-300-LB**  | 96 [[https://www.amd.com/en/products/cpu/amd-epyc-9654|AMD 9654]]                                                                                                                                                                                                                                                                                    | 64 (8x8GB)  | 9x25/40/50/100G                          | 12000                          | 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                          | 15000                          120M pps                                                            |+