mikrotik-wiki.ru
Главная
Загрузка...

Switch Chip и аппаратная коммутация на MikroTik

RouterOS 7.xInterfaces11 мин230 мар. 2026 г.
TelegramVK

Switch Chip — это аппаратный коммутационный чип, установленный на плате MikroTik, который выполняет коммутацию L2/L3-трафика без участия центрального процессора. Понимание работы Switch Chip критически важно для правильной настройки сети: когда аппаратная коммутация активна, трафик между портами одного чипа проходит на скорости линии (wire speed), не создавая нагрузки на CPU. Когда она отключена или недоступна — каждый пакет обрабатывается программно, что на младших моделях приводит к падению производительности в разы. В этом руководстве разберём, какие чипы используются в устройствах MikroTik, как включить и проверить Hardware Offloading, и почему Bridge VLAN Filtering заменил устаревшие Switch Rules.

Описание

Что такое Switch Chip

В каждом маршрутизаторе или коммутаторе MikroTik присутствует один или несколько аппаратных switch-чипов. Каждый чип объединяет группу Ethernet-портов и может самостоятельно выполнять ряд функций коммутации без вмешательства CPU:

  • L2 коммутация — пересылка кадров между портами по MAC-таблице
  • VLAN-обработка — назначение PVID, тегирование/снятие тегов, VLAN-фильтрация
  • STP/RSTP — участие в Spanning Tree Protocol на аппаратном уровне
  • IGMP Snooping — фильтрация мультикастового трафика
  • Port Isolation — запрет прямого обмена между портами
  • Mirror — зеркалирование трафика на диагностический порт

Когда Switch Chip берёт на себя обработку трафика — это называется Hardware Offloading. Пакеты проходят через чип напрямую, не попадая в CPU. Пропускная способность при этом определяется возможностями чипа, а не мощностью процессора.

Модели Switch Chip

В устройствах MikroTik используются чипы нескольких производителей. Возможности Hardware Offloading напрямую зависят от модели чипа:

Производитель чипаСерии чиповИспользуется вКлючевые возможности
AtherosAR8316, AR8327, QCA8513hAP, hEX, RB951, RB2011, hAP acБазовый VLAN offload, STP, port isolation
MediaTek (MT)MT7621, MT7531hAP ax2, hAP ax3, hAP ax liteVLAN filtering offload, IGMP snooping
Marvell (MV)88E6393X, Prestera DX, AldrinCRS3xx, CRS5xx, CCR2216Полный VLAN offload, L3 HW, ACL, QoS, bonding offload
RealtekRTL8367Некоторые hEX, hAP liteБазовый L2 offload

Atheros — наиболее распространённые чипы в бюджетных и средних устройствах. Поддерживают базовый VLAN offloading и STP, но имеют ограничения при сложных конфигурациях.

MediaTek — новое поколение чипов в устройствах Wi-Fi 6 серии hAP ax. Хорошая поддержка Bridge VLAN Filtering, включая IGMP snooping на аппаратном уровне.

Marvell — чипы для коммутаторов серии CRS. Наиболее продвинутые — поддерживают L3 Hardware Offloading (маршрутизация на чипе), ACL, аппаратный QoS, bonding offload. CRS3xx использует серию 88E6393X, а CRS5xx — чипы Prestera.

Один чип vs несколько чипов

На многих устройствах MikroTik установлено более одного switch-чипа. Например:

  • RB2011 — два чипа: один для портов ether1-ether5 (Gigabit Atheros), второй для ether6-ether10 (Fast Ethernet Atheros) и SFP
  • hAP ac² — один чип Atheros для ether1-ether5
  • RB5009 — один чип Marvell для ether1-ether8 + SFP+ cage

Критически важно: Hardware Offloading работает только между портами, подключёнными к одному switch-чипу. Если вы добавите в один Bridge порты из разных чипов — коммутация между ними пойдёт через CPU. Трафик внутри одного чипа будет аппаратным, а между чипами — программным.

