PIM DM
PIM (Protocol Independent Multicast) – два протокола групповой маршрутизации (для плотного и разреженного расположения членов групп, соответственно dense mode и sparse mode), не зависящие от используемого протокола "обычной" маршрутизации.
PIM DM (PIM Dense Mode) используется в системах сетей с большой плотностью получателей. Этот протокол реализует метод RPF с усечением (немодифицированный, то есть без доступа к внутренним таблицам протокола маршрутизации, вследствие чего достигается независимость от протокола маршрутизации). Необходимость периодической посылки "пробных" дейтаграмм не является существенным недостатком при плотном расположении получателей.
При работе протокола PIM DM могут возникнуть две особые ситуации.
Несколько маршрутизаторов подключены к одной широковещательной сети N, которая через вышестоящий маршрутизатор G соединяется с системой сетей, в которой находится отправитель (рис. 8.4.1). В сетях, подключенных к маршрутизаторам В и С, находятся члены группы, а в сети, подключенной к маршрутизатору А – нет.
Рис. 8.4.1. Особая ситуация (1) в PIM DM
Вышестоящий маршрутизатор G посылает в сеть N первую групповую дейтаграмму. Маршрутизатор А откликается сообщением Prune, однако отсекать сеть N от дерева рассылки нельзя, так как есть получатели в сетях В и С. Протокол предлагает следующее решение: маршрутизатор G, получив Prune, запускает таймер. Маршрутизаторы В и С, прослушивая сеть, обнаруживают посланное узлом А Prune, и тут же один из них отправляет сообщение Join (второй, обнаружив в сети Join, не предпринимает никаких действий, поскольку одного такого сообщения достаточно). Маршрутизатор G, приняв Join, игнорирует предыдущий Prune. Если же за определенное время сообщение Join не будет принято, сеть N отрезается от дерева рассылки.
Вторая особая ситуация возникает, когда два маршрутизатора А и В подключены к одной и той же клиентской сети N, в которой находится получатель (рис. 8.4.2).
Рис. 8.4.2. Особая ситуация (2) в PIM DM
Оба маршрутизатора будут отправлять групповые дейтаграммы в сеть N, так как им известно, что в ней находится получатель. Очевидно, что при этом создается избыточный трафик из лишних экземпляров дейтаграмм. Во избежание этого эффекта маршрутизатор (предположим, А), обнаружив, что в сети N действует "конкурирующий" маршрутизатор В, также рассылающий групповые дейтаграммы от источника S в группу G, посылает сообщение Assert, содержащее расстояние от A до S. Конкурирующий узел В, получив это сообщение, сравнивает расстояние от себя до S с указанным в сообщении, и если свое расстояние больше, то соответствующий интерфейс отрезается от дерева с помощью Prune. Аналогичным образом посылается и обрабатывается Assert из В в А. При равных расстояниях побеждает маршрутизатор с большим IP-адресом.
Протокол PIM DM прост в реализации и в настройке; предусмотрено взаимодействие с протоколом DVMRP. В качестве недостатка отметим необходимость рассылать пробные дейтаграммы каждые 3 минуты, так как за это время истекает срок действия сообщения Prune.