私は決して見ないと思います
木よりも美しいグラフ。
重要なプロパティを持つツリー
ループフリー接続です。
必ずスパンする必要があるツリー
したがって、パケットはすべてのLANに到達できます。
まず、ルートを選択する必要があります。
IDにより、選出されます。
ルートからの最小コストパスがトレースされます。
ツリーでは、これらのパスが配置されます。
メッシュは私のような人々によって作られています、
その後、橋はスパニングツリーを見つけます。-ラディアジョイパールマン
すべての問題
6.最小のネットワーク。 パート6 動的ルーティング5.最小のネットワーク:パート5。 NATおよびACL4.最小のネットワーク:パート4。 STP3.最小のネットワーク:パート3。 静的ルーティング2.最小のネットワーク。 パート2 整流1.最小のネットワーク。 パート1 Cisco機器に接続する0.最小のネットワーク。 パートゼロ。 計画中前号では、静的ルーティングについて説明しました。 次に、一歩踏み込んで、ネットワークの安定性の問題について議論する必要があります。
かつて、「Lift mi Up」という会社の唯一のネットワーク管理者であるあなたが半日前に尋ねると、突然サーバーとの接続が落ち、ディレクターはいくつかの重要な手紙を受け取りませんでした。 短いが具体的なスラッシングの後、問題の原因を突き止めますが、不注意により、サーバールーム内のスイッチにつながる唯一のケーブルがコネクタから外れていることがわかりました。 2分で修正できる、または完全に回避できる小さな問題が、今月の収入と成長の機会に大きな影響を与えました。
それで、今日私たちは議論しています:
- ブロードキャストストームの問題
- STPプロトコルの操作と構成、およびその変更(RSTP、MSTP、PVST、PVST +)
- インターフェース集約技術とそれらの間の負荷分散
- 安定性とセキュリティの問題
- 誰もが幸せになるように既存のネットワークのスキームを変更する方法
OSIモデル(スイッチ)の第2レベルで動作する機器は、3つの機能を実行する必要があります。アドレスの記憶、パケットのリダイレクト(スイッチング)、ネットワークのループに対する保護です。 各機能をポイントで分析しましょう。
アドレスの保存とパケットの転送 :前述した
ように 、各スイッチにはMACアドレスとポートをマッピングするためのテーブル(別名CAMテーブル-連想メモリテーブル)があります。 スイッチに接続されたデバイスがネットワークにフレームを送信すると、スイッチは送信者のMACアドレスとフレームの受信元のポートを調べ、この情報をテーブルに追加します。 次に、フレームにアドレスが示されている受信者にフレームを送信する必要があります。 理論的には、同じCAMテーブルからフレームを送信するポートに関する情報を取得します。 しかし、スイッチがオンになったばかりで(テーブルが空で)、レシーバーがどのポートに接続されているのかわからないとします。 この場合、受信元を除くすべてのポートに受信フレームを送信します。 このフレームを受信すると、すべてのエンドデバイスは宛先MACアドレスを確認し、宛先でない場合は破棄します。 受信者デバイスは送信者に応答し、送信者フィールドにアドレスを設定します。スイッチはそのようなアドレスがそのようなポートにあることを既に認識しており(テーブルにエントリを作成します)、次にこのデバイスにアドレス指定されたフレームを転送します、このポートのみ。 CAMテーブルの内容を表示するには、
show mac address-tableコマンドを使用します。 テーブルに格納されると、情報は一生そこに残りません。コンテンツは絶えず更新され、特定のMACアドレスが300秒間アクセスされない場合(デフォルト)、そのレコードは削除されます。
ここですべてが明確になるはずです。 しかし、なぜ
ループに対する保護なのでしょうか? そして、それは何についてですか?
ブロードキャストストーム
多くの場合、スイッチ間の接続の問題(ポート障害、断線)の場合にネットワークの安定性を確保するには、冗長リンク(追加の接続)を使用します。 アイデアは単純です。何らかの理由でスイッチ間で1つのリンクが機能しない場合は、予備のリンクを使用します。 すべてが正しいように見えますが、そのような状況を想像してください。2つのスイッチが2本のワイヤで接続されています(fa0 / 1とfa0 / 24が接続されているとしましょう)。

彼らの病棟の1つ-ワークステーション(たとえば、PC1)が突然、ブロードキャストフレーム(たとえば、ARP要求)を送信する衝動に駆られました。 ブロードキャストすると、受信元のポートを除くすべてのポートにヘルメットが届きます。

2番目のスイッチは2つのポートでフレームを受信し、ブロードキャストされていることを確認し、すべてのポートに送信しますが、受信したポートに戻ります(fa0 / 24からのフレームはfa0 / 1に送信され、その逆も同様です)。

最初のスイッチはまったく同じことを行います。その結果、ブロードキャストストームが発生し、ネットワークを厳密にブロックします。これは、スイッチが互いに同じフレームを送信するだけであるためです。

