異種ネットワークでのMSTPのテストと監視

はじめに



ネットワークの成長に伴い、管理者は遅かれ早かれ3つの問題に直面することになります-折れ線による偶発的なドロップのリスク、スイッチツリーのリングの出現、個々の回線のパフォーマンスの欠如。



これらのタイプの悪と戦うために、知られているように(特に、ハブに関するいくつかの記事、 ウィキペディアなどから)人類は、スパニングツリープロトコルのさまざまなバージョンを思いついて使用します。 一般的な考え方は、多少のルールにより、ネットワーク内のスイッチが多かれ少なかれ任意の接続で、パケット間の送信に使用するリンクを集合的に決定するというものです。



プロとコントラ



時々、人々はそれがまったく必要かどうかを考えることに注意する価値があります( たとえば、ここで )。 これに関するさまざまな考えは、次の3つのアイデアに帰着します(私が知る限り)。



  1. そしてどこにでも複製されたリンクを配置し、あらゆる種類のLAG / LACPがワイヤーのペアを集約します
  2. まあ、彼、2番目のレベル、私たちはすべてを3番目にルーティングします
  3. そして、実際のスイッチスタックまたは仮想スイッチスタックでライブしましょう




特定のネットワークごとに独自の「設計上の考慮事項」があり、さらに数回考えることは決して痛いことはありませんが、両方のアプローチには特定の欠点があります。 1つ目は、フォールトトレランスを維持するために、必要に応じて実際の状態でインフラストラクチャのコストを増加させます。 例-潜在的な「リング」に10個のスイッチがあります。 そして、すでに光学系を配置しました。 安価な4コア。 それぞれの前に2つの独立したリンクを構築したい場合、それらはある種の集約されたインターフェースの友人になります。新しい建設現場の束をオフにするか、1本のファイバーに複数の波長を配置する必要がありますが、これも安価ではありません。 また、「すべてをルーティングする」場合、スイッチをルーターに変更する必要があり(誇張しますが、意味は変わりません)、遅延が青くなります。 ああ。



ジュニパーネットワークスは、動作可能で信頼性の高い分散型(最大80 km)スイッチスタックを備えています。 しかし、彼らは立っている-飛行機のように。 ハングアップします。



難しい間違いの息子を体験する



読んだ後、このすべての経済を見て、私たちはそれを実行しようとすることにしました。 そして、さまざまなマニュアルを読んだ最初の印象から判断すると、すべてが非常にバラ色でした-気分は正しく、それは多かれ少なかれ理解して飛びます。

武器庫には、さまざまな種類のCisco-2960とDlinkがありました。 いくつかのVLANにMSTPの形の幸福が欲しかった。 スタンドはなく、誰もがライブネットワーク(夜間、最小負荷など)で組み立てようとしました。 なぜ正確にMSTPなのか-何故か、いや、しかし標準だから。 さまざまなベンダーの機器から大きな損失なしにシステムを起動する機会があります。 また、ブロックされたリンクの部分的な使用を保証するために、再度。



最初の呼び出しからはうまくいきませんでした-シスコはかなり長い間MSTPを再構築し、異なるインスタンスにVLANを配置する際の小さな間違いは、システムが離陸せず、制御性を失う可能性が高いという事実につながります。



監視なしのスパニングツリーと、現在の状態を簡単に把握することは、たとえばRAIDのように価値がないことがわかりました。



スタンド



設定をロールバックし、Cisco 3750スタックをカーネルに配置しました。これにより、2960ペアのパフォーマンスの問題が解消され、かなりの時間帯域幅の問題が解消され、回線予約の問題のみが残りました。



メインネットワークから切断された3 2960と2 dlinkのスタンドを組み立て、プレイを開始しました。



ツール



最初に、他のすべてのスイッチを制御するためにポートがシスコの1つに割り当てられ、それらの制御インターフェイスは、実験中に機器との接続を失わないように、MSTPで駆動される予定のない別のVLANに接続されました。



