Протокол pim для сферы ИТ

Опубликовано: 30-04-2023

Продолжим изучение мультикаста, рассмотрев протокол PIM (Protocol Independent Multicast), его режимы (Dense Mode, Sparse Mode), типы деревьев и SPT Switchover, механизмы предотвращения дублирования трафика (Designated Router (Source DR и Receiver DR), Assert, Forwarder), автоматический выбор Rendezvous Point, SSM, BIDIR PIM.

Протокол PIM
Итак, мы разобрались, как клиенты сообщают ближайшему маршрутизатору о своих намерениях. Теперь неплохо было бы передать трафик от источника получателю через большую сеть.

Если вдуматься, то мы стоим перед довольной сложной проблемой — источник только вещает на группу, он ничего не знает о том, где находятся получатели и сколько их. Получатели и ближайшие к ним маршрутизаторы знают только, что им нужен трафик конкретной группы, но понятия не имеют, где находится источник и какой у него адрес. Как в такой ситуации доставить трафик?

Существует несколько протоколов маршрутизации мультикастового трафика: DVMRP, MOSPF, CBT — все они по-разному решают такую задачу. Но стандартом де факто стал pim — Protocol Independent Multicast.

Другие подходы настолько нежизнеспособны, что порой даже их разработчики практически признают это. Вот, например, выдержка из RFC по протоколу CBT:

CBT version 2 is not, and was not, intended to be backwards compatible with version 1; we do not expect this to cause extensive compatibility problems because we do not believe CBT is at all widely deployed at this stage.
PIM имеет две версии, которые можно даже назвать двумя различными протоколами в принципе, уж сильно они разные:

PIM Dense Mode (DM)
PIM Sparse Mode (SM)
Independent он потому, что не привязан к какому-то конкретному протоколу маршрутизации юникастового трафика, и позже вы увидите почему.