3.3. Phase Three: Shortest-Path Tree (Phase Drei: Kürzester-Pfad-Baum)
Obwohl das Zurückführen des RP zur Quelle den Einkapselungsaufwand beseitigt, optimiert es die Weiterleitungspfade nicht vollständig. Für viele Empfänger kann die Route über den RP im Vergleich zum kürzesten Pfad von der Quelle zum Empfänger einen erheblichen Umweg darstellen.
Um niedrigere Latenzen oder eine effizientere Bandbreitennutzung zu erhalten, kann ein Router im LAN des Empfängers, typischerweise der DR, optional einen Transfer vom geteilten Baum zu einem quellenspezifischen kürzesten Pfadbaum (SPT) initiieren. Um dies zu tun, gibt er einen (S,G) Join in Richtung S aus. Dies instanziiert Zustand in den Routern entlang des Pfads zu S. Schließlich erreicht dieser Join entweder das Subnetz von S oder einen Router, der bereits (S,G) Zustand hat. Wenn dies geschieht, beginnen Datenpakete von S, dem (S,G) Zustand zu folgen, bis sie den Empfänger erreichen.
Zu diesem Zeitpunkt wird der Empfänger (oder ein Router stromaufwärts des Empfängers) zwei Kopien der Daten empfangen: eine vom SPT und eine vom RPT. Wenn der erste Verkehr vom SPT anzukommen beginnt, beginnt der DR oder stromaufwärts gelegene Router, die Pakete für G von S zu verwerfen, die über den RP-Baum ankommen. Zusätzlich sendet er eine (S,G) Prune-Nachricht in Richtung des RP. Dies wird als (S,G,rpt) Prune bezeichnet. Die Prune-Nachricht wandert Hop-für-Hop und instanziiert Zustand entlang des Pfads zum RP, der anzeigt, dass Verkehr von S für G NICHT in diese Richtung weitergeleitet werden sollte. Das Pruning wird propagiert, bis es den RP erreicht oder einen Router, der den Verkehr von S noch für andere Empfänger benötigt.
Bis jetzt wird der Empfänger Verkehr von S entlang des kürzesten Pfadbaums zwischen dem Empfänger und S empfangen. Zusätzlich empfängt der RP den Verkehr von S, aber dieser Verkehr erreicht den Empfänger nicht mehr entlang des RP-Baums. Was den Empfänger betrifft, ist dies der endgültige Verteilungsbaum.