4.5. PIM Join/Prune Messages (Messages Join/Prune PIM)
Les messages PIM Join/Prune sont utilisés pour construire et maintenir les arbres de distribution multicast. Ces messages sont envoyés par les routeurs pour:
- Demander à rejoindre l'arbre multicast (Join)
- Demander à quitter une branche de l'arbre multicast (Prune)
- Remplacer les messages Prune d'autres routeurs
Types de messages Join/Prune
PIM-SM utilise trois types de messages Join/Prune:
- (*,G) Join/Prune: Utilisé pour l'arbre partagé (arbre RP)
- (S,G) Join/Prune: Utilisé pour l'arbre du chemin le plus court spécifique à la source
- (S,G,rpt) Join/Prune: Utilisé pour élaguer des sources spécifiques sur l'arbre partagé
4.5.1. Receiving (,G) Join/Prune Messages (Réception de messages Join/Prune (,G))
Lorsqu'un routeur reçoit un message Join ou Prune (,G) sur une interface, il met à jour l'état en aval (,G) de cette interface.
Traitement du Join (*,G):
- Transition de l'état (*,G) de l'interface vers "Join"
- Réinitialisation du temporisateur d'expiration Join/Prune
- Si cela entraîne un changement dans la liste d'interfaces sortantes, il peut être nécessaire d'envoyer un Join en amont
Traitement du Prune (*,G):
- Sur un LAN multi-accès, démarrage du temporisateur Prune-Pending pour permettre aux autres routeurs de remplacer
- Si non remplacé, transition de l'état vers "NoInfo"
4.5.2. Receiving (S,G) Join/Prune Messages (Réception de messages Join/Prune (S,G))
Le traitement des messages Join/Prune (S,G) est similaire à (*,G), mais pour une paire source-groupe spécifique.
Différences clés:
- L'état (S,G) est maintenu indépendamment de l'état (*,G)
- Le Join (S,G) est utilisé pour construire le SPT
- Peut déclencher un Join en amont vers la source
4.5.3. Receiving (S,G,rpt) Join/Prune Messages (Réception de messages Join/Prune (S,G,rpt))
Les messages Prune (S,G,rpt) sont utilisés pour exclure le trafic de sources spécifiques sur l'arbre partagé.
Scénario typique:
- Le récepteur rejoint l'arbre partagé via (*,G)
- Pour une source S spécifique, le récepteur ne veut pas son trafic
- Envoi d'un Prune (S,G,rpt) pour élaguer cette source
4.5.4. Sending (,G) Join/Prune Messages (Envoi de messages Join/Prune (,G))
Le routeur envoie périodiquement des messages Join (*,G) vers le RP pour maintenir l'état de l'arbre partagé.
Machine à états amont (*,G) (simplifié):
État NotJoined(*,G):
- Condition: JoinDesired(*,G) == TRUE
- Action: Envoyer Join(*,G), transition vers Joined(*,G)
État Joined(*,G):
- Envoi périodique de Join(*,G) (rafraîchissement)
- Condition: JoinDesired(*,G) == FALSE
- Action: Envoyer Prune(*,G), transition vers NotJoined(*,G)
Cycle Join: 60 secondes par défaut Holdtime: 3.5 × cycle Join = 210 secondes
4.5.5. Sending (S,G) Join/Prune Messages (Envoi de messages Join/Prune (S,G))
Les messages Join (S,G) sont utilisés pour construire l'arbre du chemin le plus court vers une source spécifique.
Conditions déclenchant un Join (S,G):
- Un récepteur local demande une source spécifique via IGMPv3
- Basculement de l'arbre partagé vers le SPT (débit de trafic dépassant le seuil)
- En tant que RP, besoin d'arrêter de recevoir des messages Register
4.5.6. (S,G,rpt) Periodic Messages (Messages périodiques (S,G,rpt))
Les messages Prune (S,G,rpt) sont généralement envoyés avec les messages Join (*,G) pour indiquer: "Je veux le trafic du groupe G, mais pas le trafic de la source S".
Exemple de combinaison de messages:
Join(*,G) + Prune(S,G,rpt)
→ "Rejoindre l'arbre partagé, mais exclure la source S"
4.5.7. State Machine for (S,G,rpt) Triggered Messages (Machine à états pour les messages déclenchés (S,G,rpt))
La machine à états (S,G,rpt) gère les situations de remplacement des messages Prune d'autres routeurs sur un LAN.
Mécanismes clés:
- Override Timer: Utilisé pour randomiser l'envoi des messages de remplacement
- Prune-Pending: Retarde la prise d'effet du Prune pour permettre le remplacement
Pour les définitions détaillées de la machine à états, les valeurs de temporisateur et les formats de messages, veuillez consulter la section 4.5 de la RFC 7761 pour la spécification complète. Les diagrammes de machine à états et le pseudocode sont détaillés dans le document original.