3.3. Phase Three: Shortest-Path Tree (Fase Tre: Albero del percorso più breve)
Sebbene fare in modo che l'RP si unisca indietro verso la sorgente rimuova il sovraccarico di incapsulamento, non ottimizza completamente i percorsi di inoltro. Per molti ricevitori, il percorso tramite l'RP può comportare una deviazione significativa rispetto al percorso più breve dalla sorgente al ricevitore.
Per ottenere latenze più basse o un'utilizzo più efficiente della banda, un router sulla LAN del ricevitore, tipicamente il DR, può opzionalmente avviare un trasferimento dall'albero condiviso a un albero del percorso più breve (SPT) specifico della sorgente. Per fare ciò, emette un Join (S,G) verso S. Questo istanzia lo stato nei router lungo il percorso verso S. Alla fine, questo Join raggiunge il subnet di S o raggiunge un router che ha già lo stato (S,G). Quando ciò accade, i pacchetti di dati da S iniziano a fluire seguendo lo stato (S,G) fino a raggiungere il ricevitore.
A questo punto, il ricevitore (o un router upstream del ricevitore) riceverà due copie dei dati: una dall'SPT e una dall'RPT. Quando il primo traffico inizia ad arrivare dall'SPT, il DR o il router upstream inizia a scartare i pacchetti per G da S che arrivano tramite l'albero RP. Inoltre, invia un messaggio Prune (S,G) verso l'RP. Questo è conosciuto come Prune (S,G,rpt). Il messaggio Prune viaggia hop-by-hop, istanziando lo stato lungo il percorso verso l'RP indicando che il traffico da S per G NON dovrebbe essere inoltrato in questa direzione. Il Prune viene propagato fino a raggiungere l'RP o un router che ha ancora bisogno del traffico da S per altri ricevitori.
A questo punto, il ricevitore riceverà il traffico da S lungo l'albero del percorso più breve tra il ricevitore e S. Inoltre, l'RP sta ricevendo il traffico da S, ma questo traffico non sta più raggiungendo il ricevitore lungo l'albero RP. Per quanto riguarda il ricevitore, questo è l'albero di distribuzione finale.