| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
| dpi:dpi_components:platform:dpi_inst_spec:dpi_onstick [2024/12/09 14:52] – elena.krasnobryzh | dpi:dpi_components:platform:dpi_inst_spec:dpi_onstick [2026/02/02 14:45] (текущий) – [Применение балансировки к исходящему трафику в LAG] elena.krasnobryzh |
|---|
| </code> | </code> |
| |
| =====Агрегация портов LAG/LACP===== | ===== Настройка агрегации физических портов (LAG) ===== |
| Агрегация портов средствами СКАТ поддерживается для режимов [[dpi:dpi_brief:install_point_ssg:instruction_instal|in-line]] и [[dpi:dpi_components:platform:dpi_inst_spec:dpi_onstick#настройка_on-stick|on-stick]]. | Агрегация портов средствами СКАТ поддерживается для режимов [[dpi:dpi_brief:install_point_ssg:instruction_instal|in-line]] и [[dpi:dpi_components:platform:dpi_inst_spec:dpi_onstick#настройка_on-stick|on-stick]]. |
| ====Настройка LACP==== | |
| <code bash> | |
| lacp=0 | |
| </code> | |
| Допустимые значения параметра ''lacp'':\\ | |
| * 0 (по умолчанию) - LACP отключено, СКАТ не держит LAG, а свободно пропускает | |
| * 1 - LAG в пассивном режиме: не шлем периодических LACPDU, но отвечаем на пришедшие LACPDU | |
| * 2 - LAG в активном режиме: шлем периодические LACPDU | |
| <note>При агрегации происходит трассировка балансировки трафика.</note> | |
| |
| ====Настройка LAG==== | |
| В LAG могут входить либо обычные порты, либо on-stick, смешение недопустимо. LAG на on-stick организуется на базовом (физическом) порту. LAG реализуется в fastDPI на логическом уровне: никакого единого bond-девайса нет, внутри fastDPI работа ведется с портами, как и раньше. | В LAG могут входить либо обычные порты, либо on-stick, смешение недопустимо. LAG на on-stick организуется на базовом (физическом) порту. LAG реализуется в fastDPI на логическом уровне: никакого единого bond-девайса нет, внутри fastDPI работа ведется с портами, как и раньше. |
| |
| ''short_timeout'' — короткий (off) или длинный (on) таймаут LACP | ''short_timeout'' — короткий (off) или длинный (on) таймаут LACP |
| |
| ====Применение балансировки к исходящему трафику LAG==== | ==== Включение обработки LACP ==== |
| | <code bash> |
| | lacp=1 |
| | </code> |
| | Допустимые значения параметра ''lacp'':\\ |
| | * 0 (по умолчанию) - отключена обработка LACP, СКАТ не держит LAG, а свободно пропускает |
| | * 1 - LAG в пассивном режиме: не шлем периодических LACPDU, но отвечаем на пришедшие LACPDU |
| | * 2 - LAG в активном режиме: шлем периодические LACPDU |
| | <note>При агрегации происходит трассировка балансировки трафика.</note> |
| | |
| | ==== Применение балансировки к исходящему трафику в LAG ==== |
| Тип применяемого алгоритма балансировки задается параметром ''lag.balance_algo''.\\ Допустимые значения: | Тип применяемого алгоритма балансировки задается параметром ''lag.balance_algo''.\\ Допустимые значения: |
| * ''0'' — балансировка по внутреннему ''session_id'' (балансировка по умолчанию). В качестве хеша берется ''session_id'' | * ''-1'' — без балансировки — пакет будет отправлен в парный порт моста |
| * ''1'' — без балансировки — пакет будет отправлен в парный порт моста | * ''0'' (по умолчанию) — балансировка по внутреннему ''session_id'' (балансировка по умолчанию). В качестве хеша берется ''session_id'' |
| * ''2'' — хеш от ''flow key <srcIP, dstIP, srcPort, dstPort, proto>''. Если flow нет — балансируем по ''session_id'' | * ''1'' — хеш от ''flow key <srcIP, dstIP, srcPort, dstPort, proto>''. Если ''flow'' нет — балансируем по ''session_id'' |
| | |
| Дополнительные параметры конфигурации хеша в секции ''lag'': ''hash_seed'', ''hash_offset'', ''hash_bits''\\ Сколько значащих бит берем из 64-битного хеша при балансировке. Алгоритм балансировки в общем случае выглядит так: | Дополнительные параметры конфигурации хеша в секции ''lag'': ''hash_seed'', ''hash_offset'', ''hash_bits''\\ Сколько значащих бит берем из 64-битного хеша при балансировке. Алгоритм балансировки в общем случае выглядит так: |
| <note>При агрегации происходит трассировка балансировки трафика.</note> | <note>При агрегации происходит трассировка балансировки трафика.</note> |
| |
| ====Пример конфигурации on-stick + LACP для двух физических интерфейсов==== | ====Пример конфигурации LAG на on-stick с включенным LACP для двух физических интерфейсов==== |
| <note>В данном сценарии абонентский трафик в VLAN 101, 102 и QinQ</note> | <note>В данном сценарии абонентский трафик в VLAN 101, 102 и QinQ</note> |
| <code bash>dpdk_device=port1:pci:86:00.0 | <code bash>dpdk_device=port1:pci:86:00.0 |
| |
| lag { | lag { |
| name=LACP | name=LAG_ONSTICK |
| device=86:00.1 | device=86:00.1 |
| device=86:00.0 | device=86:00.0 |
| out_dev=inet1:inet2</code> | out_dev=inet1:inet2</code> |
| |
| =====Диагностика===== | ===== Диагностика работы LACP ===== |
| Для диагности LACP можно записать pcap. Для этого необходимо в описание LAG добавить параметр ''pcap=on'' (включить) или ''pcap=off'' (выключить). | Диагностика LACP проводится с помощью записи pcap. Для этого необходимо в описание LAG добавить параметр ''pcap''.\\ |
| | Значения параметра: |
| | * on — включить запись pcap |
| | * off — выключить запись pcap |
| <code bash> | <code bash> |
| # трассировка (запись в pcap) LACP-пакетов данного LAG | # трассировка (запись в pcap) LACP-пакетов данного LAG |
| #pcap=on | #pcap=on |
| </code> | </code> |
| | |
| | <note important>Логирование включается через параметр ''bras_trace''. Возможные значения см. в разделе [[dpi:bras_bng:cli:bras_l2_vlan_trace]].</note> |