【入門編】 スパニングツリープロトコル(STP:IEEE 802.1D)の基本動作 – インフラ・物理&L2/L3ネットワーク基礎実践ガイド

なぜネットワークは「迷子」になるのか? STP(スパニングツリー)で学ぶ、L2ループの防ぎ方

こんにちは!ネットワークエンジニアの世界へようこそ。

インフラの世界に飛び込むと、必ずといっていいほど「ループ」という言葉の恐怖を教わります。ネットワークにおいて「ループ」とは、まさに「終わりのない迷路」。データが同じ場所をぐるぐると回り続け、スイッチのCPUをパンクさせ、ネットワークを完全に麻痺させてしまう……。

そんな悲劇を防ぐための英雄が、今回解説する STP(Spanning Tree Protocol) です。一歩ずつ、その仕組みを紐解いていきましょう。

—

1. なぜ「冗長化」がループを生むのか?

まず、なぜループが起きるのかを想像してみてください。

信頼性を高めるために、スイッチを2台、3台と線で繋いで「二重、三重の道」を作りますよね。これを「冗長化」と呼びますが、L2スイッチの世界ではこれが仇になります。

郵便配達に例えてみましょう。

  • あなたが送った手紙(パケット)を、郵便局員がコピーして、右の道と左の道の両方に投函したらどうなるでしょう?
  • その先にある別の郵便局も、同じようにコピーしてまた別の道に投函する……。
  • 結果、世界中にあなたの手紙のコピーが溢れかえり、郵便システムがパンクしてしまいます。

L2スイッチは「宛先を知らないパケット」が来ると、「とりあえず繋がっている全部のポートから投げろ!」という性質(フラッディング)を持っています。これがループの正体です。

—

2. STPの登場:賢い「通行止め」のルール

STPの目的はシンプルです。「物理的に道はたくさんあるけれど、論理的には1本道に見えるようにしよう」ということ。

STPは、ネットワーク内のスイッチ同士で「誰がリーダー(ルートブリッジ)になるか」を決め、そこに至るまでの道順を計算します。そして、ループの原因になる余分な道だけを「通行止め(ブロッキング)」にするのです。

STPの「選出」というダンス

STPは以下のような手順で、まるで話し合いをするように役割を決めます。

1. ルートブリッジを決める:ネットワーク全体で一番偉いボスを決めます。これは「ブリッジID(BID)」という値が一番小さいスイッチが選ばれます。
2. ルートポートを決める:各スイッチが「ボスへの一番の近道」を1つだけ選定します。
3. 代表ポートを決める:各セグメント(LANの区画)の中で「ボスへの一番の近道」を提供しているポートを選びます。
4. ブロッキング:上記に選ばれなかったポートは、通行止め(Discarding/Blocking状態)にして、ループを物理的に遮断します。

もし、普段使っている線が切れたら? STPは即座に「通行止めにしていた予備の道」を開通させます。これがネットワークの冗長性を維持する秘訣です。

—

3. 実践!Catalystスイッチでの設定例

実務の現場でよく使われるCisco Catalystスイッチを例に、設定の基本を見てみましょう。最近は Rapid-PVST+ という、収束が速い改良版が標準です。

# 特権モードへ移行
enable

# 設定モードへ移行
configure terminal

# VLANごとにSTPのモードをRapid-PVST+に設定
spanning-tree mode rapid-pvst

# ルートブリッジを強制的にこのスイッチにしたい場合(優先度を最小にする)
spanning-tree vlan 1 priority 4096

# 特定のポートをエッジポート(PCなどを繋ぐ場所)に設定
# これにより、PCを繋いだ瞬間に通信が開始されるようになります
interface GigabitEthernet0/1
 spanning-tree portfast
 spanning-tree bpduguard enable  # 万が一PCポートにスイッチが繋がれたら即座に遮断する安全装置

—

4. 最後に:現場のエンジニアとして知っておいてほしいこと

STPは非常に強力ですが、「ポートが繋がってから通信できるまで時間がかかる」という弱点もあります。昔の 802.1D では数秒〜数十秒待たされることもありましたが、今では Rapid-PVST+ や MSTP のおかげで、通信断は非常に短くなっています。

初心者のうちは、「ネットワークの線は、繋ぎ方を間違えるとシステム全体を殺す凶器になる」ということだけ覚えておいてください。

トラブルが起きたとき、show spanning-tree コマンドを打って、どのポートが Root で、どれが Altn(代替ポート=通行止め)なのかを確認する。これがネットワークエンジニアの第一歩です。

何か分からないことがあれば、いつでも聞いてくださいね。一緒にプロの道を進んでいきましょう!

コメント

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