助け合いフォーラム

Cisco

CCNP ENCOR(350-401)

OSFP シーケンス番号について

投稿日 2025/01/10

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つ以上の場合どのような考え方なのか分からず質問させていただきました。

2025/01/10 12:13

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だけでは前提情報が足りないことにも気づきました。 この認識でも何か誤っているところがありましたら、ご指摘いただければ幸いです。 ご回答ありがとうございました。

a arashi1977

2025/01/10 20:24

> つまり基本的には、DBDパケットをやり取りするのはDR/BDRの2台間であり、 > 私が考えていたような3台以上というのは前提として誤っているというわけですね。 「DR/BDRの2台間」ではなく、「DR/BDR と DROTHER間」ですね。 ブロードキャストの場合であっても DR/BDR としか隣接関係を結ばないので、結局は 100 台だろうが関係なく「DR/BDR とだけ」隣接関係を結ぶ、隣接関係は自分と相手の1対1で結ぶ、というルールは変わらないというところが理解できていれば大丈夫かなと思います。

この返信に対して
コメントを記入できます

この投稿に対して返信しませんか?