一部のdlinkモデルは非常に限られた数のMSTインスタンスをサポートしているため、生活は困難になりますが、不可能ではありません。 私たちの経済で利用できるのは、残念ながら最大7個です。



さらに、スクリプトはperl + Net :: Telnetで記述されており、2つの重要なことができます。



  1. 異なるモデルのスイッチを自動的かつ均一に構成します
  2. ツリーの状態を表示するのに十分な情報をキャプチャします




突然誰かが便利になったら、例としてdlinkの最小コマンドを示します



config stp version mstp config stp mst_config_id name %cfname revision_level %revision create stp instance_id 1 config stp instance_id 1 add_vlan %inst1vlans create stp instance_id 2 config stp instance_id 2 add_vlan %inst2vlans create stp instance_id 3 config stp instance_id 3 add_vlan %inst3vlans create stp instance_id 4 config stp instance_id 4 add_vlan %inst4vlans create stp instance_id 5 config stp instance_id 5 add_vlan %inst5vlans create stp instance_id 6 config stp instance_id 6 add_vlan %inst6vlans config stp ports 1:1-1:26 state enable enable stp config stp trap new_root enable config stp trap topo_change enable
      
      





(具体的には、この例は条件付きでスタッカブルなlongの場合です。スタッカブルでないlongの場合、ポート番号には「:」が付きません)



およびciscoの場合:



 conf t no spanning-tree mst configuration spanning-tree mode mst spanning-tree mst configuration name %cfname revision %revision instance 1 vlan %inst1vlans instance 2 vlan %inst2vlans instance 3 vlan %inst3vlans instance 4 vlan %inst4vlans instance 5 vlan %inst5vlans instance 6 vlan %inst6vlans exit exit
      
      







%cfnameの代わりに、それぞれ%revisionの代わりに、設定名(revision)(1以上の自然数)を使用します。

%inst1vlans-最初のインスタンスのVLANタグのリスト。カンマで区切られています。



微調整のために-バランシングが実際にオンになり、トラフィックがリンク全体に広がるように。 -ポートを通過して優先順位を設定する必要があります。 手を使ったほうがいいです。



見方は?



SNMPを介して異なるスイッチを引き出し、ほぼ同じプレートでほぼ同じデータを見ることができれば、一般的に理想的です。 しかし、標準プロトコル(SNMPとMSTPの両方が標準化されているように見えます)にもかかわらず、すべてのベンダーは美しいものについて独自のアイデアを持ち、そのような景品はありません。 または、少なくとも見つかりません。 何らかの理由で、シスコはCISTでデータを提供しますが、MSTインスタンスの残りのデータは提供しません。 なぜ-一度でもはっきりしない...



ファイルに取り組み、車輪を再発明しなければなりませんでした。 すなわち-スイッチですべて同じtelnetを登り、それらからデータを削除し、解析して表示するプログラム。 Graphvizは、この種のデータを表示するのに理想的です(もちろん、私の主観的な好みのために)-入力に単純なテキストファイルを入力できます。グラフを分解して矢印を描画し、親切な質問があればハイパーリンクを挿入します。



次のような結果になりました。







Dlinkの情報をそれぞれ取得するためのコマンド:



 show stp ports %port
      
      







シスコの場合:



 show spanning-tree interface Gi %device/%port detail
      
      







落とし穴



スパニングツリーには1分まで収束する権利があり、これは正常です。



基本設定は同じである必要があります。



すべてのスイッチがすべてのインスタンスを持っているためには、すべてのスイッチがすべてのVLANを持っている必要があります。 (ただし、上の図には、すべてのVLANが存在するわけではないスイッチがあります!)



スパニングツリーを使用して(研究目的専用に作成されたサービスインスタンスなし)、すべてのMSTインスタンスのAがBよりもルートに近い場合、スイッチAのどのポートがスイッチBを含み、どのポートがスイッチCであるかを判別することはできませんおよびC.



まとめ



慎重に行動し、時間をかけて手と機器を見ると、標準化されたプロトコルを機能させることができます。



All Articles