LAN スイッチング・スパニングツリープロトコル


基本的なレイヤ2スイッチング(ブリッジング)テクノロジ

レイヤ2スイッチの主な3つの機能

  • アドレス学習:あるフレームをスイッチが受け取ると、そのフレームの送信元MACアドレスと着信(入ってきた)ポートを関連づけるため、自身のMACアドレステーブルにその情報を加える。

    Catalyst1900E#show mac-address-table
    Number of permanent addresses : 0
    Number of restricted static addresses : 0
    Number of dynamic addresses : 2
    Address      Dest Interface  Type   Source Interface List
    ----------------------------------------------------------------------
    0060.7062.FFFC  Ethernet 0/8  Dynamic  All
    0000.0C32.9509  Ethernet 0/9  Dynamic  All

    MACアドレステーブルにCAM(Content-Address Memory)と呼ばれるメモリを使用することで、MACアドレスの検索とラーニングをハードウェアで実現し高速化する。このことからCatalystスイッチではMACアドレステーブルをCAMテーブルと呼ぶこともある。

  • フレーム転送/フィルタリング:フレームの宛先MACアドレスがMACアドレステーブルにない場合は、そのフレームを受け取ったポート以外の全てのポートにフラッディングする。フレームの宛先MACアドレスがMACアドレステーブルにある場合は、対応するポートにのみフレームを転送する。(フレームフィルタリング)

  • ブリッジングループの回避:リンクやデバイスに冗長性を持たせるためのネットワーク設計は、ブロードキャストストームやスイッチのMACアドレステーブルデータベースの不安定を引き起こします。それを防ぐためにスパニングツリープロトコル(STP)が使われる。
  •  

    スパニングツリープロトコル(STP)の概要

    STPは、ある1つのポートをブロック状態にすることにより、ブリッジングループを回避し、またその他のフォワード(転送)状態にあるポートに何らかの障害が生じたとき、ブロック状態にあったポートを転送状態にして、リンクの冗長性を保つ機能です。

    STPには「IEEE802.1d」と「DEC」(現:CONPAQ)の2種類の標準があり、Catalyst1900スイッチは「IEEE802.1d」のSTPを使っている。

    STPのごく簡単な例をみてみましょう。

    スイッチ1がルートブリッジとなっており、通常時はスイッチ2とスイッチ3の間がブロックされています。ここでブロックすることによりネットワーク上のループを防止しているわけです。

    もしも、スイッチ1とスイッチ2の間のリンクに障害が発生したら、ブロックされていたポートが転送状態になり、引き続きクライアントコンピュータからサーバへのアクセスが確保できます。

    以上のようなスパニングツリープロトコルによる経路の切り替わり(スパニングツリープロトコルの計算)が完了することをコンバージェンス(収束)と呼んでいます。スパニングツリープロトコルでは、デフォルトでコンバージェンスに50秒要します。

    スイッチ同士がBPDU(Brige Packet Data Unit)と呼ばれる情報を交換し合い、どのデバイスのどのポートでBlockingを行うか決定する仕組みになっています。ブロッキング状態にあるポートでもBPDUのやり取りは行います。

     

    どのポートをブロック状態にするかというのはある手順に基づいて決定されます。

    1. ルートブリッジ」の選択:スイッチのブリッジIDによって決定されます。ブリッジIDはブリッジプライオリティとスイッチのMACアドレスから構成されており、ブリッジIDが最も小さいスイッチがルートブリッジとなります。ルートブリッジには、データが集中するのでパフォーマンスの高いスイッチを選択すると良い。ルートブリッジ上の全てのポートは「指定ポート」と呼ばれ、転送状態になります。
    2. 各非ルートブリッジ毎に1つだけ「ルートポート」があるようにする:ルートポートとは各非ルートブリッジからルートブリッジへの最低パスコストになるポート。コストが同じ場合にはポート番号値が最小のポートが優先される。ルートポートは転送状態になる。
    3. 各セグメント毎に1つの「指定ポート」があるようにする:指定ポートとはルートブリッジへの最低コストパスになるポートで各セグメント毎に1つ存在し、転送状態になる。ルートブリッジに直接つながっているセグメントについては、ルートブリッジのポートが指定ポートになる。指定ポートを持つブリッジを「指定ブリッジ」と呼ぶ。
    4. ブロック状態になるポートの決定:上記の手順でルートポート指定ポートのどちらにも当てはまらなかったポートがブロック状態になる。

     

    実際のスイッチドネットワークを例にして、手順を確認してみましょう。

  • 指定ポート Designated Port (DP):Forwarding
    各セグメント(1つのケーブル)上で、最もルートブリッジに近いポート
  • ルートポート Root Port(RP):Forwarding
    非ルートブリッジのポートの中で、もっともルートブリッジに近いポート
  • Non Designated Port (NDP):Blocking
    DPにもRPにもなることができなかったポート
  • 各スイッチが起動しBPDUを交換し合った結果、SWAが最も小さいブリッジIDを保持していることが判明したので、SWAを中心にツリーが作られます。
    SWAのポートは、全て「各セグメント(1つのケーブル)上で、最もルートブリッジに近いポート」という定義に一致するため、全てのポートがDPとなりForwardingに決定されます。
    次に、パスコストを基にルートブリッジになることができなかったSWBとSWC上で「非ルートブリッジのポートの中で、もっともルートブリッジに近いポート」であるRPが1つずつ選出されます。
    問題はSWB〜SWCを繋いでいるセグメントですが、SWBのルートポートからルートブリッジまでのパスコストは19であり、SWCのルートポートからルートブリッジまでのパスコストは100であるため、このセグメント上のDPはSWB側に決定されます。ここまで計算して、最終的にDPにもRPにもなれなかったSWC上の2/2ポートにNDPが定義され、以後Blockingとなります。
    もちろん、Forwardingしているリンクに障害が発生した場合、再計算が行われて、自動的に2/2ポートがForwardingに切り替わります。

    *パスコストはIEEEが定義している各ケーブルの帯域に応じたコスト(リンクコスト)の総和です。現在の規格ではイーサネットがコスト100であり、ファストイーサネットは19と定義されています。もちろんコストですから、値が小さい方がより高速なリンクであるとみなされます。

     

     

    参照:Ciscoデバイス相互接続入門-CCNA試験番号640-507対応(ソフトバンク)/シスコネットプロ-トレーナー通信

    inserted by FC2 system