OSIモデルのレイヤー2/3でのネットワークトポロジの決定

深刻なネットワーク監視システムの重要な技術の1つは、OSIモデルの第2および第3レベルでネットワーク要素の接続を検出する方法です。











アルゴリズムの観点から見ると、このタスクはシステムの開発中に出会った最も興味深いものの1つです。



ノード間のリンクの美しいグラフが監視システムのダッシュボードにどのように表示されるか想像できるように、経験を少し共有することにしました。



ネットワークトポロジは、ネットワーク構成、およびネットワークデバイスのレイアウトと接続を記述する方法です。 スイッチ、ルーター、および端末の3種類のネットワークデバイスに基づくTCP / IPネットワークを検討します。 また、ネットワークデバイス、スイッチ、およびルーターがSNMPポーリング用のオープンインターフェイスを提供すると想定します。



トポロジを説明するには、ネットワークのOSIモデルを基盤に基づいた複数階建ての建物と考えると便利です-これは物理レベルであり、床はチャネルとネットワークレベルを形成し、後続の各レベルが建物を構築し、構造全体の整合性と機能性を保証します。 建物全体のタスクは、居住者、つまりさまざまなアプリケーションに相互接続を提供することです。



Network Managerは、さまざまなネットワークトポロジ構成プロトコル、Spanning Tree Protocol(STP)、Link Layer Discovery Protocol(LLDP)、およびCisco Discovery Protocol(CDP)をサポートする異種デバイス間の接続の検索アルゴリズムを実装しています。 ソフトウェアシステムのアーキテクチャにより、OSIモデルの第2および第3レベルでの接続、およびITインフラストラクチャの要素間のその他の論理接続の両方を検出するための新しいプロトコルのサポートを実装できます。



リンク層では、デバイス間の通信は第2レベル通信(またはL2通信)と呼ばれます。 これらは、2つの直接接続されたスイッチのポートのペア、またはスイッチと端末、またはスイッチとルーターを指定することで指定できます。



スイッチは、ノードのMACアドレスとスイッチのポートの対応を保存する動的転送テーブル(AFT)をサポートします。 この情報は、BRIDGE-MIBスイッチのSNMPを介してアクセス可能な動的テーブル( dot1dBasePortTabledot1dTpFdbTable )を介して利用できます。



動的転送テーブルに、このポートを介してこのネットワークデバイス宛てのデータグラムをリダイレクトすることを示すエントリが含まれている場合、スイッチは特定のポートでこのネットワークデバイスを認識します。



BRIDGE-MIBデータベースをサポートするスイッチの場合、 dot1dBasePortTableを読み取ることにより、インターフェイス番号とポート番号の対応を判断でき、利用可能なインターフェイスはMIB-IIデータベース( ifTableテーブル)によって決定されます 。 これにより、第2レベルと第3レベルの結び付きに関するデータの統合ビューが可能になります。



Network Managerは、トポロジデータベースを使用して中間結果を保存します。これは、ネットワークグラフを操作するための共通インターフェースと、チャネルレベルおよびネットワークレベルで機能するように設計された特殊化を提供します。



ネットワークトポロジの自動決定は、データ収集とその後の分析という2つのフェーズに分かれています。 ネットワークデバイスからのデータは、ネットワークデバイスデータベースへのSNMPクエリを使用してトポロジデータベースに収集され、デバイスタイプとそのネットワークインターフェイスが決定されます。











第2段階では、ネットワークのトポロジを決定するために選択されたプロトコルで利用可能なデータの分析が実行され、インターネットで利用可能な記事1、2、5がアルゴリズムの実装に使用されます。











異種ネットワークのトポロジを決定する複雑さは、スイッチ転送テーブルが動的であり、宛先アドレスのMACとデバイス構成で指定された限られた期間の対応するポートの対応の記録を保存するという事実にあり、一般的に、すべてのネットワークデバイスがデータグラムを交換したわけではなく、その結果としてルーターは、利用可能なすべてのネットワークデバイスとその接続に関する完全な情報を持つことはできません。 さらに、管理されていないスイッチは多くの企業ネットワークにあり、一部のスイッチは監視システムに接続されていないか、必要なSNMP MIBを正しくサポートしていない場合があります。 ただし、すべてのネットワークスイッチで表示可能なネットワークデバイスがある場合は、不完全なリダイレクトテーブルを使用して、ネットワーク構成を一意に復元できます(3)。



