В AV мире насколько хорошо Mikrotik справляется с транспортировкой трафика NDI и Dante, и стоит ли их держать на физически разделённых сетях, или Mikrotik работает стабильно? Я знаю, что у Netgear есть линейка коммутаторов, разработанных специально для медиа-контента, такого как NDI и Dante. Что думаете? -Тим
JAza
Guest
0
15.06.2024 01:43:00
Можешь подробнее рассказать о правильной настройке интерфейса? Что конкретно нужно настроить на коммутаторе или роутере Mikrotik, чтобы всё хорошо работало с Dante? К тому же, речь идёт о жилой сети, поэтому: а) Каналов Dante будет немного. В основном — несколько входов по XLR или Bluetooth для дома, подключенных к аудиосистеме с распределением звука (ELAN audio switcher и усилители). б) Коммутатор будет работать в двойном режиме: в основном для остальной домашней сети (компьютеры, NAS, точки доступа, камеры наблюдения и пр.) и только для пары устройств Dante. Некоторые участки сети, как камеры наблюдения, сенсорные панели и система управления ELAN, будут выделены в отдельные VLAN.
Не знаю, стоит ли планировать VLAN для устройств Dante или нет. Коммутатор, который я рассматриваю, — CRS354-48G-4S+2Q+RM, а роутер — скорее всего RB4011 (интернет на оптике, 1 гигабит симметрично).
Это будет моё первое знакомство с Dante, так что огромное спасибо за любые советы! Дж.
Amm0
Guest
0
15.06.2024 17:52:00
«ЕСЛИ» — потому что многое зависит от деталей. Dante уже не раз упоминался на форуме, добавлю пару подробностей, так как хорошо знаком с Dante аудиосетями. Кстати, получилось больше, чем планировал, но проще всё объяснить в одном посте, сразу — ведь в Dante много условностей.
Любой роутер или свитч Mikrotik подойдёт для Dante с настройками по умолчанию — «ЕСЛИ» Dante единственное, что есть в сети, и остаётся включённым аппаратное разгрузка в конфигурации.
Проблемы могут возникнуть, «ЕСЛИ» сеть перегружается трафиком или трафик проходит через сложные файрволы/и т.п. с задержками обработки.
На мероприятиях или площадках легко контролировать, чтобы к роутеру/свитчу были подключены только AV-устройства, так что «если» это единственная нагрузка на 1G свитч/роутер, QoS не нужен, ведь всё работает ниже лимита скорости чипа свитча.
Управление сетями профессионального оборудования (поскольку некоторые имеют мобильные приложения и прочее) — это там, где Mikrotik помогает с NAT, Wi-Fi и остальным, чтобы контролировать pro-устройства. Часто делают «резервную» Dante-сеть — это совсем другие задачи по сравнению с домашними, корпоративными или церковными сетями.
Но звук Dante требует только простого L2-свитчинга, и всё будет в порядке.
Теперь про «домашний контекст» — или место, где в той же сети есть общий интернет-трафик: NAS, NVR с камерами, VoIP, системы управления, или, что обычно сложнее всего, дети с тяжёлыми скачиваниями игр на несколько гигабайт...
Здесь есть риск перегрузки сети, потому что не контролируешь, что делают другие пользователи. Значит, нужен «настоящий» свитч с аппаратным QoS.
Устройства Dante сами проставляют приоритет при отправке пакетов. У Mikrotik есть инструкция, как настроить на, например, CRS использование приоритетов от Dante, чтобы они имели преимущество на свитче:
Единственное сложное — Dante по умолчанию использует собственный протокол, но поддерживает новый стандарт «AES67».
На мой взгляд, AES67 стоит использовать только при реальной необходимости.
Чаще всего его применяют, когда Linux выступает в роли аудиоджерела. Протокол Dante на Linux не поддерживается, но есть сторонние драйверы AES67.
Однако использовать AES67 значит менять все Dante-устройства на этот режим.
Если поддержка Dante на Linux важна, лучше использовать аппаратный USB-донгл AVIO — он более надёжен и менее зависит от производительности CPU, чем софт.
Переход на AES67 накладывает и другие ограничения.
Я упоминаю AES67, потому что при выборе Mikrotik свитча «ЕСЛИ» AES67 понадобится, стоит приобрести коммутатор с поддержкой синхронизации PTPv2.
«Стандартный Dante» использует PTPv1 и имеет встроенные механизмы синхронизации, так что от свитча ничего дополнительно не требуется.
Но AES67 использует PTPv2.
Хотя в многих свитчах есть QoS-маркировка Dante (см. документацию), поддержка PTPv2 встречается реже.
Например, CRS354-48G-4S+2Q+RM поддержки PTPv2 не имеет.
Потому, если покупаете новый свитч для AES67, лучше выбрать модель с PTPv2.
Вот список Mikrotik свитчей с PTPv2:
Вопрос о VLAN проще сказать так — это сложнее.
Если используешь QoS на свитче, Dante нормально работает в общей LAN.
Это удобнее, особенно потому, что Dante Controller требует быть в той же сети с аудиоустройствами для управления.
Отдельный VLAN тоже возможен, но придётся настраивать Dante на этой VLAN.
И, возможно, управление некоторыми устройствами Dante требует общей LAN.
Всё зависит от конкретных задач.
В любом случае желательно включить QoS на свитче для Dante.
Все устройства Dante должны находиться в одном LAN-сегменте, потому что обнаружение через mDNS работает только на одном уровне L2/ethernet/VLAN (ограничение RouterOS для всех сервисов с mDNS).
Свитч, который я рассматриваю — CRS354-48G-4S+2Q+RM, роутер — скорее всего RB4011 (интернет — оптика 1 Гбит/с симметрично).
Если есть оборудование Elon — лучше взять RB5009, он новее RB4011.
Но для Dante это не так важно, потому что Dante коммутация, а не маршрутизация.
Кратко по Dante аудиосетям:
- Устройства Dante используют mDNS для объявления аудиовходов/выходов в LAN/VLAN.
- Устройства пытаются получить IP через DHCP, но готовы использовать самоназначенный адрес 169.254.x.x, если DHCP-сервера нет. Это работает, так как mDNS найдёт устройства по этому адресу, то есть роутер не нужен — достаточно свитча для работы Dante.
- Dante имеет Java-программу «Controller» на ПК для настройки связей IN/OUT, но она необязательна, так как сами устройства поддерживают соединения друг с другом.
- Другие устройства, например сетевые шкафные микшеры с поддержкой Dante, тоже могут делать маршрутизацию каналов.
- Вся эта работа основана на Dante-протоколе с использованием mDNS и/or multicast (без сервера, облака или роутера, только L2 для multicast и mDNS).
- Dante-устройства сами ставят DSCP-маркеры для приоритета, поэтому «умные свитчи» просто читают эти метки и обеспечивают приоритет.
- Чтобы не зависеть от приоритета, в Dante есть настройка «сетевой задержки», которая буферизует аудиопакеты. Если свитч «медленный», можно увеличить задержку в Dante для компенсации.
- Задержка ниже 10 мс не заметна человеческим ухом (кто-то говорит 20 мс, но Dante рекомендует максимум 10 мс, чтобы быть уверенным). Так что 5 мс — норм.
- При максимальной 10 мс Dante не работает по Wi-Fi — 5 ГГц-сети и mesh сети не подходят.
- Известно, что 60 ГГц-связь работает для Dante, так как задержка там ниже, чем на 5 ГГц.
Кроме того, разные устройства Dante поддерживают разный минимальный уровень задержки:
- Virtual Soundcard и Via — софт на Mac/PC для подключения аудио в сеть Dante, имеет минимальную задержку 4 мс (зависит от CPU).
- AVIO адаптеры (для XLR/BT/USB -> Ethernet+Dante) — до 2 мс.
- Средний Yamaha профессиональный микшер — до 0,25 мс.
В таблице Yamaha показано, как количество свитчей влияет на задержку и как Dante объясняет сеть непрофессионалам — с консервативным подходом по задержкам в потребительских Ethernet-свитчах.
Презентация от Dante «Level 3 Advanced Networking» — одна из лучших по IP/OSI модели/DNS/multicast/VLAN/субсетям/ARP/DSCP и т. п.
Большинство видео и документов Dante отлично объясняют сети, выходя за рамки только аудио.
JAza
Guest
0
15.06.2024 18:26:00
Вау. Невероятный разбор. Мне, наверное, придется прочитать его ещё раз десять, чтобы полностью всё уловить, но спасибо, что поделился и за все подробности.
UpRunTech
Guest
0
17.06.2024 19:42:00
Никогда не слышал о Dante до этого поста — на самом деле интересно. Я прочитал руководства по PtP и QoS, чтобы узнать, какие коммутаторы поддерживают эти функции, и заметил в руководстве по QoS, что начиная с ROS 7.15 QoS теперь совместим с Dante. Нужно постоянно приглядываться к страницам справки. Они постоянно подсовывают что-то новое без какого-либо уведомления или шумихи.
Larsa
Guest
0
17.06.2024 20:01:00
Вы можете следить за всеми обновлениями руководств по ссылке . Нажмите на ссылку «show change».
Amm0
Guest
0
17.06.2024 20:27:00
LOL, я сразу про тебя подумал, ведь, представляю, что Dante можно прокидывать и через мостовые фильтры. Но там всё начинает усложняться, потому что, пока mDNS используется для обнаружения аудиоканалов, аудиопотоки могут идти по unicast или multicast в зависимости от того, идёт ли источник/приёмник аудио в несколько мест (mDNS же сообщает, какие адреса и порты)... Вне привычного сценария с площадкой или мероприятием... Для большого дома или домашней лаборатории с PoE и так далее, Dante выпускает серию PoE-донглов («AVIO»), чтобы конвертировать аналоговый сигнал в Ethernet с управлением Dante: Но в целом это полезнее, если у тебя много аудиоустройств, чтобы микшировать живой звук. А Mikrotik, кстати, мог бы подсмотреть пару идей для интерфейса управления VLAN из инструмента патчинга Dante.
UpRunTech
Guest
0
18.06.2024 01:10:00
Я прочитал руководство по сети Dante, которое было выше. Из другой темы я быстро ознакомился с протоколом обнаружения HDHomerun. Метод фильтрации через мост может сработать во многих случаях, если вы готовы покопаться в спецификациях.
Amm0
Guest
0
18.06.2024 15:16:00
Dante выпускает «Domain Manager», который, по сути, выступает как аутентифицированный mDNS-прокси для работы с Dante через VLAN, но стоит он недешево и, скорее всего, слишком сложен для большинства случаев. Не уверен, что бы я это рекомендовал... Но Dante — это хороший «гражданин» multicast и mDNS/DNS-SD, так что какую-нибудь самодельную схему на RouterOS, вероятно, можно сделать для схожей работы Dante через VLAN, как у Domain Manager (правда, без навороченной аутентификации, но защиту по MAC-адресам реализовать можно).
Если как-то замутить прокси mDNS (или использовать DNS-SD) между VLAN для обнаружения устройств и, что важно, применить PIM или IGMP-прокси для самого потока аудио — это должно сработать, чтобы транслировать Dante через VLAN. Сами аудиопотоки НЕ используют link-local multicast, так что PIM/IGMP должны справиться с ними нормально — mDNS же с PIM/IGMP работать не может.
У Mikrotik нет встроенной поддержки mDNS relay/reflector/proxy, так что придётся использовать метод @UpRunTech с фильтрами мостов для mDNS (как и для любых других mDNS задач) — , а дальше применять PIM (или IGMP на уровне моста или маршрутизации multicast).
Но я лично это не пробовал и считаю, что лучше всего держать Dante в одной сети, либо выделенной, либо общей — но ОДНОЙ сети. Насколько это будет работать, сильно зависит от того, проходят ли PIM/IGMP через CPU или switch-чип — там очень мало места для задержек, иначе люди услышат неприятные провалы в звуке. HDHomeRun — совсем другое дело. У меня есть 10-летний экземпляр где-то в коробке, но там клиент использует UDP broadcast на 255.255.255.255 к какому-то UDP-порту, а HDHomeRun отвечает — так что, насколько я понимаю, этот broadcast нужно пробросить с основной LAN в LAN HDHomeRun.