Обзор MikroTik CRS804 DDQ — 400G коммутатор
Обзор MikroTik CRS804 DDQ — 400G коммутатор для дата-центров
MikroTik CRS804-4XQ-8XS-DDQ — первый в линейке MikroTik коммутатор с поддержкой 400 Gigabit Ethernet. Устройство построено на программируемом чипе Barefoot Tofino (Intel) и предназначено для дата-центров, крупных провайдеров и enterprise-инфраструктур с потребностью в 100G+ связности. CRS804 обеспечивает суммарную коммутационную ёмкость 3.2 Тбит/с при цене значительно ниже аналогов от Cisco, Arista и Juniper. В этой статье подробно разберём архитектуру устройства, технические характеристики, сценарии применения, ограничения и базовую настройку.
Все команды приведены для RouterOS 7.20+ (Switch OS mode) или SONiC.
Описание
Зачем 400G
Рост трафика дата-центров — устойчивый тренд. Серверы с 25G/100G NIC стали стандартом, а задачи AI/ML-кластеров требуют минимальной задержки и максимальной полосы между GPU-нодами. В архитектуре leaf-spine с 100G на leaf-уровне spine-коммутаторы должны обеспечивать 400G uplink для устранения оверсубскрипции. До появления CRS804 единственным вариантом были коммутаторы Cisco Nexus 9000, Arista 7060X/7800R и Juniper QFX5220 с ценой от $15000 до $40000+.
MikroTik CRS804 DDQ предлагает аналогичные аппаратные возможности за ~$5000, что делает 400G доступным для средних провайдеров и enterprise.
Технические характеристики
| Параметр | Значение |
|---|---|
| Модель | CRS804-4XQ-8XS-DDQ |
| Коммутационный чип | Barefoot Tofino (Intel), P4-programmable |
| Суммарная коммутационная ёмкость | 3.2 Тбит/с (full duplex) |
| Порты 400G | 4x QSFP-DD (400G Ethernet) |
| Порты 100G | 8x QSFP28 (100G Ethernet) |
| Breakout 400G | 4x 100G, 2x 200G, 1x 400G на каждый QSFP-DD |
| Breakout 100G | 4x 25G, 2x 50G, 1x 100G на каждый QSFP28 |
| Максимум портов (breakout) | до 16x 100G + 32x 25G |
| CPU управления | ARM Cortex-A53, 1.6 ГГц |
| Оперативная память | 2 ГБ DDR4 |
| Хранилище | 16 ГБ eMMC |
| Буфер пакетов | 22 МБ on-chip shared buffer |
| Задержка | < 600 нс (cut-through, L2) |
| Таблица MAC | 128K записей |
| Таблица FIB (L3) | до 64K IPv4 / 32K IPv6 (в RouterOS ограничено) |
| ECMP | до 64 путей |
| Потребляемая мощность | до 350 Вт (без трансиверов) |
| Охлаждение | 6 вентиляторов (front-to-back, hot-swap) |
| Блок питания | 2x 650W AC/DC (redundant, hot-swap) |
| Форм-фактор | 1U, 19" стойка |
| Размеры | 442 x 410 x 44 мм |
| Вес | ~8 кг |
| Рабочая температура | 0...+40 °C |
| Операционная система | RouterOS 7 / SONiC (P4-ready) |
| Ориентировочная цена | ~$5000 (без трансиверов) |
Что такое Barefoot Tofino
Barefoot Tofino (теперь Intel Tofino) — это программируемый ASIC для коммутации пакетов с поддержкой языка P4 (Programming Protocol-independent Packet Processors). В отличие от традиционных фиксированных ASIC (Broadcom Memory, Marvell Prestera), Tofino позволяет программировать pipeline обработки пакетов:
- Создание кастомных заголовков протоколов
- Telemetry (INT — In-band Network Telemetry)
- Кастомный load balancing
- Программируемые ACL
- Encapsulation/decapsulation произвольных tunnel-форматов
В RouterOS программируемость Tofino используется ограниченно — MikroTik предоставляет стандартную L2/L3 функциональность. Однако при установке SONiC полный потенциал P4 становится доступен.
Архитектура портов
CRS804 имеет два типа портов:
4x QSFP-DD (400G):
- Каждый порт поддерживает до 400G (8 линий по 50G PAM4)
- Breakout: 4x100G, 2x200G
- Трансиверы: QSFP-DD 400G SR8, DR4, FR4, LR4
- При breakout 4x100G используются кабели QSFP-DD to 4x QSFP28
8x QSFP28 (100G):
- Каждый порт поддерживает до 100G (4 линии по 25G NRZ)
- Breakout: 4x25G, 2x50G
- Трансиверы: QSFP28 100G SR4, LR4, CWDM4
- При breakout 4x25G используются кабели QSFP28 to 4x SFP28
Сравнение с конкурентами
| Параметр | MikroTik CRS804 DDQ | Cisco Nexus 93600CD-GX | Arista 7060X5-64 | Juniper QFX5220-64CD |
|---|---|---|---|---|
| Порты 400G | 4x QSFP-DD | 28x QSFP-DD | 64x QSFP-DD | 64x QSFP-DD |
| Порты 100G | 8x QSFP28 | — (breakout) | — (breakout) | — (breakout) |
| Чип | Barefoot Tofino | Cisco Memoria | Tomahawk 4 | Memory Express 2 |
| Коммутационная ёмкость | 3.2 Тбит/с | 14.4 Тбит/с | 25.6 Тбит/с | 25.6 Тбит/с |
| Задержка | < 600 нс | < 1000 нс | < 450 нс | < 500 нс |
| P4-programmable | Да | Нет | Нет | Нет |
| ОС | RouterOS / SONiC | NX-OS | EOS | Junos |
| BGP/OSPF | Ограничено | Полный стек | Полный стек | Полный стек |
| EVPN-VXLAN | Да (базовый) | Да (полный) | Да (полный) | Да (полный) |
| Цена | ~$5000 | ~$25000 | ~$35000 | ~$30000 |
CRS804 значительно дешевле конкурентов, но и значительно меньше по коммутационной ёмкости. Это не замена Cisco Nexus 93600 или Arista 7060X5 в крупных дата-центрах, а решение для небольших и средних инсталляций, где 4 порта 400G и 8 портов 100G покрывают потребности.
Сценарии применения
1. Spine в архитектуре leaf-spine (малый дата-центр)
Типичная архитектура:
- Leaf: 4–8 коммутаторов CRS326/CRS328 или сторонних (48x 1G/10G + 4–6x 100G uplink)
- Spine: 2x CRS804 (8x 100G downlink к leaf + 4x 400G uplink к border/WAN)
При 8 leaf-коммутаторах с 100G uplink CRS804 обеспечивает non-blocking fabric (8x 100G = 800G < 3.2 Тбит/с ёмкости).
2. Storage interconnect
Кластеры хранения (Ceph, MinIO, HDFS) генерируют огромный east-west трафик. CRS804 может выступать как центральный коммутатор для 100G NIC серверов хранения:
- 8 серверов по 100G NIC подключены к 8x QSFP28
- 4x 400G используются для uplink или подключения дополнительных серверов через breakout
3. AI/ML-кластеры
GPU-серверы с NVIDIA ConnectX-7 (400G) напрямую подключаются к 400G портам CRS804 для RDMA/RoCE трафика. При 4 GPU-нодах + 8 вычислительных нодах по 100G — CRS804 обеспечивает связность с минимальной задержкой.
4. Агрегация трафика ISP
Провайдер с несколькими точками присутствия (PoP) может использовать CRS804 для агрегации 100G каналов от PoP и выхода на 400G магистраль.
RouterOS vs SONiC
CRS804 поддерживает две операционные системы:
RouterOS 7
Плюсы:
- Знакомый интерфейс для пользователей MikroTik
- WinBox/WebFig для управления
- Единая система управления с другим MikroTik оборудованием
- L2-коммутация на аппаратном уровне (wire-speed)
Ограничения:
- L3-маршрутизация ограничена (OSPF, BGP работают, но FIB ограничен ~64K записей)
- EVPN-VXLAN — базовая поддержка
- Нет полноценного P4-программирования
- Нет telemetry (INT)
- Нет segment routing
SONiC (Software for Open Networking in the Cloud)
Плюсы:
- Полный стек L3 (FRRouting — BGP, OSPF, IS-IS, EVPN)
- P4 Runtime для программирования Tofino
- SAI (Switch Abstraction Interface) — стандартный API
- gNMI/gNOI для Telemetry и автоматизации
- Поддержка сообщества (Microsoft, LinkedIn, Alibaba)
- Контейнерная архитектура — каждый сервис в Docker
Ограничения:
- Linux-based — требует навыков администрирования Linux
- Нет WinBox/WebFig
- Сложнее в начальной настройке
- Нет интеграции с экосистемой MikroTik (CAPsMAN, DUDE, User Manager)
Рекомендация по выбору ОС
| Сценарий | Рекомендация |
|---|---|
| Чистый L2 switching (VLAN, LACP) | RouterOS |
| Spine с BGP/OSPF и полной FIB | SONiC |
| P4-programmable pipeline | SONiC |
| Управление из WinBox вместе с другим MikroTik | RouterOS |
| Интеграция с Ansible/Terraform | SONiC (gNMI) |
| AI/ML с RDMA/RoCE | SONiC |
Ограничения CRS804
Важно понимать, что CRS804 — это в первую очередь L2-коммутатор:
- Нет hardware NAT — NAT обрабатывается CPU (ARM Cortex-A53), что ограничивает скорость ~1–2 Гбит/с
- Нет hardware firewall — ACL работают на TCAM, но полноценный stateful firewall — через CPU
- Ограниченная FIB — 64K IPv4 записей достаточно для default route + несколько тысяч BGP-маршрутов, но не для полной таблицы BGP (~950K)
- Нет VPN — WireGuard, IPsec на ARM CPU — десятки мегабит максимум
- Одна скорость на порт — QSFP-DD работает только на 400G/200G/100G (breakout), нет downgrade до 40G/10G
- Трансиверы дорогие — один QSFP-DD 400G SR8 стоит $300–500, DR4 — $500–1000
Настройка
Настройка в RouterOS: базовый L2 switching
[admin@MikroTik] ># Проверка интерфейсов /interface print # Типичные имена: # qsfp-dd1 ... qsfp-dd4 (400G) # qsfp28-1 ... qsfp28-8 (100G) # Создание bridge /interface/bridge add name=bridge-DC vlan-filtering=yes # Добавление портов /interface/bridge/port add bridge=bridge-DC interface=qsfp28-1 add bridge=bridge-DC interface=qsfp28-2 add bridge=bridge-DC interface=qsfp28-3 add bridge=bridge-DC interface=qsfp28-4 add bridge=bridge-DC interface=qsfp28-5 add bridge=bridge-DC interface=qsfp28-6 add bridge=bridge-DC interface=qsfp28-7 add bridge=bridge-DC interface=qsfp28-8 add bridge=bridge-DC interface=qsfp-dd1 add bridge=bridge-DC interface=qsfp-dd2
Настройка VLAN
[admin@MikroTik] ># VLAN 100 — серверы # VLAN 200 — storage # VLAN 300 — management /interface/bridge/vlan add bridge=bridge-DC vlan-ids=100 \ tagged=qsfp28-1,qsfp28-2,qsfp28-3,qsfp28-4,qsfp-dd1 add bridge=bridge-DC vlan-ids=200 \ tagged=qsfp28-5,qsfp28-6,qsfp28-7,qsfp28-8,qsfp-dd2 add bridge=bridge-DC vlan-ids=300 \ tagged=qsfp28-1,qsfp28-2,qsfp28-3,qsfp28-4,qsfp28-5,qsfp28-6,qsfp28-7,qsfp28-8,qsfp-dd1,qsfp-dd2 # PVID для access-портов (если нужно) /interface/bridge/port set [find interface=qsfp28-1] pvid=100
Настройка LACP (Link Aggregation)
[admin@MikroTik] ># Bonding из двух 100G портов /interface/bonding add name=bond-uplink \ mode=802.3ad \ slaves=qsfp28-7,qsfp28-8 \ transmit-hash-policy=layer-3-and-4 \ lacp-rate=fast # Добавление bonding в bridge /interface/bridge/port add bridge=bridge-DC interface=bond-uplink
Breakout 400G в 4x100G
[admin@MikroTik] ># Разделение QSFP-DD порта на 4 порта по 100G /interface/ethernet/switch/port set qsfp-dd3 breakout=4x100g # После breakout появятся интерфейсы: # qsfp-dd3-1, qsfp-dd3-2, qsfp-dd3-3, qsfp-dd3-4 /interface print where name~"qsfp-dd3"
Management IP
[admin@MikroTik] ># VLAN-интерфейс для управления /interface/vlan add name=vlan300-mgmt interface=bridge-DC vlan-id=300 /ip/address add address=10.0.0.1/24 interface=vlan300-mgmt # SSH доступ /ip/service set ssh disabled=no port=22 /ip/service set winbox disabled=no # DNS /ip/dns set servers=8.8.8.8,1.1.1.1
Мониторинг трансиверов
[admin@MikroTik] ># Оптический уровень сигнала /interface/ethernet/monitor qsfp28-1 once # Статистика по всем портам /interface print stats # Температура устройства /system/health print # Загрузка CPU и RAM /system/resource print
Проверка
Проверка L2-связности
[admin@MikroTik] ># Состояние портов /interface print where running=yes # MAC-таблица /interface/bridge/host print where bridge=bridge-DC # Состояние VLAN /interface/bridge/vlan print where bridge=bridge-DC # STP статус /interface/bridge/port print where bridge=bridge-DC # Bonding состояние /interface/bonding/monitor bond-uplink
Проверка трансиверов
[admin@MikroTik] ># Температура, напряжение, мощность оптического сигнала /interface/ethernet/monitor qsfp28-1 once /interface/ethernet/monitor qsfp-dd1 once # Ошибки на портах /interface print stats where name~"qsfp"
Проверка производительности
[admin@MikroTik] ># Bandwidth test (между двумя MikroTik) /tool/bandwidth-test address=10.0.0.2 protocol=tcp duration=30s # Torch — анализ трафика на порту /tool/torch interface=qsfp28-1 src-address=0.0.0.0/0 dst-address=0.0.0.0/0
Типичные ошибки
1. Трансивер не определяется
CRS804 поддерживает только определённые трансиверы. MikroTik рекомендует использовать собственные модули или проверенные сторонние:
[admin@MikroTik] ># Проверка распознавания трансивера /interface/ethernet/monitor qsfp28-1 once # Если sfp-vendor-name пустой — трансивер не распознан
Решение: используйте трансиверы из списка совместимости MikroTik или активируйте поддержку сторонних модулей:
[admin@MikroTik] >/interface/ethernet set qsfp28-1 sfp-rate-select=high
2. Breakout не работает
Breakout требует перезагрузки после изменения конфигурации:
[admin@MikroTik] >/interface/ethernet/switch/port set qsfp-dd3 breakout=4x100g /system/reboot
Также убедитесь, что используете правильный кабель (QSFP-DD to 4x QSFP28 breakout cable).
3. Низкая скорость — трафик через CPU
Если вы видите высокую загрузку CPU при передаче трафика, значит трафик не обрабатывается аппаратно. Проверьте:
[admin@MikroTik] ># Должен быть hardware offload /interface/bridge/port print where hw=yes # Если hw=no — включите hardware offload /interface/bridge set bridge-DC fast-forward=no /interface/bridge/port set [find bridge=bridge-DC] hw=yes
L3-трафик (routing между VLAN, NAT) всегда идёт через CPU — это ограничение CRS804 в RouterOS.
4. Перегрев при полной нагрузке
CRS804 потребляет до 350 Вт и требует качественного охлаждения. Убедитесь:
- Вентиляторы работают (front-to-back airflow)
- Температура в серверной не выше 25°C
- Между коммутаторами в стойке есть зазор 1U
[admin@MikroTik] ># Мониторинг температуры /system/health print # temperature: 55C — норма # temperature: 75C+ — критично, проверьте охлаждение
5. Полная BGP-таблица не помещается в FIB
CRS804 поддерживает ~64K записей в аппаратной FIB. Полная таблица BGP (~950K IPv4 + ~200K IPv6) не поместится. Решение:
- Используйте default route + partial BGP table
- Настройте prefix-list для фильтрации только нужных маршрутов
- Для полной таблицы BGP используйте CCR2116/CCR2216 как роутер и CRS804 как чистый L2 switch
[admin@MikroTik] ># Пример: принимаем только default + /16 и крупнее /routing/filter/rule add chain=bgp-in rule="if (dst-len > 16) { reject }"
6. Несовместимость скоростей на breakout-портах
При breakout 400G → 4x100G все четыре подпорта работают на 100G. Нельзя сделать один подпорт 100G, а другой 25G — все подпорты одного QSFP-DD работают на одной скорости.
Итоговая рекомендация
MikroTik CRS804 DDQ — уникальное предложение на рынке 400G-коммутаторов. За ~$5000 вы получаете 4 порта 400G и 8 портов 100G на программируемом чипе Tofino. Это в 3–7 раз дешевле аналогов от Cisco, Arista и Juniper.
Однако это не универсальное решение. CRS804 лучше всего подходит как чистый L2-коммутатор (spine) или агрегатор в среде, где L3-функции вынесены на отдельные маршрутизаторы. Попытка использовать его как полноценный L3-роутер с NAT, firewall и BGP full table приведёт к разочарованию.
Для малых и средних дата-центров, ISP с потребностью в 100G+ и AI/ML-лабораторий — CRS804 открывает доступ к 400G-сетям без корпоративных бюджетов.
# Проверка интерфейсов
/interface print
# Типичные имена:
# qsfp-dd1 ... qsfp-dd4 (400G)
# qsfp28-1 ... qsfp28-8 (100G)
# Создание bridge
/interface/bridge add name=bridge-DC vlan-filtering=yes
# Добавление портов
/interface/bridge/port
add bridge=bridge-DC interface=qsfp28-1
add bridge=bridge-DC interface=qsfp28-2
add bridge=bridge-DC interface=qsfp28-3
add bridge=bridge-DC interface=qsfp28-4
add bridge=bridge-DC interface=qsfp28-5
add bridge=bridge-DC interface=qsfp28-6
add bridge=bridge-DC interface=qsfp28-7
add bridge=bridge-DC interface=qsfp28-8
add bridge=bridge-DC interface=qsfp-dd1
add bridge=bridge-DC interface=qsfp-dd2
# VLAN 100 — серверы
# VLAN 200 — storage
# VLAN 300 — management
/interface/bridge/vlan
add bridge=bridge-DC vlan-ids=100 \
tagged=qsfp28-1,qsfp28-2,qsfp28-3,qsfp28-4,qsfp-dd1
add bridge=bridge-DC vlan-ids=200 \
tagged=qsfp28-5,qsfp28-6,qsfp28-7,qsfp28-8,qsfp-dd2
add bridge=bridge-DC vlan-ids=300 \
tagged=qsfp28-1,qsfp28-2,qsfp28-3,qsfp28-4,qsfp28-5,qsfp28-6,qsfp28-7,qsfp28-8,qsfp-dd1,qsfp-dd2
# PVID для access-портов (если нужно)
/interface/bridge/port set [find interface=qsfp28-1] pvid=100
# Bonding из двух 100G портов
/interface/bonding add name=bond-uplink \
mode=802.3ad \
slaves=qsfp28-7,qsfp28-8 \
transmit-hash-policy=layer-3-and-4 \
lacp-rate=fast
# Добавление bonding в bridge
/interface/bridge/port add bridge=bridge-DC interface=bond-uplink
# Разделение QSFP-DD порта на 4 порта по 100G
/interface/ethernet/switch/port set qsfp-dd3 breakout=4x100g
# После breakout появятся интерфейсы:
# qsfp-dd3-1, qsfp-dd3-2, qsfp-dd3-3, qsfp-dd3-4
/interface print where name~"qsfp-dd3"
# VLAN-интерфейс для управления
/interface/vlan add name=vlan300-mgmt interface=bridge-DC vlan-id=300
/ip/address add address=10.0.0.1/24 interface=vlan300-mgmt
# SSH доступ
/ip/service set ssh disabled=no port=22
/ip/service set winbox disabled=no
# DNS
/ip/dns set servers=8.8.8.8,1.1.1.1
# Оптический уровень сигнала
/interface/ethernet/monitor qsfp28-1 once
# Статистика по всем портам
/interface print stats
# Температура устройства
/system/health print
# Загрузка CPU и RAM
/system/resource print
# Состояние портов
/interface print where running=yes
# MAC-таблица
/interface/bridge/host print where bridge=bridge-DC
# Состояние VLAN
/interface/bridge/vlan print where bridge=bridge-DC
# STP статус
/interface/bridge/port print where bridge=bridge-DC
# Bonding состояние
/interface/bonding/monitor bond-uplink
# Температура, напряжение, мощность оптического сигнала
/interface/ethernet/monitor qsfp28-1 once
/interface/ethernet/monitor qsfp-dd1 once
# Ошибки на портах
/interface print stats where name~"qsfp"
# Bandwidth test (между двумя MikroTik)
/tool/bandwidth-test address=10.0.0.2 protocol=tcp duration=30s
# Torch — анализ трафика на порту
/tool/torch interface=qsfp28-1 src-address=0.0.0.0/0 dst-address=0.0.0.0/0
# Проверка распознавания трансивера
/interface/ethernet/monitor qsfp28-1 once
# Если sfp-vendor-name пустой — трансивер не распознан
/interface/ethernet set qsfp28-1 sfp-rate-select=high
/interface/ethernet/switch/port set qsfp-dd3 breakout=4x100g
/system/reboot
# Должен быть hardware offload
/interface/bridge/port print where hw=yes
# Если hw=no — включите hardware offload
/interface/bridge set bridge-DC fast-forward=no
/interface/bridge/port set [find bridge=bridge-DC] hw=yes
# Мониторинг температуры
/system/health print
# temperature: 55C — норма
# temperature: 75C+ — критично, проверьте охлаждение
# Пример: принимаем только default + /16 и крупнее
/routing/filter/rule
add chain=bgp-in rule="if (dst-len > 16) { reject }"