Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
dpi:dpi_components:platform:dpi_inst_spec:dpi_onstick:start [2024/01/30 13:46] – elena.krasnobryzh | dpi:dpi_components:platform:dpi_inst_spec:dpi_onstick:start [Дата неизвестна] (текущий) – удалено - внешнее изменение (Дата неизвестна) 127.0.0.1 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | {{indexmenu_n> | ||
- | ====== Настройка on-stick и LAG/LACP ====== | ||
- | ===== Настройка on-stick ===== | ||
- | [FastDPI 12+] | ||
- | |||
- | On-stick позволяют экономить на физическом оборудовании. FastDPI обычно работает с мостами, | ||
- | |||
- | Каждый оn-stick порт описывается особым образом: | ||
- | Описание базового девайса: | ||
- | <code bash> | ||
- | dpdk_device=port1: | ||
- | </ | ||
- | |||
- | Описание on-stick на основе девайса '' | ||
- | <code bash> | ||
- | onstick_device { | ||
- | base=port1 | ||
- | filter=< | ||
- | subs=subs1 | ||
- | inet=inet1 | ||
- | } | ||
- | </ | ||
- | где: | ||
- | '' | ||
- | '' | ||
- | '' | ||
- | '' | ||
- | |||
- | Задаем мосты. | ||
- | <note important> | ||
- | <code bash> | ||
- | in_dev=subs1 | ||
- | out_dev=inet1 | ||
- | </ | ||
- | |||
- | Везде, где требуется указание девайса, | ||
- | |||
- | В описании on-stick порта наиболее важная часть — это выражение '' | ||
- | |||
- | Основой выражения '' | ||
- | |||
- | Термы задают элементарные выражения над L2-свойствами пакета. Существуют следующие термы (регистр важен): | ||
- | * '' | ||
- | * '' | ||
- | * '' | ||
- | * '' | ||
- | * '' | ||
- | * '' | ||
- | |||
- | Примеры (напомним, | ||
- | * сеть Q-in-Q со стороны абонентов терминируется в single VLAN: '' | ||
- | * гетерогенная сеть: со стороны абонентов Q-in-Q или PPPoE в VLAN: '' | ||
- | * single VLAN-сеть, | ||
- | * со стороны inet MAC-адрес бордера 3c: | ||
- | |||
- | Формальное описание грамматики выражения '' | ||
- | <code bash> | ||
- | filter ::= and | and ‘|’ filter | ||
- | and ::= mult | mult ‘&’ and | ||
- | mult ::= ‘!’ mult | term | ‘(‘ filter ‘)’ | ||
- | term ::= vlan | qinq | pppoe | smac | dmac | ||
- | |||
- | vlan ::= ‘vlan’ | ‘vlan’ ‘(‘ список_int ‘)’ | ||
- | qinq ::= ‘qinq’ | ||
- | pppoe ::= ‘pppoe’ | ||
- | smac ::= ‘smac’ ‘(‘ mac_address ‘)’ | ||
- | dmac ::= ‘dmac’ ‘(‘ mac_address ‘)’ | ||
- | mac_address ::= xx: | ||
- | </ | ||
- | |||
- | =====Агрегация портов LAG/ | ||
- | Агрегация портов средствами СКАТ поддерживается для режимов [[dpi: | ||
- | В LAG могут входить либо обычные порты, либо on-stick, смешение недопустимо. LAG на on-stick организуется на базовом (физическом) порту. LAG реализуется в fastDPI на логическом уровне: | ||
- | |||
- | Возможны 3 разных конфигурации: | ||
- | * LAG на стороне '' | ||
- | * LAG на стороне '' | ||
- | * LAG на стороне '' | ||
- | |||
- | ====Настройка LAG==== | ||
- | Требования к девайсам, | ||
- | * девайс может входить только в один LAG-девайс; | ||
- | * все девайсы в LAG должны иметь одинаковую скорость; | ||
- | |||
- | В настоящее время конфигурирование LAG производится в '' | ||
- | |||
- | Описание LAG:\\ | ||
- | Для каждого LAG требуется отдельная секция lag. В LAG могут входить только девайсы либо in_dev, либо из out_dev, смешение недопустимо. | ||
- | |||
- | <code bash> | ||
- | lag { | ||
- | #name= | ||
- | device= | ||
- | device= | ||
- | |||
- | # MAC-адрес - system_id данного LAG | ||
- | # Если не задано - используется arp_mac | ||
- | #system_id= | ||
- | |||
- | # system priority для данного LAG | ||
- | # число в диапазоне 1 - 65535, default 32768 | ||
- | # | ||
- | |||
- | # short (off) или long (on) LACP timeout | ||
- | # | ||
- | |||
- | # [balance_algo] Алгоритм балансировки | ||
- | # Допустимые значения: | ||
- | # -1 - без балансировки - пакет будет отправлен в парный порт моста | ||
- | # 0 - балансировка по внутреннему session_id (это балансировка по умолчанию) | ||
- | # 1 - хеш от flow key <srcIP, dstIP, srcPort, dstPort, proto> | ||
- | # | ||
- | # | ||
- | |||
- | # | ||
- | # | ||
- | # | ||
- | # | ||
- | |||
- | # трассировка (запись в pcap) LACP-пакетов данного LAG | ||
- | #pcap=off | ||
- | } | ||
- | </ | ||
- | где:\\ | ||
- | name — необязательное имя LAG, используется для вывода в лог\\ | ||
- | device — перечисляются все девайсы, | ||
- | |||
- | ====Применение балансировки к исходящему трафику LAG==== | ||
- | Тип применяемого алгоритма балансировки задается параметром '' | ||
- | * '' | ||
- | * '' | ||
- | * '' | ||
- | |||
- | Дополнительные параметры конфигурации хеша в секции '' | ||
- | * вычисляем 64-битный хеш от тех или иных полей пакета и '' | ||
- | * из 64-битного хеша берем '' | ||
- | * по получившемуся числу N определяем номер порта в LAG: '' | ||
- | // | ||
- | // hash: | XXXXXXXXXX------| | ||
- | // | ||
- | // ^ ^ | ||
- | // | | ||
- | // hash_bits = 10 | ||
- | </ | ||
- | |||
- | Параметры вычисления 64-битного хеша: | ||
- | '' | ||
- | '' | ||
- | '' | ||
- | |||
- | <note important> | ||
- | |||
- | < | ||
- | ====Поддержка LACP==== | ||
- | # поддержка LACP: | ||
- | # - 0 - LACP отключено, | ||
- | # - 1 - LAG в пассивном режиме: | ||
- | # но отвечаем на пришедшие LACPDU | ||
- | # - 2 - LAG в активном режиме: | ||
- | # Default value: 0 (LACP отключено) | ||
- | #lacp=0 | ||
- | |