Dense mode Multicast ist ein Modus, mit dem Multicast einen Baum zum Senden von Paketen an die Multicast-Teilnehmer erstellen kann. Es ist eine Alternative zum Sparse-Modus.
Die Grundannahme hinter dem dichten Modus ist, dass der Multicast-Paketstrom an den meisten Standorten Empfänger hat. Der Sparse-Modus setzt relativ weniger Empfänger voraus. Der dichte Modus ist ideal für Gruppen, in denen viele Knoten den Empfang der Multicast-Pakete abonnieren, sodass die meisten Router diese Pakete empfangen und weiterleiten müssen (Gruppen mit hoher Dichte).
Dieser Unterschied zeigt sich im anfänglichen Verhalten und den Mechanismen der beiden Protokolle. Der dichte Modus verwendet einen relativ einfachen Ansatz für das IP-Multicast-Routing. Die Quelle sendet zunächst an jeden direkt angeschlossenen Router. Diese benachbarten Router leiten die Daten weiter an ihre Nachbarn weiter. Wenn ein Router die Daten dieser Gruppe nicht empfangen möchte (wenn keine anderen benachbarten PIM-Router vorhanden sind und kein Host an der Gruppe interessiert ist), sendet er eine Prune-Nachricht, um sein mangelndes Interesse anzuzeigen. Beim Empfang einer Prune-Nachricht ändert der Router seinen Status so, dass er diese Pakete nicht an diese Schnittstelle weiterleitet. Wenn jede Schnittstelle eines Routers beschnitten wird, wird auch der Router beschnitten.
In älteren Cisco IOS-Versionen würde PIM-DM den gesamten Multicast-Datenverkehr alle 3 Minuten erneut überfluten. Dies ist in Ordnung für Multicast-Streams mit geringem Volumen, jedoch nicht für Multicast-Paketstreams mit höherer Bandbreite. Neuere Cisco IOS-Versionen unterstützen eine neue Funktion namens PIM Dense Mode State Refresh, seit 12.1(5)T. Diese Funktion verwendet eine PIM-Statusaktualisierungsnachricht, um den Prune-Status auf ausgehenden Schnittstellen zu aktualisieren. Ein weiterer Vorteil ist, dass Topologieänderungen schneller erkannt werden. Standardmäßig werden die PIM-Statusaktualisierungsnachrichten alle 60 Sekunden gesendet.
Zusätzlich verwenden die Router die Reverse-Path-Weiterleitung, um sicherzustellen, dass es keine Schleifen für die Paketweiterleitung zwischen Routern gibt, die Multicast-Pakete empfangen möchten. Wenn ein Datenpaket auf einer Nicht-RPF-Schnittstelle empfangen wird, ist ein Mechanismus erforderlich, um Schleifen zu verhindern. Wenn die Nicht-RPF-Schnittstelle ein LAN ist, wird eine Assert-Nachricht gesendet. Nicht-Forwarder-Router senden dann einen Prune über ihre RPF-Schnittstelle, wenn sie den Multicast-Stream nicht benötigen. Zum Zeitpunkt des Übergangs zu keinen Schnittstellen in der ausgehenden Schnittstellenliste (OILIST) wird nur ein solcher Prune gesendet. Der LAN-Prune-Empfänger verzögert das Einwirken auf ihn um 3 Sekunden, sodass ein anderer LAN-Router, der den Multicast-Stream noch benötigt, eine PIM-Join-Nachricht senden kann, um dem Prune entgegenzuwirken (abzubrechen). („Dieser Router braucht es nicht, aber ich tue es immer noch!“)
Angenommen, ein Router hat beschnitten, und einige Zeit später fordert ein Empfänger den Multicast-Stream mit einer IGMP-Nachricht an. Der Router sendet dann eine Graft-Nachricht. In der Tat, „hey, ich brauche diesen Multicast-Stream jetzt hier“.