Broadcast-шторм — лавинообразный поток широковещательных кадров (BUM-трафика: broadcast / unknown unicast / multicast), генерируемый абонентским оборудованием и «съедающий» ресурсы сети. Burst — кратковременный импульс такого трафика (всплеск при загрузке устройств, массовом DHCP/ARP).
Среда PON — разделяемая: восходящий трафик всех ONT одного pon-port делит одну полосу. Поэтому flood от одного абонента заметен всем: деградация услуг на PON-порту, рост загрузки uplink, нагрузка на CPU OLT.
Шторм из-под абонента и петля на L2 — связанные, но разные сценарии. Для блокировки ONT по дублирующемуся MAC на OLT встроен отдельный механизм — см. Защита от петель на L2 в PON. Данная статья — про штормы, которые этот механизм не ловит (шторм без дублей MAC). |
Последствия шторма зависят от схемы построения сети. В схеме VLAN на абонента (S-VLAN/QinQ) broadcast flood между абонентами не транслируется, но потребляет восходящую полосу pon-port и ухудшает услуги соседним ONT. В схеме с общей VLAN (единая VLAN на услугу/группу абонентов) flood дополнительно достигает всех абонентов общей VLAN. |
| Где смотрим | Что видно |
|---|---|
| Uplink OLT | Жалобы абонентов одного PON; аномальный рост Rx Broadcast на uplink-интерфейсах (front-port) |
| Логи OLT | Сообщения DNA - Rate limit: started storm of broadcast traffic on pon-port N (если на pon-port настроен rate-limit с log) |
| Аварии OLT | Аварии ont-broadcast-storm / ont-multicast-storm (при включённом storm-control в профиле shaping) |
| Статусы ONT | BLOCKED у абонента-источника (если в назначенном ему профиле shaping задан параметр logging shutdown) |
1. Смотрим uplink OLT — убеждаемся, что flood идёт со стороны абонентов:
LTP-16N# show interface front-port 1 counters verbose front-port 1 statistics Rx Bytes 1036092010553 Rx Packets 942068752 Rx Unicast Packets 406883966 Rx Multicast Packets 507776425 Rx Broadcast Packets 27408363 ... |
Резкий рост Rx Broadcast Packets при нормальном unicast — признак шторма из сети абонентов.
2. Смотрим аварии — OLT сам именует источник (если storm-control в профилях shaping включён, см. далее):
LTP-16N# show alarms active type ont-broadcast-storm LTP-16N# show alarms history type ont-broadcast-storm |
Дублирование в систему мониторинга — SNMP-трапы ont-broadcast-storm (см. раздел «Настройка аварий и трапов»).
3. Проверяем статусы ONT на подозреваемом PON-порту:
LTP-16N# show interface ont 12 connected |
ONT в состоянии BLOCKED — вероятный «штормующий» абонент с включённой автоматической блокировкой.
4. Смотрим счётчики GEM-порта ONT — строка Broadcast:
LTP-16N# show interface ont 3/3 counters olt-side gem-port ----------------------------------- [ONT 3/3] GEM port statistics ----------------------------------- GEM port id Rx Packet Rx Bytes Tx Packet Tx Bytes ----------- ------------ ----------- ------------ ------------ 204 0 0 0 0 Broadcast 0 0 530071 723511865 Multicast 0 0 60 3840 |
Здесь Rx — трафик от ONT на OLT (upstream). Аномально большие Rx Packet / Rx Bytes в строке Broadcast — признак штормящего терминала. Обходим ONT подозреваемого PON-дерева и сравниваем значения.
Если шторм активен, но профиль со storm-control на абонентах не настроен и автоматических аварий нет — временно включите на подозреваемом pon-port ограничение broadcast с логированием:
где |
Для захвата содержимого flood используйте RSPAN — см. [LTP-N, LTX, MA5160] Зеркалирование трафика в VLAN (RSPAN). |
Storm-control ограничивает скорость upstream-рассылки broadcast/multicast на стороне самой ONT. Настройка — в профиле shaping, профиль назначается на ONT.
Создание профиля:
LTP-16N# configure terminal LTP-16N(configure)# profile shaping storm-protect LTP-16N(config)(profile-shaping-storm-protect)# upstream broadcast storm-control enable LTP-16N(config)(profile-shaping-storm-protect)# upstream broadcast storm-control logging shutdown LTP-16N(config)(profile-shaping-storm-protect)# exit |
Параметры (аналогично для multicast):
| Команда | Назначение | По умолчанию |
|---|---|---|
upstream <TYPE> storm-control enable | Включить контроль шторма (broadcast/multicast) | выключено |
upstream <TYPE> storm-control rate-limit <1-10000> | Порог, пакетов в секунду | 1000 |
upstream <TYPE> storm-control logging | Писать в лог при превышении порога | включено |
upstream <TYPE> storm-control logging shutdown | Плюс отключать (блокировать) ONT при превышении | выключено |
Выбор порога rate-limit. Порог сравнивается со скоростью upstream broadcast (или multicast) одной ONT в пакетах в секунду. Легитимные фоны и всплески абонентской сети — IGMP join/leave IPTV-приставок, discovery «умного дома», ARP/DHCP при одновременном старте устройств — укладываются в десятки–сотни pps; шторм — десятки тысяч pps, различие на порядки. Рекомендации (инженерные, не норматив):
logging без shutdown.show interface ont <ID> counters olt-side gem-port у типового абонента и ставят порог с 5–10-кратным запасом.Назначение профиля на ONT:
LTP-16N# configure terminal LTP-16N(configure)# interface ont 12/12 LTP-16N(config)(if-ont-12/12)# profile shaping storm-protect LTP-16N(config)(if-ont-12/12)# exit LTP-16N# commit LTP-16N# save |
При превышении порога ONT переходит в состояние BLOCKED и генерируется авария ont-broadcast-storm. Время блокировки задаётся глобально:
LTP-16N(configure)# pon olt ont-block-time <30-86400> Maximum unactivated timeout (sec) |
По умолчанию 120 секунд для LTP-N / LTX. Для MA5160 команда выполняется из view слота:
MA5160(config)(slot-1-16)# pon olt ont-block-time <30-86400> Maximum unactivated timeout (sec) |
Досрочный вывод из блокировки: reconfigure interface ont <PON>/<ONT>. После истечения таймера ONT активируется повторно; при продолжении шторма — блокируется снова.
Настройка аварий и трапов (из режима конфигурации — в alarm):
LTP-16N(configure)# alarm LTP-16N(config)(alarm)# ont-broadcast-storm severity major |
Трапы SNMP о начале (... in) и окончании (... out) шторма по умолчанию включены; категория аварии по умолчанию — info. Если события шторма мониторингу не нужны, их отключают (ont-broadcast-storm in false), аналогично настраиваются ont-multicast-storm и время жизни аварии (ttl).
Параметр |
Ingress rate-limit на pon-port отсекает flood на входе PON-порта на стороне OLT и защищает саму OLT и uplink. Настройка:
LTP-16N# configure terminal LTP-16N(configure)# interface pon-port 1 LTP-16N(config)(if-pon-1)# rate-limit broadcast 51200 65536 log LTP-16N(config)(if-pon-1)# do commit LTP-16N(config)(if-pon-1)# do save |
При превышении в логе OLT появляются сообщения:
24 Nov 11:50:05 NOTICE DNA - Rate limit: started storm of broadcast traffic on pon-port 16. 24 Nov 11:50:20 NOTICE DNA - Rate limit: ended storm of broadcast traffic on pon-port 16. Total drop 6513228 bytes. |
Пороги по front-port/pon-port/port-channel для LTP-N, LTX и MA5160 различаются; полный порядок настройки — в [LTP-N, LTX, MA5K] Rate-limit на front-port, pon-port. |
Если источник установлен, а разбирательство с абонентом откладывается:
LTP-16N# configure terminal LTP-16N(configure)# interface ont 12/12 LTP-16N(config)(if-ont-12/12)# shutdown |
Включение обратно — no shutdown.
ont-broadcast-storm / ont-multicast-storm включены по умолчанию — проверьте, что они не отключены в разделе alarm и доходят до системы мониторинга.rate-limit broadcast/multicast на pon-port как второй уровень защиты.