どうすればこれを回避できますか? 結局のところ、一方ではネットワーク内にストームが必要ではなく、他方では冗長接続の助けを借りてフォールトトレランスを向上させたいのでしょうか? これは、STP(スパニングツリープロトコル)が助けになる場所です。
STP
STPの主な目的は、第2レベルでループが発生するのを防ぐことです。 どうやってやるの? はい、必要になるまですべての冗長リンクを切り取ります。 ここで多くの質問がすぐに発生します:2つ(または3つまたは4つ)のリンクは切り落とされますか? メインリンクが落ちたことを判断する方法と、スペアを含める時間です。 ネットワークでループが形成されたことをどのように理解しますか? これらの質問に答えるには、STPの仕組みを理解する必要があります。
STPはスパニングツリーアルゴリズム(STA)を使用します。その結果は、ツリー形式のグラフです(接続され、
単純なループなし)
スイッチは、特別なパッケージを使用して、スイッチ間で情報を交換します。いわゆるBPDU(Bridge Protocol Data Units)です。 BPDUには、構成BPDUとパニック「AAA、トポロジが変更されました!」TCN(トポロジ変更通知BPDU)の2種類があります。 前者はルートスイッチによって定期的に配布され(他の人によって中継され)、トポロジの構築に使用されます。後者は、名前が示すとおり、ネットワークトポロジの変更(つまり、スイッチの接続/切断)の場合に送信されます。 構成BPDUにはいくつかのフィールドが含まれています。最も重要なものに焦点を当てます。
- 送信者ID(ブリッジID)
- ルートブリッジID
- パケットの送信元ポートの識別子(ポートID)
- ルートスイッチへのルートのコスト(ルートパスコスト)
これがすべてであり、なぜそれが必要なのか、もう少し詳しく説明します。 デバイスは隣人を知らないし、知りたくないので、互いとの関係(隣接/近隣)を確立しません。 すべての動作ポートからマルチキャストイーサネットアドレス
01-80-c2-00-00-00 (デフォルトでは2秒ごと)にBPDUを送信し、STPが有効になっているすべてのスイッチがリッスンします。
それでは、ループのないトポロジーはどのように形成されるのでしょうか?
最初に、いわゆるルートブリッジが選択されます。 これは、STPが参照ポイント、ネットワークの中心と見なすデバイスです。 STPツリー全体がそれに収束します。 選択は、スイッチ識別子(ブリッジID)などの概念に基づいています。 ブリッジIDは、ブリッジプライオリティ(優先順位、0〜65535、デフォルト32768 + vlan番号またはプロトコル実装に応じたMSTPインスタンス)、およびデバイスのMACアドレスで構成される8バイトの数値です。 選出の開始時に、各スイッチはそれ自体をルートと見なします。これは、BPDUを使用して他の全員が宣言するもので、ルートスイッチのIDとして識別子を提示します。 ただし、Bridge IDがより小さいBPDUを受信した場合、彼は自分のことを自慢するのをやめ、受信したBridge IDをルートとして忠実に発表します。 その結果、ルートはブリッジIDが最小のスイッチになります。
このアプローチは、かなり深刻な問題を引き起こします。 実際には、同じ優先順位値(および何も変更しない場合は等しい)で、最も古いスイッチがルートスイッチとして選択されます。これは、ケシのアドレスが順次プロダクションに登録されるため、ケシが小さいほどデバイスが古い(当然、持っている場合) 1つのベンダーのすべての機器)。 もちろん、これはネットワークパフォーマンスの低下につながります。古いデバイスは原則として最悪のパフォーマンスを持っているためです。 このプロトコルの動作は、実際の部分で、これについて、目的のルートスイッチに手動で優先度の値を設定することにより、抑制する必要があります。
ポートの役割
スイッチがideを測定し、ルートブリッジを選択した後、他の各スイッチは、ルートスイッチにつながるポートを1つだけ見つける必要があります。 このポートは
ルートポートと呼ばれ
ます 。 どのポートが最適に使用されるかを理解するために、各非ルートスイッチが各ポートからルートスイッチへのルートのコストを決定します。 このコストは、ルートスイッチに到達するためにフレームを通過する必要があるすべてのリンクのコストの合計によって決まります。 同様に、リンクのコストは、単に速度によって決まります(速度が速いほど、コストは低くなります)。 ルートのコストを決定するプロセスは、BPDUの「ルートパスコスト」フィールドに関連付けられ、次のように進みます。
- ルートスイッチは、ルートパスコストフィールドがゼロのBPDUを送信します
- 最も近いスイッチは、BPDUが来たポートの速度を調べ、表に従って値を追加します
ポート速度 | STPコスト(802.1d) |
10 Mbps | 100 |
100 Mbps | 19 |
1 gbps | 4 |
10 gbps | 2 |
- さらに、この2番目のスイッチは、このBPDUをダウンストリームスイッチに送信しますが、新しいルートパスコスト値を使用して、さらにチェーンを下っていきます。
同一のコストがある場合(この例のように2つのスイッチとそれらの間に2つのワイヤがある場合-各パスのコストは19)-小さいポートがルートとして選択されます。
次に、
指定ポートが選択されます。 特定の各ネットワークセグメントから、ルートスイッチへのパスは1つだけである必要があります。そうでない場合はループです。 この場合、ハブのない現代のネットワークでは、物理セグメントを意味します。大まかに言えば、それは単なるワイヤです。 指定ポートは、このセグメントで最適な値を持つポートを選択します。 ルートスイッチにはすべてのポートが割り当てられています。
そして今、ルートと割り当てられたポートが選択された後、残りのポートはブロックされ、ループが壊れます。