ネットワークの不均一性は、LLDPおよびCDPプロトコルをサポートするように構成されたスイッチから受信したデータの解釈にも影響します。正しい動作のためには、すべての最も近いネットワークデバイスがLLDPまたはCDPプロトコルをサポートする必要があるためです。 その結果、これらのプロトコルから取得した情報は、これらのネットワークデバイスのうちの2つが特定のポートでお互いを参照していると結論付ける機会を与えますが、最も近い「隣接」として直接識別することはできません。



AggreGate Network Managerに実装された異種ネットワークトポロジー検索アルゴリズムは、主にスイッチ間の接続を決定します。 アルゴリズムの一般的な本質は次のように説明できます。



同じサブネット上にある2つのスイッチ「A」と「B」を考えます。 スイッチ「A」がポート「a」のスイッチ「B」を認識し、スイッチ「B」がポート「b」のスイッチ「A」を認識し、ポート「a」と「ポート」で同時に表示されるネットワークデバイスが他にない場合b」、スイッチ「A」および「B」はデータリンク層で直接接続されます(1、3、および5を参照)。 接続を見つけた後、それに対応するインターフェイスを転送テーブルのキャッシュから削除し、テーブルに残っている情報の分析を続行し、除去の方法によって残りの接続を徐々に見つけます。



次の段階で、スイッチと端末間の可能な接続が決定されます。 これを行うには、最も近いスイッチの検索を使用します:スイッチがこのポートで端末を認識し、同じポートで別のスイッチを認識している場合、ネットワークハブがない場合、このスイッチを最も近くにすることはできません(4を参照)。 一方、調査中のポートのスイッチが1つのエンドステーションのみを認識している場合、このスイッチとステーションはネットワーク内で最も近い隣接局です。



IP層トポロジ(L3)を使用すると、状況ははるかに単純になります。 レイヤー3リンクは、ルーティングテーブル( ipRouteTable )によってかなり簡単に識別されます。これもSNMP経由で利用できます。



製品の汎用性により、将来さまざまなトポロジに対応する必要があることを理解し、視覚コンポーネント「トポロジグラフ」を設計して、トポロジグラフのノードとエッジの説明を含む任意のテーブルで動作できるようにしました。 そして、いつものように、ツールを使って、彼にとって新しいアプリケーションがすぐに見つかりました。























この記事で説明されているすべてのテクノロジーは、製品AggreGate Network Managerでテストおよび実装されています。 データが不十分な状況(すべてのスイッチとルーターがSNMP経由で接続されているわけではなく、必要なMIBが正しくサポートされていないなど)での通信決定アルゴリズムの作業は簡単ではありません。したがって、今日まで改善を続けています。



トピックに関する読み物:



  1. ヘテロジニアスIPネットワークでのトポロジ検出:NetInventoryシステム 。 Y. Breitbart、M。Garofalakis、B。Jai、C。Martin、R。Rastogi、およびA. Silberschatz IEEE / ACM TRANSACTIONS ON NETWORKING、VOL。 12、NO。 3、2004年6月
  2. スパニングツリーMIBを使用したレイヤ2パス検出 。 David T. Stott、Avaya Labs Research、Avaya Inc.、バスキングリッジ、ニュージャージー州、Tech。 担当者
  3. イーサネットタイプのネットワークトポロジを見つけるのは簡単ではありません 。 H. Gobjuka、Y。Breitbart、テクニカルレポート:TR-KSU-CS-2007-03、ケント州立大学、2007年。
  4. スーパーコンピュータのネットワークインフラストラクチャの自動検出と説明 。 V. Voevodin、K。Stefanov、計算方法とプログラミング。 2014.V. 15
  5. SNMPを使用したIPネットワークトポロジの検出 。 Suman Pandey、Mi-Jung Choi、Sung-Joo Lee、James W. Hong、Dept。 コンピュータサイエンスアンドエンジニアリング、POSTECH、韓国



All Articles