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

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
 
#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.

  1. Определить автономную систему с 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
  2. Отметить заданную автономную систему как local:
    vi my_as_dscp.txt
    64511 local
    10415 local
    cat my_as_dscp.txt | as2dscp /etc/dpi/asnum.dscp

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

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

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

  1. Определить входные и выходные интерфейсы в конфигурационном файле.
    Входные интерфейсы, на которые подается зеркало трафика задаются в параметре 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
  2. Включить режим балансировки в параметре enable_l2_lb, где:
    • 0 — выключить балансировку;
    • 1 — включить балансировку.
  3. Определить, по какому значению выполнять инициализацию hash таблицы в параметре lb_hash_out_dev_type, где:
    • 0 — использовать внутренний индекс выходного интерфейса;
    • 1 — использовать имя интерфейса из [in|out]_dev.
  4. Выбрать движок для работы с потоками-диспетчерами в параметре dpdk_engine, где:
    • 0 — read/write движок по умолчанию, один диспетчер на все;
    • 1 — read/write движок с двумя потоками-диспетчерами: на каждое направление по диспетчеру;
    • 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 по ссылке.
  5. Выбрать алгоритм балансировки. Для балансировки трафика используется 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 Количество ядер 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