Проверить, к какому чипу подключён каждый порт:

[admin@MikroTik] >
/interface/ethernet/print detail

Колонка switch показывает принадлежность порта к чипу.

Hardware Offloading vs Software Bridging

Сравнение производительности на примере hAP ax2 (MediaTek MT7621):

ПараметрHW Offload (Switch Chip)Software Bridge (CPU)
Throughput L21 Gbps wire speed~600-700 Mbps
Нагрузка на CPU~0%40-80%
Latency<10 μs50-200 μs
Поддержка VLANАппаратнаяПрограммная
Поддержка Firewall BridgeНетДа

Bridge VLAN Filtering vs Switch Rules (legacy)

В RouterOS 6 существовало два способа работы с VLAN:

  1. Switch Rules (/interface/ethernet/switch/vlan) — прямая настройка VLAN на switch-чипе. Работала быстро, но конфигурация зависела от модели чипа и была непереносимой.
  2. Bridge VLAN Filtering (/interface/bridge) — настройка VLAN через bridge, с автоматическим offloading на чип при поддержке.

Начиная с RouterOS 7, Switch Rules полностью убраны. Единственный способ настройки VLAN — через Bridge VLAN Filtering. При этом RouterOS автоматически передаёт поддерживаемые функции на switch-чип, если Hardware Offloading включён.

Преимущества Bridge VLAN Filtering:

  • Единая конфигурация — одинаковый синтаксис для любого устройства
  • Автоматический offload — RouterOS сама определяет, что может быть выполнено на чипе
  • Переносимость — конфигурация работает при замене устройства на другую модель
  • Совместимость — одновременно работают VLAN, STP, DHCP Snooping на bridge

Настройка

Шаг 1: Создание Bridge с Hardware Offloading

Создаём Bridge и включаем Hardware Offloading на портах:

[admin@MikroTik] >
/interface/bridge add name=bridge-LAN protocol-mode=rstp \
  comment="Основной LAN bridge с HW offload"

/interface/bridge/port add bridge=bridge-LAN interface=ether2 hw=yes
/interface/bridge/port add bridge=bridge-LAN interface=ether3 hw=yes
/interface/bridge/port add bridge=bridge-LAN interface=ether4 hw=yes
/interface/bridge/port add bridge=bridge-LAN interface=ether5 hw=yes

Параметр hw=yes включает попытку аппаратной коммутации. RouterOS проверит, могут ли порты использовать switch-чип, и при успехе установит флаг H (Hardware Offloaded).

Важно: по умолчанию hw=yes уже установлен для всех bridge-портов в RouterOS 7. Явная установка нужна только если вы ранее отключали offloading.

Шаг 2: Назначение IP-адреса на Bridge

[admin@MikroTik] >
/ip/address add address=192.168.88.1/24 interface=bridge-LAN

Шаг 3: Включение VLAN Filtering (при необходимости)

Если вы используете VLAN на Bridge — включите VLAN Filtering:

[admin@MikroTik] >
# Сначала настраиваем VLAN-правила
/interface/bridge/vlan add bridge=bridge-LAN tagged=bridge-LAN,ether5 \
  untagged=ether2,ether3 vlan-ids=10

/interface/bridge/vlan add bridge=bridge-LAN tagged=bridge-LAN,ether5 \
  untagged=ether4 vlan-ids=20

# Устанавливаем PVID для access-портов
/interface/bridge/port set [find interface=ether2] pvid=10
/interface/bridge/port set [find interface=ether3] pvid=10
/interface/bridge/port set [find interface=ether4] pvid=20

# Включаем фильтрацию ПОСЛЕ настройки правил
/interface/bridge set bridge-LAN vlan-filtering=yes

При включённом VLAN Filtering и HW offload — VLAN-обработка будет выполняться на switch-чипе (если чип это поддерживает).

