【入門編】 STPのポート状態遷移(Disabled, Blocking, Listening, Learning, Forwarding) – インフラ・物理&L2/L3ネットワーク基礎実践ガイド

ネットワークの世界へようこそ!インフラエンジニアの端くれとして、日々パケットの「渋滞」と「迷子」に頭を悩ませている主筆です。

ネットワークを始めたばかりの頃、スイッチという箱の中で一体何が起きているのか、不思議に思ったことはありませんか?特に、ループを防ぐための守護神「STP(Spanning Tree Protocol)」が裏で行っているあの慎重すぎる動き。

今回は、スイッチのポートが「通信できるよ!」と判断するまでの、少しじれったいけれど非常に大切な「5つのステップ(状態遷移)」について、郵便局の仕分け作業に例えて紐解いていきましょう。

—

1. なぜスイッチは「すぐ」動いてくれないのか?

スイッチ同士をケーブルで繋ぐと、一瞬で通信が始まると思いきや、実は数秒〜数十秒の間、うんともすんとも言わない時間がありますよね。あれは故障ではなく、「ネットワークの迷宮(ループ)を作らないための熟考タイム」なんです。

もし、スイッチが何も考えずにパケットを転送し始めたらどうなるでしょう?行き場を失ったパケットが永遠にぐるぐると回り続け、ネットワーク全体がパンクする「ブロードキャストストーム」という悲劇が起こります。これを防ぐために、STPというルールが「まずは周囲の状況を確認しよう」と命じているわけです。

—

2. ポートの5つの変身フェーズを解説!

ポートが一人前(通信可能)になるまでには、以下の5つの段階があります。郵便局の新人アルバイト君に例えてみましょう。

① Disabled(無効)

まだコンセントに繋がっていない状態です。「仕事?何それ?」という無の状態ですね。管理者が手動で shutdown している場合もここに含まれます。

② Blocking(閉塞)

ケーブルは繋がったけど、まずは「沈黙」を守ります。ここではデータは一切送りません。唯一やることは、他のスイッチからの「おーい、ここにスイッチがあるよ!」という合図(BPDUといいます)をじっと待つことだけです。

③ Listening(リスニング)

「よし、このポートは使っても大丈夫そうだ」と判断し、周囲と「どの道が一番効率いい?」と相談を始めます。まだデータの中身を運ぶことは禁止です。

④ Learning(ラーニング)

ここからが重要です!「どのMACアドレスがどっちの方向にいるか」を学び始めます。郵便局で言えば、住所録を作っている段階です。「Aさんはこっちのルートだね」と、自分の頭(MACアドレステーブル)に書き込む準備をします。

⑤ Forwarding(転送)

ついにゴールです!やっと荷物(フレーム)を自由に運べるようになります。ここまで来て初めて、私たちのデータがネットワークを駆け巡ることができるのです。

—

3. 実践!スイッチの設定と確認のポイント

現場では、この状態遷移を意識しながら設定を行います。例えば、Ciscoのスイッチでポートの状態を確認する際は、以下のコマンドをよく使います。

# 現在のポート状態を確認するコマンド
Switch# show spanning-tree interface GigabitEthernet 0/1

# 出力結果の例:
# Port 1 (Gi0/1) of VLAN0001 is forwarding  <-- 今は通信できる状態!

また、PCを繋ぐだけのポートであれば、わざわざこの慎重な確認作業を待つ必要はありません。そんな時は portfast という魔法を使います。

# 接続先がPCだと分かっているなら、即座に通信を開始させる設定
Switch(config)# interface GigabitEthernet 0/1
Switch(config-if)# spanning-tree portfast  # 慎重な確認をスキップして即座にForwardingへ!
Switch(config-if)# spanning-tree bpduguard enable  # 万が一スイッチが繋がれたら即座に遮断する安全装置

—

4. なぜ「待つ」ことが大事なのか

「 portfast で即座に繋がるなら、全部そうすればいいじゃないか」と思うかもしれません。しかし、STPが時間をかけて状態遷移する理由は、「ネットワークの平和を守るため」です。

もし誤ってスイッチ同士をループ状に繋いでしまった時、STPの熟考タイムがないと、一瞬でネットワークがダウンします。Learning や Listening という一見無駄に見える時間は、ネットワークが論理的な構造を正しく把握するための「安全装置」なのです。

今日のまとめ

  • Blocking/Listening: ネットワークのループを防ぐための「沈黙の確認期間」。
  • Learning: 誰がどこにいるかを把握する「住所録の作成期間」。
  • Forwarding: 準備万端!「通信開始」の合図。

インフラの世界は、こうした「一見遠回りに見える丁寧なルール」の上に成り立っています。トラブルシューティングでパケットの挙動を追うときは、ぜひこの「ポートは今どの段階にいるのかな?」という視点を持ってみてください。

それでは、また次回の深淵でお会いしましょう!ネットワークの旅路に幸あれ!

コメント

タイトルとURLをコピーしました