勉強会#11(OSPF TSHOOT)- 12/18(土) 勉強会を終えて

12/18(土)20:00-21:30 OSPF TSHOOTの勉強会を開催しました。
大変ありがたいことに20名の申し込みがありました。
(初:14名、リピーター6名)
初参加者がリピーターを上回る非常に喜ばしい勉強会になりました。

https://connpass.com/event/233212/
勉強会#11(OSPF TSHOOT 1st)
https://www.ciscolive.com/c/dam/r/ciscolive/us/docs/2018/pdf/BRKRST-3310.pdf
※ 元ネタURL

昨年初めて開催した勉強会と同じネタです。参加者からの温かい声がありつつも、去年開催した勉強会は失敗感がありました。詳しくは勉強会の中で話しています。今回は満足のいく勉強会ができました。オンラインでも双方向コミュニケーションの勉強会を開催できると、更に楽しめることが分かりました。途中オペミスをしたものの、ツールに救われて進行も止まらなかったのは運が良かったです!

今回は、勉強会の中で回答できなかった質問に関して、調査した内容をまとめたのでブログにしてみました。
20人の目はスゴイ!私には無かった鋭い視点!本当にありがたい質問でした。

1. 質問内容

勉強会終了時間まで残り5~10分くらいに頂いた質問です。
どうしてDRじゃなくてDROTHになるのでしょうか。 f:id:chimay_wh:20211220122022p:plain
全く気にもしていなかった箇所です。そう言われてみればDROTHERは解せない。しかし、緊張と疲労感でうまく説明する自信がありませんでした。残り時間で検証して、これだ!というのを示す心の余裕がなかったので宿題にさせていただきました。

2. 検証(IOS-XE)

勉強会のデモ環境で確かめない雑さ加減が典型的なO型気質です。
何度試行してもDRになる!なんだこれは!昨夜はDROTHERだったのに!変なの宿題にしてしまったと若干後悔するも、意外と早く冷静になり時間を左程溶かさずにバージョンの違いに気づきました。これIOS-XEじゃんか!
f:id:chimay_wh:20211220122451p:plain
① OSPFプロセスを初期化すると”DOWN”から開始になります。
② 互いにHelloを交換する”INIT”の段階になります。
③ 俺がLSDBのMaster!いや俺がMaster!押し問答が始まります。
DB Description(DB Description: 0x07)をお互いで送り合い、様々な情報を比較してLSDB のMasterを選出します。情報量が多い図ですが、俺がLSDBのMaster!いや俺がMaster!をやっているのが”EXSTART”の段階です。(青いカッコ)
④ 最後片方が折れます。私ではなく貴方様こそがLSDBのMasterです。DBD:0x02 More-flagのみ!を送りLSDBのMasterが決まります。
⑤ LSDBのMasterが決まると、EXCHANGEの段階に入ります。LSDBのMasterが、DBD:0x01 MS-flagのみ!を送ります。
⑥ LSDBのMasterでないルータは、DBD:0x00 Flagなしを送ります。DBDのACKのようにも見えます。
⑦ LSU/LSRの交換が収束すると”FULL”となります。
IOS-XEでは、BROADCAST側がDRになる仕様のようです。

ちなみにこのLSAの観察は、Wiresharkにある”Flow Graph”という機能を使っています。大変便利な機能なのでセッションを追跡する様な時に使うと便利です。(BGP、three-way handshakingなど)
f:id:chimay_wh:20211220122902p:plain

3. 検証(IOS)

勉強会で使ったデモ環境で検証するとやはりDROTHERになる。一安心しました。再現性がある!ということは必ず解決できる!という変な自信が湧いてきました!俺がLSDBのMaster!いや俺がMaster!などのOSPFとしての動作は同じなので説明は省略します。
f:id:chimay_wh:20211220123138p:plain

どうやらIOSでは、P2P側がLSDBのMasterを勝ち取ってしまう仕様のようです。 他のバージョンの動きも知りたかったのでGNS3を使って検証しました。
f:id:chimay_wh:20211220123329p:plain

他のIOSでも試した結果、同じくDROTHERになる。OS依存の問題ではなかろうか?と仮定しました。

4. 検証(IOS-XR)

IOS-XRで検証すると、IOSと同じようにDROTHERになり収束します。しかし、数秒するとDOWNになってしまいStateはDRに変わります。そして、エラーをほぼ1分間隔で吐き続けます。放置していたら大変なことになりそうです!

ospf[1018]: %ROUTING-OSPF-4-NETWORK_TYPE_MISMATCH : Unexpected non-zero DR 10.3.4.3 in hello packet from GigabitEthernet0/0/0/0

f:id:chimay_wh:20211220123605p:plain
https://www.cisco.com/c/en/us/td/docs/ios_xr_sw/iosxr_r4-3/error/messages/em43xsems/em43xrout.html f:id:chimay_wh:20211220124536p:plain

やはり20人の目はスゴイですね!一人で勉強していたら絶対に気付けなかった新たな発見をすることができました!また一つ賢くなれたことに感謝です!

5. 勉強会の宣伝

不定期ですが土曜の20時から勉強会しています。次回はクリスマスなので日曜日にします!勉強以外に予定はないのですが、見栄ですよ!見栄!

次回は12/26(Sun)「Segment Routing TI-LFA」を予定しています。
SR MPLSの勉強会を開催するきっかけになった思い入れの強い技術です。勿論デモもやりますよ!お気軽にご参加ください!
https://connpass.com/event/233995/

ちなみにOSPF TSHOOT の勉強会はあと4回開催する予定です。徐々に難易度を上げていこうと思います。次は、初級レベルのトラブルシューティングを4~5問行う予定です。2021年度内開催を目標にしています。
f:id:chimay_wh:20211220124959p:plain

最後までお読みいただきありがとうございました。