OSPFステートマシン



Ospf State Machine



画像
画像
以下は、ステートマシンに関する詳細な説明です。

1.ダウン
DOWN状態でも、OSPFインターフェイスはネイバーの検出を試みる意図があるため、マルチキャストhelloパケットを継続的に送信します。



2.試行
ルータとそのネイバーがこの状態にある場合、それは、ルータがネイバーから情報を受信して​​いないが、ネイバーに接続しようと努力していることを意味します。
NBMAネットワーク上にのみ存在し、DR選択に適格なNBMAネットワーク上のインターフェイスと隣接ルーターがアクティブになり始めたとき(Activ / e)、またはこのルーターがDRまたはBDRになるとき、DR選択のあるこのルーター修飾により、隣接ルーターの状態が試行状態に切り替わります。 Attempt状態では、ルータはhelloパケットをネイバーに送信する間隔として、pollinterval時間ではなくhellointerval時間を使用します。

3.init
OSPFインターフェイスは、リンク上のネイバーから最初のHELLOパケットを受信すると、ネイバーをインターフェイスのinit状態にします。このhelloパケットに注意してください。ネイバー情報が含まれていない可能性があります。しかし、これは少なくとも、私のOSPFインターフェースがこのリンク上に少なくとも1つの生きているネイバーを持っていることを証明しています。アクティブなネイバーが見つからなかったhelloパケットは次のとおりです。
画像
4.双方向
OSPFルーターがリンク上でネイバーを検出すると、アクティブなネイバーフィールドが送信するhelloパケットに追加されます。これは、リンク上で検出されたOSPFネイバーを格納するために使用されます。 OSPFルーターは、ネイバーから送信されたhelloパケットで自身(RouterID)を検出すると、ネイバーを双方向として設定します。この状態は、OSPFネイバーが持つことができる最も基本的な関係であり、最初の定常状態でもありますが、現時点では、2つはルーティング情報を共有できません。リンク上でネイバー1.1.1.1を見つけたhelloは次のとおりです。
画像
5.ExStart
OSPFルーターがネイバーを2way状態にすると、マスター/スレーブネゴシエーションのために空のDBDパケットの送信を開始します。これは元の開始状態です。 2つのルーター間で空のBDBグループを使用して、マスターとスレーブ間の関係を判別します(DRとBDRではないことに注意してください)。
DBDパッケージには、隣接関係の確立プロセスを管理するための3つのフラグビットがあります。
Iビットまたは初期ビット(初期ビット)ex-startネゴシエーションのマスター/スレーブ関係の初期ネゴシエーションに使用されるDBDパッケージ。このビットは1です。
Mビット、またはそれ以上のビット。これがOSPFrouterによって送信された最後のDBDでない場合、このビットは1です。
MSビットまたはマスター/スレーブビット発信元ルーターがマスターの場合、このビットは1です。
OSPFルーターがネイバーからDBDを受信し、Iビットが初期位置0である場合、これはex-start状態が終了し、MS /スレーブが選択されていることを意味し、ルーターはネイバーを交換状態にし、 LSAヘッダーを含むDBDとのLSBDの交換を開始します。
以下は、最初のネゴシエーションに使用されるDBDメッセージです。
画像
6.交換ステータス
このプロセスでは、2つのパーティが独自のLSAヘッダーを含むDBDメッセージを使用して対話し、相手からLSAヘッダーを送信し、関心のあるLSA(または所有していないLSA)を次のステージでLSAの詳細を要求するために、ローカルOSPFインターフェイスでキューに入れます。 OSPFインターフェイスがネイバーからDBDを受信すると、Mビットは0になります。これは、相手がDBDの送信を終了したことを意味します。同時に、ルータのOSPFインターフェイスで要求されるLSAがある場合、LSAはネイバーセットをロード状態に送信します。
以下は、LSAヘッダーがロードされたDBDメッセージです。
画像
7.ロードステータス
OSPFルーターはLSRを使用してLSAの詳細情報を要求し、相手側はLSUを使用して更新するため、LSAの完全な情報を持っているのはLSUだけです。 LSUを受信した後、一方ではローカルLSAackが確認に使用され、他方ではLSUに含まれるLSAが独自のLSDBにロードされます。
以下は、非常に単純なLSRメッセージです。
画像
次は、LSAの完全な情報を含むLSUメッセージです。 LSAについては、ここでは詳しく説明しません。以下を参照してください。
8.完全隣接ステータス
ロードステータスが終了した後、つまり、ローカルOSPFインターフェイスで更新するLSAキューがない場合、ネイバーはFULLに設定されます。