Appendix A. Backward Compatibility (Rückwärtskompatibilität)
Appendix A. Backward Compatibility (Rückwärtskompatibilität)
(Non-Normative / Nicht-normativ)
Obwohl Version 0 dieses Protokolls (wie in frühen Versionen des Internet-Draft definiert, das zu diesem RFC wurde) wahrscheinlich nicht weit verbreitet wurde, möchten einige Implementierer möglicherweise einen Rückwärtskompatibilitätsmechanismus haben. Beachten Sie, dass jeder Mechanismus verwendet werden kann, der die Protokolldefinition nicht ändert, sodass Interoperabilität kein Problem sein sollte.
Der hier beschriebene vorgeschlagene Mechanismus hat die Eigenschaft, dass er auf Version 1 konvergiert, wenn beide Systeme ihn implementieren, selbst wenn ein System innerhalb einer Detection Time von Version 0 aktualisiert wird. Er wird mit einem System interoperieren, das nur eine Version implementiert (oder so konfiguriert ist, dass es nur eine Version unterstützt). Ein System sollte diese Funktion offensichtlich nicht ausführen, wenn es so konfiguriert ist oder nur eine einzelne Version verwenden kann.
Eine BFD-Sitzung wird in einen "Negotiation Holddown (Aushandlungs-Sperrzeit)" eintreten, wenn sie für automatische Versionierung konfiguriert ist und entweder gerade gestartet wurde oder die Sitzung manuell gelöscht wurde. Die Sitzung wird auf den AdminDown-Zustand und Version 1 gesetzt. Während der Holddown-Periode, die eine Detection Time dauert, sendet das System BFD Control Packets wie gewohnt, ignoriert aber empfangene Pakete. Nach Ablauf der Holddown-Zeit wechselt der Zustand zu Down und der normale Betrieb wird fortgesetzt.
Wenn sich ein System nicht in Holddown befindet und automatische Versionierung durchführt und derzeit Version 1 verwendet, wenn ein Version 0-Paket für die Sitzung empfangen wird, wechselt es sofort zu Version 0. Wenn es derzeit Version 0 verwendet und ein Version 1-Paket empfangen wird, das anzeigt, dass der Nachbar im Zustand AdminDown ist, wechselt es zu Version 1. Wenn Version 0 verwendet wird und ein Version 1-Paket empfangen wird, das einen anderen Zustand als AdminDown anzeigt, wird das Paket ignoriert (gemäß Spezifikation).
Wenn die verwendete Version geändert wird, geht die Sitzung down, wie es für die neue Version angemessen ist (Down-Zustand für Version 1 oder Failing-Zustand für Version 0).