PIM SM
Протокол PIM SM (Protocol Independent Multicast, Sparse mode, RFC-2362) применяется для маршрутизации дейтаграмм для малочисленных групп, члены которых находятся далеко друг от друга (в этом случае недостатки метода RPF с усечением становятся существенными).
Функционирование протокола можно кратко описать как метод CBT, переходящий в RPF. Для группы назначается точка рандеву (RP), адрес которой известен всем потенциальным членам группы. Маршрутизатор, в сети которого зарегистрировались члены группы, посылает в RP сообщение Join, которое обрабатывается промежуточными маршрутизаторами как в технологии CBT – таким образом формируется первоначальное дерево рассылки.
Отправитель дейтаграмм (точнее, маршрутизатор отправителя), посылает в RP сообщения Register, в которых инкапсулируются групповые дейтаграммы. RP извлекает дейтаграммы из этих сообщений и рассылает их по сформированному дереву рассылки. Если отправитель работает достаточно интенсивно, то RP посылает в его сторону сообщение Join – то есть, отправитель становится членом группы и может рассылать групповые дейтаграммы по дереву непосредственно, минуя стадию туннелирования в точку рандеву.
Распространение групповых дейтаграмм по дереву рассылки осуществляется аналогично методу CBT: дейтаграмма рассылается через все интерфейсы, принадлежащие дереву, кроме того, с которого она была получена.
Далее, получая дейтаграммы, адресованные группе, маршрутизатор может заметить, что интенсивность этого потока превышает некоторый установленный лимит. В этом случае маршрутизатор решает оптимизировать дерево рассылки. Он посылает сообщение Join к источнику следующей полученной им дейтаграммы, адресованной данной группе, а в точку рандеву посылается сообщение Prune. Таким образом, дерево, изначально созданное вокруг точки рандеву, оптимизируется для данного источника. (Только "конечные" маршрутизаторы дерева рассылки могут инициировать этот процесс.)
Следует отметить, что переход к дереву, оптимизированному для источника, приводит к необходимости хранить и обрабатывать на маршрутизаторах большее количество служебной информации, что не всегда приемлемо, поэтому существует возможность отключения такого перехода.
Предусмотрен также обратный переход к дереву с корнем в точке рандеву. Он производится, если оптимизация дерева оказалась неоправданной.