3.3. Phase Three: Shortest-Path Tree (Phase trois: Arbre du chemin le plus court)
Bien que le fait d'avoir le RP se joindre en retour vers la source supprime la surcharge d'encapsulation, cela n'optimise pas complètement les chemins de transmission. Pour de nombreux récepteurs, la route via le RP peut impliquer un détour significatif par rapport au chemin le plus court de la source au récepteur.
Pour obtenir des latences plus faibles ou une utilisation plus efficace de la bande passante, un routeur sur le LAN du récepteur, typiquement le DR, peut optionnellement initier un transfert de l'arbre partagé vers un arbre de chemin le plus court (SPT) spécifique à la source. Pour ce faire, il émet un Join (S,G) vers S. Cela instancie un état dans les routeurs le long du chemin vers S. Finalement, ce Join atteint soit le sous-réseau de S, soit un routeur qui a déjà un état (S,G). Lorsque cela se produit, les paquets de données de S commencent à circuler en suivant l'état (S,G) jusqu'à ce qu'ils atteignent le récepteur.
À ce point, le récepteur (ou un routeur en amont du récepteur) recevra deux copies des données: une du SPT et une du RPT. Lorsque le premier trafic commence à arriver du SPT, le DR ou le routeur en amont commence à supprimer les paquets pour G de S qui arrivent via l'arbre RP. De plus, il envoie un message Prune (S,G) vers le RP. Ceci est connu comme un Prune (S,G,rpt). Le message Prune voyage saut par saut, instanciant un état le long du chemin vers le RP indiquant que le trafic de S pour G ne devrait PAS être transmis dans cette direction. Le Prune est propagé jusqu'à ce qu'il atteigne le RP ou un routeur qui a encore besoin du trafic de S pour d'autres récepteurs.
À présent, le récepteur recevra le trafic de S le long de l'arbre de chemin le plus court entre le récepteur et S. De plus, le RP reçoit le trafic de S, mais ce trafic n'atteint plus le récepteur le long de l'arbre RP. En ce qui concerne le récepteur, c'est l'arbre de distribution final.