CCNA試験対策⑥ ややこしいOSPFのコンバージェンスまでの流れをイラストでざっくりと!

※このページは過去に自分がCCNAの勉強をしたときの学習ログです。誰かの参考になれば幸いです。
このページの主旨は、初学者でも「楽しく」「体感的」に覚えられることを目的にしていますので、厳密に言うと正しくない表現もあるかもしれません。
あくまで一つの考え方としてお楽しみください。
このページでは、OSPFルータのコンバージェンスまでの流れをざっくりと述べていきます。
目次
OSPFルータのコンバージェンスまで
①Downステート
まず、OSPFマルチキャストアドレス224.0.0.5宛に一斉にHelloパケットを送信

Helloパケット送信するのは、「隣接ルータは誰?」と呼びかけるため。
Helloパケットは隣接ルーターの発見と生存確認を行う。こうやって隣接関係が取れたルーターのことをネイバーという。
隣接ルータはHelloパケットを受け取ることでネイバーと認識する
Helloパケットを受け取る前の初期状態のネイバーテーブルは両方のルータともDownステートとなる
②Initステート
Helloパケットを受け取ったルータはネイバーの情報を自身のネイバーテーブルへ登録する

R1からR2へHelloパケットを送信するとR2はInitステートとなる。この時のR2はR1がネイバーであることを認識したが、R1はまだ自分(R2)を認識していない状態。
R2のネイバーテーブルには「R1のルータIDは●●だ」ということを登録
③2-Wayステート
ネイバーを認識したルータはHelloパケットに自身の認識しているネイバーを格納し、LSDB交換の準備を行う

R2は、自分のネイバーテーブルに「R1のルータIDは●●だ!登録したよ!」ってことをR1に向かってHelloパケットを送信する。
R1は、R2が自分のことを認識したと判断する。
R1は、自分のネイバーテーブルに「R2のルータIDは▲▲だ」というHelloパケットをR2へ送信する。ここでお互いにネイバーを認識し合ったため2-Wayステートとなる。
③ExStart&Excangeステート
R1とR2は、DBDを交換するための準備のため双方のルータでマスター・スレーブを確認し合うExStart状態となる。

マスターはルーターIDの大きい方が選出される。
R1とR2のどちらが、マスター・スレーブになるかが決定するとExchangeステートへ移行。その後LSDBの要約情報をDBDパケットで交換する。
④Loadingステート
Exchangeステートの際、受け取ったDBDパケットに新しいLSA情報があると、Loading状態となりLSRパケットで詳細要求する。
同期中は以下のようにLoadingステートとなる。

順序をまとめると、
1)LSRパケット(Request) → 2)LSUパケット(Update) →3)LSAck(Acknowledgement)パケット
⑤Fullステート

ここまで来てようやくFullステートとなり完全な隣接状態となる。これ以降はお互いにHelloパケットを送信しあってネイバーがダウンしていないか疎通確認を行う。
さいごに
そのほかのOSPFの概要については、以下のページでも解説していますので良かったらみてください。
本日は以上となります。
最後までお読みくださりありがとうございました。
Follow @punibastet