【CCNA・CCNP試験対策】ネットワークの基礎から学んでいこう!【STP解説編】Part 3


【CCNA・CCNP試験対策】ネットワークの基礎から学んでいこう!【STP解説編】Part 3

CCNA,CCNPの勉強をしている方に向けて、今回も解説編ということで引き続きSTP(スパニングツリープロトコル)の解説をしていこうと思います。今回はSTPの欠点とそれに関する様々な拡張機能について説明していきます。

【目次】

  1. STPの欠点
  2. STPの拡張機能
  3. まとめ

STPの欠点

STPの機能についていろいろと書いてきましたが、今回はSTPのちょっとした欠点について触れていこうと思います。
簡潔に書くと、経路の切り替えに時間がかかるということです。
まず、STPで経路を決定する際のスイッチでの状態遷移について書いていきます。
STPでのポートの状態には、「ディゼーブル」「ブロッキング」「リスニング」「ラーニング」「フォワーディング」の5つがあります。それぞれの状態について表でまとめておきます。

状態 説明
ディゼーブル 管理者によってシャットダウンされているか、エラー等によって強制的にシャットダウンされている状態です。
ブロッキング ポートの初期状態。また、STPの計算によって非指定ポートに選出されたポートの状態です。フレームの転送やMACアドレスの学習ができませんが、BPDUの受信は可能です。
リスニング BPDUを送信し合い、ポートの役割などのSTPの計算を行っている状態です。フレームの転送、MACアドレスの学習は行いません。
ラーニング ポートの役割が決定し、ルートポート、指定ポートでMACアドレスを学習し、転送に必要なMACアドレステーブルを作成している状態です。まだフレームの転送は行いません。また、非指定ポートに選出されたポートはブロッキング状態へと遷移します。
フォワーディング ルートポートと指定ポートに選出されたポートが最終的に遷移する状態です。フレームの転送を行います。

上の表のように、通信できる状態はフォワーディングのみであり、フォワーディング状態に移行するためには、「ブロッキング」→「リスニング」→「ラーニング」→「フォワーディング」というような状態遷移をする必要があります。また、STPには3種類のタイマーが設定されています。

名前 説明
Helloタイマー スイッチがBPDUを送信する間隔です。一度コンバージェンスすると、ルートブリッジのみがBPDUを送信します。デフォルトでは2秒です。
最大エージタイマー BPDUを受信してからそれを保持する時間です。障害が発生して、このタイマーの時間を経過しても届かない場合は、スパニングツリーの再計算が必要だと判断します。
デフォルトでは20秒です。
転送遅延タイマー ポートの状態遷移を行う際に、リスニング状態とラーニング状態にとどまる時間です。
デフォルトでは15秒です。

障害が発生してブロッキングになっているポートがフォワーディングの状態に遷移するためには、最大で最大エージタイマー(20秒)+リスニング状態での転送遅延タイマー(15秒)+ラーニング状態での転送遅延タイマー(15秒)=50秒がかかってしまいます。(ブロッキングポートを持つスイッチ以外のスイッチで障害が起こった場合。間接的な障害)
早くてもリスニング状態での転送遅延タイマー(15秒)+ラーニング状態での転送遅延タイマー(15秒)=30秒がかかってしまいます。(ブロッキングポートを持つスイッチで障害が発生した場合。直接的な障害)
そこで、STPにはコンバージェンスを高速化するための拡張機能が用意されています。

STPの拡張機能

STPの欠点であるコンバージェンスの遅さを解消するための拡張機能として、Portfast、Uplinkfast、Backbonefastの3つがあります。

Portfast

Portfastは簡単に言うと、設定したポートを計算無しに即座にフォワーディング状態に遷移させる機能です。この機能は主に、接続する相手がPCやサーバなどのSTPの計算を行わない機器の場合によく使うものです。
スイッチは接続すると、相手が何であれBPDUを送信してSTPの計算を行おうとします。相手がPCの場合はBPDUが送信されてこないので、結果としてスイッチのポートはフォワーディングになるのですが、転送遅延タイマー分の30秒間は通信ができない状態になってしまいます。そのようなポートで、接続するとすぐにフォワーディングになるようにするという機能がPortfstです。

Portfastを設定する際の注意点として、対向のポートにスイッチが接続されないようにしなければなりません。もし、Portfastが設定されたポートにスイッチが接続されると、本来はSTPの計算が必要なのに無条件でフォワーディングにしてしまい、ループに原因になることがあります。

Uplinkfast

Uplinkfastは、直接的な障害(ブロッキングポートを持つスイッチで障害が発生した場合。)を検出した際にブロッキングになっているポートを即座にフォワーディングに切り替えるという機能です。この機能によって、ブロッキング状態になっているポートで「リスニング」→「ラーニング」のような状態遷移をする必要がなくなるため、本来かかっていた30秒の時間を短縮することが出来ます。

この機能は、STPが動作しているスイッチのうちブロッキングポートを持つスイッチのみで有効化すればよい機能です。

Backbonefast

Backbonefastは、間接的な障害(ブロッキングポートを持つスイッチ以外のスイッチで障害が起こった場合。)を検出した際に最大エージタイマーを待たずに即座に再計算を始める機能です。
具体的には、障害が発生した場合にブロッキングポートを持つスイッチは不良BPDUを受け取る状態になります。通常はこのBPDUは無視されますが、Backbonefastを動作させた場合にはこの不良BPDUを検出することで障害発生とみなし、正規のルートブリッジに確認後、即座に再計算を始めます。この機能によって、ブロッキングポートを持つスイッチでは、最大エージングタイマーを待たずに再計算を開始するので、最大エージタイマーの20秒の時間を短縮することが出来ます。

この機能は、STPを動作させる全てのスイッチで有効にしなければなりません。

まとめ

今回の記事では、STPのコンバージェンスについてとその拡張機能について書いてきました。
今回のポイントをまとめました。

  1. STPにはポートの状態遷移とタイマーの影響で、コンバージェンスに時間がかかってしまうという欠点がある。
  2. コンバージェンスの時間を短縮するために、「Portfast」「Uplinkfast」「Backbonefast」の3つの拡張機能がある。
    • Portfastは接続されたポートを即座にフォワーディングする機能で、PCやサーバなどの端末と接続するポートで設定する。
    • Uplinkfastは直接的な障害が起きた際に、ブロッキングポートを即座にフォワーディングにすることで状態遷移にかかる遅延時間(30秒)を短縮する機能で、ブロッキングポートを持つスイッチで設定する。
    • Backbonefastは間接的な障害が起きた際に、不良BPDUを検出し、即座に再計算を開始することで最大エージタイマー(20秒)を短縮する機能で、STPが動作する全てのスイッチで設定する。
  • このエントリーをはてなブックマークに追加

PAGE TOP