CCR1009 и multicast VLAN на 480 Мбит

RIP, OSFP, BGP, MPLS/VPLS
dmitryavet
Сообщения: 4
Зарегистрирован: 18 дек 2020, 00:46

CCR1009 и multicast VLAN на 480 Мбит

Сообщение dmitryavet »

Приветствую коллеги!

Столкнулся с небольшими граблями при работе с мультикастом на CCR1009-7G-1C-1S+, прошивка и boot последняя 6.47.8.

Коротко суть проблемы. Есть ISP-провайдер, который дает интернет и кабельное телевиденье по оптике за 20 км в соседний поселок. На стороне провайдера Dell Force10 с модулем 3К 40км, зашитым под микротик.

На другом конце CCR1009 с ответным SFP 3K 40km SM. Фактически линия 19,5 км, общие потери 9,5 дБ. Интернет тестировали, без проблем качает до гигабита.

Оптический линк заходит в WAN-Combo, где софтово принимаются 2 тегированные VLAN:
- VLAN 3008, по которому дается выход в интернет. Провайдер дает тарифный плат 200/200 Мбит с типом подключения РРРоЕ. Фактическое потребление траффика в среднем 15 Мбит, пики не более 50 Мбит.
- VLAN 777 – мультикаст от провайдера, в котором идет IP-пакет телевидени, это порядка 480 Мбит UDP мультикаст.

CCR1009 работает как главный шлюз и контроллер на небольшом комплексе. Есть CAPsMAN на 22 двухдиапазонные точки, есть 3 подсети на 3 рабочих бриджах. С CCR1009 по 10-гбитному SFP уходит транк с 3 тегами на CRS317, откуда уже идет коммутация на 10 нижестоящих свичей. По транку приход не более 250-300 Мбит. VLAN софтовый, мы тестировали в нагрузке CCR1009 до 5+ Гбит спокойно прокачивает через транк.
К медным портам № 5-6-7 подключены 3 трансмодулятора TERRA miq440, они забирают мультикаст и формируют сигнал для внутренней коаксиальной сети в формате DVB-C.

Для обработки мультикаста мы пробовали 3 варианта конфигурации:

1) Первый вариант: добавили vlan 777 в interface-list=LAN и поместили его в специальный bridge-multicast, в который присоединены порты 5-6-7;
2) При втором варианте я настраивал IGMP Proxy: vlan 777 был указан как Upstream и находился в interface-list=LAN, также в проксю был добавлен bridge-multicast;
3) В третем варианте я пробовал настраивать PIM, добавив VLAN как интерфейс, а IP трансмодуляторов как RP.
Суть проблемы в том, что независимо от варианта обработки мультикаста, на самих трансмодуляторах каждые N секунд вываливаются ошибки (CC errors), соответственно на телевизорах иногда бывают «кубики». При этом на стороне ISP все ОК.
Что мы уже пробовали делать:
1) Меняли порт на потоковом сервере;
2) На Combo-интерфейсе 0 ошибок, дропов и коллизий;
3) На VLANe 0 ошибок;
4) На портах в сторону линеек 0 ошибок;
5) На бридже 0 ошибок;
6) Пробовал добавлять правила input/forward для UDP;
7) Пробовал отключать все правила файрволла;
8) Меняли порт UDP;
9) Включали-отключали IGMP Snooping на бридже;

Загрузка CPU в среднем до 5%, при высокой активности пользователей может вырастать до 10-12%, в пиках 15%. Использование памяти не более 200-350 МБ. Ни одно из ядер не нагружено даже до 70%.

Из нюансов только то, что ISP не может пропустить IGMP, а просто наливает мультикаст на порт в VLANи отдает в сторону клиента.

ниже кусок конфига:

Код: Выделить всё

/interface bridge
add igmp-snooping=yes name=bridge-multicast protocol-mode=none

/interface bridge port
add bridge=bridge-multicast interface=ether5
add bridge=bridge-multicast interface=ether6
add bridge=bridge-multicast interface=ether7

/interface vlan
add interface=combo1-wan name=vlan-777-catv vlan-id=777
add interface=combo1-wan name=vlan-3008-internet vlan-id=3008

/interface list
add name=LAN
add name=WAN

/interface list member
add interface=combo1-wan list=WAN
add interface=vlan-777-catv list=LAN
add interface=vlan-3008-internet list=WAN
add interface=pppoe-internet list=WAN
add interface=bridge-multicast list=LAN

