助け合いフォーラム
OSPFにおいて、
ネイバー間でのDBDパケット交換時、シーケンス番号をもとに通信しているかと思います。
このシーケンス番号は、各ネイバー間でそれぞれ個別に決めて、
それに基づいてDBDパケットを交換しているのでしょうか?
例えば以下の通りルータA,B,Cがあり、
A⇔B⇔Cと接続されているとします。
・ルータA(ルータID:1.1.1.1、提案するシーケンス番号:10)
・ルータB(ルータID:2.2.2.2、提案するシーケンス番号:20)
・ルータC(ルータID:3.3.3.3、提案するシーケンス番号:30)
この場合、
ルータA⇔B間では、ルータBのシーケンス番号20が選ばれる。
ルータB⇔C間では、ルータCのシーケンス番号30が選ばれる。
このような認識でよいのでしょうか?
2つのルータ間で説明している図解はたくさん見かけるのですが、
3つ以上の場合どのような考え方なのか分からず質問させていただきました。
3つ以上とおっしゃっていますが、基本的には2つのルータ間ですよね。そのための DR/BDR ですし。
以下のドキュメントの Exstart のところを見るとわかるのですが、「プライマリがシーケンス番号を決定する」ことが読み取れると思います。
OSPFネイバーの状態について
https://www.cisco.com/c/ja_jp/support/docs/ip/open-shortest-path-first-ospf/13685-13.html#toc-hId--438911689
この状態では、ルータとそのDRおよびBDRがプライマリ/セカンダリ関係を確立し、隣接関係を形成するための初期シーケンス番号を選択します。 ルータIDの大きいルータがプライマリ になり、交換を開始します。したがって、 シーケンス番号を増やすことができる唯一のルータ です。
コメント
この投稿に対して返信しませんか?
m mizobatarics
2025/01/10 14:32
シーケンス番号を決めてDBDパケットを送信するのはExstart以降の話で、 そこまで遷移するのはDR/BDRルータのみであることを見落としていました。 つまり基本的には、DBDパケットをやり取りするのはDR/BDRの2台間であり、 私が考えていたような3台以上というのは前提として誤っているというわけですね。 またルータIDよりもルータプライオリティの値が優先され、DR/BDRを判断すると思いますので、 (そもそも誤っていますが)ルータIDだけでは前提情報が足りないことにも気づきました。 この認識でも何か誤っているところがありましたら、ご指摘いただければ幸いです。 ご回答ありがとうございました。