Любой алгоритм для реализации схемы маршрутизации с широковещательной (или многоадресной) передачей с минимальной стоимостью в конечном итоге сводится к построению связующего дерева с наименьшей стоимостью (с источником многоадресной передачи) из полного графа, представляющего сеть.
Существуют различные алгоритмы для вычисления связующего дерева с наименьшей стоимостью.
Протоколы многоадресной IP-маршрутизации, такие как PIM, основаны на связующем дереве с наименьшей стоимостью, которое вычисляется IGP (OSPF или ISIS) с использованием алгоритма Дейкстры.
В старых протоколах, таких как DVMRP, для вычисления связующего дерева используется протокол вектора расстояний.
Теоретически можно использовать другие алгоритмы для вычисления связующего дерева с наименьшей стоимостью (например, Беллмана-Форда), хотя я не знаю ни одной реализации, которая бы делала это на практике.