Внимание: включайте vlan-filtering=yes только после полной настройки VLAN. Преждевременное включение может заблокировать доступ к устройству.

Настройка на коммутаторах CRS3xx

На коммутаторах серии CRS3xx (Marvell чип) доступно больше аппаратных функций. Пример настройки CRS326-24G-2S+ как managed-коммутатора:

[admin@MikroTik] >
# Создаём Bridge со всеми портами
/interface/bridge add name=bridge1 protocol-mode=rstp \
  vlan-filtering=no comment="CRS326 managed switch"

# Добавляем все порты с HW offload
:for i from=1 to=24 do={
  /interface/bridge/port add bridge=bridge1 \
    interface=("ether" . $i) hw=yes
}
/interface/bridge/port add bridge=bridge1 interface=sfp-sfpplus1 hw=yes
/interface/bridge/port add bridge=bridge1 interface=sfp-sfpplus2 hw=yes

# Настраиваем VLAN
/interface/bridge/vlan
  add bridge=bridge1 tagged=bridge1,sfp-sfpplus1 \
    untagged=ether1,ether2,ether3,ether4,ether5,ether6,ether7,ether8 vlan-ids=10
  add bridge=bridge1 tagged=bridge1,sfp-sfpplus1 \
    untagged=ether9,ether10,ether11,ether12,ether13,ether14,ether15,ether16 vlan-ids=20
  add bridge=bridge1 tagged=bridge1,sfp-sfpplus1 \
    untagged=ether17,ether18,ether19,ether20,ether21,ether22,ether23,ether24 vlan-ids=30

# Устанавливаем PVID
:for i from=1 to=8 do={
  /interface/bridge/port set [find interface=("ether" . $i)] pvid=10
}
:for i from=9 to=16 do={
  /interface/bridge/port set [find interface=("ether" . $i)] pvid=20
}
:for i from=17 to=24 do={
  /interface/bridge/port set [find interface=("ether" . $i)] pvid=30
}

# Включаем VLAN filtering
/interface/bridge set bridge1 vlan-filtering=yes

Все VLAN-операции на CRS326 будут выполняться Marvell-чипом без нагрузки на CPU.

Проверка

Проверка статуса Hardware Offloading

Основная команда для проверки — вывод портов bridge:

[admin@MikroTik] >
/interface/bridge/port print

В колонке HW (или hardware-offload) смотрим статус:

  • yes — порт использует аппаратную коммутацию
  • no — порт работает через CPU (software bridge)

Более детальный вывод:

[admin@MikroTik] >
/interface/bridge/port print detail

Здесь видны поля hw=yes (запрашивается offload) и hw-offload=yes (offload реально активен). Если hw=yes, но hw-offload=no — чип не может выполнить offload для данной конфигурации.

Проверка принадлежности портов к switch-чипу

[admin@MikroTik] >
/interface/ethernet print

Колонка switch показывает, к какому чипу принадлежит порт. Все порты в bridge должны быть на одном чипе для полного HW offload.

Информация о switch-чипе

[admin@MikroTik] >
/interface/ethernet/switch print

Выводит название чипа, тип и количество портов. Полезно для идентификации модели чипа.

Таблица MAC-адресов на чипе

[admin@MikroTik] >
/interface/ethernet/switch/host print

Показывает MAC-адреса, изученные аппаратным коммутатором. Если таблица пуста при активном трафике — offloading не работает.

Счётчики портов Switch Chip

[admin@MikroTik] >
/interface/ethernet/switch/port-counters print

Аппаратные счётчики пакетов. Позволяют видеть трафик, проходящий через switch-чип, без нагрузки на CPU.

Мониторинг трафика через Bridge

[admin@MikroTik] >
/interface/bridge/host print

MAC-таблица bridge. При HW offloading часть записей будет помечена как external — это записи из аппаратной таблицы switch-чипа.

Проверка нагрузки на CPU

Косвенный способ проверить, работает ли offloading — наблюдать за нагрузкой CPU при прогоне трафика:

