【ITニュース解説】Interview experience with Arista
2025年09月22日に「Medium」が公開したITニュース「Interview experience with Arista」について初心者にもわかりやすく解説しています。
ITニュース概要
Aristaの面接体験記。STP(スパニングツリープロトコル)やBPDUなど、ネットワークの基礎技術に焦点を当てる。これらのプロトコルが何か、どう機能するかを解説し、システムエンジニアを目指す上で知っておくべき内容だ。
ITニュース解説
イーサネットネットワークにおいて、信頼性を高めるために複数の物理的な経路(冗長経路)を設けることは一般的だ。しかし、この冗長性は同時に大きな問題を引き起こす可能性がある。それが「ネットワークループ」だ。イーサネットの設計上、フレームは宛先がない場合やブロードキャストフレームの場合、接続されている全てのポートから転送される。もしネットワークにループが存在すると、同じフレームが無限に転送され続ける「ブロードキャストストーム」という状態が発生する。ブロードキャストストームが発生すると、ネットワーク帯域がすぐに消費され尽くし、正常な通信ができなくなる。また、ループによってスイッチのMACアドレステーブルが不安定になり、どのポートに特定の端末が接続されているかを正確に学習できなくなる「MACアドレスフラッピング」も発生し、結果として通信の混乱を招く。このような問題を解決し、冗長性を維持しながら安定したネットワーク運用を可能にする技術が、スパニングツリープロトコル(STP)である。
STPの目的は、物理的な冗長経路を保持しつつ、論理的にループのないツリー構造のネットワークを構築することにある。つまり、通常時は一部の経路を意図的に「遮断」してループを防ぎ、万が一主要な経路に障害が発生した場合には、遮断していた経路を開放して通信を継続させる、という仕組みだ。これにより、ネットワークは障害耐性を持ちつつ、安定して動作できる。
STPの動作は、ネットワーク内の全てのスイッチが協力して、ルートブリッジと呼ばれる中心となるスイッチを一つ選出することから始まる。ルートブリッジは、ネットワーク全体の基準となり、ツリー構造の根となる。ルートブリッジの選出は、各スイッチが持つ「ブリッジID(BID)」と呼ばれる識別子を比較して行われる。ブリッジIDは、スイッチのプライオリティ(優先度)とMACアドレスの組み合わせで構成される。プライオリティは設定で変更できる値であり、通常は低い値のスイッチが優先される。プライオリティが同じ場合は、MACアドレスが最も小さい(古い)スイッチがルートブリッジとして選ばれる。
ルートブリッジが選出されると、次に各スイッチは自身からルートブリッジまでの最もコストの低い経路を計算する。この「コスト」は、リンク速度に基づいて決定される値で、例えば高速なリンクほどコストは低く設定される。スイッチは、計算したコストに基づいて、自身のポートに役割を割り当てる。主なポートの役割は三つある。一つ目は「ルートポート」だ。これは、非ルートブリッジのスイッチがルートブリッジへ到達するための、最もコストの低いポートである。各非ルートブリッジのスイッチには、必ず一つのルートポートが選ばれる。二つ目は「指定ポート」だ。これは、各ネットワークセグメント(スイッチ同士が接続されている部分)において、ルートブリッジへの最もコストの低いパスを提供するポートである。ルートブリッジの全てのポートは指定ポートとなる。非ルートブリッジのスイッチでも、セグメント内でそのポートがルートブリッジへの最適なパスを提供していれば、指定ポートになる。三つ目は「非指定ポート(ブロッキングポート)」だ。これは、ルートポートでも指定ポートでもないポートである。ループを防ぐために、これらのポートはフレームの転送を一時的に停止する。つまり、論理的に遮断された状態になる。このブロッキング状態により、物理的には複数の経路があっても、論理的にはループのないツリー構造が実現される。
STPの動作を支える重要な要素が、「BPDU(Bridge Protocol Data Unit)」である。BPDUは、STPに対応するスイッチ間で定期的に交換される特殊なフレームである。このBPDUには、送信元のスイッチのブリッジID、ルートブリッジのブリッジID、送信元スイッチからルートブリッジまでのパスコストといった重要な情報が含まれている。スイッチはBPDUを互いに送受信することで、どのスイッチがルートブリッジであるかを認識し、自身のブリッジIDやパスコストを他のスイッチに伝える。そして、これらの情報に基づいて、ルートブリッジの選出、各ポートの役割の決定、そしてポートの状態遷移(ブロッキング、リスニング、ラーニング、フォワーディング)が行われる。例えば、あるスイッチのポートがBPDUを受信しなくなると、その経路に障害が発生したと判断し、ブロッキング状態だった非指定ポートをフォワーディング状態(通信可能な状態)に移行させることで、ネットワークの冗長性を確保する。BPDUには主に二種類ある。「コンフィギュレーションBPDU」は、ルートブリッジの選出やポートの役割決定に使われる定期的な情報交換フレームだ。もう一つは「TCN BPDU(Topology Change Notification BPDU)」で、ネットワークのトポロジー(接続構成)に変化があったことを他のスイッチに知らせるために使用される。これにより、スイッチはMACアドレステーブルを速やかに更新し、通信の混乱を最小限に抑えることができる。
STPは、このように複雑に見える動作を自動で行うことで、システムエンジニアが物理的な配線を気にすることなく冗長なネットワークを構築できるようにする。ネットワークのループは非常に危険な状態であり、STPが適切に機能することで、大規模なネットワークでも安定稼働が保たれる。システムエンジニアを目指す上で、ネットワークの安定稼働に不可欠なこのプロトコルの基本を理解することは、非常に重要な第一歩となる。