/ip address
add address=10.253.0.1/24 interface=bridge-multicast network=10.253.0.0
add address=10.253.0.2/24 interface=vlan-777-catv network=10.253.0.0

/routing igmp-proxy interface
add alternative-subnets=0.0.0.0/0 interface=bridge-multicast
add alternative-subnets=0.0.0.0/0 interface=vlan-777-catv upstream=yes
	
/ip settings
set tcp-syncookies=yes

/ip firewall filter
add action=add-src-to-address-list address-list=ddos-blacklist \
    address-list-timeout=30m chain=input comment="===== DDOS =====" \
    connection-limit=50,32 in-interface-list=WAN protocol=tcp
add action=drop chain=input connection-limit=3,32 in-interface-list=WAN \
    protocol=tcp src-address-list=ddos-blacklist
add action=jump chain=forward comment="===== SYN-FLOOD =====" \
    connection-state=new in-interface-list=WAN jump-target=SYN-Protect \
    protocol=tcp tcp-flags=syn
add action=jump chain=input connection-state=new in-interface-list=WAN \
    jump-target=SYN-Protect protocol=tcp tcp-flags=syn
add action=return chain=SYN-Protect connection-state=new limit=200,5:packet \
    protocol=tcp tcp-flags=syn
add action=drop chain=SYN-Protect connection-state=new protocol=tcp \
    tcp-flags=syn
add action=accept chain=input comment=\
    "===== INPUT: accept established,related,untracked =====" \
    connection-state=established,related,untracked
add action=drop chain=input comment="===== INPUT: drop invalid =====" \
    connection-state=invalid
add action=accept chain=input comment="===== INPUT: accept ICMP =====" \
    protocol=icmp
add action=accept chain=input comment="===== MULTICAST CATV INPUT =====" \
    in-interface=vlan-777-catv
add action=accept chain=forward comment=\
    "===== MULTICAST CATV FORWARDING =====" dst-port=20002 in-interface=\
    vlan-777-catv protocol=udp
add action=drop chain=input comment=\
    "===== INPUT: drop all not coming from LAN =====" in-interface-list=!LAN
add action=accept chain=forward comment=\
    "===== FORWARD: accept established,related, untracked =====" \
    connection-state=established,related,untracked
add action=drop chain=forward comment="===== FORWARD: drop invalid =====" \
    connection-state=invalid
add action=drop chain=forward comment=\
    "===== FORWARD: drop all from WAN not DSTNATed =====" \
    connection-nat-state=!dstnat connection-state=new in-interface-list=WAN

Attachments

    Screenshot_2020-12-12 miq440 - MFA-ACADEMY-3.png
Буду рад любой помощи или дельным советам по существу.

Крайний вариант - ставить до микротика промежуточный коммутатор, на нем принимать мультикаст, отдавать напрямую на линейки, а интернет отдавать транзитом на микротик.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Sir_Prikol
Сообщения: 560
Зарегистрирован: 14 апр 2018, 15:21
Откуда: СССР

Re: CCR1009 и multicast VLAN на 480 Мбит

Сообщение Sir_Prikol »

*) bridge - added "multicast-router" monitoring value for bridge interface (CLI only);
*) bridge - added fixes and improvements for IGMP and MLD snooping;
*) bridge - fixed "multicast-router" setting on bridge enable;

Возможно заработает в следующей версии ROS

Но мне до сих пор не удалось справиться с мультиком на микротике, или кубики, или кольца

Простейшее расположение мулька в 3-х соседних портах - валит наглухо один из них рандомно
Дома: CCR2004 (7-ISP(GPON)белый IP)
dmitryavet
Сообщения: 4
Зарегистрирован: 18 дек 2020, 00:46

Re: CCR1009 и multicast VLAN на 480 Мбит

Сообщение dmitryavet »

Эпичность в том, что я уже испробовал 4 (!) разных варианта проброса:

1) создал отдельный бридж bridge-multicast, в него пихнул 3 порта с трансмодуляторов и VLAN с мультикастом - ошибки на выходе...

2) потом уже попробовал IGMP Snooping - ошибки все там же...

3) потом играл с PIM - ошибки остались...

4) после уже играл с vlan filtering + vlan tag / untag - от ошибок не избавился...

Тут есть заметка, в которой обосновывается необходимость QoS для multicast:
https://habr.com/ru/post/246791/

