6.2. BFD State Machine (BFD-Zustandsautomat)
6.2. BFD State Machine (BFD-Zustandsautomat)
Der BFD-Zustandsautomat ist ziemlich geradlinig. Es gibt drei Zustände, durch die eine Sitzung normalerweise fortschreitet: zwei zum Aufbau einer Sitzung (Init und Up) und einer zum Abbau einer Sitzung (Down). Dies ermöglicht einen Three-Way-Handshake sowohl für den Sitzungsaufbau als auch für den Sitzungsabbau (um sicherzustellen, dass beide Systeme sich aller Sitzungszustandsänderungen bewusst sind). Ein vierter Zustand (AdminDown) existiert, damit eine Sitzung administrativ auf unbestimmte Zeit heruntergefahren werden kann.
Jedes System kommuniziert seinen Sitzungszustand im State (Sta) Feld im BFD Control Packet, und dieser empfangene Zustand treibt in Kombination mit dem lokalen Sitzungszustand den Zustandsautomaten an.
Der Down-Zustand bedeutet, dass die Sitzung down ist (oder gerade erstellt wurde). Eine Sitzung bleibt im Down-Zustand, bis das entfernte System anzeigt, dass es zustimmt, dass die Sitzung down ist, indem es ein BFD Control Packet mit dem auf etwas anderes als Up gesetzten State-Feld sendet. Wenn dieses Paket den Down-Zustand signalisiert, geht die Sitzung in den Init-Zustand über; wenn dieses Paket den Init-Zustand signalisiert, geht die Sitzung in den Up-Zustand über. Semantisch zeigt der Down-Zustand an, dass der Forwarding Path nicht verfügbar ist und dass geeignete Maßnahmen von den Anwendungen ergriffen werden sollten, die den Zustand der BFD-Sitzung überwachen. Ein System KANN eine Sitzung auf unbestimmte Zeit im Down-Zustand halten (indem es einfach die Weiterentwicklung des Sitzungszustands verweigert). Dies kann unter anderem aus betrieblichen oder administrativen Gründen geschehen.
Der Init-Zustand bedeutet, dass das entfernte System kommuniziert und das lokale System wünscht, die Sitzung aufzubauen, aber das entfernte System es noch nicht bemerkt. Eine Sitzung bleibt im Init-Zustand, bis entweder ein BFD Control Packet empfangen wird, das den Init- oder Up-Zustand signalisiert (in welchem Fall die Sitzung in den Up-Zustand übergeht), oder die Detection Time abläuft, was bedeutet, dass die Kommunikation mit dem entfernten System verloren gegangen ist (in welchem Fall die Sitzung in den Down-Zustand übergeht).
Der Up-Zustand bedeutet, dass die BFD-Sitzung erfolgreich aufgebaut wurde und impliziert, dass die Konnektivität zwischen den Systemen funktioniert. Die Sitzung bleibt im Up-Zustand, bis entweder die Konnektivität ausfällt oder die Sitzung administrativ heruntergefahren wird. Wenn entweder das entfernte System den Down-Zustand signalisiert oder die Detection Time abläuft, geht die Sitzung in den Down-Zustand über.
AdminDown-Zustand bedeutet, dass die Sitzung administrativ down ist. Eine Sitzung bleibt im AdminDown-Zustand, bis sie administrativ wieder hochgefahren wird. Im AdminDown-Zustand muss das System BFD Control Packets mit dem auf AdminDown gesetzten State-Feld senden, und das Diagnostic-Feld sollte einen Grund für den AdminDown-Zustand angeben.