線はつないだまま、口を 1 か所だけ止める
スイッチを輪につなぐと全員あてのフレームが回り続ける。STP が根を決め、どの口をブロックするかを決めるまでと、線が切れてから戻るまでの秒数を 1 枚の図で見る
目次
図 13 までは、機器と機器を 1 本の線で結んでいました。 ここから図 16 までは「壊れても止まらない」の塊で、まず線を 2 本以上にします。
図 4 ではスイッチ 2 台をトランク 1 本で結びました。 線を足して輪にすると、1 本切れても落ちない代わりに、止めないとその VLAN の通信がほぼ止まります。 図 2 のフラッディング(全員あてのフレームを、入ってきた口以外の全部にコピーして流す)が輪を回り続け、イーサネットのフレームには IP の TTL に当たる欄が無いからです。 同じ送信元 MAC が別の口から何度も入るので、MAC アドレステーブルも揺れます。
STP(スパニングツリープロトコル)は、線をつないだまま、口を 1 か所だけ論理的に止めて、通り道を木(輪のない形)にします。
この連載は、ネットワークの言葉を 3 つの層に置いて読みます。 もの(物理か論理か)、結びつき(人が設定で付ける手動か、機器が学習する自動か、製造時に決まる固定か)、通信フロー(1 本の通信がそれらを順に通る道筋)の 3 つです。
登場するもの
BPDU
論理のものです。 スイッチ同士だけが交換する STP 用のフレームで、中身は[ルート ID][根までのコスト][送信元ブリッジ ID][ポート ID]です。 宛先は決まった番地で、隣のスイッチより先へは転送されません。
ブリッジ ID
優先度と MAC を並べた値です。 優先度の欄は論理・手動で、4096 刻みの値に VLAN 番号を足します(既定 32768 の機器は VLAN 10 では 32778)。 MAC の部分は、製造時に決まる固定です。
ポートの役割とコスト
どちらも論理で、自動で決まります。 役割はルートポート・指定ポート・ブロックの 3 つです。 コストは線の速さから決まり、100 Mb/s は 19、1 Gb/s は 4 です。
結びつき
- 人が設定するのは、優先度(どれを根にするか)と、後述する守りの設定をどの口に付けるかだけです。
- 根とポートの役割の決定は、スイッチが BPDU を比べて自分で計算します。人は「どこを止めろ」とは書きません。
- 木は VLAN ごとに別です(PVST+)。図 4 のトランクの上を、VLAN 10 と VLAN 20 で別の道に流せます。
通信フロー
スイッチ 4 台を輪につなぎ、スイッチ 1 だけ優先度を 4096(VLAN 10 では 4106)に下げてあります。
① 電源を入れた直後、各スイッチは「根は自分」と書いた BPDU を全ポートへ出します。
② 受け取った側はルート ID を比べます。優先度は数値が小さい方が優先され、同じなら MAC が小さい方が根になります。
③ 各スイッチは、根までのコストが最小の口を 1 つだけルートポートにします。同点なら送信元ブリッジ ID が小さい側です。
④ 線の 1 区間ごとに、根に近い側の口が指定ポートになります。
⑤ ルートポートでも指定ポートでもない口をブロックします。輪が 1 か所だけ切れ、通り道が木になります。
⑥ 線が切れたとき、切れた口を持つスイッチはすぐ気づきます。持たないスイッチは、良い BPDU が来なくなるのを待ってから計算し直します。
図 14
図の上半分が輪の状態と STP を入れた後の形、中ほどが復旧の秒数と守りの設定、下半分が役割の推移と BPDU の中身の推移です。
タイマーの既定は Hello 2 秒・Max Age 20 秒・Forward Delay 15 秒です。
自分の口が down したと自分で分かる場合(図の直接検知)は、ブロックしていた口を Listening 15 秒と Learning 15 秒で開けるので約 30 秒です。 自分の口は生きていて良い BPDU だけが来なくなった場合(図の間接検知)は、Max Age 20 秒待ってからその 30 秒に入るので約 50 秒です。 RSTP(802.1w)は隣同士の握手でタイマーを待たずに口を開けるので、これが 1 秒未満になりえます。
守りの設定
図の中ほどに 5 つ並べています。速くする道具は PortFast(PC しか付かない口を待たずに転送状態にする)だけで、BPDU guard・Root guard・Loop guard は BPDU の出入りが前提と違ったときの処置です。 毛色が違うのは BPDU filter で、その口で BPDU を出しも受けもしません。インターフェースに付けると STP を止めるのと同じで、輪ができる危険があります。
図 4・図 15 との接続
図 4 では、スイッチ 2 台の間の 1 本にタグが付きました。線が増えてもタグの付き方は変わりません。STP が決めるのは、どの口を通すかだけです。
次の図 15 では、同じ 2 台の間の 2 本を、そもそも輪にしない形で使います。
未検証・注意
- 約 50 秒を 1 つの数字として書いた Cisco の文書は見つけられませんでした。この 50 秒は Max Age 20 と Forward Delay 15 の 2 倍を足した値で、30 秒・50 秒を直接書いているのは二次資料です。
- 「新しい製品ほど MAC が大きいので、新しいスイッチが根を奪わない設計になっている」という見立ては、根拠を見つけられませんでした(未検証)。規格が決めているのは「ブリッジ ID が小さい方が根」だけです。
- 「優先度が低い順に根になる」という読み方は、Cisco の表現(the lowest numerical priority value)と一致します。
- RSTP の 1 秒未満は、相手が古い STP だと出ません。
- この記事は線を 100 Mb/s(1 本のコスト 19)として書いています。1 Gb/s なら 4 になり、同じ形でも選ばれる道が変わることがあります。
- PVST+ の優先度の値(32778・4106 など)は、上の規則から計算したものです。
出典
- 勉強会での本人の観察(2026-09-13 実機ハンズオン。資料は非公開)
- Cisco: Understand and Tune Spanning Tree Protocol Timers — Hello time 2 秒/Forward Delay 15 秒/Max Age 20 秒が既定
- Cisco: Configuring Spanning Tree Protocol(Catalyst 9200) — 優先度は 0 から 61440 まで 4096 刻みで既定 32768、拡張システム ID は VLAN ID、コストは 1000 Mb/s が 4・100 Mb/s が 19・10 Mb/s が 100
- Cisco: Understand Rapid Spanning Tree Protocol (802.1w) — twice the forward delay must elapse = 30 seconds of disruption of traffic、提案と同意は very fast, as it does not rely on any timers
- Cisco: Understand Spanning Tree PortFast and BPDU Guard Features — PortFast は Listening と Learning を飛ばす、BPDU guard は口を errdisable にする
- Cisco: Configuring Optional Spanning-Tree Features(Catalyst 9300) — Root guard は root-inconsistent (blocked) にする、Loop guard は片方向の故障で代替ポート・ルートポートが指定ポートになるのを防ぐ
- Cisco: Configuring Optional Spanning-Tree Features(Catalyst 3750-X/3560-X) — Enabling BPDU filtering on an interface is the same as disabling spanning tree on it and can result in spanning-tree loops
- Cisco: Troubleshoot Layer-2 Loops on Catalyst 9000 Series Switches — L2 の通信には TTL のような仕組みが無い
- Cisco: Troubleshoot Spanning Tree PVID- and Type-Inconsistencies — VLAN 1 の BPDU は 0180.c200.0000 あてでタグなし、VLAN 1 以外は PVST+ の 0100.0ccc.cccd あてでタグ付き
- インフラエキスパート: スパニングツリー(ポートの役割) / 同(コンバージェンス) — 二次資料。BPDU の比較順序、直接検知 30 秒・間接検知 50 秒
関連
-
ネットワーク_INDEX — 連載の目次
-
連載の入口: ネットワーク_00_3層で言葉を置く(
/notes/nw-basics-00-three-layers) -
輪の出発点(フラッディング): ネットワーク_02_同じネットワークの中(
/notes/nw-basics-02-same-network) -
VLAN ごとに木が別になる話の土台: ネットワーク_04_トランクとタグ(
/notes/nw-basics-04-trunk) -
前の記事(図 13): ネットワーク_13_OSPF(
/notes/nw-basics-13-ospf) -
次の記事(図 15): ネットワーク_15_EtherChannel(
/notes/nw-basics-15-etherchannel)
この記事の校閲記録
誰が・いつ・どの版の・どの段落を・何の観点で見て、何と言ったかを全件そのまま出す(追記のみ・削除しない)。
段落 37 のうち出典つき 14・出典なし 23
v1 1 件
AIAI (claude-fable-5) が AI 確認未解決
出典 URL 9 本を再取得して到達を確かめた。タイマーの既定値(Hello 2 秒・Forward Delay 15 秒・Max Age 20 秒)は Cisco の Tune STP Timers、優先度の既定 32768・4096 刻み・拡張システム ID = VLAN 番号・コスト(100 Mb/s は 19、1 Gb/s は 4)は Catalyst 9200 の設定ガイド、直接検知が Forward Delay の 2 倍で 30 seconds of disruption と提案・同意がタイマーに頼らないことは 802.1w のページ、BPDU guard の errdisable は PortFast/BPDU Guard のページ、Root guard の root-inconsistent と Loop guard は Catalyst 9300 の設定ガイド、BPDU filter の警告文は Catalyst 3750-X/3560-X の設定ガイド、L2 に TTL に当たる仕組みが無いことは Layer-2 Loops のページ、BPDU の宛先 MAC の 2 通りは PVID-Inconsistency のページで確認した。約 50 秒は Max Age 20 と Forward Delay 15 の 2 倍を足した値で、30 秒・50 秒を 1 つの数字として書いているのは二次資料だけだった。MAC の大小と製造時期の関係は根拠を見つけられず未検証として残した。校正チェックリストを通し、例え話・体言止め・藁人形・未定義語の初出を検査した。守秘: 実名・社名・会場名・地名・金額なし
参考文献
- 二次Cisco: Understand and Tune Spanning Tree Protocol Timers参照 2026-09-14
- 二次Cisco: Configuring Spanning Tree Protocol(Catalyst 9200)参照 2026-09-14
- 二次Cisco: Understand Rapid Spanning Tree Protocol (802.1w)参照 2026-09-14
- 二次Cisco: Understand Spanning Tree PortFast and BPDU Guard Features参照 2026-09-14
- 二次Cisco: Configuring Optional Spanning-Tree Features(Catalyst 9300)参照 2026-09-14
- 二次Cisco: Configuring Optional Spanning-Tree Features(Catalyst 3750-X/3560-X)参照 2026-09-14
- 二次Cisco: Troubleshoot Layer-2 Loops on Catalyst 9000 Series Switches参照 2026-09-14
- 二次Cisco: Troubleshoot Spanning Tree PVID- and Type-Inconsistencies参照 2026-09-14
- 二次インフラエキスパート: スパニングツリー(ポートの役割)参照 2026-09-14
- 二次同(コンバージェンス)参照 2026-09-14
更新履歴
- 連載のトピックを「ネットワーク基礎」から「ネットワーク」へ改名(32 本+目次。slug と URL は不変)
- 公開: 連載「ネットワーク基礎」図 8〜24 の記事 17 本と目次の更新
機械可読の記録
- article.json(記事の正本)
- reviews.json(校閲記録)
- blocks.json(ブロック一覧)