[admin@MikroTik] >
/system/resource print

Если при активном трафике между портами bridge CPU остаётся на уровне 0-5% — offloading работает. Если CPU растёт до 30-80% — трафик идёт через software bridge.

Таблица поддержки Hardware Offloading по моделям

Возможности offloading зависят от чипа и версии RouterOS:

ФункцияAtheros (hAP, hEX)MediaTek (hAP ax)Marvell (CRS3xx)Marvell (CRS5xx)
L2 коммутацияДаДаДаДа
VLAN FilteringЧастичноДаДаДа
STP/RSTPДаДаДаДа
MSTPНетНетДаДа
IGMP SnoopingНетДаДаДа
DHCP SnoopingНетНетДаДа
Port IsolationДаДаДаДа
Bonding (LACP)НетНетДаДа
MirrorДаДаДаДа
ACL (Access Control Lists)НетНетДаДа
L3 HW OffloadingНетНетДаДа
QoS (аппаратный)НетНетДаДа

Atheros — минимальный набор функций. VLAN offloading работает, но с ограничениями: при включении некоторых функций bridge (например, DHCP snooping) offloading автоматически отключается.

MediaTek — значительно лучше Atheros. Полная поддержка Bridge VLAN Filtering с аппаратным offloading, включая IGMP snooping.

Marvell CRS3xx/5xx — полный набор функций. Всё перечисленное в таблице работает аппаратно, включая L3 маршрутизацию, ACL и QoS.

L3 Hardware Offloading на CRS3xx (кратко)

Коммутаторы серии CRS3xx с чипом Marvell поддерживают маршрутизацию на аппаратном уровне. Это позволяет выполнять inter-VLAN routing на скорости коммутации без участия CPU.

Включение L3 HW offloading:

[admin@MikroTik] >
/interface/ethernet/switch set 0 l3-hw-offloading=yes

Требования:

  • RouterOS 7.x
  • Bridge с включённым vlan-filtering=yes
  • IP-адреса назначены на VLAN-интерфейсы (не на bridge напрямую)
  • Только статические маршруты и connected-сети

Маршруты, выполняемые аппаратно, отмечены флагом H (HW offloaded):

[admin@MikroTik] >
/ip/route print detail where hw-offloaded=yes

Подробнее о L3 HW offloading — в отдельной статье.

Типичные ошибки

HW Offloading не активируется

Симптом: hw=yes установлен, но hw-offload показывает no.

Причины:

  1. Порты из разных switch-чипов в одном Bridge. Проверьте /interface/ethernet print — все порты bridge должны быть на одном чипе. На RB2011, например, ether1-ether5 и ether6-ether10 на разных чипах.

  2. Несовместимые функции bridge. Некоторые функции отключают HW offload:

    • protocol-mode=none с определёнными чипами
    • DHCP Snooping на Atheros-чипах
    • Bridge Firewall Filter rules (правила /interface/bridge/filter)
    • Bridge NAT rules
  3. Беспроводной интерфейс в bridge. Wi-Fi интерфейсы не подключены к switch-чипу — их невозможно offload. Однако проводные порты в том же bridge могут сохранять offload между собой.

[admin@MikroTik] >
# Проверяем, что мешает offloading
/interface/bridge/port print detail where hw-offload=no

Потеря связи при включении VLAN Filtering

Симптом: после команды set vlan-filtering=yes устройство становится недоступным.

Решение:

Настраивайте VLAN-правила ДО включения фильтрации. Включите management VLAN:

[admin@MikroTik] >
# Создаём management VLAN для доступа к устройству
/interface/bridge/vlan add bridge=bridge-LAN tagged=bridge-LAN vlan-ids=1

# ИЛИ добавляем management VLAN с конкретным ID
/interface/bridge/vlan add bridge=bridge-LAN \
  tagged=bridge-LAN,ether5 untagged=ether2 vlan-ids=99

