(57)【要約】ネットワーク（ＮＷ１）は、スパニング・ツリー（ＳＴ１）におけるリンク（ＰＬ１）及び遮断されたインタフェースへのリンク（ＰＬ２）によって相互に接続された、スイッチ（Ｓ１−Ｓ７）、ルータ（Ｒ１−Ｒ４）及び管理ノード（ＮＭＳ１）を有する。スイッチ及びルータは、管理ノードのＩＰアドレスを有する。ノードは、管理ノード（ＮＭＳ１）がｐｉｎｇメッセージ（ＰｉＩ）をブロードキャストすることによって発見され、応答（ＲＰｉＩ）を受けて、当該ノードをトポロジへ追加される。管理ノードがスイッチからアドレス転送テーブルを取り出して、ランキング値をそれらに割り当てることによって、スパニング・ツリー（ＳＴ１）が発見される。低くランク付けされたノードは、最も高くランク付けされたノードから連続的に接続される。遮断されたインタフェース（ＰＬ２）は、スパニング・ツリー（ＳＴ１）のみを含むためにＶＬＡＮ（ＶＬＡＮ１）を設定し、後者を使用不可能とすることによって、発見される。遮断されたインタフェースは、停止及び起動され、リンク・ダウン・トラップの照合が記録され、対応するリンク（ＰＬ２）が発見される。インタフェース（１，２，３...）の状態は、変化及び新たなリンクに関して周期的にチェックされ、ネットワーク・セグメントが追加される。スイッチの基本的な管理機能のみが必要とされ、全てのノード及びリンクが発見される。
2010514340.tif 000002
【特許請求の範囲】
【請求項１】
物理リンク（ＰＬ１，ＰＬ２）によって相互に接続されるノードを含む通信ネットワーク（ＮＷ１）の物理トポロジを発見する方法であって、
前記ノードは、スイッチ（Ｓ１−Ｓ７）、ルータ（Ｒ１−Ｒ４）及びブリッジと、ネットワーク管理システム（ＮＭＳ）を有する管理ノード（ＮＭＳ１）とを含み、
前記ノードは、スパニング・ツリー・トポロジを形成するためにスパニング・ツリー・プロトコルｘＳＴＰが起動されたインタフェース（１，２，３，...）を有し、
前記スイッチ、前記ルータ及び前記ブリッジに、前記管理ノード（ＮＭＳ１）のＩＰアドレス（ＩＰＮ）を設定するステップ（２１）と、
前記管理ノード（ＮＭＳ１）が、ノード発見メッセージ（Ｐｉ１）をブロードキャストし（１０１）、前記ノード（Ｓ１−Ｓ７，Ｒ１−Ｒ４）の１つから応答メッセージ（ＲＰｉ１）を受信すると（１０２）、当該ノードを前記ネットワークの物理トポロジに追加することを含む、前記ノードを発見するステップ（２３）と、
前記管理ノード（ＮＭＳ１）が、前記スイッチ（Ｓ１−Ｓ７）によって保持されるアドレス転送テーブルＡＦＴから情報を読み出すとともに（４０１）、前記スイッチの各々に対して、各スイッチから見える前記スイッチの数に依存し、前記物理リンク（ＰＬ１）を発見するために用いられるランキング値（ＲＶ）を割り当てる（４０２）ことを含む、前記ｘＳＴＰを用いて設定される前記物理リンク（ＰＬ１）の前記スパニング・ツリー・トポロジを発見するステップ（２４）と
を含むことを特徴とする方法。
【請求項２】
前記スイッチ（Ｓ１−Ｓ７）の１つに対してランキング値（ＲＶ）を割り当てる前記ステップは、
１つの前記スイッチ（Ｓ１）から見える前記ネットワーク（ＮＷ１）におけるノードの総数を決定するステップ（４０１）と、
ＭＡＣアドレスが前記管理ノード（ＮＭＳ１）に含まれる前記スイッチ（Ｓ１）の前記インタフェース（１）を介して見える前記ノードの数を、前記ノードの前記総数から除くことによって、前記スイッチ（Ｓ１）のランキング値（ＲＶ）を決定するステップ（４０２）と
を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記スイッチのうちで第１のスイッチのランキング値を決定するステップ（４０２）と、
前記第１のスイッチのランキング値の次に低いランキング値を有する第２のスイッチ（Ｓ３）を決定するステップ（４０９）と、
前記第２のスイッチで受信される、前記第１のスイッチ（Ｓ１）上の前記インタフェース（１）を決定するステップ（４１０）と、
前記管理ノード（ＮＭＳ１）へ至る、前記第２のスイッチ（Ｓ３）上の前記インタフェース（４）を決定するステップ（４０５，４０６）と、
前記管理ノード（ＮＭＳ１）の前記ＮＭＳで発見されたネットワークにおけるリンク（ＰＬ１）を有する、前記第１のスイッチ上の前記インタフェース（１）と、前記第２のスイッチ上の前記インタフェース（４）とを、相互に接続するステップ（４１０）と
をさらに含むことを特徴とする請求項２に記載の方法。
【請求項４】
遮断されたインタフェースを発見するステップをさらに含み、
遮断されたインタフェースを発見する前記ステップは、
前記ｘＳＴＰによって取得される前記スパニング・ツリー・トポロジのみを含むＶＬＡＮ（ＶＬＡＮ１）を設定するステップ（５０１）と、
前記ｘＳＴＰを停止するステップ（５０２）と、
前記遮断されたインタフェースが起動状態であり、かつ、前記ＶＬＡＮ（ＶＬＡＮ１）に対して接続されていないことを判定するステップ（５０５）と、
前記遮断されたインタフェースを停止及び起動して（５０６）、リンクの各々の端部からのリンク・ダウン・トラップの照合を記録するステップ（５０７）と、
前記遮断されたインタフェースを、リンクの相手側装置のインタフェースと接続するステップ（５１０）と
を含むこと特徴とする請求項１、２又は３に記載の方法。
【請求項５】
前記ノードの前記インタフェースの状態を周期的に求めるステップ（８０７）と、
新たに発見された状態と以前の状態とを比較するステップ（８０９）と、
前記ネットワーク・トポロジに対して、発見されたリンク（ＰＬ３）を追加するステップ（８１６）と
をさらに含み、
前記物理リンクの前記スパニング・ツリー・トポロジの変化が発見されることを特徴とする請求項４に記載の方法。
【請求項６】
前記スイッチの１つの前記インタフェースの状態を確認するステップ（８０９）と、
２つの対応するリンク・ダウン・トラップを用いて、前記スイッチの前記インタフェースの１つに対して適合するリンクの相手側装置におけるインタフェースを検出することによって、追加されたリンクを発見するステップ（８１４）と
をさらに含むこと特徴とする請求項５に記載の方法。
【請求項７】
前記スイッチ（Ｓ４１）の１つの前記インタフェースの状態を確認するステップ（８０９）と、
前記インタフェース（４）の１つに対する、２つの対応するリンク・ダウン・トラップ及びリンク・アップ・トラップを検出しないことを判定するステップ（８１４，８１５）と、
前記ネットワーク（ＮＷ２）に対して前記インタフェースを追加するステップ（８１８）と、
１つの前記インタフェース（４）を介して接続されたネットワーク・セグメント（ＮＷＳ２）の構造を発見するために、トポロジ発見処理を繰り返すステップ（８１９，８２０，８２１）と
をさらに含むこと特徴とする請求項５に記載の方法。
【請求項８】
ネットワーク管理システム（ＮＭＳ）を有する管理ノード（ＮＭＳ１）と、物理リンク（ＰＬ１，ＰＬ２）によって相互に接続されるノードとを含む通信ネットワーク（ＮＷ１）の物理トポロジを発見するシステムであって、
前記ノードは、前記管理ノード（ＮＭＳ１）のＩＰアドレス（ＩＰＮ）を設定されたスイッチ（Ｓ１−Ｓ７）、ルータ（Ｒ１−Ｒ４）及びブリッジを含み、
前記スイッチは、スパニング・ツリー・トポロジを形成するために、ｘＳＴＰデバイス（１２２）のスパニング・ツリー・プロトコルｘＳＴＰが起動されたインタフェース（１，２，３，...）を有し、
前記管理ノード（ＮＭＳ１）は、ノード発見メッセージ（Ｐｉ１）をブロードキャストし（１０１）、前記ノード（Ｓ１−Ｓ７，Ｒ１−Ｒ４）の１つから応答メッセージ（ＲＰｉ１）を受信すると（１０２）、当該ノードを前記ネットワークの物理トポロジに追加することによって、前記ノードを発見し、
前記管理ノード（ＮＭＳ１）は、前記スイッチ（Ｓ１−Ｓ７）によって保持されるアドレス転送テーブルＡＦＴから情報を読み出すとともに（４０１）、前記スイッチの各々に対して、各スイッチから見える前記スイッチの数に依存し、前記物理リンク（ＰＬ１）を発見するために用いられるランキング値（ＲＶ）を割り当てる（４０２）ことによって、前記ｘＳＴＰを用いて設定される前記物理リンク（ＰＬ１）の前記スパニング・ツリー・トポロジを発見することを特徴とするシステム。
【請求項９】
前記管理ノード（ＮＭＳ１）は、さらに、
１つの前記スイッチ（Ｓ１）から見える前記ネットワーク（ＮＷ１）におけるノードの総数を決定し（４０１）、
ＭＡＣアドレスが前記管理ノード（ＮＭＳ１）に含まれる前記スイッチ（Ｓ１）の前記インタフェース（１）を介して見える前記ノードの数を、前記ノードの前記総数から除くことで、前記スイッチ（Ｓ１）のランキング値（ＲＶ）を決定する（４０２）ことによって、
前記スイッチ（Ｓ１−Ｓ７）の１つに対してランキング値（ＲＶ）を割り当てることを含むことを特徴とする請求項８に記載のシステム。
【請求項１０】
前記管理ノード（ＮＭＳ１）は、
前記スイッチのうちで第１のスイッチのランキング値を決定し（４０２）、
前記第１のスイッチのランキング値の次に低いランキング値を有する第２のスイッチ（Ｓ３）を決定し（４０９）、
前記第２のスイッチで受信される、前記第１のスイッチ（Ｓ１）上の前記インタフェース（１）を決定し（４１０）、
前記管理ノード（ＮＭＳ１）へ至る、前記第２のスイッチ（Ｓ３）上の前記インタフェース（４）を決定し（４０５，４０６）、
前記管理ノード（ＮＭＳ１）の前記ＮＭＳで発見されたネットワークにおけるリンク（ＰＬ１）を有する、前記第１のスイッチ上の前記インタフェース（１）と、前記第２のスイッチ上の前記インタフェース（４）とを、相互に接続する（４１０）ことを特徴とする請求項９に記載のシステム。
【請求項１１】
前記管理ノード（ＮＭＳ１）は、さらに、
前記ｘＳＴＰデバイス（１２２）において、前記ｘＳＴＰによって取得される前記スパニング・ツリー・トポロジのみを含むＶＬＡＮ（ＶＬＡＮ１）を設定し（５０１）、
前記ｘＳＴＰを停止し（５０２）、
前記遮断されたインタフェースが起動状態であり、かつ、前記ＶＬＡＮ（ＶＬＡＮ１）に対して接続されていないことを判定し（５０３）、
前記遮断されたインタフェースを停止及び起動して（５０６）、リンク（ＰＬ２）の各々の端部からのリンク・ダウン・トラップの照合を記録し（５０７）、
前記遮断されたインタフェースを、リンクの相手側装置のインタフェースと接続する（５１０）ことによって、
前記ＮＭＳが遮断されたインタフェースを発見することを特徴とする請求項８、９又は１０に記載のシステム。
【請求項１２】
前記管理ノード（ＮＭＳ１）が、さらに、
前記ノードの前記インタフェースの状態を周期的に求め（８０７）、
新たに発見された状態と以前の状態とを比較し（８０９）、
前記ネットワーク・トポロジに対して、発見されたリンク（ＰＬ３）を追加する（８１６）ことによって、
前記物理リンク（ＰＬ１，ＰＬ２，ＰＬ３）の前記スパニング・ツリー・トポロジの変化が発見されることを特徴とする請求項８乃至１１の何れか１項に記載のシステム。
【請求項１３】
前記管理ノード（ＮＭＳ１）は、さらに、
前記スイッチの１つの前記インタフェースの状態を確認し（８０９）、
２つの対応するリンク・ダウン・トラップを用いて前記スイッチの前記インタフェースの１つに対して適合するリンクの相手側装置におけるインタフェースを検出することによって、追加されたリンクを発見する（８１４）ことを特徴とする請求項１２に記載のシステム。
【請求項１４】
前記管理ノード（ＮＭＳ１）は、さらに、
前記スイッチ（Ｓ４１）の１つの前記インタフェース（４）の状態を確認し（８０７）、
前記インタフェース（４）の１つに対する、２つの対応するリンク・ダウン・トラップ及びリンク・アップ・トラップを検出することを試み（８１４，８１５）、
前記２つの対応するリンク・ダウン・トラップ及びリンク・アップ・トラップを検出しない場合に、前記ネットワーク（ＮＷ２）に対して前記インタフェースを追加し（８１８）、
１つの前記インタフェース（４）を介して接続されたネットワーク・セグメント（ＮＷＳ２）の構造を発見するために、トポロジ発見処理を繰り返す（８１９，８２０，８２１）ことを特徴とする請求項１２に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、イーサネット（登録商標）・ネットワークの物理トポロジの発見処理に関するものである。
【背景技術】
【０００２】
トポロジの発見処理は、イーサネット（登録商標）のネットワークを良好に運用するための重要な問題である。この課題を解決することを目的とした文献にはいくつかのアプローチが存在するものの、それらはそれぞれ重大な不利益を有している。
【０００３】
ＩＥＥＥ８０２．１ＡＢ、即ち、新たなＩＥＥＥ標準規格８０２．１ＡＢである“Station and Media Access Control Connectivity Discovery”に記載されているリンク・レイヤ発見プロトコル（ＬＬＤＰ）は、企業ネットワークにおけるトラブル・シューティングを容易にすることと、ネットワーク・トポロジを発見及び維持するネットワーク管理ツールの能力を強化することとを約束する。ＬＬＤＰプロトコルは、隣接発見（neighbor discovery）プロトコルであって、イーサネット（登録商標）・ネットワーク・スイッチが、ネットワーク上の隣接ノードに対して自らに関する情報を報知し、また、発見した情報を格納する、標準的な方法を定義する。当該スイッチは、ＩＥＥＥで定義されたシンプル・ネットワーク管理プロトコル（ＳＮＭＰ）の管理情報ベース（ＭＩＢ）におけるＬＬＤＰ情報を格納し、これにより、当該情報をネットワーク管理システムが利用できる。ＬＬＤＰは、標準的なトポロジ発見アプローチを提唱するものの、全てのイーサネット（登録商標）・スイッチ、特に低コストの製品においては実装されない可能性があるか、実装されないかの何れかであろう。
【０００４】
ＬＬＤＰプロトコルの深刻な欠点は、低コストのイーサネット（登録商標）・スイッチで利用できないことである。そのため、ＬＬＤＰをサポートしていないスイッチを有するオペレータは、当該プロトコルに基づくトポロジ発見処理を使用できない。これは、各スイッチが、低コストのネットワークを所有するためにＬＬＤＰなしの低コストのノードである場合に、特に当てはまる。
【０００５】
非特許文献１の著者は、ネットワーク要素からの支援を受けることなく、ネットワークに接続されたホストに依存した、イーサネット（登録商標）（レイヤ２）のトポロジ発見方法を提案している。ネットワークにおける大部分のホストは、適切な探査（probe）パケットを投入（inject）し、それらが配信される場所を観測するデーモン（daemon）を実行する。従って、ネットワーク・ホストは新たな機能性を必要とし、それは低コストのアプローチには適さない。
【０００６】
当該手法の非常に深刻な欠点は、トポロジ発見を実現するために各ホストがデーモンを実行しなければならないことであり、イーサネット（登録商標）・ネットワーク、特に低コストのネットワークにおいて実現することは難しい。探査パケットを基礎としたアプローチの更なる問題は、物理トポロジではなく転送（forwarding）トポロジのみを発見し得ることである。即ち、例えば、ＳＴＰによって遮断された、パケット転送のために実際に使用されていない物理リンクは、探査パケットによる方法では発見することができない。
【０００７】
非特許文献２では、別のアプローチが提案されている。当該アプローチは、スパニング・ツリー・プロトコル（ＳＴＰ）メッセージ、即ち、ブリッジ・プロトコル・データ・ユニット（ＢＰＤＵ）を監視して、スイッチからＳＴＰのＭＩＢを読み出すこと（retrieving）に基づくものである。
【０００８】
非特許文献２で提案されている上記のアプローチは、例えば、ＴＲＩＬＬ、又はＶＬＡＮ設計によって、トポロジにはループが存在しないことが確保されている等の、何らかの理由でＳＴＰを使用できないネットワークにおいては適用することができない。さらに、当該手法に使用される前提は、全てのスイッチに対して有効ではなく、即ち、ベンダに依存する。
【０００９】
非特許文献３及び非特許文献４においては、トポロジを発見するために、ＳＮＭＰのＭＩＢを介してアドレス転送テーブル（ＡＦＴ）情報が収集されるが、スパニング・ツリー・パスのみが読み出される。
【００１０】
上記２つの文献に記載された技術に共通する特徴は、ＡＦＴ入力のみを使用することである。従って、それらは、スパニング・ツリー・パスのみを発見することが可能であり、複数の冗長なパスを除外する。それらの技術は、イーサネット（登録商標）・ネットワークの物理トポロジを発見するといわれているが、レイヤ２のスパニング・ツリー・パスのみを発見するという制限を有する。
【先行技術文献】
【非特許文献】
【００１１】
【非特許文献１】R. Black, A. Donnelly and C. Fourne, "Ethernet Topology Discovery without Network Assistance, " 12th IEEE International Conference on Network Protocols (ICNP' 04), 2004, pp. 328-339.
【非特許文献２】M-H. Son, B-S. Joo, B-C Kim and J-Y Lee, "Physical Topology Discovery for Metro Ethernet Networks," ETRI Journal, vol.27, no.4, Aug. 2005, pp.355- 366.
【非特許文献３】B. Lowekamp, D. R. O'Hallaron and T. R. Gross, "Topology Discovery for Large Ethernet Networks," ACM SIGCOMM 2001, San Diego, California, USA, Aug. 2001, pp. 237-248.
【非特許文献４】Y. Bejerano, Y. Breitbart, M. Garofalakis and R. Rastogi, "Physical Topology Discovery for Large Multi-Subnet Networks, "IEEE INFOCOM 2003, San Francisco, USA, Apr. 2003, pp.342-352.
【発明の概要】
【発明が解決しようとする課題】
【００１２】
既存の解決手段をまとめると、ＬＬＤＰを使用せずに物理トポロジを発見し、ＳＴＰによって決定される転送トポロジのみを発見するものであり、又は、場合によってはＳＴＰによって遮断されたリンクを発見できるものの、異機種のイーサネット（登録商標）・ネットワークにおける全ての物理リンクを発見しない。
【課題を解決するための手段】
【００１３】
本発明は、イーサネット（登録商標）・ネットワークの物理トポロジを発見する課題に関係する。発見処理は、全てのネットワーク・ノード及びリンクの範囲、及びスパニング・ツリー・プロトコルであるｘＳＴＰによって遮断されたリンクの範囲を対象としなければならない。当該発見処理はまた、ネットワーク・ノードの種類と無関係でなければならない。
【００１４】
更なる課題は、ネットワーク・トポロジの変化をその運用中に発見することである。
【００１５】
イーサネット（登録商標）・ネットワークの物理トポロジを発見する課題は、以下の手法で解決される。当該ネットワークは、物理リンクによって接続された、スイッチ、ブリッジ及びルータを含むノードと、ネットワーク管理システムを含む管理ノードとを有する。当該ノードは、スパニング・ツリー・トポロジを形成するためにスパニング・ツリー・プロトコルｘＳＴＰが起動されたインタフェースを有する。スイッチ、ブリッジ及びルータに、管理ノードのＩＰアドレスが設定される。管理ノードは、ノード発見メッセージをブロードキャストし、ノードの１つから応答メッセージを受信すると、当該ノードをネットワークの物理トポロジに追加する。ｘＳＴＰを用いて物理リンクのツリー・トポロジが形成される。ここで、管理ノードは、スイッチによって保持されるアドレス転送テーブルＡＦＴから情報を読み出すとともに、スイッチの各々に対して、ランキング値を割り当てる。当該ランキング値は、各スイッチから見える（seen）スイッチの数に依存し、物理リンクを発見するために用いられる。
【００１６】
スイッチの１つに対するランキング値の割り当ては、スイッチから見える、ネットワークにおけるノードの総数が確定されることを任意的に含む。インタフェースを介して見える多数のノードは、管理ノードへのＭＡＣアドレスを含むインタフェースを介して見えるノードの数を、当該総数から除かれることによって、ランキング値を与える。
【００１７】
ツリー・トポロジは、スイッチのうちで第１のスイッチのランキング値を決定し、第１のスイッチのランキング値の次に低いランキング値を有する第２のスイッチを決定することによって、任意的に発見される。第２のスイッチで受信される第１のスイッチのインタフェースと、ネットワーク管理システム・ノードへ至る、第２のスイッチのインタフェースとが、リンクで相互に接続される。
【００１８】
遮断されたインタフェースは、ｘＳＴＰによって取得されるツリー・トポロジのみを含むＶＬＡＮを設定し、その後、ｘＳＴＰが停止されることによって、任意的に発見される。遮断されたインタフェースが、起動状態であり、かつ、再設定されたＶＬＡＮに対して接続されていないことが、判定される。遮断されたインタフェースは、停止及び起動され、リンクの各々の端部からのリンク・ダウン・トラップの照合が記録される。遮断されたインタフェースは、リンクの相手側装置のインタフェースと接続される。
【００１９】
物理リンクのツリー・トポロジの変化は、スイッチの１つのインタフェースの状態を周期的に求めることによって、任意的に発見される。追加されたリンクは、２つの対応するリンク・ダウン・トラップを用いて、スイッチのインタフェースの１つに対して適合するリンクの相手側装置のインタフェースを検出することによって、発見される。新たに発見された状態と以前の状態とが比較され、ネットワーク・トポロジに対して、発見されたリンクが追加される。
【００２０】
スイッチのうちの１つのインタフェースの状態は、任意的に確認され、インタフェースの１つに対する、２つの対応するリンク・ダウン・トラップ及びリンク・アップ・トラップを検出することはできない。当該インタフェースはネットワークに対して追加され、当該１つのインタフェースを介して接続されたネットワーク・セグメントの構造を発見するために、トポロジ発見処理が繰り返される。
【００２１】
本発明の目的は、全てのネットワーク・ノード及びリンク、ＳＴＰ、ＲＳＴＰ又はＭＳＴＰ等の任意のスパニング・ツリー・プロトコルによって遮断されたリンクをも対象として、ネットワーク・ノードの種類と関係なく、イーサネット（登録商標）・ネットワークの物理トポロジを発見することである。
【００２２】
さらなる目的は、ネットワーク・トポロジの変化を、その運用中に発見することである。
【００２３】
提案する方法及び装置は、ベンダに関係なく、及びスイッチの特性を強化することなく、異種間のイーサネット（登録商標）・ネットワークの物理トポロジを発見できるという効果を有する。当該機構は、既製のスイッチの商品で動作し、基本的な管理機能のみが必要とされる。当該機構は、ネットワーク・ノード上で動作する特定のプロトコルを何ら必要とせず、種々のベンダの装置を用いて動作する。ネットワークの各ノード及び物理リンクが発見され、ノードの遮断されたインタフェースへのリンクも発見される。ネットワークの物理トポロジは、連続的に監視され、物理的な接続又はネットワーク・セグメントの追加及び除去が、連続的に検出される。当該発見処理は、ロバスト（robust）である。
【００２４】
以下では、好適な実施形態を用いるとともに添付の図面を参照して、本発明をより詳細に説明する。
【図面の簡単な説明】
【００２５】
【図１】ネットワークの一例の図である。
【図２】発見処理の概略のフローチャートである。
【図３】ノードの発見処理に関するフローチャートである。
【図４】スパニング・ツリーの発見処理に関するフローチャートである。
【図５】遮断されたインタフェースの発見処理に関するフローチャートである。
【図６】追加された接続を有するネットワークの一例である。
【図７】追加されたネットワーク・セグメントを有するネットワークの一例である。
【図８】ネットワークの運用中におけるトポロジの変化の発見処理に関するフローチャートである。
【図９】試験されるネットワーク・トポロジの一例を示す図である。
【図１０】本方法を実行する装置に関するブロック図である。
【発明を実施するための形態】
【００２６】
図１は、ネットワークＮＷ１の図を一例として示す。ネットワークＮＷ１は、多数のノードを有し、スイッチＳ１−Ｓ７、ルータＲ１−Ｒ４、及びネットワーク管理システムＮＭＳが実装される管理ノードＮＭＳ１を有する。代替として、ノード間にブリッジが含まれていてもよい。ノードは、リンクＰＬ１及びＰＬ２のような物理リンクで相互に接続される。以下でより詳細に説明するように、ｘＳＴＰと表記されるスパニング・ツリー・プロトコルが、ネットワークＮＷ１上で動作しているものとする。ｘＳＴＰの例には、スパニング・ツリー・プロトコルＳＴＰ、ラピッド・スパニング・ツリー・プロトコルＲＳＴＰ、及びマルチプル・スパニング・ツリー・プロトコルＭＳＴＰがある。ｘＳＴＰは、ノードの動作中のインタフェースに対する物理リンクＰＬ１を表す太線で示されている、スパニング・ツリーＳＴ１を形成する。破線は、ｘＳＴＰによって遮断されたインタフェースに対する物理リンクＰＬ２を表す。スイッチＳ１−Ｓ７の各々について、対応するリンクの端部には、インタフェース番号１，２...が記載されている。代替的な実施形態において、スイッチは、仮想ＬＡＮ（ＶＬＡＮ１）に含まれる。ＮＭＳの目的は、ネットワークＮＷ１の物理トポロジを発見及び保存することである。
【００２７】
トポロジ発見処理の基本概念
物理トポロジの発見は、ネットワークの起動時にネットワーク管理システムＮＭＳによって自動的に行われる。そのとき、ネットワークＮＷ１は管理ノードＮＭＳ１のシステムＮＭＳに全く知られておらず、データベースは空の状態であることに留意されたい。
【００２８】
図２は、発見処理の方法の概略のフローチャートを示す。ステップ２１において、システムＮＭＳは、管理ノードＮＭＳ１において実行される。ステップ２２において、スイッチ及びルータは、ノードＮＭＳ１のＩＰアドレスＩＰＮを設定される。次のステップ２３において、管理ノードＮＭＳ１は、ノード発見メッセージＰｉ１によってネットワーク・ノードＳ１−Ｓ７及びＲ１−Ｒ４を発見する。このメッセージは、いわゆるブロードキャストｐｉｎｇであり、あるいは、アドレス解決プロトコルＡＲＰメッセージである。次に、ステップ２４において、ｘＳＴＰによって決定されるスパニング・ツリーの一部である物理リンクＰＬ１が発見される。このツリーを有するために、スイッチＳ１−Ｓ７の転送テーブルが規定の順序で読み出される。次に、ステップ２５において、ｘＳＴＰによって遮断された物理リンクＰＬ２が、シンプル・ネットワーク管理プロトコルＳＮＭＰを用いて決定される。ステップ２６において、ネットワークＮＷ１の物理トポロジの変化が、ネットワークの運用中にシステムＮＭＳによって定期的にチェックされる。
【００２９】
本実施形態に関する前提
ネットワーク管理システムＮＭＳによって駆動されるトポロジ発見機構は、以下を前提とした実施形態に依存する。
【００３０】
処理対象のネットワークは、コアにおけるレイヤ２（Ｌ２）スイッチ又はレイヤ２／レイヤ３（Ｌ２／Ｌ３）スイッチ、及びエッジにおけるＬ２／Ｌ３スイッチ又はＩＰルータを含む。
【００３１】
スイッチは、以下のプロトコル、８０２．１ｑ（仮想ＬＡＮ）、８０２．１ｄ（スパニング・ツリー・プロトコルＳＴＰ、又は対応するｘＳＴＰプロトコル）及びＲＦＣ１１５７（シンプル・ネットワーク管理プロトコル）を実装する。
【００３２】
スイッチは、以下の管理情報ベース（ＭＩＢ）、ブリッジＭＩＢ（ＲＦＣ１４９３）、ＭＩＢII（ＲＦＣ１２１３）、及びＩＦ ＭＩＢ（ＲＦＣ２８６３）を有する。
【００３３】
スイッチ及びルータ（ルータのコア・インタフェースの１つ）は、同一のサブネット・マスクを設定される。サブネット・アドレスは、ＮＭＳに事前に知られている。
【００３４】
スイッチ及びルータは、システムＮＭＳに対してトラップ（traps）を送信できるように、管理ノードＮＭＳ１のＩＰアドレスを設定される。
【００３５】
一実施形態において、スイッチは、タグを付加されていない仮想ＬＡＮ（ＶＬＡＮ）に含まれる全てのインタフェースを用いて起動する。後述するように、代替的な実施形態において、ＶＬＡＮは、発見処理以降に使用可能となる。
【００３６】
スイッチは、全てのインタフェース上で使用可能とされたスパニング・ツリー・プロトコルｘＳＴＰとともに起動する。
【００３７】
システムＮＭＳは、Ｌ２ネットワークに直接接続された１つのインタフェースを有する。トポロジ発見機構は、当該インタフェースを通じてネットワーク要素とメッセージを交換する。
【００３８】
本実施形態において、独自仕様のトポロジ発見プロトコルは、全てのスイッチ上で無効化されるが、代替として保持され得る。
【００３９】
独自仕様のトポロジ発見プロトコルを動作させるのは、代替手段でもある。
【００４０】
本方法は、２つの実行時間、初期化及びオンザフライ（on-the-fly）を含む。それらの両方は以下で説明する。
【００４１】
初期化時間
ＮＭＳにおいて物理トポロジ発見処理（ＰＴＤＰ）が開始された際、そのデータベースは完全に空の状態であり、唯一の前提については以下で説明する。これは、管理ノードＮＭＳ１のシステムＮＭＳに、ネットワークが全く知られていないことを意味する。初期化時間中、本方法は、３つの明確なフェーズを通過する。即ち、ノードの発見処理、スパニング・ツリーの発見処理、及び遮断されたインタフェースの発見処理である。初期化時間中にネットワークの変化は生じないことを前提とする。
【００４２】
（ノードの発見処理）
物理トポロジ発見処理ＰＴＤＰは、ネットワークＮＷ１によって例示されるネットワークに存在するノード（スイッチＳ１−Ｓ７及びルータＲ１−Ｒ４）を発見することから始まる。ＰＴＤＰは、ノード発見メッセージ、本実施形態においてはサブネットワーク・ブロードキャスト・アドレスを含むいわゆるｐｉｎｇメッセージＰｉ１を、ブロードキャストし、応答メッセージＲＰｉ１を待つ。ｐｉｎｇメッセージＰｉ１は、接続を確認するためのインターネット・コマンドである。各応答ＲＰｉ１について、新たなノードを物理トポロジ・マップに追加する。一部の応答が失われると、ＰＴＤＰはこのフェーズを何回か（例えば、３回）繰り返し、既に登録した応答を無視する。図３は、ノード発見方法をより詳細に記述するフローチャートを示す。本方法は、ブロック１０１において、ブロードキャストｐｉｎｇメッセージＰｉ１を送信することから始まる。ブロック１０２において、ｐｉｎｇメッセージに対する応答メッセージＲＰｉ１が、ノードから受信され、各ノードについて、受信したノードのＩＰアドレスが有効か否かが調べられる。ｎｏの選択肢Ｎの場合、新たな応答を待つ。ｙｅｓの選択肢Ｙの場合、ブロック１０３において当該受信ＩＰアドレスが既に組み込まれているか否かが調べられる。ｙｅｓの選択肢Ｙの場合、ブロック１０２において新たな応答を待つ。ｎｏの選択肢Ｎの場合、ブロック１０４において、管理情報ベースＭＩＢ−IIデータが取得される。ブロック１０５において、当該ノードがルータか否か調べられる。ｙｅｓの選択肢Ｙの場合、ブロック１１０において、当該ノードは、他のインタフェースを含むルータとして設定され、新たな応答のために、処理がブロック１０２へ戻る。ｎｏの選択肢Ｎの場合、当該ノードはブロック１０６においてスイッチとして設定される。ブロック１０７において、受信されたメッセージが最後の応答メッセージか否か調べられる。ｎｏの選択肢Ｎの場合、新たな応答のために、処理がブロック１０２へ戻る。ｙｅｓの選択肢Ｙの場合、ブロック１０８において、当該処理が３回繰り返されたか否か調べられる。ｎｏの選択肢Ｎの場合、ブロック１０１において新たなｐｉｎｇメッセージＰｉ１が送信され、ｙｅｓの選択肢Ｙの場合、ブロック１０９において処理が終了する。
【００４３】
（スパニング・ツリーの発見処理）
ネットワーク初期化時間において、スパニング・ツリー・プロトコルｘＳＴＰが動作中であることに注目することは重要である。ｘＳＴＰは、レイヤ２（Ｌ２）ネットワークにおけるループを回避し、冗長なインタフェースを遮断し、動作中のインタフェースを通じてループのないツリー・トポロジを構築する。
【００４４】
物理トポロジ発見処理ＰＴＤＰの次のタスクは、ｘＳＴＰによって算出されるスパニング・ツリーＳＴ１を発見することである。これは、当該プロセスのうちで最も複雑な部分であって、各スイッチによって保持されるアドレス転送テーブルＡＦＴから情報を読み出すことによって達成される。ＡＦＴは、所定のインタフェースを介して到達可能なメディア・アクセス制御（ＭＡＣ）アドレスを保存する。この情報は、ブリッジＭＩＢ（ＲＦＣ１４９３）によって提供され、ＳＮＭＰプロトコルのｇｅｔメッセージを用いてシステムＮＭＳによって取得される。
【００４５】
ブリッジＭＩＢには、遮断されたインタフェースを発見するために使用される可能性のある、他の関連する情報フィールドが存在する。いずれにしても、それらのフィールドは任意であり、一部のベンダはそれらを実装しない。このため、ＰＴＤＰは、遮断されたインタフェースを発見するために異なるアプローチを使用する（「遮断されたインタフェースの発見処理」以下の説明を参照）。
【００４６】
ツリー発見処理のフェーズの間に、ランキング値ＲＶが各スイッチに割り当てられる。ここで、ランキング値は、ＮＭＳ ＭＡＣアドレスをその範囲に含むインタフェースを介して見える（seen）ノードを除く、各ノードから見えるノード数である。各スイッチのＡＦＴは、ブロードキャスト要求及びその応答の結果として、ノード発見処理フェーズの間に埋められた。最高値のスイッチは、常に、管理ノードＮＭＳ１に直接接続されるスイッチであり、本例ではスイッチＳ１である。ネットワークＮＷ１におけるスイッチＳ１−Ｓ７に関するランキング値を、当該スイッチの各々について以下の表１に記載している。
【００４７】
表１は、ノード発見処理フェーズの後の、図１の各スイッチＳ１−Ｓ７におけるアドレス転送テーブルＡＦＴを示す。例えばスイッチＳ１について、同図には、インタフェースＮｏ．１を介して、スイッチＳ２、Ｓ３、Ｓ４、Ｓ５、及びルータＲ２、Ｒ３、Ｒ４へ到達することが示されている。インタフェースＮｏ．３を介して管理ノードＮＭＳ１へ、インタフェースＮｏ．４を介してルータＲ１へ、及び、インタフェースＮｏ．５を介してスイッチＳ６、Ｓ７へ到達する。
【００４８】
【表１】
2010514340.tif 000003
【００４９】
ＡＦＴテーブルから、本方法は、図１のスイッチＳ１はインタフェース３上でネットワーク管理システムＮＭＳ１に接続されているために最高のランキング値ＲＶ＝１０を有するスイッチであると決定する。スイッチＳ１は、インタフェース１上で多くのスイッチ及びルータに到達し得るため、このインタフェースは、２番目に高いランキング値のスイッチＳ３へ、当該スイッチのインタフェースＮｏ．４を通じて接続され、それにより管理ノードＮＭＳ１へ至ると見なされる。従って、管理ノードＮＭＳ１によって発見されるネットワークＮＷ１の図（picture）において、スイッチＳ１のインタフェース１はスイッチＳ３のインタフェースに対してリンクによって接続される。類似の方法により、スイッチＳ１のインタフェース５は、スイッチＳ６のインタフェース１と相互に接続される。インタフェース４は、ちょうど１つだけのルータへ到達し得る。この場合、インタフェース４は、ＭＡＣアドレスがＡＦＴのものと一致するルータ・インタフェースを通じて、ルータＲ１に直接接続される。全てのスイッチは、類似の方法で処理され、スパニング・ツリー発見処理フェーズが完了する。
【００５０】
図４は、スパニング・ツリーの発見処理方法のフローチャートを示す。同図は、上述の方法をより詳細に示しており、図１のネットワークＮＷ１と関連付けられた例を用いて説明する。最初は、ネットワークＮＷ１のトポロジはノードＮＭＳ１のシステムＮＭＳに知られていないものと仮定することに留意されたい。ブロック４０１において、管理ノードＮＭＳ１によって、全てのスイッチからＡＦＴが収集される。ブロック４０２において、各スイッチのランキング値が生成され、管理ノードＮＭＳ１に対するインタフェースが記録される。上述のように、スイッチＳ１は最高のランキング値を有し、インタフェース３はネットワーク管理システムＮＭＳを接続する。ブロック４０３において、スイッチＳ１が選択され、初回はこのブロックを通過し、ブロック４０４において、インタフェース３が選択される。ブロック４０５において、インタフェース３がＮＭＳに到達するか否か、及び当該ノードが最高のランキング値を有するか否かが判定される。ｙｅｓの選択肢Ｙの場合、ブロック４０６において、インタフェース３がツリー発見処理でノードＮＭＳ１と接続される。次のステップは、当該インタフェースが現在のスイッチＳ１の最後のインタフェースであるか否か判定されるブロック４１１において、実行される。これは、発見処理においてインタフェース３のみが記録される場合ではない。従って、ｎｏの選択肢Ｎの場合、スイッチＳ１上のインタフェース１のためにブロック４０４へ戻る。ブロック４０５は、ブロック４０７へ至るｎｏの選択肢Ｎを与え、そこで、当該インタフェースが１つのルータのみに到達するか否かが判定される。これが事実ではないと、ｎｏの選択肢Ｎによりブロック４０９へ至る。このブロックにおいて、当該インタフェースが、ｙｅｓの選択肢Ｙの場合である何れかのスイッチへ到達するか否かが判定される。ブロック４１０において、インタフェース１はスイッチＳ３に接続され、続くブロック４１１において“最後のインタフェースか？”の問いは、ｎｏの選択肢Ｎを与える。ブロック４０４、４０５、４０７及び４０９の処理は、ブロック４０９における問いがｎｏの選択肢Ｎを生じてブロック４１１へ至るまでの間、他のスイッチに対する、スイッチＳ１の全インタフェースについて繰り返される。ブロック４０７の問いがｙｅｓの選択肢Ｙを生じると、ブロック４０８において、インタフェース４がルータＲ１に接続される。本処理はブロック４１１へ続き、当該ブロックにおけるｙｅｓの選択肢Ｙは、最後のスイッチか否かの問いを有するブロック４１２へ導く。ｎｏの選択肢Ｎは、ブロック４０３へ導き、当該ネットワークの次のスイッチについて、説明したように処理が繰り返される。当該繰り返しは、最後のスイッチの最後のインタフェースがブロック４１２においてｙｅｓの選択肢を与えるまで続き、当該処理はブロック４１３において終了する。
【００５１】
物理リンクＰＬ２に対して遮断されたインタフェースは、上述の処理では発見されないことに留意されたい。
【００５２】
（遮断されたインタフェースの発見処理）
上述のように、発見処理は、全てのスイッチのインタフェースで使用可能なスパニング・ツリー・プロトコルｘＳＴＰを用いて開始する。ｘＳＴＰは、上述のように、一貫性があり（consistent）かつループのないスパニング・ツリーＳＴ１を生成し、それによりスイッチのインタフェースの一部が遮断され得る。一例は、図１のネットワークＮＷ１の物理リンクＰＬ２へのインタフェースである。初期化フェーズを完了するために、当該スイッチ上のこれらの遮断されたインタフェースも発見されなければならない。
【００５３】
ｘＳＴＰによって遮断されたインタフェースの発見処理は、“指定ブリッジ”のようなブリッジＭＩＢの一部のフィールドを用いて実行され得る。いずれにしても、これらのフィールドは任意であり、一部のベンダはそれらを実装しない。そのため、本方法においては異なるアプローチ、即ち、リンク・ダウン・トラップ（link down traps）の使用が見出されている。
【００５４】
リンク・ダウン・トラップは、インタフェースが、ケーブルを通じてもはや対の電気的な電圧を感知しない場合に生じる。それは、通常、おそらくはリンク障害のために、リンクが開放された場合に発生する。その場合、スイッチは、管理システムに対して当該イベントを通知しようとする。
【００５５】
このリンク・ダウン・トラップは、障害を検出したインタフェースに関するインタフェースＩＤ、及びトラップを発行したスイッチのＩＰアドレスのような、トポロジ発見処理に使用される有用な情報を運ぶ。このデータは、残りのインタフェースを発見するために使用される。
【００５６】
リンク・ダウン・トラップを生成するために、発見処理機構は、障害を引き起こさなければならない。最初にプロセスＰＴＤＰが行わなければならないことは、アップ状態にあるインタフェースが何れであるかと、発見されたツリーに属さないインタフェースは何れであるかとを確認することである。次に、当該プロセスは、各インタフェースについて、それを停止させ、関連したリンクの両端にあるスイッチから受信すべき２つのトラップから取得される情報を、照合（match）しなければならない。
【００５７】
しかしながら、スパニング・ツリー・プロトコルｘＳＴＰが動作中の場合、インタフェースのいくつかはトポロジの変更中に遮断され得る。それにより、管理ノードＮＭＳ１と他のノードとの間で非常に長期間にわたって接続性の喪失を生じ得る。当該遷移は、扱いが極めて難しく、回避しなければならない。
【００５８】
可能性のある一解決手段は、静的に設定されたサービスＶＬＡＮ（ＶＬＡＮ１）を、スパニング・ツリー・プロトコルｘＳＴＰによって決定されるスパニング・ツリーに適合（match）させることである。ＶＬＡＮは、現時点又はそれ以前に設定されるとともに、現時点で再設定される。次に、遮断されたインタフェースに対する動作中でないリンクの発見処理の開始前に、プロトコルｘＳＴＰは停止され得る。サービスＶＬＡＮ（ＶＬＡＮ１）から除外されたインタフェースは、データ・トラヒックを転送せず、障害のイベントにおけるトラップを生成し続けることに、留意されたい。サービスＶＬＡＮは、本明細書においてデータ通信ネットワークＤＣＮとも称される。
【００５９】
このフェーズの最後に、スパニング・ツリー・プロトコルｘＳＴＰは、ネットワークの種類に応じて起動されてもよいし、されなくてもよい。例えば、ＭＡＮにおいてスパニング・ツリー・プロトコルｘＳＴＰは適さない可能性がある。とりわけ、保護スイッチングが適用されるとともに、ネットワークの最近発見された物理トポロジに基づくトラヒック工学アルゴリズムによって、静的なＶＬＡＮトポロジが算出された場合である。一方で、企業ＬＡＮにおいて、ネットワーク・オペレータは、スパニング・ツリー・プロトコルｘＳＴＰを動作させ続けることを決定する可能性が高い。この場合、当該アルゴリズムは、サービスＶＬＡＮに戻される全ノードの全ポートを含み、スパニング・ツリー・プロトコルｘＳＴＰを再開させる。動作していない物理リンクに属するインタフェースのみが停止され、従って、これらのリンクはスパニング・ツリーの一部ではないためネットワークの接続性に影響しないことに留意されたい。
【００６０】
ＶＬＡＮから除外されたインタフェースは、データ・トラヒックを転送しないが、障害のイベントにおいてトラップを生成し続けることに留意されたい。これは、遮断されたインタフェースの発見処理が動作するために必要である。
【００６１】
遮断されたインタフェースは、インタフェースＭＩＢ（ＩＦ ＭＩＢ）における何らかのフィールドを使用して、ＳＮＭＰプロトコルを介して停止され、その後起動される。図５は、後述する方法に関するフローチャートである。
【００６２】
ブロック５０１において、全スイッチのＶＬＡＮが設定され、それによりスパニング・ツリー・トポロジが再現される。例示的なネットワークＮＷ１において、物理リンクＰＬ２に対するインタフェースは、ＶＬＡＮから除外される。ブロック５０２において、ｘＳＴＰプロトコルが、全スイッチＳ１−Ｓ７上で停止される。ブロック５０３及び５０４において、当該処理は、ノード及びインタフェースを連続的に選択し、その後、当該処理はインタフェースを調査し始める。ブロック５０５において、例えば、スイッチＳ３のインタフェース３等のインタフェースが起動しており、かつ、ＶＬＡＮツリーに接続されていないか否か調査される。ｎｏの選択肢Ｎの場合、当該処理は、最後のインタフェースか否かを確認するために、ブロック５１１へ進む。ｙｅｓの選択肢Ｙの場合、ブロック５０６において、インタフェースは停止され、再び起動される。ブロック５０７において、２つの予期されたトラップが受信されたか否か調査され、ｙｅｓの選択肢Ｙの場合、ブロック５１０において、インタフェース３がリンクの相手側装置（peer）と接続される。ブロック５０７においてｎｏの選択肢Ｎの場合、ブロック５０８において当該インタフェースが起きているのは３回目か否かが調査される。ｎｏの選択肢Ｎの場合、ブロック５０６及び５０７の動作が繰り返される。ブロック５０８においてｙｅｓの選択肢Ｙの場合、ブロック５０９において、当該インタフェースは未解決状態に設定される。ブロック５１１において、問題となっているスイッチにおける最後のインタフェースか否かが調査される。ｎｏの選択肢Ｎの場合、ブロック５０４から処理が繰り返される。スイッチＳ１についてｙｅｓの選択肢Ｙの場合、ブロック５１２において、当該ネットワークにおける最後のスイッチか否かが調査される。ネットワークＮＷ１について、未だ処理すべきスイッチが存在すると、ｎｏの選択肢Ｎとなる。全てのスイッチにおける遮断された全てのインタフェースが発見されるまで、ブロック５０３から処理が繰り返される。
【００６３】
このフェーズ、即ち、遮断されたインタフェースの発見処理が終わると、当該トポロジ発見方法の初期化フェーズが準備完了となる。これは、ノードＮＭＳ１のシステムＮＭＳによって、ネットワークＮＷ１の最初の物理トポロジが発見されて保存されることを意味する。
【００６４】
ネットワークの変化、オンザフライ時間ループ
オンザフライ時間ループは、通常の動作中にネットワークの変化を発見することを目的とした無限ループである。基本的に、当該ループは、ＳＮＭＰプロトコルによって、インタフェース状態を周期的に求め続けて、それを、管理ノードＮＭＳ１のデータベースに保存された過去の状態と比較する。ネットワークにおける何れの変更も１つ以上のインタフェース状態の変化をもたらすため、この方法は全ての可能性、即ち、リンク、ノード又はネットワーク・セグメントの追加及び除去を対象とする。上述の初期化時間の間に、システムＮＭＳは、スイッチに到達し、以前に算出されたデータ通信ネットワークＤＣＮを通じてトラップを取得する。
【００６５】
（リンクの追加又は除去）
図６と関連して、リンクを追加する場合を示す例について説明する。図６は、スイッチＳ１１−Ｓ４１、ルータＲ１１−Ｒ４４、及びネットワーク管理システムＮＭＳを有する管理ノードＮＭＳ１を備えるネットワークＮＷ２を示す。同図は、破線が、スイッチＳ２１のインタフェース１２とＳ３１のインタフェース１３との間の新たな物理リンクＰＬ３であるシナリオを示す。ＮＭＳ１１は、スイッチＳ２１又はＳ３１のインタフェース状態を確認する場合、ネットワークにおける新たな接続を検出する。次に、この接続について、他方の相手側装置のインタフェース１３を発見するために、インタフェース１２等の、検出されたインタフェースを停止して、受信されるトラップを待つ。この場合、ＮＭＳは、スイッチＳ２１及びＳ３１のリンク・ダウンのトラップを取得し、これにより、新たなリンクＰＬ３を発見する。
【００６６】
ノードＮＭＳ１は、トラップを取得せず、又は１つのみ取得した場合、さらに３回、インタフェースを起動し、その後に停止させる。当該状況が続く場合、本方法は、新たな接続のケースではなく、新たなノードのケースであると断定し、表題“ノード又はネットワーク・セグメントの追加及び除去”以下で説明するステップを実行する。
【００６７】
リンクの除去は、追加よりも単純な動作である。これは、ノードＮＭＳ１１におけるシステムＮＭＳは、データベースにおけるインタフェース状態の、停止状態への変更だけを除いて、インタフェースを停止及び起動させる必要がないためである。それにもかかわらず、例えば、除去されたリンクの１つがデータ通信ネットワークＤＣＮの一部である場合、これは失敗となり得る。この問題及び他の関連する問題については、表題“ロバスト性及び相互接続性”以下で検討する。
【００６８】
（ノード又はネットワーク・セグメントの追加及び除去）
プロセスＰＴＤＰは、リンク追加フェーズの間に２つの正当な対応するトラップを取得できない場合、当該接続はネットワークに追加された新たなノードにつながっていると断定する。当該ノードは、既に発見されたネットワークだけに接続されていてもよいし、新たなネットワーク・セグメントの一部であってもよい。いずれにしても、プロセスＰＴＤＰは、新たなトポロジを発見する。
【００６９】
最初に、この新たなノードにつながっているインタフェースをＤＣＮに追加する。全ての新たなノードは、表題“要求条件及び前提”以下で説明する前提に従わなければならないため、システムＮＭＳは、ＤＣＮを介して新たなノードへアクセスできる。次に、見つかった新たな要素のみを除いて、全ての初期化プロセスを再び実行する。システムＮＭＳは、表題“初期化時間”以下でまさに説明したように、ブロードキャストｐｉｎｇを送信し、新たなアドレスを取得し、スパニング・ツリーを発見し、ループのない接続を適合させるためにＤＣＮを設定し、ｘＳＴＰを停止し、さらに遮断されたインタフェースを発見する。
【００７０】
ノードの除去を検出するために、システムＮＭＳは、インタフェースの状態を取得する前に、常に、当該要素に対してｐｉｎｇを送信する。応答がない場合、さらに３回、再度ｐｉｎｇを送信することを試みて、その後、応答がそれでもなお受信されない場合、発見処理の方法は、当該ノード及びその接続をトポロジから除去する。
【００７１】
図７は、セグメントの追加の典型的なシナリオを示す。図６のネットワークＮＷ２に対して、発見される要素を表す、破線のノード及びリンクから成るネットワーク・セグメントＮＷＳ２が追加される。当該要素は、スイッチＳ５１、Ｓ６１及びＳ７１、ルータＲ５１、並びに物理リンクＰＬ４である。
【００７２】
図６のネットワークＮＷ２及び図７のネットワーク・セグメントＮＷＳ２に関する、オンザフライによる方法の完全なフローチャートを図８に示す。本方法は、ブロック８０１において始まり、ブロック８０２においてノードの１つが選択される。ブロック８０３において、選択された当該ノードに対してｐｉｎｇメッセージが送信され、ブロック８０４において、応答が受信されたか否かが調査される。ブロック８０５においてｎｏの選択肢Ｎの場合、以前に選択されたノードに対する３回目の試行か否かが調査される。ｎｏの選択肢Ｎの場合、本方法は、この以前に選択されたノードへ戻る。ブロック８０５においてｙｅｓの選択肢Ｙの場合、当該ノード及びその接続が除去され、本方法は、ブロック８０２において別のノードを選択する。ブロック８０４において、ｙｅｓの選択肢Ｙが正しい選択である場合、本方法は、ブロック８０７において、当該インタフェースの状態を取得する。ブロック８０８では、各インタフェースが含まれるべきであることを意味している。ブロック８０９においては、インタフェースの状態が変化したか否かが調査される。ｎｏの選択肢Ｎの場合、ブロック８１０において、当該ノードの最後のインタフェースか否かが調査される。ｎｏの選択肢Ｎの場合、ブロック８０８において、当該ノードの次のインタフェースが選択され、ｙｅｓの選択肢の場合、ブロック８０２において、ネットワークの次のノードが選択される。ブロック８０９においてｙｅｓの選択肢Ｙの場合、ブロック８１１において、データベースにおいて当該インタフェースの状態が変更される。ブロック８１２において、当該インタフェースが停止しているか否かが調査される。ｙｅｓの選択肢Ｙの場合、ブロック８１３において、関連する接続が除去されるとともに、本方法は、説明したようにブロック８１０へ進む。ブロック８１２においてｎｏの選択肢Ｎの場合、ブロック８１４において、当該インタフェースはまず停止され、次に起動される。待機の後、ブロック８１５において、トラップが受信されたか否かが調査される。ｙｅｓの選択肢Ｙの場合、ブロック８１６において、当該接続が追加され、本方法は、説明したようにブロック８１０におけるステップを選択する。ブロック８１５においてｎｏの選択肢Ｎの場合、ブロック８１７において、当該インタフェースに対して３回目の試行であるか否かが調査される。ｎｏの選択肢Ｎの場合、ブロック８１４が繰り返され、ｙｅｓの選択肢Ｙの場合、ブロック８１８において、本実施形態におけるノードＮＭＳ１１のＮＭＳによって、現在のインタフェースが組み込まれる。次に、ネットワークＮＷ２と同様に、ネットワーク・セグメントＮＷＳ２が検査される。ブロック８１９において、ノード発見処理が実行され、ブロック８２０において、ツリーの発見処理が実行され、さらにブロック８２１において、遮断されたインタフェースの発見処理が実行される。その後、本方法は、ブロック８０２における次のノードへ移行する。
【００７３】
ロバスト性（Robustness）及び相互接続性
物理トポロジの発見処理機構の実行中に、失敗が起こり得る。それにより、完全なトポロジを算出することが妨げられ得る。以下では、そのような失敗に対処するために実行され得る対応策について説明する。
【００７４】
（メッセージの紛失）
プロセスＰＴＤＰは、作業を完了するために必要となる情報を取得するために、ＳＮＴＰのような同期プロトコル・メッセージの交換に依存する。これらのメッセージの１つ、例えば、“ｇｅｔ  ｒｅｐｌｙ”メッセージが失われた場合、プロセスＰＴＤＰは、応答を待つことを遮断し続けるであろう。別の場合、即ち、何らかの未知の理由により、問題となっているスイッチが、インタフェースが停止する際にトラップを送信できない場合には、同一の結果をもたらす。ここで、当該トラップは、プロセスＰＴＤＰによって当然に予期されていることを思い出されたい。
【００７５】
プロセスＰＴＤＰは、タイマー又は再試行を用いてそのような状況に対処する。基本的に、当該プロセスは、応答又はトラップを待つたびに、タイマーを起動する。当該タイマーが所定の閾値に達した場合、当該プロセスは待機することを止めて、次のステップへ進む。
【００７６】
図３のｐｉｎｇブロードキャストの場合、プロセスＰＴＤＰは、ｐｉｎｇブロードキャストを発行し、到着した全ての応答を記録しながらタイムアウトを待つ。この処理は、プロセスＰＴＤＰに既に記録されている応答を無視させながら、３回繰り返される。
【００７７】
図５のトラップの受信の場合、プロセスＰＴＤＰは、ＳＮＭＰプロトコルを介してインタフェースを停止及び起動させて、実際のリンクにおける他方の端部にある他のインタフェースによって生成されるのと同様に、当該インタフェースによって生成されるべきトラップを待つ。タイムアウトに達し、予期されたトラップが到着しない場合、プロセスＰＴＤＰはこの手順を最大３回まで繰り返す。トラップが到着しない理由は、当該トラップが対応するスイッチで生成されないことであり、それは時には未知の理由によって生じ、又は、途中で廃棄されることである。そのような試行の後に、プロセスＰＴＤＰが予期されたトラップの受信を失敗し続ける場合、当該プロセスは次のインタフェースへ移行する。当該次のインタフェースは、リンクの他方の端部にあるインタフェースでもよく、その場合、以前に試行したインタフェースが、ＰＴＤＰによって受信されるトラップを生成する新たな機会がある。従って、本方法はロバスト（robust）である。
【００７８】
初期化フェーズの間にインタフェースが発見されなくとも、プロセスＰＴＤＰがオンザフライ時間ループ・トポロジ発見処理に入る際に、ネットワーク運用期間中であり続けてもよい。
【００７９】
（要素の除去）
データ通信ネットワークＤＣＮが、当該ネットワークの通常のリンクで構成される場合（帯域内ＤＣＮアプローチ）、除去は深刻な問題となり得る。リンクの除去は、例えば、ネットワーク管理システムＮＭＳ及び他のいくつかの要素の間における通信の中断を引き起こし得る。さらに、ＦＨＰのような障害対処プロトコル（failure handle protocols）は、当該除去をリンク障害のように処理する。
【００８０】
プロセスＰＴＤＰの主な焦点は、レイヤ２（Ｌ２）ネットワークの完全な物理トポロジと、その運用中における新たな要素の追加とを発見することである。除去検出が可能であっても、任意のネットワーク要素を除去する正常な手順は、その実行前にスケジューリングすることである。まず第一に、ネットワーク管理者は、プロセスＰＴＤＰを停止させ、データベースを新たなトポロジに適合させるために、データベース上の要素を手動で除去した後に、プロセスＰＴＤＰを再開させるべきである。しかしながら、このとき、プロセスＰＴＤＰは、初期化時間を実行しないが、物理トポロジを組み立てるためにデータベース情報を使用する。この後、当該プロセスは、新たな変化を発見することを目的として、オンザフライ時間ループを実行し続ける。
【００８１】
試験
テストベッド（testbed）・ネットワーク上で、いくつかの物理トポロジが、実験的に調査されている。プロセスＰＴＤＰを強化し、当該機構の平均収束時間においてより高い信頼性を得るために、各トポロジは、何十回と試験される。これを目的として、自動化された試験ソフトウェアが開発されている。
【００８２】
図９は、物理トポロジの１つであるネットワークＮＷ３を示し、当該テストベッドで実行されている。このトポロジは、２個のD-link DES-3526スイッチＳ１２、Ｓ２２と、６個のExtreme Summit-200スイッチＳ３２、Ｓ４２、Ｓ５２、Ｓ６２、Ｓ７２、Ｓ８２と、IntelベースのLinuxの３個のＰＣルータＲ１２、Ｒ２２、Ｒ３２と、管理ノードＮＭＳ１２とから成る。このトポロジは多数のループを含み、これにより、当該機構がネットワークの物理トポロジを決定することをより難しくする。
【００８３】
本明細書の機構は、初期化時間中に、ノードの特定と物理トポロジの決定との両方をおおよそ平均３分かかって、全ての試験を成功裏に通過した。トポロジ発見処理が実行された後に、本方法は、新たな変更を取得するために、全てのノードの周期的な確認処理を開始し、当該機構は、当該ネットワークの通常の運用中に、リンク、ノード及びネットワーク・セグメントの追加及び除去をもう一度成功裏に検出した。
【００８４】
本方法を実行するためのシステム（Arrangement）
上述の方法を実行するためのシステムの一実施形態を図１０に示す。当該システムは、ネットワーク管理システムＮＭＳとトポロジ・サーバ１２１とを備える管理ノード１２０を含む。当該システムはまた、管理ノード１２０に接続され得るノードＮ１、Ｎ２及びＮ３を含む。ノードＮ１、Ｎ２及びＮ３の各々は、アドレス転送テーブルＡＦＴ１２３に接続されているスパニング・ツリー・プロトコルｘＳＴＰデバイス１２２を有し、同様に、ＡＦＴ１２３は、ブリッジ管理情報ベースＭＩＢ１２４に接続されている。同様に、ブリッジＭＩＢ１２４は、ＭＩＢ−II１２５とシンプル・ネットワーク管理プロトコルＳＮＭＰデバイス１２６とに接続されている。管理ノード１２０は、ｔｅｌｎｅｔを介してｘＳＴＰデバイス１２２に接続されており、また、ＳＮＭＰデバイス１２６にも接続されている。ｘＳＴＰデバイスは、レイヤ２ネットワークにおける起こり得るループを回避するだけでなく、アドレス転送テーブルＡＦＴを投入する（populate）ためにも使用される。ＡＦＴ情報は、ブリッジＭＩＢ１２４に保存され、ＳＮＭＰの“ｇｅｔ”コマンドを介してＮＭＳによって受信される。ＮＭＳは、ｔｅｌｎｅｔコマンドを使用して、ｘＳＴＰを起動及び停止できる。管理されるネットワークにあるスイッチへのリンク１２７も示している。
【図１】
2010514340.tif 000004
【図２】
2010514340.tif 000005
【図３】
2010514340.tif 000006
【図４】
2010514340.tif 000007
【図５】
2010514340.tif 000008
【図６】
2010514340.tif 000009
【図７】
2010514340.tif 000010
【図８】
2010514340.tif 000011
【図９】
2010514340.tif 000012
【図１０】
2010514340.tif 000013
【国際調査報告】
2010514340.tif 000014
2010514340.tif 000015
2010514340.tif 000016
2010514340.tif 000017