*写真では、ルーターはスイッチとして機能します。 実際には、これは追加のスイッチボードを使用して実行できます。
ポートの状態
少し前にポートブロッキングの状態について説明しましたが、次に、これが何を意味するのか、STPで考えられる他のポート状態について説明します。 したがって、通常の(802.1D)STPには、5つの異なる状態があります。
- ブロッキング:ブロックされたポートは何も送信しません。 この状態は、前述のように、ネットワークのループを防ぐことを目的としています。 それにもかかわらず、ブロックされたポートはBPDUをリッスンします(イベントに遅れないようにするため、必要に応じてロックを解除して作業を開始できます)
- リスニング:ポートはリッスンし、BPDU自体の送信を開始します。データを含むフレームは送信しません。
- 学習:ポートはBPDUをリッスンして送信し、CAMテーブルも変更しますが、データはリダイレクトしません。
- リダイレクション\転送:これはすべてを行うことができます:BPDUの送受信、データの操作、およびMACアドレステーブルの維持に参加します。 つまり、これは現用ポートの通常の状態です。
- 無効:管理上のダウン状態、 シャットダウンコマンドで無効。 明確なビジネス。手動でオンにするまで何もできません。
状態の列挙の順序は偶然ではありません。電源を入れると(また、新しいワイヤを差し込むと)、STPを備えたデバイスのすべてのポートはこの順序で上記の状態を通過します(無効なポートを除く)。 論理的な疑問が生じます:なぜそのような困難なのですか? そして、STPだけが慎重です。 結局のところ、ポートに引っかかったばかりのワイヤのもう一方の端には、スイッチが存在する可能性があり、これは潜在的なループです。 そのため、最初の15秒(デフォルト)のポートはリスニングステートになります-ポートに落ちたBPDUを確認し、ネットワーク上のその位置を見つけます-何が起こっても、さらに15秒間トレーニングに進みます-どのmac-リンクで「使用中」に対処し、その後、それが何も壊さないことを確認して、すでに作業を開始します。 接続されたデバイスが隣接デバイスと情報を交換できるようになるまでに、合計で最大30秒のダウンタイムがあります。 最新のコンピューターは30秒よりも高速にロードされます。 ここでは、コンピューターが起動し、既にネットワークに接続されており、「DHCPサーバー、あなたはろくでなし、IPアドレスを提供するかどうか」というトピックについてヒステリックです
。 当然のことながら、そのような演習の後、誰もネットワーク上で彼の話を聞くことはありません。169.254.xxで「ローカルではない」ためです。これはすべて当てはまらないことは明らかですが、これをどのように回避できますか?
Portfast
このような場合、特別なポートモード-portfastが使用されます。 デバイスをこのようなポートに接続すると、中間段階をバイパスして、すぐにフォワーディングステートになります。 もちろん、portfastは、エンドデバイス(ワークステーション、サーバー、電話など)につながるインターフェースでのみ有効にし、他のスイッチでは有効にしないでください。
インターフェイスコンフィギュレーションモードには、エンドデバイスが含まれるポートで必要な機能を有効にする非常に便利なコマンドがあります: switchport host 。 このコマンドは、PortFastを一度に有効にし、ポートをアクセスモードにし(スイッチポートモードアクセスと同様)、PAgPプロトコルを無効にします(このプロトコルの詳細については、セクションチャネルアグリゲーションを参照)。
STPの種類
STPはかなり古いプロトコルであり、1つのLANセグメントで動作するように作成されました。 しかし、複数のVLANを持つネットワークに実装したい場合はどうでしょうか?
スイッチングに関する記事で説明した802.1Q標準は、トランク内でVLANが送信される方法を定義しています。 さらに、すべてのVLANに対して1つのSTPプロセスを定義します。 トランクBPDUは、タグなしで(ネイティブVLANで)送信されます。 このSTPのバリアントは、
CST (Common Spanning Tree)として知られています。 すべてのvlaneに対して1つのプロセスのみが存在すると、構成が大幅に簡素化され、スイッチプロセッサが軽減されますが、CSTには欠点があります:すべてのvlanでスイッチ間の冗長リンクがブロックされるため、常に受け入れられるわけではなく、ロードバランシングに使用できません。
シスコには、STPに関する独自の見解と、独自のプロトコル実装である
PVST (VLANごとのスパニングツリー)があり、複数のVLANを持つネットワークで動作するように設計されています。 PVSTには、各VLANに独自のSTPプロセスがあり、各VLANのニーズを独立して柔軟に調整できますが、最も重要なことは、特定の物理リンクが1つのVLANでブロックされても別のVLANで機能するため、ロードバランシングを使用できることです。 もちろん、この実装の欠点はプロプライエタリです。PVSTが機能するには、スイッチ間にプロプライエタリなISLトランクが必要です。
この実装の2番目のバージョン、
PVST +もあります。これにより、CSTとPVSTを使用してスイッチ間の接続を確立でき、ISLトランクと802.1qの両方で動作します。 PVST +は、Ciscoスイッチのデフォルトプロトコルです。
Rstp
この記事の前半で説明したことはすべて、1985年にRadia Perlmanによって開発されたSTPプロトコルの最初の実装に関するものです(彼女の詩はエピグラフとして使用されていました)。 1990年に、この実装はIEEE 802.1D標準に含まれました。 その後、時間がゆっくりと流れ、30〜50秒(!!!)かかったSTPトポロジの再構築が全員に適しました。 しかし、時代は変化しており、10年後の2001年にIEEEは新しい
RSTP規格(別名802.1w、別名Rapid Spanning Tree Protocol、別名Fast STP)を導入しました。 前の資料を構成し、通常のSTP(802.1d)とRSTP(802.1w)の違いを確認するために、主な事実を含む表を収集します。
STP(802.1d) | RSTP(802.1w) |
既存のトポロジでは、ルートスイッチのみがBPDUを送信し、残りのリレーは | すべてのスイッチは、helloタイマーに従ってBPDUを送信します(デフォルトでは2秒) |
ポートの状態 |
-ブロッキング -リスニング(リスニング) -学習 -リダイレクト\転送(転送) -無効 | -破棄、置き換え、無効化、ブロック、リスニング -学習 -転送 |
ポートの役割 |
-ルート(ルート)、データの転送に関与し、ルートスイッチにつながる -指定(指定)も機能し、ルートスイッチからのリード -指定なし、データ転送に参加しません | -ルート(ルート)、データの転送に関与 -指定(指定)も機能します -追加(代替)、データ転送には参加しません -バックアップ(バックアップ)も含まれません |
仕事の仕組み |
タイマーを使用します: こんにちは(2秒) 最大年齢(20秒) 転送遅延タイマー(15秒) | 提案と合意プロセスを使用します |
トポロジの変更を検出するスイッチはルートスイッチに通知します。これにより、転送遅延タイマー中に他の全員が現在のトポロジエントリをクリアする必要があります。 | トポロジの変更の検出には、レコードの即時クリーンアップが必要です |
非ルートスイッチがMax Age中にルートからhelloパケットを受信しない場合、新しい選択を開始します | 3 hello間隔内にBPDUを受信しない場合に有効になります |
ブロッキング状態を通るシリアルポートの通過(20秒)-リスニング(15秒)-学習(15秒)-転送 | p2pおよびエッジポートの転送へのクイックスイッチ |
ご覧のとおり、ルートや割り当てなどのポートの役割はRSTPに残り、ブロックされた役割は2つの新しい役割(代替とバックアップ)に分割されました。 代替はバックアップルートポートであり、バックアップはバックアップ指定ポートです。 冗長ポートのこの概念には、障害発生時の迅速な切り替えの理由の1つがあります。 これにより、システム全体の動作が変更されます。リアクティブ(問題の解決策の検索が開始された後のみ)の代わりに、システムはプロアクティブになり、問題が発生する前でも「エスケープルート」を事前計算します。 意味は簡単です。メインの障害が発生した場合にバックアップリンクに切り替えるために、RSTPはトポロジを再計算する必要はなく、以前に計算した予備のトポロジに切り替えるだけです。
以前は、ポートがデータ転送に参加できるようにするために、タイマーが必要でした。 スイッチは指示された時間だけ受動的に待機し、BPDUをリッスンしていました。 RSTPの主要な機能は、リンクモードに基づくポートタイプの概念の導入でした。全二重または半二重(それぞれp2pまたは共有ポートタイプ)、およびエンドデバイスのエッジポート(エッジp2pタイプ)の概念です。 前と同様に、境界ポートはspanning-tree portfastコマンドによって割り当てられます。これらのポートを使用すると、回線をオンにするとすぐに転送状態になり、動作します。 共有ポートは、BLK-LIS-LRN-FWD状態を通過する古いスキームに従って動作します。 ただし、p2pポートでは、RSTPは提案および合意プロセスを使用します。 詳細に説明することなく、スイッチは次のように説明できます。リンクが全二重モードで動作し、境界線として指定されていない場合、スイッチは2つのデバイス(スイッチと他のスイッチ)のみであると正しく判断します。 着信BPDUを待機する代わりに、彼自身が特別なBPDU提案を使用して、ワイヤのその端のスイッチに接続しようとします。これには、もちろん、ルートスイッチへのルートのコストに関する情報が含まれます。 2番目のスイッチは、受信した情報を現在の情報と比較し、最初のスイッチが合意BPDUを介して通知されるかどうかを決定します。 現在、このプロセス全体はタイマーに関連付けられていないため、非常に迅速に発生します(新しいスイッチを接続しただけです)。ほぼすぐに一般的なトポロジに適合して動作します(ビデオの通常のSTPと比較して、スイッチング速度を自分で推定できます)。 シスコの世界では、RSTPはPVRST(Per-Vlan Rapid Spanning Tree)と呼ばれています。
MSTP
もう少し上に、PVNについて説明しました。PVSTでは、各VLANに独自のSTPプロセスがあります。 Vlanaは多くの目的にとって非常に便利なツールです。したがって、中規模の組織であっても、非常に多くのツールが存在する可能性があります。 また、PVSTの場合、それぞれに独自のトポロジが計算され、プロセッサ時間とスイッチメモリが消費されます。 しかし、必要な場所が2つのスイッチ間のバックアップリンクだけである場合、500個すべてのVLANのSTPを計算する必要がありますか? ここでMSTPが役立ちます。 その中で、各VLANは独自のSTPプロセスを持つ必要はなく、それらを組み合わせることができます。 たとえば、ここには500個のVLANがあり、それらの半分が1つのリンク(2番目はブロックされて予備になっている)で動作し、2番目はもう1つのリンクで動作するように負荷を分散します。 これは通常のSTPを使用して実行でき、1つのルートスイッチをVLAN 1〜250の範囲に割り当て、もう1つを250〜500の範囲に割り当てます。 ただし、これらのプロセスは500のVLANごとに個別に機能します(ただし、半分ごとにまったく同じように動作します)。 ここでは2つのプロセスで十分であることは論理的です。 MSTPを使用すると、論理トポロジ(この例では2)があるだけのSTPプロセスを作成し、それらの間でVLANを配布できます。 この記事のフレームワーク内でMSTPの理論と実践を掘り下げることは理にかなっていないと思います(理論が素晴らしいため)
。興味がある人は
リンクをたどることができます
。リンクアグリゲーション
しかし、使用しているSTPのバージョンに関係なく、いずれにしてもリンクが壊れています。 並列リンクを完全に使用し、同時にループを回避することは可能ですか? はい、Tsiskaで応答し、EtherChannelの話を始めます。
それ以外の場合、リンクアグリゲーション、リンクバンドリング、NICチーミング、ポートtrunkinkgと呼ばれます
チャネルの集約(アソシエーション)テクノロジーは2つの機能を実行します:一方では、これはいくつかの物理リンクの帯域幅の結合であり、他方では、接続のフォールトトレランスを保証します(1つのリンクがドロップした場合、負荷は残りのリンクに転送されます)。 リンクのマージは、手動(静的集約)または特別なプロトコルLACP(リンク集約制御プロトコル)およびPAgP(ポート集約プロトコル)を使用して実行できます。 IEEE 802.3ad規格で定義されているLACPはオープン規格です。つまり、機器のベンダーに依存しません。 したがって、PAgPは独自のtsiskovskoy開発です。
最大8つのポートを1つのチャネルに結合できます。 負荷分散アルゴリズムは、受信者と送信者のIP / MACアドレスやポートなどのパラメーターに基づいています。 したがって、「ねえ、なぜそんなにバランスが悪いの?」という疑問が生じた場合、まずバランスアルゴリズムを見てください。
チャンネル集約のトピックは、別の記事、または本に値するので、興味があれば
リンクを詳しく説明しません
。ポートセキュリティ
次に、OSIの第2レベルでネットワークセキュリティを確保する方法について簡単に説明します。 記事のこの部分では、理論と実際の構成が組み合わされています。 残念ながら、Packet Tracerはこのセクションで説明したコマンドをまったく認識していないため、すべての図とチェックはありません。
最初に、特定のスイッチポートでの保護を含む
switchport port-securityインターフェイスコンフィギュレーションコマンドに言及する必要があります。 次に、
switchport port-security maximum 1を使用して、このポートに関連付けられたMACアドレスの数を制限できます(つまり、この例では、このポートで動作できるMACアドレスは1つだけです)。 ここで、許可されるアドレスを示します:
switchport port-security mac-address addressに手動で設定するか、現在ポートで実行されているアドレスをポートに割り当てるmagic
switchport port-security mac-address stickyコマンドを使用できます。 次に、ルール
switchport port-security violation {shutdown | 制限する| ポートを切断し、手動で持ち上げる(シャットダウンする)か、未登録のポピーからパケットをドロップしてコンソールに書き込む(制限)か、単にパケットをドロップする(保護する)必要があります。
ポートあたりのデバイス数を制限するという明確な目標に加えて、このコマンドには、おそらくより重要な、攻撃を防ぐという別の機能があります。 1つの可能性は、CAMテーブルの枯渇です。 送信者のMACアドレスフィールドの値が異なる、悪役のコンピューターから膨大な数のフレームが送信され、場合によってはブロードキャストされます。 途中の最初のスイッチはそれらを覚え始めます。 彼は1,000、2を覚えていますが、操作上のメモリはゴムではなく、16,000レコードの平均制限にすぐに到達します。 さらに、スイッチのその他の動作は異なる場合があります。
そして、セキュリティの観点から最も危険なのは、受信者のMACアドレスが知られていない(またはすでに忘れられている)ため、スイッチはそれに着信するすべてのフレームの送信を開始できることであり、単にそれを覚えている場所がないためです。この場合、悪役のネットワークカードは、ネットワーク上を飛んでいるすべてのフレームを受け取ります。DHCPスヌーピング
別の攻撃の可能性は、DHCPサーバーを標的としています。ご存じのとおり、DHCPはクライアントデバイスに、ネットワークでの作業に必要なすべての情報(IPアドレス、サブネットマスク、デフォルトゲートウェイアドレス、DNSサーバーなど)を提供します。攻撃者は自分のDHCPを上げることができます。これは、クライアントデバイスからの要求に応じて、攻撃者が制御するマシンのアドレスをデフォルトゲートウェイ(およびDNSサーバーなど)として提供します。したがって、だまされたデバイスによってサブネットの外部に向けられたすべてのトラフィックは、攻撃に利用できます-典型的な中間者攻撃。または、このオプション:悪意のある詐欺師が偽のMACアドレスで多数のDHCP要求を生成し、そのような要求ごとにDHCPサーバーがプールがなくなるまでIPアドレスを提供します。このタイプの攻撃から保護するために、DHCPスヌーピングと呼ばれる機能が使用されます。アイデアは非常に単純です。実際のDHCPサーバーが接続されているポートにスイッチを指定し、このポートからのみDHCP応答を許可し、残りは禁止します。ip dhcp snoopingコマンドをグローバルに含めてから、どのVLANでip dhcp snooping vlan番号が機能するかを指定します。次に、特定のポートで、DHCP応答を転送できると言います(このポートはトラステッドと呼ばれます):ip dhcp snooping trust。IPソースガード
DHCPスヌーピングを有効にすると、デバイスのMACアドレスとIPアドレスを一致させるためのベースのホストを開始し、DHCP要求と応答をリッスンすることで更新および補充します。このデータベースにより、IPスプーフィングという別のタイプの攻撃に抵抗できます。IPソースガードが有効になっている場合、各着信パケットをチェックできます。- 送信元IPアドレスとDHCPスヌーピングデータベースから受信したアドレスの対応(言い換えると、IPはスイッチポートに割り当てられます)
- 送信元MACアドレスがDHCPスヌーピングデータベースから受信したアドレスと一致する
IPソースガードは、目的のインターフェイスでip verify sourceコマンドを使用して有効にします。このフォームでは、IPアドレスバインディングのみがチェックされます。MAC検証を追加するには、ip verify source port-securityを使用します。もちろん、IPソースガードが機能するにはDHCPスヌーピングが必要であり、MACアドレスを制御するにはポートセキュリティを有効にする必要があります。ダイナミックARPインスペクション
既に知っているように、IPアドレスでデバイスのMACアドレスを見つけるために、ARPプロトコルが使用されます。IPアドレスが172.16.1.15のデバイスの「IPアドレスは172.16.1.15、返信172.16.1.1」のようにブロードキャスト要求が送信されます。答えます。同様のスキームは、ARPポイズニングまたはARPスプーフィングと呼ばれる攻撃に対して脆弱です。アドレス172.16.1.15の実際のホストの代わりに、攻撃者のホストが応答し、172.16.1.15宛てのトラフィックを強制的に追跡します。このタイプの攻撃を防ぐために、ダイナミックARPインスペクションと呼ばれる機能が使用されます。操作スキームはDHCPスヌーピングスキームに似ています:ポートは信頼できるものと信頼できないもの、信頼できないものに分けられ、各ARP応答が分析されます:このパケットに含まれる情報は、スイッチによって信頼されるもの(または静的に定義されたMAC-IPの一致、またはDHCPスヌーピングデータベースからの情報)。収束しない場合、パケットは破棄され、syslogにメッセージが生成されます。目的のVLAN(vlan)に含めます。ip arp inspection vlan number(s)。デフォルトでは、すべてのポートは信頼されていません。信頼できるポートには、ip arp inspection trustを使用します。練習する
おそらく、Packet Tracerの間違いのほとんどは、STPシミュレーションを担当するコードの一部で行われたものであり、準備が必要です。疑わしい場合は、PTを保存して閉じ、再度開きます
それで、私たちは練習に移ります。まず、トポロジにいくつかの変更を加えます-冗長リンクを追加します。冒頭で述べたことを考えると、サーバーエリアのモスクワオフィスでこれを行うのは論理的です。そこでは、msk-arbat-asw2スイッチはasw1からのみ利用できますが、これは話題ではありません。msk-arbat-dsw1からmsk-arbat-asw3へのギガビットリンクを選択し(この損失を後で補償します)、それを介してasw2を接続します。Asw3は、現在Fa0 / 2 dsw1ポートに接続しています。トランクの再構成:msk-arbat-dsw1(config)#interface gi1/2
msk-arbat-dsw1(config-if)#description msk-arbat-asw2
msk-arbat-dsw1(config-if)#switchport trunk allowed vlan 2,3
msk-arbat-dsw1(config-if)#int fa0/2
msk-arbat-dsw1(config-if)#description msk-arbat-asw3
msk-arbat-dsw1(config-if)#switchport mode trunk
msk-arbat-dsw1(config-if)#switchport trunk allowed vlan 2,101-104
msk-arbat-asw2(config)#int gi1/2
msk-arbat-asw2(config-if)#description msk-arbat-dsw1
msk-arbat-asw2(config-if)#switchport mode trunk
msk-arbat-asw2(config-if)#switchport trunk allowed vlan 2,3
msk-arbat-asw2(config-if)#no shutdown
ドキュメントにすべての変更を加えることを忘れないでください!
ドキュメントの現在のバージョンをダウンロードします。それでは、現在STP をどのように構成しているか見てみましょう。VLAN0003にのみ関心があり、スキームから判断すると、ループがあります。msk-arbat-dsw1> en
msk-arbat-dsw1#show spanning-tree vlan 3
コマンド
の出力を整理しますが、どのような情報を取得できますか?PVST +はデフォルトで最新のtsiska(つまり、各vlan独自のSTPプロセス)で動作し、複数のvlanがあるため、各vlanの情報は個別に表示され、各レコードの前にvlan番号が付きます。次に、STPの形式があります。つまり、ieeeはPVST、rstpはRapid PVST、mstpはそれを意味します。次に、ルートスイッチに関する情報を含むセクションがあります:設定されている優先順位、そのMACアドレス、現在のスイッチからルートへのパスのコスト、ルートとして選択されたポート(最適な値を持つ)、およびSTPタイマーの設定。次は、現在のスイッチ(コマンドの実行元)に関する同じ情報を持つセクションです。次に、ポートステータステーブルは、次の列(左から右)で構成されます。- 実際にポート
- その役割(ルート-ルートポート、設計-割り当てポート、代替-追加、バックアップ)
- そのステータス(FWD-作業中、BLK-ブロック、LISリスニング、LRN-学習)
- ルートスイッチへのルートのコスト
- ポートID形式:ポートプライオリティポート番号
- 接続タイプ
そのため、Gi1 / 1がルートポートであることがわかります。これにより、リンクのもう一方の端にルートスイッチがある可能性があります。リンクが導くスキームを見てみましょう。そう、msk-arbat-asw1があります。msk-arbat-asw1#show spanning-tree vlan 3
そして、私たちは何を見ますか?VLAN0003
スパニングツリー対応プロトコルieee
ルートID優先度32771
アドレス0007.ECC4.09E2
この橋はルートです
Hello Time 2秒Max Age 20秒Forward Delay 15秒
ここに、VLAN0003のルートスイッチがあります。それでは、ダイアグラムを見てみましょう。前に、ポートの状態でdsw1がGi1 / 2ポートをブロックし、ループが壊れているのを見ました。しかし、これが最善の解決策ですか?いいえ、もちろんです。現在、新しいネットワークは古いネットワークとまったく同じように機能します。asw2からのトラフィックはasw1のみを通過します。ルートルータの選択は、愚かなSTPの良心に任されるべきではありません。スキームに基づいて、最適な選択はルートスイッチとしてdsw1です。したがって、STPはasw1とasw2の間のリンクをブロックします。これはすべて、近いプロトコルに説明する必要があります。そして彼にとっての主なものは何ですか?ブリッジIDそして、それが2つの数字で構成されていることは偶然ではありません。優先順位は、ルートスイッチの選択結果に影響を与えることができるように、ネットワークエンジニアに任されている用語です。それで、私たちの仕事は減らすことですSTP)を目的のスイッチの優先順位と見なし、ルートブリッジになります。 2つの方法があります。1)明らかに現在よりも低い優先度を手動で設定します。msk-arbat-dsw1>
msk -arbat-dsw1の有効化#端末の設定
msk-arbat-dsw1(config)#spanning-tree vlan 3 priority?
<0-61440> 4096単位でのブリッジプライオリティ
msk-arbat-dsw1(config)#spanning-tree vlan 3 priority 4096
ブリッジIDが小さくなるため、vlan 3のルートになりました。msk-arbat-dsw1#show spanning-tree vlan 3
VLAN0003
スパニングツリー対応プロトコルieee
ルートID優先度4099
アドレス000B.BE2E.392C
このブリッジはルート
Hello Time 2秒Max Age 20秒Forward Delay 15秒
2)スマートな鉄片がすべてをあなたに代わって決定させる:msk-arbat-dsw1(config)#spanning-tree vlan 3 root primary
私たちはチェックします:msk-arbat-dsw1#show spanning-tree vlan 3
VLAN0003
Spanning tree enabled protocol ieee
Root ID Priority 24579
Address 000B.BE2E.392C
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
鉄片が奇妙な優先順位を持っていることがわかります。この丸い姿はどこから来たのですか?そしてすべてが単純です-STPは最小優先順位(つまり、ルートスイッチが持っている優先順位)を調べ、それを2インクリメントステップ(4096、つまり合計8192)減らします。なぜ2つ?また、別のスイッチでコマンドspanning-tree vlan n root secondary(priority = root-4096の優先順位を割り当てる)を与えることができるようにするために、現在のルートスイッチに何かが発生した場合、その機能が確実に実行されるようにします。 「スペア」。 asw2とasw1の間のリンクのライトがどのように黄色になったかを、すでに図で見ているでしょうか?このSTPはループを引き裂きました。そして、それは私たちが望んだ場所にあります。甘い!確認しましょう:電球は電球であり、設定は事実です。msk-arbat-asw2#show spanning-tree vlan 3 VLAN0003 Spanning tree enabled protocol ieee Root ID Priority 24579 Address 000B.BE2E.392C Cost 4 Port 26(GigabitEthernet1/2) Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 32771 (priority 32768 sys-id-ext 3) Address 000A.F385.D799 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Aging Time 20 Interface Role Sts Cost Prio.Nbr Type
ここで、STPの仕組みに感心します。PTO1ラップトップのコマンドラインに移動して、メールサーバーへのpingを無限に開始します(172.16.0.4)。 Pingは現在、laptop-asw3-dsw1-gw1-dsw1というルートをたどります(彼がフックを作成する理由は明らかです-それらは異なるVLANからのものです)-asw2-server。 次に、Simityのゴジラを使用します。ポートからワイヤを引き裂くことにより、dsw1とasw2の間の接続を切断します(ツリーの再計算に必要な時間がわかります)。
pingが消え、STPが業務を開始し、
約 30秒で接続が復元されます。 彼らはゴジラを運転し、火を消し、接続を修正し、ワイヤーを元に戻しました。 Pingは30秒間再び消えます! うーん、どういうわけかそれほど高速ではありません。特に、たとえば銀行の処理センターでこれが起こっていると想像するなら。
しかし、遅いPVST +には答えがあります! そして、答えはFast PVST +です(それはそれが呼ばれているものです;それは冗談ではありません:Rapid-PVST)。 彼が私たちに与えるものを見てみましょう。 設定モードコマンドを使用して、モスクワのすべてのスイッチのSTPタイプを変更します。spanning-tree mode rapid-pvst
もう一度pingを実行し、ゴジラに電話してください。ちょっと、行方不明のpingはどこにありますか? それらは、Rapid-PVSTではありません。 理論的な部分からおそらく覚えているように、このSTP実装は、いわば、メインリンクがクラッシュした場合に「ストローを置き」、非常に迅速に代替ポートに切り替えます。 OK、ワイヤーを元に戻します。 1つはpingを失いました。 6-8に比べて悪くないですよね?
EtherChannel
覚えておいてください、私たちはオフィスワーカーからギガビットリンクを取得し、サーバーに有利に与えましたか? 今、彼らは、貧しい人々が、前世紀の数百メガビットに座っています! チャネルを拡張してみましょう。EtherChannelを呼び出して支援します。 現時点では、fa0 / 2 dsw1からGi1 / 1 asw3への接続があり、ワイヤを切断します。 asw3で使用できるポートを調べます。ええ、fa0 / 20-24は無料です。 ここでそれらを取ります。 dsw1の側から、それらをfa0 / 19-23にします。 EtherChannelのポートを相互に接続します。 インターフェイス上のasw3で何かが設定されます。通常、このような場合、デフォルトのinterface range fa0 / 20-24構成モードコマンドが使用され、ポート(またはこの場合はポート)がデフォルト設定にリセットされます。 残念ながら、パケットトレーサーはこのような優れたチームを知らないため、手動モードでは各設定を削除してポートを配置します(問題を回避するためにこれを行うことをお勧めします)
msk-arbat-asw3(config)#interface range fa0 / 20-24
msk-arbat-asw3(config-if-range)#説明なし
msk-arbat-asw3(config-if-range)#no switchport access vlan
msk-arbat-asw3(config-if-range)#noスイッチポートモード
msk-arbat-asw3(config-if-range)#shutdown
さて今魔法チーム
msk-arbat-asw3(config-if-range)#チャネルグループ1モードがオン
dsw1でも同じです。
msk-arbat-dsw1(config)#interface range fa0 / 19-23
msk-arbat-dsw1(config-if-range)#チャネルグループ1モードオン
asw3インターフェイスを上げると、出来上がりです。ここでは、EtherChannelが最大5つの物理リンクを拡張します。 構成では、インターフェイスPort-channel 1として反映されます。トランクを構成します(dsw1に対して繰り返します)。
msk-arbat-asw3(config)#int port-channel 1
msk-arbat-asw3(config-if)#switchport mode trunk
msk-arbat-asw3(config-if)#switchport trunk allowed vlan 2,101-104
STPと同様に、Packet Tracerでイーサチャネルを使用する場合は多少の困難があります。 原則として、上記のシナリオに従って設定できますが、ヘルスチェックには大きな問題があります:グループ内のポートの1つを切断した後、トラフィックは次のポートに流れますが、2番目のポートを切断するとすぐに接続が失われ、スイッチをオンにしても復元されませんポート。
声が出たばかりの理由もあれば、リソースが限られているためもありますが、これらの問題を完全に開示することはできません。そのため、ほとんどのことを自習に任せます。
リリース資料
新しい切り替え計画labを使用したPTファイル 。
デバイス構成STPまたは
STPリンクセキュリティリンクアグリゲーション確立された伝統によると、Habrの無名の読者による未回答の質問はすべて、
LJのサイクルのブログで尋ねられます。
eucariotのビデオとこの記事のサポートに感謝します
。