Haben Sie schon einmal einen disabled Port enabled und dabei die Zeit gemessen bis z.B. ein Ping erfolgreich durchlief? Und haben Sie dabei verwundert festgestellt daß dies um die 30 Sekunden dauert? Sind sie dann auch zum Schluß gekommen daß der so beobachtete Port den Listening und Learning State durchläuft, aber den Blocking State überspringt? Wenn ja, trösten Sie sich; Sie sind nicht der Erste der sich täuscht!
Die einzelnen Port States und ihre Übergänge (Port State Changes) sind genau definiert. Es ist ausgeschlossen daß vom Disabled direkt in den Listening State gewechselt wird. Wie ist dann aber die gemessene Zeit erklärbar? Dazu muss man sich diese Definitionen näher ansehen.
Es ist unerheblich ob ein Port per Kommando enabled oder mittels Neustart initialisiert wird, denn die Prozedur enable_port() ruft die Prozedur initialize_port() auf. Dort werden im wesentlichen folgende Schritte durchgeführt:
Der Port durchläuft den Blocking State, bevor er in den Listening State tritt. Allerdings dauert das nur so lange bis die Funktion make_forward() ausgeführt wird.