6.8.4. Calculating the Detection Time (Berechnung der Erkennungszeit)
6.8.4. Calculating the Detection Time (Berechnung der Erkennungszeit)
Die Detection Time (die Zeitperiode ohne Empfang von BFD-Paketen, nach der die Sitzung als ausgefallen bestimmt wird) wird nicht explizit im Protokoll übertragen. Vielmehr wird sie unabhängig in jeder Richtung vom empfangenden System basierend auf dem ausgehandelten Übertragungsintervall und dem Erkennungsmultiplikator berechnet. Beachten Sie, dass es in jeder Richtung unterschiedliche Detection Times geben kann.
Die Berechnung der Detection Time unterscheidet sich leicht zwischen Demand Mode und Asynchronous Mode.
Im Asynchronous Mode ist die im lokalen System berechnete Detection Time gleich dem Wert von Detect Mult, der vom entfernten System empfangen wurde, multipliziert mit dem vereinbarten Übertragungsintervall des entfernten Systems (dem größeren Wert von bfd.RequiredMinRxInterval und dem zuletzt empfangenen Desired Min TX Interval). Der Detect Mult-Wert ist (grob gesagt, aufgrund von Jitter) die Anzahl der Pakete, die hintereinander verpasst werden müssen, um die Sitzung als ausgefallen zu erklären.
Wenn der Demand Mode nicht aktiv ist und eine Zeitperiode gleich der Detection Time vergeht, ohne ein BFD Control Packet vom entfernten System zu empfangen, und bfd.SessionState Init oder Up ist, ist die Sitzung ausgefallen - das lokale System MUSS bfd.SessionState auf Down und bfd.LocalDiag auf 1 (Control Detection Time Expired) setzen.
Im Demand Mode ist die im lokalen System berechnete Detection Time gleich bfd.DetectMult, multipliziert mit dem vereinbarten Übertragungsintervall des lokalen Systems (dem größeren Wert von bfd.DesiredMinTxInterval und bfd.RemoteMinRxInterval). bfd.DetectMult ist (grob gesagt, aufgrund von Jitter) die Anzahl der Pakete, die hintereinander verpasst werden müssen, um die Sitzung als ausgefallen zu erklären.
Wenn der Demand Mode aktiv ist und eine Zeitperiode gleich der Detection Time nach der Initiierung einer Poll Sequence (der Übertragung des ersten BFD Control Packets mit gesetztem Poll-Bit) vergeht, ist die Sitzung ausgefallen - das lokale System MUSS bfd.SessionState auf Down und bfd.LocalDiag auf 1 (Control Detection Time Expired) setzen.
(Beachten Sie, dass ein Paket als empfangen betrachtet wird, für die Zwecke des Ablaufs der Detection Time, nur wenn es nicht gemäß den Regeln von Abschnitt 6.8.6 "verworfen" wurde).