# Назначаем IP на VLAN-интерфейс
/interface/vlan add name=vlan99-mgmt interface=bridge-LAN vlan-id=99
/ip/address add address=192.168.99.1/24 interface=vlan99-mgmt

# Только после этого включаем фильтрацию
/interface/bridge set bridge-LAN vlan-filtering=yes

Также используйте Safe Mode (Ctrl+X в терминале) — при потере связи изменения будут автоматически отменены.

Неправильная интерпретация offloading при наличии Wi-Fi

Симптом: wlan1 добавлен в bridge, пользователь ожидает полный HW offload.

Реальность: Wi-Fi интерфейсы всегда работают через CPU. HW offload действует только между Ethernet-портами на одном чипе. Трафик ether2↔ether3 будет аппаратным, но трафик wlan1↔ether2 — программным. Это нормальное поведение.

Degraded offloading — частичный offload

Симптом: offloading работает, но не все функции. Например, STP обрабатывается CPU, хотя L2 коммутация аппаратная.

Причина: чип не поддерживает конкретную функцию. RouterOS включает offload для поддерживаемых функций и обрабатывает остальные программно. Проверьте таблицу поддержки по вашей модели чипа.

Устаревшие Switch Rules после миграции на RouterOS 7

Симптом: после обновления с RouterOS 6 на 7 VLAN не работают, switch rules исчезли.

Решение: RouterOS 7 не поддерживает Switch Rules. Необходимо полностью перенастроить VLAN через Bridge VLAN Filtering:

[admin@MikroTik] >
# Проверить текущую конфигурацию bridge
/interface/bridge print
/interface/bridge/port print
/interface/bridge/vlan print

# Если конфигурация пустая — нужно создать заново
# Следуйте шагам из раздела "Настройка" выше

При обновлении с ROS 6 рекомендуется сделать /export старой конфигурации, выполнить сброс и настроить заново по документации ROS 7.

Проблемы с IGMP Snooping и HW offloading

Симптом: мультикаст-трафик (IPTV) не работает после включения IGMP Snooping на bridge с Atheros-чипом.

Причина: Atheros-чипы не поддерживают аппаратный IGMP Snooping. При включении этой функции на bridge, мультикаст обрабатывается CPU, что может снизить производительность.

Решение: на устройствах с Atheros-чипом лучше отключить IGMP Snooping на bridge и настроить IGMP Proxy на уровне маршрутизатора.

[admin@MikroTik] >
/interface/bridge set bridge-LAN igmp-snooping=no

На устройствах с MediaTek или Marvell — IGMP Snooping работает аппаратно и не вызывает проблем.

Рекомендации

  1. Всегда проверяйте HW offload после настройки bridge — используйте /interface/bridge/port print и смотрите колонку HW.

  2. Используйте порты одного switch-чипа — размещайте LAN-порты в bridge из портов одного чипа для максимальной производительности.

  3. Bridge VLAN Filtering — единственный правильный способ — не пытайтесь использовать устаревшие switch rules в RouterOS 7.

  4. CRS3xx для коммутации — если нужен managed-коммутатор с полным набором L2/L3 аппаратных функций, используйте серию CRS3xx.

  5. Обновляйте RouterOS — каждая версия улучшает поддержку HW offloading. RouterOS 7.20+ имеет лучшую совместимость с Bridge VLAN Filtering на всех чипах.

[admin@MikroTik] >
/interface/ethernet/print detail
/interface/bridge add name=bridge-LAN protocol-mode=rstp \
  comment="Основной LAN bridge с HW offload"

/interface/bridge/port add bridge=bridge-LAN interface=ether2 hw=yes
/interface/bridge/port add bridge=bridge-LAN interface=ether3 hw=yes
/interface/bridge/port add bridge=bridge-LAN interface=ether4 hw=yes
/interface/bridge/port add bridge=bridge-LAN interface=ether5 hw=yes
/ip/address add address=192.168.88.1/24 interface=bridge-LAN
# Сначала настраиваем VLAN-правила
/interface/bridge/vlan add bridge=bridge-LAN tagged=bridge-LAN,ether5 \
  untagged=ether2,ether3 vlan-ids=10

