Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| 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 | ||
| - | | ||