3.2. Phase Two: Register-Stop (Phase deux: Register-Stop)
L'encapsulation Register des paquets de données est inefficace pour deux raisons:
-
L'encapsulation et la désencapsulation peuvent être des opérations relativement coûteuses pour un routeur à effectuer, selon que le routeur dispose ou non du matériel approprié pour ces tâches.
-
Voyager jusqu'au RP, puis redescendre l'arbre partagé peut entraîner le déplacement des paquets sur une distance relativement longue pour atteindre des récepteurs proches de l'émetteur. Pour certaines applications, cette augmentation de la latence ou de la consommation de bande passante est indésirable.
Bien que l'encapsulation Register puisse se poursuivre indéfiniment, pour ces raisons, le RP choisira normalement de passer à la transmission native. Pour ce faire, lorsque le RP reçoit un paquet de données encapsulé en Register provenant de la source S sur le groupe G, il initiera normalement un Join (S,G) spécifique à la source vers S. Ce message Join voyage saut par saut vers S, instanciant l'état de l'arbre multicast (S,G) dans les routeurs le long du chemin. L'état de l'arbre multicast (S,G) est utilisé uniquement pour transmettre les paquets pour le groupe G si ces paquets proviennent de la source S. Finalement, le message Join atteint le sous-réseau de S ou un routeur qui a déjà l'état de l'arbre multicast (S,G), et alors les paquets de S commencent à circuler en suivant l'état de l'arbre (S,G) vers le RP. Ces paquets de données peuvent également atteindre des routeurs avec l'état (*,G) le long du chemin vers le RP; s'ils le font, ils peuvent prendre un raccourci vers l'arbre RP à ce point.
Pendant que le RP est en train de rejoindre l'arbre spécifique à la source pour S, les paquets de données continueront à être encapsulés vers le RP. Lorsque les paquets de S commencent également à arriver nativement au RP, le RP recevra deux copies de chacun de ces paquets. À ce point, le RP commence à jeter la copie encapsulée de ces paquets, et il envoie un message Register-Stop au DR de S pour empêcher le DR d'encapsuler inutilement les paquets.
À la fin de la phase deux, le trafic circulera nativement de S le long d'un arbre spécifique à la source vers le RP, et de là le long de l'arbre partagé vers les récepteurs. Là où les deux arbres se croisent, le trafic peut se transférer de l'arbre spécifique à la source vers l'arbre RP et ainsi éviter de faire un long détour via le RP.
Notez qu'un émetteur peut commencer à envoyer avant ou après qu'un récepteur rejoigne le groupe, et donc la phase deux peut se produire avant que l'arbre partagé vers le récepteur soit construit.