/interface/bridge/vlan add bridge=bridge-LAN tagged=bridge-LAN,ether5 \
  untagged=ether4 vlan-ids=20

# Устанавливаем PVID для access-портов
/interface/bridge/port set [find interface=ether2] pvid=10
/interface/bridge/port set [find interface=ether3] pvid=10
/interface/bridge/port set [find interface=ether4] pvid=20

# Включаем фильтрацию ПОСЛЕ настройки правил
/interface/bridge set bridge-LAN vlan-filtering=yes
# Создаём Bridge со всеми портами
/interface/bridge add name=bridge1 protocol-mode=rstp \
  vlan-filtering=no comment="CRS326 managed switch"

# Добавляем все порты с HW offload
:for i from=1 to=24 do={
  /interface/bridge/port add bridge=bridge1 \
    interface=("ether" . $i) hw=yes
}
/interface/bridge/port add bridge=bridge1 interface=sfp-sfpplus1 hw=yes
/interface/bridge/port add bridge=bridge1 interface=sfp-sfpplus2 hw=yes

# Настраиваем VLAN
/interface/bridge/vlan
  add bridge=bridge1 tagged=bridge1,sfp-sfpplus1 \
    untagged=ether1,ether2,ether3,ether4,ether5,ether6,ether7,ether8 vlan-ids=10
  add bridge=bridge1 tagged=bridge1,sfp-sfpplus1 \
    untagged=ether9,ether10,ether11,ether12,ether13,ether14,ether15,ether16 vlan-ids=20
  add bridge=bridge1 tagged=bridge1,sfp-sfpplus1 \
    untagged=ether17,ether18,ether19,ether20,ether21,ether22,ether23,ether24 vlan-ids=30

# Устанавливаем PVID
:for i from=1 to=8 do={
  /interface/bridge/port set [find interface=("ether" . $i)] pvid=10
}
:for i from=9 to=16 do={
  /interface/bridge/port set [find interface=("ether" . $i)] pvid=20
}
:for i from=17 to=24 do={
  /interface/bridge/port set [find interface=("ether" . $i)] pvid=30
}

# Включаем VLAN filtering
/interface/bridge set bridge1 vlan-filtering=yes
/interface/bridge/port print
/interface/bridge/port print detail
/interface/ethernet print
/interface/ethernet/switch print
/interface/ethernet/switch/host print
/interface/ethernet/switch/port-counters print
/interface/bridge/host print
/system/resource print
/interface/ethernet/switch set 0 l3-hw-offloading=yes
/ip/route print detail where hw-offloaded=yes
# Проверяем, что мешает offloading
/interface/bridge/port print detail where hw-offload=no
# Создаём management VLAN для доступа к устройству
/interface/bridge/vlan add bridge=bridge-LAN tagged=bridge-LAN vlan-ids=1

# ИЛИ добавляем management VLAN с конкретным ID
/interface/bridge/vlan add bridge=bridge-LAN \
  tagged=bridge-LAN,ether5 untagged=ether2 vlan-ids=99

# Назначаем IP на VLAN-интерфейс
/interface/vlan add name=vlan99-mgmt interface=bridge-LAN vlan-id=99
/ip/address add address=192.168.99.1/24 interface=vlan99-mgmt

# Только после этого включаем фильтрацию
/interface/bridge set bridge-LAN vlan-filtering=yes
# Проверить текущую конфигурацию bridge
/interface/bridge print
/interface/bridge/port print
/interface/bridge/vlan print

# Если конфигурация пустая — нужно создать заново
# Следуйте шагам из раздела "Настройка" выше
/interface/bridge set bridge-LAN igmp-snooping=no
Interfaces / Switch Chip и аппаратная коммутация на MikroTik