dense mode multicast is een modus die multicast kan gebruiken om een boomstructuur te construeren voor het verzenden van pakketten naar de multicast-abonnees. Het is een alternatief voor sparse mode.
De basishypothese achter dense mode is dat de multicast pakketstream op de meeste locaties ontvangers heeft. Sparse mode veronderstelt relatief minder ontvangers. De dichte modus is ideaal voor groepen waar veel van de knooppunten zich abonneren op het ontvangen van de multicast pakketten, zodat de meeste routers deze pakketten moeten ontvangen en doorsturen (groepen met een hoge dichtheid).
dit verschil komt voor in het initiële gedrag en de mechanismen van de twee protocollen. Dense Mode maakt gebruik van een vrij eenvoudige aanpak om IP multicast routing af te handelen. De bron zendt in eerste instantie uit naar elke router die er direct mee verbonden is. Deze naburige routers sturen de gegevens verder door naar hun buren. Wanneer een router de gegevens van deze groep niet wenst te ontvangen (als er geen andere Pim-routers in de buurt aanwezig zijn en geen host geïnteresseerd is in de groep), stuurt hij een Prune-bericht om zijn gebrek aan interesse aan te geven. Na het ontvangen van een snoeien bericht, zal de router zijn status wijzigen zodat het die pakketten niet doorstuurt die interface. Als elke interface op een router wordt gesnoeid, wordt de router ook gesnoeid.
in oudere Cisco IOS releases, Pim-DM zou opnieuw overstromen alle multicast verkeer elke 3 minuten. Dit is prima voor een laag volume multicast, maar niet voor een hogere bandbreedte multicast pakketstreams. Meer recente Cisco IOS versies ondersteunen een nieuwe functie genaamd Pim Dense Mode State Refresh, sinds 12.1 (5)T. Deze functie maakt gebruik van een PIM state refresh berichten om de Prune status op uitgaande interfaces te vernieuwen. Een ander voordeel is dat topologische veranderingen sneller worden herkend. Standaard worden de Pim-statusverversingsberichten elke 60 seconden verzonden.
bovendien zullen de routers reverse-path forwarding gebruiken om ervoor te zorgen dat er geen lussen zijn voor pakketdoorsturen onder routers die multicast-pakketten willen ontvangen. Wanneer een datapakket wordt ontvangen op een niet-RPF interface, is een mechanisme nodig om lussen te voorkomen. Als de niet-RPF-interface een LAN is, wordt een Assert-bericht verzonden. Niet-Forwarder routers sturen dan een snoepje op hun RPF interface als ze de multicast stream niet nodig hebben. Er wordt slechts één dergelijke snoei verzonden, op het moment van de overgang naar het hebben van geen interfaces in de uitgaande Interface lijst (OILIST). De LAN-ontvanger vertraagt de werking ervan gedurende 3 seconden, zodat als een andere LAN-router nog steeds de multicast-stream nodig heeft, deze een PIM Join-bericht kan sturen om de snoeien tegen te gaan (te annuleren). (“Die router heeft het niet nodig, maar ik doe het nog steeds!”)
stel dat een router gesnoeid heeft, en enige tijd later vraagt een ontvanger de multicast stream aan met een IGMP-bericht. De router stuurt dan een Graft-bericht. In feite, “hey, Ik heb die multicast stream hier nu nodig”.