助け合いフォーラム

Cisco

CCNA(200-301)
問題ID : 38354
問題を開く
BPDUフィルタリングをグローバルで有効にした場合の動作について、正しい記述はどれか。(2つ選択)

正解

BPDUの送信を行わない

BPDUを受信した場合、BPDUフィルタリングが無効になる

解説

【BPDUフィルタリング】
BPDUフィルタリングは、BPDUの送受信を止める機能です。
PCやサーバを接続するアクセスポートでは BPDUを送受信する必要がないので、BPDUフィルタリングによって無駄な処理を抑えることが出来ます。
BPDUフィルタリングは、特定のインターフェースで有効にした場合とグローバルで有効にした場合で、BPDUを受信したときの動作が異なります。

・特定のインターフェースでBPDUフィルタリングを有効にした場合
そのインタフェースでBPDUを受信しても、BPDUの受信処理は行いません。


・グローバルでBPDUフィルタリングを有効にした場合
BPDUを受信すると、BPDUフィルタリングは無効になり、BPDUの送受信が始まります。
インターフェースの先がPCやサーバからスイッチに変更された場合でも、BPDUを受信することでSTPが動作するため、ループの発生を防止することができます。


よって正解は
・BPDUの送信を行わない
・BPDUを受信した場合、BPDUフィルタリングが無効になる
です。

その他の選択肢については、以下の通りです。
・BPDUを受信しても何も行わない
特定のインターフェースでBPDUフィルタリングを有効にした場合の動作のため、誤りです。

・BPDUを受信した場合、スイッチは必ずルートブリッジになる
BPDUを受信すると通常のSTPの動作を開始しますが、そのスイッチが必ずルートブリッジになるわけではありません。よって誤りです。

・BPDUの送信のみ行い、受信はしない
BPDUの送信は行わず、受信処理のみ行うため、誤りです。
BPDUを受信した場合に限り、BPDUフィルタリングが無効となり、BPDUを送信し始めます。

参考

【STPの収束】
スパニングツリーが完全に収束したと言えるのは、スイッチのポートが、フォワーディング状態またはブロッキング状態のどちらかになったときです。

スパニングツリーでは、ポートの状態は、ブロッキング→リスニング→ラーニング→フォワーディングの順で遷移していきます。

ブロッキング・・・電源投入時のスイッチのポートは全てブロッキング状態です。
この状態のポートはBPDUの受信のみ行えます。

リスニング・・・初期状態のスイッチはBPDUを送信するために、他のスイッチと接続しているポートをリスニング状態にします。リスニング状態に移行するまでには、デフォルトで20秒かかります。
この状態のポートはBPDUの送受信はできますが、ユーザデータの送受信はできません。
BPDUの交換により、非指定ポートに選出されたポートは、リスニング状態からブロッキング状態に戻ります。

ラーニング・・・デフォルトで15秒間ルートポートまたは、指定ポートにとどまったポートは、ラーニング状態に移行し、MACアドレステーブルを構築します。
この状態のポートは、ユーザデータの受信はできますが、送信はできません。

フォワーディング・・・さらにデフォルトで15秒間ルートポートまたは、指定ポートにとどまったポートは、フォワーディング状態への移行します。
この状態のポートは、通常のフレーム転送を行えます。

【STPの主な機能】


【PortFast】
PortFastとは、通常のスパニングツリーの状態遷移である「ブロッキング→リスニング→ラーニング→フォワーディング」のプロセスを「ブロッキング→フォワーディング」に省略する機能です。
PCなどのスパニングツリーに参加しないデバイスが接続されるポートでは「リスニング」と「ラーニング」のプロセスは必要ないので、ブロッキングから即座にフォワーディングに移行することでポートがすぐに利用できる状態になります。

【PortFastの設定で使用する主なコマンド】
(config)#spanning-tree portfast default
すべてのアクセスポートに一括でポートファストを有効化します。

(config-if)#spanning-tree portfast
インターフェースごとにポートファストを有効化します。

(config-if)#spanning-tree portfast trunk
トランクポートでポートファストを有効化します。

【ルートガード】
STPのルートガードは、想定していないスイッチがルートブリッジになる事を防ぐ機能です。
ルートガードを設定したポートで上位BPDU(現在のルートブリッジよりもブリッジIDの小さいBPDU)を受信すると、そのポートをルート不整合という状態にして、ユーザデータの送受信をできなくします。
上位BPDUを受信しなくなった場合は、ルート不整合状態にしていたポートを自動的に復旧します。

例:STPが動作するネットワークに、ルートブリッジよりもブリッジIDの小さいSW4を新たに接続した場合


【ループガード】
ループガードとは、ルートポートやブロッキングポート、代替ポートがBPDUを受信しなくなった際に、そのポートが指定ポートになることを防ぐ機能です。
STPが有効であるL2ネットワークにおいて、一方向のリンク障害が発生した際に起こりうるループを防止します。

例:SW2→SW3への一方向のみで障害が発生した場合


・ループガードが無効な場合
SW2からSW3への一方向のみでリンク障害が発生し、SW3はSW2からのBPDUを受信できなくなります。
しかし、SW3からSW2への通信は可能なため、SW3はSW2に接続されたポートがアクティブなポートであると判断します。
そして、ブロッキングポートを指定ポートに変更し、ポートの状態はフォワーディング状態に遷移します。
こうしてL2ネットワークにブロッキングポートが存在しなくなり、ループが発生します。


・ループガードが有効な場合
ルートポートやブロッキングポート、代替ポートがBPDUを受信しなくなった際、そのポートの状態をループ不整合状態とし、ポートをブロックします。
これにより、誤ったポートが指定ポートになり、フォワーディング状態になることを防ぎます。


