1つ:STPスパニングツリー
スパニングツリープロトコルSTP(スパニングツリープロトコル)は、リングネットワークをリングフリーツリーネットワークにプルーニングし、リングネットワークでのパケットの急増と無限ループを回避します。
複雑なネットワーク環境では、必然的にループが発生します。冗長バックアップが必要なため、ネットワーク設計者はデバイス間に複数の物理リンクを配置する傾向があり、そのうちの1つがプライマリリンクであり、他のリンクがバックアップに使用されているため、ループが発生する可能性があります。
ループによりブロードキャストストームが発生し、最終的にネットワークリソース全体が使い果たされ、ネットワークが麻痺し、使用できなくなります。このループにより、MACアドレステーブルが振動し、MACアドレスエントリが破壊されます。
ループを解消するために、データリンク層プロトコルSTPを使用できます。このプロトコルを実行しているデバイスは、相互に情報を交換することによってネットワーク内のループを発見し、特定のポートを選択的にブロックします。最後に、リングネットワーク構造はループのない状態にプルーニングされます道路のツリー状のネットワーク構造により、パケットがリングネットワークを継続的に循環することを防ぎ、同じパケットを繰り返し受信することによるデバイスの処理能力の低下を回避します。
2:STPの動作原理
STPはポートをブロックすることでループを排除し、後でリンクバックアップの目的を達成できます。
STPの主な役割:
- ループの排除:冗長リンクをブロックすることにより、ネットワークに存在する可能性のあるループを排除します。
- リンクバックアップ:アクティブパスに障害が発生した場合は、バックアップリンクをアクティブにして、ネットワーク接続を時間内に復元します
3:STP関連の概念
- ルートブリッジ
ツリー状のネットワーク構造にはルートが必要なので、STP / RSTP はルートブリッジの概念を導入しました。
STP / RSTPネットワークの場合、ルートブリッジは1つだけであり、これはネットワーク全体の論理的な中心ですが、必ずしも物理的な中心ではありません。ただし、ルートブリッジは、ネットワークトポロジの変化に応じて変化する場合があります。
- BID(ブリッジID):桥ID
IEEE 802.1d規格では、BIDが2バイトのブリッジ優先度(ブリッジ優先度)とブリッジMACアドレスで構成されることを指定しています。つまり、BID(8バイト)= ブリッジ優先度(2バイト)+ブリッジMAC(6バイト)。
STPネットワークでは、最小のブリッジIDを持つデバイスがルートブリッジとして選択されます。Huawei機器では、ブリッジの優先度は手動構成をサポートします。
- PID(ポートID):ポートID
PIDは、PID(16ビット)=ポートプライオリティ(4ビット)+ポート番号(12ビット)の2つの部分で構成されます。
いくつかの場合のみPIDで選択指定されたポートの役割、すなわち、指定されたポートを選択するとき、ポートスイッチングデバイスを送信する2つのルート経路コストとBIDは同じ、PID比較ポートであり、指定されたポートが小さいPIDであります。
- パスコスト(RPC)
パスコストは、リンクを選択するためにSTP / RSTPプロトコルで使用される参照値です。STP / RSTPプロトコルは、パスコストを計算し、「より強い」リンクを選択し、余分なリンクをブロックし、ループのないツリー構造にネットワークをプルーニングします。ルートデバイスのポートのパスコストはすべて0です。
STP / RSTPネットワークでは、ポートからルートブリッジへの累積パスコストは、通過する各ブリッジの各ポートのコストです。
- PC(ポートコスト)
PCの計算は、ポート帯域幅に従って計算する必要があります
4. STP選挙
1. STP投票
>>> STPの選択は、BPDU(Bridge Protocol Date Unit)のフィールドを比較することによって行われます
>>> BPDUは主に次のフィールドを比較します。
ルートIDルートID:ルートID =ルート優先度+ MACアドレス(ルート優先度のデフォルトは32768です。ルート優先度が同じ場合は、MACアドレスを比較してください)
パスのコスト:ポートがBPDUを送信すると、パスコストが追加されます
帯域幅10Mオーバーヘッド100、帯域幅100Mオーバーヘッド19、帯域幅1Gオーバーヘッド4、帯域幅10Gオーバーヘッド2
ブリッジIDブリッジID:ブリッジID =ブリッジプライオリティ+ MACアドレス(ブリッジプライオリティはデフォルトで32768です。ブリッジプライオリティが同じ場合は、MACアドレスを比較してください)
ポートID:ポートID =ポートの優先度(デフォルトは128)+ポート番号例:f0 / 1のポートIDは128.1
2. STPポートの役割
>>>ルートポート:非ルートスイッチからルートスイッチへの最適なポート(各非ルートスイッチに1つ)
>>>指定ポート:ルートスイッチから非ルートスイッチへの最適なインターフェイス(各セグメントに 1つ)
>>>ブロックされたポート:ルートポートでも指定ポートでもありません(非ルートスイッチでは、ループ全体が1つだけです)
5、STPプロトコルポートステータス
6. BPDUとタイマーの詳細説明
1.標準スパニングツリーSTP BPDUパケットフォーマット
BPDUフィールドに含まれる情報:
プロトコルIDプロトコルID
バージョンSTPバージョン(3種類)
STP(802.1D)従来のスパニングツリー値は0 RSTP(802.1W)高速スパニングツリー値は2 MSTP(802.1S)複数スパニングツリー値は3
メッセージタイプ(2つの一般的なタイプ)
BPDUの構成:STPトポロジーの確立と保守を担当します TCN BPDU:トポロジー変更の通信
ルートID
パスのコスト
ブリッジID桥ID
ポートIDポートID
メッセージエージは、ネットワーク20でのBPDU伝播の生存時間を設定します。
Max Ageは、デバイス20に保存できるBPDUの最大ライフタイムを設定します
HelloタイムHelloタイム(ルートブリッジはSTPを継続的に送信することでステータスを維持します。Helloタイムは送信間隔です)2S
転送遅延ポートのリスニング->学習または学習->転送からの移行には15 秒かかります
Huawei機器のSPDU構成BPDUフォーマット:
ここから分析すると、ポートのポート番号が2で、Gigabitポートはコスト20000でわかるので、G0 / 0/2
明らかに、ポートが属するスイッチはルートブリッジではなく、ルートブリッジのネイバーです。BPDUタイプは設定BPDUです
リンクが切断されたときにトポロジーが変更されたBPDUパケットを見てみましょう
たとえば、スイッチがあり、1つのポートがルートポートであり、もう1つはブロックされたポートです。ルートポートが閉じている場合
次に、ブロックされたポートがトポロジ変更BPDUメッセージを隣接スイッチに送信します。BPDUタイプは次のとおりです:TCN
隣接するスイッチは、トポロジーの変更を確認するBPDUをブロックされたポートに送信します。これにより、ブロックされたポートは、メッセージが受信されて通信されることを認識します。
このBPDUタイプはTCAです。同時に、隣接スイッチはTCNをルートポートに転送し続け、その後、上位スイッチからTCA確認メッセージも受信します。
ルートブリッジは、ブロックされたポートからこのTCNを受信すると、タイプがTCのトポロジ変更BPDUを配信します。このTCメッセージを受信する各スイッチは、独自のMACキャッシュテーブルを更新するか、有効期限を短縮します。
次に、このTCメッセージを伝えます
図1.スイッチLSW5では、GE0 / 0/1は元々ブロックされており、GE0 / 0/0はルートポートです
しかし、ある日GE0 / 0/2ポートがダウンしました
上記のトポロジ変更BPDUがない場合、次のことが起こります。
client6はclient4にデータを送信します
キャッシュテーブル内のclient6のMACアドレスは、GE0 / 0/2インターフェイスに対応しています(すでにダウンしています)
これにより、mac6キャッシュテーブルの有効期限が300秒(5分)でない限り、client6は外界と通信できなくなります。
今回は長すぎます。解決策は、トポロジ変更をルートブリッジに送信することです。ルートブリッジは変更に同意して送信します。
TC BPDU、このメッセージを受信するすべてのスイッチは、MACキャッシュテーブルを更新するか、有効期限を短縮して、収束の遅延を回避します
図2.ルートブリッジへの直接リンクが失敗する
ルートブリッジに障害が発生すると、構成BPDUが他のブリッジデバイスに送信されなくなります。非ルートブリッジは、ルートブリッジによって送信された構成BPDUメッセージを受信しない場合、最大エージングタイム(デフォルトの時間は20秒)の間待機します。最大エージングタイムに達すると、非ルートブリッジはルートブリッジネットワークに到達できない(ルートブリッジの障害)と見なし、元々ブロックされていたポートがブロックされます(ブロックされた状態は、ピアによって送信された構成BPDUのみを受信し、BPDUを送信できません。データ転送に参加できない)監視状態に変更する(監視状態は選挙ルートと各ポートタイプの状態であり、現時点ではデータ転送に参加できない)この変更プロセスには15秒かかります。その後、ポートの状態がリスニングステートからラーニングステートに変わります(このプロセスには15秒かかります)。ラーニングステートのポートは、受信したデータのMACアドレスを学習できますが、現時点ではデータを転送できません。さらに15秒後に、ポートステートはラーニングステートからフォワーディングステートに変わり、この時点でポートはデータフォワーディングを再開します。
上記からわかるように、STPでは、ルートブリッジに障害が発生すると、新しいルートブリッジと各ポート(ルートポート、指定ポート、ブロックされたポート)が自動的に再選択されます。(20秒+ 15秒* 2 = 50秒)時間後にのみ、データ転送が再開されます
図3.直接リンク障害
上図のリンクに障害が発生した場合、別のリンクはルートブリッジによって送信された構成BPDUメッセージを引き続き受信できるため、すべてのLSW2はリンクに問題があることをすぐに認識します。元のブロックされたポートは、リスニングステート、ラーニングステート、最後にフォワーディングステートになり、プロセス全体に2 * 15秒= 30秒かかります。
上記からわかるように、STPでは、直接リンクに障害が発生すると、ネットワークデータの転送を再開するのに30秒かかります。
図4.直接接続されていないリンクの障害
上の図のリンクに障害が発生すると、LSW2はリンクの障害を検知し、それ自体をルートブリッジとして使用して、構成BPDUをLSW3に送信します。LSW2から構成BPDUを受信した後、LSW3はそれをルートブリッジ(LSW1)からの構成BPDUと比較します。LSW2から送信された構成BPDUは最適ではなく、無視されます。LSW3が最大エージングタイム(デフォルトでは20秒)を経過すると、LSW3のブロックされたポートはルートブリッジから構成BPDUを受信できないため、ブロックされた状態から転送状態に切り替わり、ルートブリッジの構成BPDUをLSW2に送信します。 。ルートブリッジから構成BPDUを受信すると、LSW2はそれを独自の構成BPDUと比較します。BPDUパケットが最適に構成されていないことがわかり、ポートコンバージェンスが実行されます。プロセス全体が継続します(20秒+ 2 * 15秒= 50秒)。
上記からわかるように、STPでは、直接接続されていないリンクに障害が発生すると、データ転送の再開に50秒かかります。
2.タイマー
- メッセージエージごとに1ずつ増加するようにBPDUメッセージを設定します
- メッセージエージが最大エージよりも大きい場合、非ルートブリッジは設定BPDUを破棄します
Hello Timeは、STPプロトコルを実行しているデバイスがデフォルトの2秒間隔で構成BDPUを送信して、リンクに障害があるかどうかを検出することを意味します。スイッチは、Hello Timeごとに構成BPDUを周囲のスイッチに送信して、リンクに障害があるかどうかを確認します、ネットワークトポロジが安定している場合、この値はルートブリッジで変更された場合にのみ有効です。
メッセージエージBPDUがルートブリッジによって送信されるように構成されている場合、メッセージエージは0です。それ以外の場合、メッセージエージは、ルートブリッジから現在のブリッジまでの、送信遅延などのBPDUを受信するまでの合計時間です。実際には、BPDUメッセージを構成します。スイッチを通過するたびに、メッセージの経過時間は1ずつ増加します
Max Ageは、BPDUパケットのエージングタイム(デフォルトは20秒)を指します。この値は、ルートブリッジでコマンドを介して人工的に変更できます。MaxAgeは、BPDUパケットの送信を構成することにより、ネットワーク全体でMax Ageの一貫性を確保できます。非ルートブリッジデバイス構成BPDUメッセージを受信した後、メッセージエージが最大エージ以下の場合、メッセージのメッセージエージと最大エージを比較します。
非ルートブリッジデバイスは引き続き構成BPDUメッセージを転送します。メッセージエージが最大エージよりも大きい場合、構成BPDUメッセージは期限切れになります。非近接デバイスは構成BPDUを直接破棄し、大きすぎると見なします。ルートブリッジ接続が失敗する