4.2. Data Packet Forwarding Rules (Datenpaket-Weiterleitungsregeln)
Dieser Abschnitt beschreibt, wie ein PIM-SM-Router Multicast-Datenpakete weiterleitet. Das Grundprinzip ist, dass Pakete nur weitergeleitet werden, wenn der Router einen angemessenen Weiterleitungszustand hat.
Grundregeln für die Paketweiterleit
ung
Wenn ein Multicast-Datenpaket an einer Router-Schnittstelle ankommt, führt der Router folgende Prüfungen durch:
- RPF-Prüfung (Reverse Path Forwarding Check): Überprüft, ob das Paket von der richtigen Schnittstelle ankommt (d.h. der Schnittstelle zur Quelle)
- Prüfung der ausgehenden Schnittstellenliste (Outgoing Interface List, olist): Bestimmt, an welche Schnittstellen das Paket weitergeleitet werden soll
- TTL-Schwellenwertprüfung: Überprüft, ob die TTL des Pakets ausreichend ist
Weiterleitungszustand
PIM-SM verwendet folgende Weiterleitungszustände, um zu bestimmen, wie Pakete behandelt werden:
- (*,G) Zustand: Wird für die Weiterleitung über den gemeinsamen Baum verwendet
- (S,G) Zustand: Wird für die quellenspezifische Kürzester-Pfad-Baum-Weiterleitung verwendet
- (S,G,rpt) Zustand: Wird verwendet, um bestimmte Quellen auf dem gemeinsamen Baum auszuschließen
Weiterleitungsalgorithmus
if (DirectlyConnected(S) == TRUE AND iif == RPF_interface(S)) {
olist = olist(*,G) (+) olist(S,G) (-) olist(S,G,rpt)
forward packet on all interfaces in olist
} else if (iif == RPF_interface(S) AND SPTbit(S,G) == TRUE) {
olist = olist(S,G) (-) olist(S,G,rpt)
forward packet on all interfaces in olist
} else if (iif == RPF_interface(RP(G)) AND SPTbit(S,G) == FALSE) {
olist = olist(*,G) (-) olist(S,G,rpt)
forward packet on all interfaces in olist
} else {
drop packet
}
4.2.1. Last-Hop Switchover to the SPT (Last-Hop-Wechsel zum SPT)
Wenn der Last-Hop-Router eines Empfängers zum ersten Mal Traffic von einer bestimmten Quelle erhält, erhält er diesen Traffic möglicherweise über den gemeinsamen Baum (RPT). Wenn die Traffic-Rate ausreichend hoch ist, kann der Last-Hop-Router entscheiden, zum quellenspezifischen Kürzester-Pfad-Baum (SPT) zu wechseln.
Die Wechselentscheidung basiert auf einem konfigurierten Schwellenwert. Sobald die Entscheidung zum Wechseln getroffen wurde:
- Sendet der Router einen (S,G) Join zur Quelle
- Wenn Daten über den SPT ankommen, sendet der Router einen (S,G,rpt) Prune zum RP
4.2.2. Setting and Clearing the (S,G) SPTbit (Setzen und Löschen des (S,G) SPTbit)
Das SPTbit wird verwendet, um anzuzeigen, ob der Router Traffic von einer bestimmten Quelle über den SPT oder über den RPT weiterleitet.
Setzen des SPTbit: Wenn eine der folgenden Bedingungen erfüllt ist:
- Ein Paket, das dem (S,G)-Weiterleitungszustand entspricht, wird empfangen und die RPF-Prüfung ist erfolgreich
- Ein (S,G) Join wird gesendet und Traffic wird über den SPT erwartet
Löschen des SPTbit: Wenn (S,G)-spezifische Weiterleitung nicht mehr benötigt wird, z.B.:
- Alle Downstream-Empfänger verlassen
- (S,G)-Zustand läuft ab
Für detaillierte Weiterleitungsregeln, Pseudocode und Behandlung von Sonderfällen siehe Abschnitt 4.2 der RFC 7761 für die vollständige Spezifikation.