Также тут также пишут, что надо QoSить мультикаст:
https://forum.nag.ru/index.php?/topic/1 ... multicast/

Каких-либо примеров реализации не нашел нигде...

На официальном форум есть и другие люди, у которых отвал мультика именно на CCR
https://forum.mikrotik.com/viewtopic.ph ... 27#p835427
Аватара пользователя
Chupaka
Сообщения: 3910
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: CCR1009 и multicast VLAN на 480 Мбит

Сообщение Chupaka »

Хм, статья занятная (первую только прочитал :)). А проверьте, что у вас в Queue -> Interface Queues. Если only-hardware-queue - попробуйте выставить какой-нибудь multi-queue-ethernet-default с увеличенным буфером...

З.Ы. Уже увидел, что вы остановились на варианте с промежуточным коммутатором %)
dmitryavet
Сообщения: 4
Зарегистрирован: 18 дек 2020, 00:46

Re: CCR1009 и multicast VLAN на 480 Мбит

Сообщение dmitryavet »

multi-queue-ethernet-default и pfifo ни для VLAN, ни для входящего Combo, ни для бриджа не применим... не давало проставить ((

Так что пришлось ставить коммутатор...
Аватара пользователя
Chupaka
Сообщения: 3910
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: CCR1009 и multicast VLAN на 480 Мбит

Сообщение Chupaka »

Это на физические интерфейсы надо ставить, по идее - ведь это у них все эти переполняющиеся буферы...
dmitryavet
Сообщения: 4
Зарегистрирован: 18 дек 2020, 00:46

Re: CCR1009 и multicast VLAN на 480 Мбит

Сообщение dmitryavet »

на combo-wan пробовал - не давало...
Аватара пользователя
Sir_Prikol
Сообщения: 560
Зарегистрирован: 14 апр 2018, 15:21
Откуда: СССР

Re: CCR1009 и multicast VLAN на 480 Мбит

Сообщение Sir_Prikol »

Вышел 6.48 - stable

*) bridge - added "multicast-router" monitoring value for bridge interface;
*) bridge - fixed "multicast-router" setting on bridge enable;
*) bridge - fixed multicast table printing;
*) bridge - increased multicast table size to 4K entries;

Пробуйте
Дома: CCR2004 (7-ISP(GPON)белый IP)
Аватара пользователя
Chupaka
Сообщения: 3910
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: CCR1009 и multicast VLAN на 480 Мбит

Сообщение Chupaka »

У нас 5-7 лет назад такая беда была с CCR1036, в итоге мультикаст выносили на отдельный интерфейс (по 10G приходил аплинк, был бондинг из четырёх гигабитных портов в сторону коммутатора агрегации, пятым проводом пускали мультикаст). И, как помню, на десятигиговых портах проблема исчезла (когда приходило на CCR в 10G и уходило на коммутатор через 10G). Но вот игрались ли тогда с очередями на интерфейсах - не вспоминается... Наверное, были only-hardware-queue.

И - да, вряд ли изменения в 6.48 на ситуацию повлияют.
Tiesto
Сообщения: 98
Зарегистрирован: 28 апр 2016, 22:33

Re: CCR1009 и multicast VLAN на 480 Мбит

Сообщение Tiesto »

dmitryavet писал(а): 19 дек 2020, 00:37 Эпичность в том, что я уже испробовал 4 (!) разных варианта проброса:

1) создал отдельный бридж bridge-multicast, в него пихнул 3 порта с трансмодуляторов и VLAN с мультикастом - ошибки на выходе...

2) потом уже попробовал IGMP Snooping - ошибки все там же...

3) потом играл с PIM - ошибки остались...

4) после уже играл с vlan filtering + vlan tag / untag - от ошибок не избавился...

Тут есть заметка, в которой обосновывается необходимость QoS для multicast:
https://habr.com/ru/post/246791/

Также тут также пишут, что надо QoSить мультикаст:
https://forum.nag.ru/index.php?/topic/1 ... multicast/

Каких-либо примеров реализации не нашел нигде...

На официальном форум есть и другие люди, у которых отвал мультика именно на CCR
https://forum.mikrotik.com/viewtopic.ph ... 27#p835427
У меня тоже CCR1036 есть. Получаю multicast, на днях туда буду подключить Terra miq440. Точнее аналогичный структура.
В итоге что вы сделали? Проблемы остались? Поделитесь опытом пожалусто.