【BPDUフィルタリング】
BPDUフィルタリングは、BPDUの送受信を止める機能です。
PCやサーバを接続するアクセスポートでは BPDUを送受信する必要がないので、BPDUフィルタリングによって無駄な処理を抑えることが出来ます。
BPDUフィルタリングは、特定のインターフェースで有効にした場合とグローバルで有効にした場合で、BPDUを受信したときの動作が異なります。

・特定のインターフェースでBPDUフィルタリングを有効にした場合
そのインタフェースでBPDUを受信しても、BPDUの受信処理は行いません。


・グローバルでBPDUフィルタリングを有効にした場合
BPDUを受信すると、BPDUフィルタリングは無効になり、BPDUの送受信が始まります。
インターフェースの先がPCやサーバからスイッチに変更された場合でも、BPDUを受信することでSTPが動作するため、ループの発生を防止することができます。


【BPDUガード】
BPDUガードは、BPDUを受信するとそのポートをerr-disabledとし、通信できない状態にする機能です。
一般的にPortFastが有効になっているポートでは、BPDUガードも有効にします。
これは、PortFastが有効なポートに誤ってスイッチが接続された場合のループ発生を防止するためです。
上に戻る

問題の誤りについて

投稿日 2025/05/02

問題が理解できないためChatGPTにっ解説をしてもらったところ、
こちらの問題の解答に誤りがある可能性があるため、どちらが正しいか確認させてください。

【問題】
BPDUフィルタリングをグローバルで有効にした場合の動作について、正しい記述はどれか(2つ選択)

  • BPDUの送信を行わない
  • BPDUを受信しても何も行わない
  • BPDUを受信した場合、スイッチは必ずルートブリッジになる
  • BPDUを受信した場合、BPDUフィルタリングが無効になる
  • BPDUの送信のみ行い、受信はしない

【Pingtの回答】
正解:

  • BPDUの送信を行わない
  • BPDUを受信した場合、BPDUフィルタリングが無効になる

【ChatGPTの見解】

  • BPDUの送信を行わない
  • BPDUを受信しても何も行わない

理由:
(BPDUの送信を行わない の解答は一致しているため省略)

  • BPDUを受信しても何も行わない

グローバルでBPDUフィルタリングを有効にした場合、BPDUを受信しても、PortFastモードやBPDUフィルタリングが無効にはならず、そのまま続行されます。
これはネットワークの安定性を保つために重要です。
BPDU受信後にPortFastの動作が解除され、フィルタリングが無効になるわけではありません。

❌ なぜPingtの回答は誤りか:
4. BPDUを受信した場合、BPDUフィルタリングが無効になる

これは、グローバル設定でBPDUフィルタリングを有効にした場合には該当しません。
グローバル設定では、BPDUを受信してもフィルタリングは無効になりません。
ただし、ポート単位でspanning-tree bpdufilter enableを設定した場合に、BPDU受信後にフィルタリングが解除され、STPが再開される動作になります。

📚 出典:
Cisco公式ドキュメントに基づいた情報です。

Cisco: Configuring Spanning Tree Protocol (STP)
**「BPDUフィルタリングをグローバルで有効にすると、BPDU受信時にPortFastやBPDUフィルタは無効にならない」**と記載されています。

Understanding BPDU Filtering
The BPDU filtering feature can be globally enabled on the switch or can be enabled per interface, but the feature operates with some differences.

At the global level, you can enable BPDU filtering on Port Fast-enabled STP ports by using the spanning-tree portfast bpdufilter default global configuration command. This command prevents interfaces that are in a Port Fast-operational state from sending or receiving BPDUs. The interfaces still send a few BPDUs at link-up before the switch begins to filter outbound BPDUs. You should globally enable BPDU filtering on a switch so that hosts connected to these ports do not receive BPDUs. If a BPDU is received on a Port Fast-enabled STP port, the interface loses its Port Fast-operational status, and BPDU filtering is disabled.

【まとめ】
正しい回答:
BPDUの送信を行わない

BPDUを受信しても何も行わない

誤りの解説:
BPDUを受信した場合、BPDUフィルタリングが無効になる → グローバル設定では無効にならない。

Pingtの解答が誤っていたということでよろしいでしょうか。

2025/05/02 18:34

ChatGPTが間違っていると思います。(示している資料は正しいのに最終的な結論が違う...)

ChatGPTが根拠として示している資料では、グローバルレベルでのBPDUフィルタリングの設定について説明されています。
最後の一文を和訳すると以下の通りです。
If a BPDU is received on a Port Fast-enabled STP port, the interface loses its Port Fast-operational status, and BPDU filtering is disabled.
Port Fast 対応 STP ポートで BPDU が受信されると、 インターフェイスは Port Fast 動作ステータスを失い、 BPDU フィルタリングは無効になります。

ChatGPTは全て正しいこと教えてくれる訳ではないので、うのみにせず、Ciscoのサイトなどを自分でちゃんと読むようにした方が良いです。
英語が分からなかったらGoogle翻訳すればよいです。
 
問題が理解できないとうことですが、これは単にBPDUフィルタリングの仕様を覚える問題なので、難しく考えなくて良いと思います。
なぜBPDUを受信したらBPDUフィルタリングが無効になる仕様なのかは、解説で以下のように説明されています。

インターフェースの先がPCやサーバからスイッチに変更された場合でも、BPDUを受信することでSTPが動作するため、ループの発生を防止することができます。


コメント

m milkrin82

2025/05/02 19:02

ご丁寧にありがとうございます。<m(__)m> 和訳はしていたのですが、なかなか理解が進まず闇雲に暗記しようとしていたので、改めてCiscoサイトも確認し、理解を深めます。

この返信に対して
コメントを記入できます

この投稿に対して返信しませんか?