カクヨム/なろう投稿作品についてアレコレ考えるブログ

小説投稿などについて書いてます。

STPトポロジの保護@BCMSN

今日のところは、Spanning-treeの方でまとめて覚えるといいです。 認定公式ガイドでも 「第10章 スパニングツリープロトコロルトポロジの保護」 のところで詳細に解説されています。 公式ガイド、量は多いんですが、ここの解説はとりわけイメージし易かったです。 あと、ここと、ここが、とても参考になります。むしろここだけ見てろやな勢いです。CCstudyさんはネ申だと思います。最初30minutesさんで概要→テキスト一通り→CCstudyさんを見たときの「なるほど感」は異常。 ----------------------- 公式ガイドと黒本にのっとって、ざくっとまとめてみます。 ……といいつつ、無茶に長くなった('A`) ----------------------- STPをループフリー状態にしておく = BPDU(Bridge Protocol Data Unit)の送受信による  ……という前提はあらかじめ確認しておきましょう。 ------------- ①ルートガード  ★予期せぬスイッチがSTPトポロジに追加された時の対策  「1つのポートに対してBPDUを転送するリレー処理以外を禁止する機能(公式ガイド)」  「予期せぬスイッチ」が追加された時の問題点とは?    1.ルートブリッジがそのスイッチに変更される    2.STP再計算中(50秒)、N/Wが使えない    【具体的に何をするのか】   ・上位BPDUの受信を禁止する   ・受信したら、ルート不整合(root inconsistent)状態にしてデータ送受信禁止   ・上位BPDUが途絶えたら復旧    【デフォルト】   無効   なので、ポートごとに設定しなきゃなりません。    ※(config)#interface range Fa0/1 - 10 みたいな手もあり。  【設定】   公式ガイドの言うように「1つのポートに対して」なので、    (config-if)#spanning-tree guard root   になります。 ②BPDUガード  ★portfastが設定されたポートにスイッチが挿された場合の対策   ・アクセス層スイッチ(のPCなどを接続する側)に設定(推奨)   ・それ以外には設定しない(BPDUの動きを考えましょう)  【具体的に何をするのか】   ・BPDUを受信すると問答無用でerr-disableしてshutdown    ⇒復旧は手動 or タイムアウト機能の事前設定  【デフォルト】   無効  【設定】   ①一回で全ての「portfast」対象ポートに設定    (config)#spanning-tree portfast bpduguard default   ②ポートごとに設定    (config)#spanning-tree bpduguard enable ③BPDUフィルタリング  ★グローバル設定   →BPDU送信しない&BPDU受信したらフィルタリング解除     ★I/Fで設定   →BPDU送受信を完全禁止 = STP無効化   →BPDUガードBPDUフィルタリング   それぞれの性質で使うシーンが見えてくると思います。   グローバルの場合は「送信を防ぐ」だけなので、「基本PCしか接続されないけども、もしかしたらネットワーク拡大の際にスイッチが来るかもしれない(来ても良いように他の部分は設定されている前提)」状態の時に選択できるでしょう。   I/Fの場合、どうあっても勝手には解除されないので、「ここから先は絶対にSTPに干渉させねぇ。絶対にだ!」という場合に使いますね。ネットワーク管理者としては、(最終的には)こっちの方が安心感があるでしょうし、セキュリティ的にも良いと思います。勝手に変な接続されて、何かが微妙に狂ってくるという可能性を「排除」できるのは大きいです。どうせ変なことした人を問い詰めても「何もやってない」と言うわけですし(笑)。 ------------- ④ループガード  まずSTPの「ブロッキングポート」のおさらい。  このステータスのポートは、「データ送受信はしないが、万が一正規のルートがダウンした場合に備えて、常に様子を見ている」状態です。  補うと「~備えて、届けられるBPDUの中身を常に確認している」。  彼が本気になる条件としては、「(1)書状(BPDU)にて、『頼む、やってくれ』」と言われるか、「(2)定時連絡が途絶えた。出撃する必要があるだろう」と自発的に判断するかのどちらかです。  (1)ならSTP的にそういう話がついているので問題ないです。  が、(2)の場合は、単純に何らかの事故でBPDUが届かなかった場合には「勘違い出撃」になって、ループが発生する危険があります。  なので、「知らせが来なくなっても、知らせ来てないフラグを立てて黙っていろ(roop inconsistent」と命令する。  それがループガードです。    ルートガードに比べると恐ろしくフランクなまとめですが、だいたい合ってるはず。    【デフォルト】   無効  【設定】   ①(config)#spanning-tree loopguard default   ②(config-if)#spanning-tree guard loop    ※loopguardだったりguard loopだったりで紛らわしいですが仕方ない。  【その他】   cisco的には、ループガードと↓のUDLD(アグレッシヴ)を併用することをオススメしています。 ⑤UDLD 解説はここ参照。  UDLDで取り得る選択肢は二つ。  ・ノーマルモード  ・アグレッシヴモード  ノーマルはSyslogに「障害出たよ」と記録するだけ。週刊誌みたいですね。  アグレッシヴモードは障害発生時に「err-disable」にまで持って行きます。救急車みたいですね。  【設定】(アグレッシヴモードの場合)   ①(config)#udld aggressive    ※グローバルの場合「光ファイバポート」のみ対応   ②(config-if)#udld port aggressive    ※こちらはEtherでもOK。①より優先度が上。 --------------- という感じで、黒本ベースでおおよそまとまった気がします。 だがしかし、 自分の「まとめ」見ていて自分で「?」になってるていたらく。 これってつまり「?」なところは、 自分のものになってないってことなんですよね。 覚えるというよりも理解する。 BCMSNのみならず、他の試験の合格体験記でも同様の言葉をたくさん見ますが、やっぱりそういうことでしょうねー。 BSCIの時も「暗記じゃなくてどういうシチュエーションの場合にはどうしたらいいのか?」と考えるようにしたら、OSPFだろうがEIGRPだろうがIntegrated IS-ISだろうが、 「方法論だけの問題」になって、結果的にどんな方向の問題でも自信持てるようになりましたし。 そしてここらでガッツリやっておけば、次のTSHOOTも分かりやすいんじゃないかなと期待しつつ。 ラストスパート頑張りまする。