(57)【要約】【課題】  イーサネット（登録商標）網における仮想ＬＡＮの構成ノードが不明の場合でも、構成ノード間の実際の接続状態を把握することを可能とする。【解決手段】  仮想ＬＡＮが設定されているネットワークにおいて仮想ＬＡＮトポロジーを把握する。仮想ＬＡＮに確かに属する任意のノードから、仮想ＬＡＮに所属し且つ隣接する隣接ノードの各々にノード間の通信回数を示す計数値を含む要求パケットを送信する。ノードの各々が、要求パケットを受信した場合、仮想ＬＡＮに所属し且つ当該ノードに隣接する隣接ノードのうち受信した要求パケットの送り主を除く隣接ノードの各々に対し、前記計数値に所定の加算または減算を施して前記要求パケット送り、かつ送り主のアドレス（送り主アドレス）、応答ノードである当該ノードのアドレス（応答ノードアドレス）および前記計数値を含む応答パケットを所定の返送先に送る。上記の所定の返送先が、送られてくる応答パケットを収集し、応答パケットに含まれる情報から仮想ＬＡＮを構成するノードのトポロジーを把握する。【選択図】図１
2005328318.tif 000002
【特許請求の範囲】
【請求項１】
仮想ＬＡＮ（local area network）が設定されているネットワークにおいて前記仮想ＬＡＮを構成するノードのトポロジーを検出する方法であり、
前記仮想ＬＡＮに属することが確かである任意のノードが、前記仮想ＬＡＮに所属し且つ隣接する隣接ノードの各々にノード間の通信回数を示す計数値を含む要求パケットを送信するステップと、
前記隣接ノードの各々が、前記要求パケットを受信した場合、前記仮想ＬＡＮに所属し且つ当該ノードに隣接する隣接ノードのうち前記の受信した要求パケットの送り主を除く隣接ノードの各々に対し、前記計数値に所定の加算または減算を施して前記要求パケット送り、かつ前記送り主のアドレス（送り主アドレス）、応答ノードである当該ノードのアドレス（応答ノードアドレス）および前記計数値を含む応答パケットを所定の返送先に送るステップと、
前記所定の返送先が、送られてくる前記応答パケットを収集し、前記応答パケットに含まれる情報から前記仮想ＬＡＮを構成する前記ノードのトポロジーを検出する解析ステップとからなる
ことを特徴とする仮想ＬＡＮトポロジーを検出する方法。
【請求項２】
前記解析ステップが、
前記の収集したパケットから、前記計数値、前記送り主アドレスおよび前記応答ノードアドレスからなるレコードのテーブルを生成するステップと、
前記計数値を第１のキーとし、前記送り主を第２のキーとして前記テーブルのレコードをソートするステップと、
各レコードにおいて前記送り主と前記応答ノードを結びつけるとともに、前記送り主アドレスが同じ送り主を統合するステップと、
前記テーブルのレコードを順に解析することにより、前記仮想ＬＡＮのトポロジーを決定するステップとを含む
ことを特徴とする請求項１記載の仮想ＬＡＮトポロジーを検出する方法。
【請求項３】
前記計数値は、ＴＴＬ（time to live）または前記任意のノードからのホップ数の何れかであることを特徴とする請求項１または２記載の仮想ＬＡＮトポロジーを検出する方法。
【請求項４】
前記要求パケットが、前記送り主アドレスと当該要求パケットが送出されるポートの送信ポート番号を含み、
前記応答パケットが、前記送り主アドレスの他に前記送信ポート番号を含み、かつ前記応答ノードアドレスの他に前記要求パケットを受信したポートの受信ポート番号を含み、
前記解析ステップが、
前記の収集したパケットから、前記計数値、前記送り主アドレス、前記送信ポート番号、前記応答ノードアドレスおよび前記受信ポート番号からなるレコードのテーブルを生成するステップを含む
ことを特徴とする請求項２または３記載の仮想ＬＡＮトポロジーを検出する方法。
【請求項５】
前記要求パケットを送信するステップが、前記要求パケットの送信時刻を前記要求パケットに含めるステップを含み、
応答パケットを所定の返送先に送るステップが、前記要求パケットの受信時刻と前記応答パケットの送信時刻とを前記応答パケットに含めるステップを含み、
前記解析ステップが、
前記応答パケットの受信時刻を記録するステップと、
前記要求パケットの送信時刻、前記要求パケットの受信時刻、前記応答パケットの送信時刻、および前記応答パケットの受信時刻からＲＴＴ（round trip time）を求めるステップとを含む
ことを特徴とする請求項１または２記載の仮想ＬＡＮトポロジーを検出する方法。
【請求項６】
仮想ＬＡＮが設定されているネットワークにおいて前記仮想ＬＡＮを構成するノードのトポロジーを検出する方法であり、
前記仮想ＬＡＮに属することが確かである任意のノードが、前記仮想ＬＡＮに所属し且つ隣接する隣接ノードの各々にノード間の通信回数を示す計数値と前記計数値の初期値を含む第１の要求パケットを送信するステップと、
前記ノードの各々が、前記要求パケットを受信した場合、前記の受信した第１の要求パケットの出所アドレスに当該ノードのアドレスを設定して第１の応答パケットとして所定の返送先に送るとともに、前記仮想ＬＡＮに所属し且つ当該ノードに隣接する隣接ノードのうち前記の受信した第１の要求パケットの送り主を除く隣接ノードの各々に対し、前記計数値に所定の加算または減算を施して前記第１の要求パケット送るステップと、
前記所定の返送先が、送られてくる前記応答パケットを収集し、前記応答パケットに含まれる前記計数値および前記初期値に基づいてホップ数ごとのノードリストを生成するステップと、
前記任意のノードが、検査対象ノードに対して、前記検査対象ノードへのホップ数を前記計数値および前記初期値に設定した第２の要求パケットを送り、この送信動作を前記の設定するホップ数が１になるまで繰り返すスイープ検査ステップと、
前記ノードの各々が、前記第２の要求パケットを受信した場合、前記第２の要求パケットの前記初期値を前記計数値に上書きし、前記の受信した第２の要求パケットの出所アドレスに当該ノードのアドレスを設定して第２の応答パケットとして所定の返送先に送るステップと、
前記所定の返送先が、ホップ数の大きいノードリストのノードから順に前記検査対象ノードに指定して、前記ノードリストの全てのノードの接続関係が確定するまで、前記スイープ検査ステップを繰り返すステップとからなる
ことを特徴とする仮想ＬＡＮトポロジーを検出する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概してイーサネット（Ethernet）（登録商標）網に関し、さらに詳細には、イーサネット（登録商標）網に設定された仮想ＬＡＮの網構成を把握する技術に関する。
に関する。
【背景技術】
【０００２】
サービスの提供に必要な基盤設備を自ら保有する通信事業者（いわゆるキャリアと言われる第一種電気通信事業者）などが通信サービスを提供する場合、仮想ＬＡＮ技術（例えばIEEE 802.1Q）を用いて、保有するイーサネット（登録商標）網を構成するノードを顧客である企業ごとに論理的にグループ分けし、いわゆる仮想ＬＡＮ（local area network）を幾つも編成して運用するのが一般的である。このようなサービスを一般に広域ＬＡＮサービス、もしくは広域Ｌ２（layer 2）サービスと呼ぶ。図１７は、ある通信事業者の保有する通信網設備の例を示す図である。図１７において、通信事業者の保有する通信網１は、小円で表したノード１０、ノード間の通信を可能とするリンク１２、およびノード１０とリンク１２からなる通信網全体を管理するオペレーション・システム３０から構成される。Ｎと番号の組み合わせでノードのＩＤを表し、Ｐと番号の組み合わせで、そのノードの通信に用いるポートのＩＤを表す。例えば、ノードＮ１とＮ２は、Ｎ１のポートＰ１とＮ２のポートＰ２を用いて通信を行う。図１７の例では、通信事業者は、Ａ社のためにノードＮ１〜Ｎ４を用いて仮想ＬＡＮ２０−Ａを論理的に設定している。また、Ｂ社のためにも、ノードＮ３〜Ｎ１０を用いて仮想ＬＡＮ２０−Ｂを設定している。
【０００３】
ところで、このような仮想ＬＡＮの設定を全てオペレーション・システム３０が行えば、問題はないが、時としてオペレーション・システム３０ではなく、各ノード１０において担当者が行う場合もある。このような場合、オペレーション・システム３０が管理している仮想ＬＡＮ管理データと、現実に設定された仮想ＬＡＮを構成するノードが一致せず、仮想ＬＡＮの正確な接続状況を把握できない場合がある。
【０００４】
従来技術として、ＴＣＰ／ＩＰに関するユーティリティであるpingやtracerouteによって、ＩＰレベルでノード間の接続性とノード間の接続関係を知る手段が提供されている。この技術と同等の技術をイーサネット（登録商標）レベルに適用することにより、Bridge間の接続性やBridge間の接続関係を認識することが可能となる。しかしながら、これらの技術は、予めターゲットとなるノードのアドレス（ＩＰアドレスまたはＭＡＣアドレス）を知っている必要があるので、上記のように仮想ＬＡＮを構成するノード自体が正確に分からない状況では、役に立たない。なお、ＩＰアドレスは、Internet Protocolアドレスであり、ＭＡＣアドレスは、Media Access Controlアドレスである。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、イーサネット（登録商標）網における仮想ＬＡＮの実際の接続状態を把握する技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、上記の課題を解決するためになされたものであり、仮想ＬＡＮ（local area network）が設定されているネットワークにおいて前記仮想ＬＡＮを構成するノードのトポロジーを把握する方法を提供する。本発明の第１の実施形態による仮想ＬＡＮトポロジーを把握する方法は、仮想ＬＡＮに属することが確かである任意のノードが、仮想ＬＡＮに所属し且つ隣接する隣接ノードの各々にノード間の通信回数を示す計数値を含む要求パケットを送信するステップと、ノードの各々が、要求パケットを受信した場合、仮想ＬＡＮに所属し且つ当該ノードに隣接する隣接ノードのうち受信した要求パケットの送り主を除く隣接ノードの各々に対し、前記計数値に所定の加算または減算を施して前記要求パケット送り、かつ前記送り主のアドレス（送り主アドレス）、応答ノードである当該ノードのアドレス（応答ノードアドレス）および前記計数値を含む応答パケットを所定の返送先に送るステップと、上記の所定の返送先が、送られてくる応答パケットを収集し、応答パケットに含まれる情報から仮想ＬＡＮを構成するノードのトポロジーを把握する解析ステップとからなる。
【０００７】
上記の解析ステップは、収集したパケットから、計数値、送り主アドレスおよび応答ノードアドレスからなるレコードのテーブルを生成するステップと、計数値を第１のキーとし、送り主を第２のキーとして上記テーブルのレコードをソートするステップと、各レコードにおいて送り主と応答ノードを結びつけるとともに、送り主アドレスが同じ送り主を統合するステップと、テーブルのレコードを順に解析することにより、仮想ＬＡＮのトポロジーを決定するステップとを含む。
【０００８】
計数値は、ＴＴＬ（time to live）または任意のノードからのホップ数の何れかである。
要求パケットが、送り主アドレスと当該要求パケットが送出されるポートの送信ポート番号を含み、応答パケットが、送り主アドレスの他に送信ポート番号を含み、かつ応答ノードアドレスの他に要求パケットを受信したポートの受信ポート番号を含み、上記の解析ステップが、収集したパケットから、計数値、送り主アドレス、送信ポート番号、応答ノードアドレスおよび受信ポート番号からなるレコードのテーブルを生成するステップを含んでもよい。
【０００９】
また、本発明は、第２に実施形態による仮想ＬＡＮトポロジー把握方法を提供する。この方法は、仮想ＬＡＮに属することが確かである任意のノードが、仮想ＬＡＮに所属し且つ隣接する隣接ノードの各々にノード間の通信回数を示す計数値と計数値の初期値を含む第１の要求パケットを送信するステップと、ノードの各々が、要求パケットを受信した場合、上記の受信した第１の要求パケットの出所アドレスに当該ノードのアドレスを設定して第１の応答パケットとして所定の返送先に送るとともに、仮想ＬＡＮに所属し且つ当該ノードに隣接する隣接ノードのうちの受信した第１の要求パケットの送り主を除く隣接ノードの各々に対し、計数値に所定の加算または減算を施して第１の要求パケット送るステップと、所定の返送先が、送られてくる応答パケットを収集し、応答パケットに含まれる計数値および初期値に基づいてホップ数ごとのノードリストを生成するステップと、任意のノードが、検査対象ノードに対して、検査対象ノードへのホップ数を計数値および初期値に設定した第２の要求パケットを送り、この送信動作を設定するホップ数が１になるまで繰り返すスイープ検査ステップと、ノードの各々が、第２の要求パケットを受信した場合、第２の要求パケットの初期値を計数値に上書きし、受信した第２の要求パケットの出所アドレスに当該ノードのアドレスを設定して第２の応答パケットとして所定の返送先に送るステップと、所定の返送先が、ホップ数の大きいノードリストのノードから順に検査対象ノードに指定して、ノードリストの全てのノードの接続関係が確定するまで、スイープ検査ステップを繰り返すステップとからなる。
【発明の効果】
【００１０】
本発明によれば、イーサネット（登録商標）網における仮想ＬＡＮの構成ノードが不明の場合でも、構成ノード間の実際の接続状態を把握することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施形態と添付図面とにより本発明を詳細に説明する。なお、複数の図面に同じ要素を示す場合には同一の参照符号を付ける。
〔第１の実施形態〕
図１は、本発明の第１の実施形態により所与の仮想ＬＡＮのトポロジ（接続状態）を把握する方法を示す図である。図１（ａ）は、本発明の第１の実施形態によりノード間の接続状態を把握しうる仮想ＬＡＮの構成例を示す図である（図１（ｂ）および（ｃ）は後述する）。図１（ａ）のネットワークシステムは、ノード、仮想ＬＡＮおよびオペレーション・システムが、それぞれ１０、２０、３０から１０ａ、２０ａ、３０ａに置き換わった点を除けば、図１７のＢ社用の仮想ＬＡＮと同じである。図２は、図１（ａ）のオペレーション・システム３０ａの構成例を示す略ブロック図である。図２において、本発明の網管理システムであるオペレーション・システム３０ａは、コンピュータベースの制御部３１、通信事業者が提供する種々の仮想ＬＡＮを定義する仮想ＬＡＮ定義データ３３および種々のプログラム３４を格納する大容量記憶装置３２、および各ノードと通信を行うための通信部３５を備える。オペレーション・システム３０ａは、種々のプログラムの中に本発明により仮想ＬＡＮのトポロジを決定するためのプログラムを含む点を除けば、通常の網管理システムと同じでよい。
【００１２】
図３は、図１のノード装置１０ａの構成例を示す略ブロック図である。図３において、ノード装置１０ａは、ブリッジまたはスイッチ４０、ブリッジまたはスイッチ４０に接続されて他のノードとの通信を行う少なくとも１つの回線カード５０、ノード装置全体を制御する制御部６０、および制御部６０が使用するデータおよびプログラムを格納する外部記憶装置７０を備える。回線カード５０には、Ｐ１,..,Ｐｊ,..,Ｐｋ,..,ＰＮ（Ｎは回線カードの個数、１＜ｊ，ｋ＜Ｎ）なるポート番号が付してある。ブリッジまたはスイッチ４０は、ノード間のデータ転送に必要なＦＤＢ（フォワーディング・データベース）４２を備える。
【００１３】
図４は、ノード番号Ｎｉのノードが有するＦＤＢ４２の構成を示す図である。ＦＤＢ４２は、ノード間のパケットの転送に使用するルーティングテーブル４４およびノードＮｉが属する仮想ＬＡＮの隣接ノードリスト４６を少なくとも含む。隣接ノードリスト４６は、ノードＮｉが所属する仮想ＬＡＮを構成し、かつノードＮｉに隣接するノード宛のポート番号のリストであり、詳細に後述するように本発明による仮想ＬＡＮ構成確認要求パケットの転送に使用するものである。１つのノードが複数の仮想ＬＡＮに使用される（所属する）可能性があるので、隣接ノードリスト４６は、所属する仮想ＬＡＮごとに、所属する仮想ＬＡＮのＩＤ、およびその仮想ＬＡＮに属する隣接ノードへのポート番号のリストからなる。例えば、図１（ａ）のノードＮ３は、Ａ社とＢ社の仮想ＬＡＮに使用されているので、それぞれの仮想ＬＡＮのＩＤをＶＬＡＮ（Ａ）およびＶＬＡＮ（Ｂ）とすれば、ＶＬＡＮ（Ａ）にＰ１（Ｎ２へのポートの番号）およびＰ３（Ｎ４へのポートの番号）が関係付けられ、ＶＬＡＮ（Ｂ）にＰ３（Ｎ４へのポートの番号）およびＰ２（Ｎ５へのポートの番号）が関係付けられることになる。
【００１４】
以上のように、ノード装置１０ａは、ＦＤＢ４２に仮想ＬＡＮごとに隣接ノードリストを備え、後述の本発明による仮想ＬＡＮ構成確認用プログラムの制御下で動作するノード装置であれば何でもよい。
【００１５】
ここで、本発明の第１の実施形態の原理を説明する。本発明による仮想ＬＡＮ構成確認（または把握）動作は、（１）オペレーション・システム３０ａが、構成確認の対象となる仮想ＬＡＮ（「確認対象の仮想ＬＡＮ」と称する）を構成するノードの１つに、確認対象の仮想ＬＡＮのＩＤを含む仮想ＬＡＮ構成確認要求パケット（以降、単に「要求パケット」と称する）をマルチキャストさせることから始まる。この最初に要求パケットを送るノードを「確認要求元ノード」または「確認要求元ＮＥ（網要素）」と称する。勿論、この確認要求元ノードが確認対象の仮想ＬＡＮに属するノードであることは確かな事実であるものと仮定する。要求パケットを受信したノードは、（２ａ）応答パケットを要求ノードに返すとともに、（２ｂ）要求パケットをまだ受信していない隣接ノードに要求パケットをマルチキャストする（末端のノードは、動作２ｂを行わない）。（３）確認要求元ＮＥは、このようにして確認対象の仮想ＬＡＮを構成する自分以外のノードから返された応答パケットから必要な情報を抽出し、抽出した情報を分析して確認対象の仮想ＬＡＮの接続性と接続関係を得る。
【００１６】
例えば、図１（ａ）のＢ社のＶＬＡＮを例にとって説明する。まず、（１）オペレーション・システム３０ａが、ノードＮ３に対して、隣接するノードＮ４およびＮ５に要求パケットを送らせる。すると、要求パケットを受信したノードＮ５は、（２ａ）応答パケットＲＰ５を返すとともに、（２ｂ）要求パケットをまだ受信していない隣接ノードＮ６〜Ｎ８に要求パケットをマルチキャストする（これは、末端のノードは不要）。その他のノードＮ４およびＮ６〜Ｎ１０も（２）の動作を実行することにより、応答パケットＲＰ４〜ＲＰ１０を確認要求元ＮＥに返す。オペレーション・システム３０ａまたは確認要求元ＮＥは、（３）収集した応答パケットＲＰ４〜ＲＰ１０を元に図１（ｂ）に示すような隣接ノードテーブル４８を作成し、この隣接ノードテーブル４８を解析して図１（ｃ）に示すような確認対象の仮想ＬＡＮの網構成を確認する。
【００１７】
以下、さらに詳細に第１の実施形態を説明する。
図５は、第１の実施形態による仮想ＬＡＮ構成確認要求パケットの構成、仮想ＬＡＮ構成確認要求パケットを受信した場合に、マルチキャスト用に更新された確認要求パケットおよび生成された応答パケットの構成例を示す図である。
【００１８】
＜仮想ＬＡＮ構成確認要求パケット＞
仮想ＬＡＮ構成確認要求パケットは、次の表１の情報を収容する。
フィールド名            内容
--------------------------------------------------------------------------------
宛先アドレス（ＤＡ）    マルチキャスト・アドレス
出所アドレス（ＳＡ）    自分（このパケットの送り主）のＭＡＣアドレス
ＶＰＩＤ／ＴＣＩ        仮想ＬＡＮタグ＝確認対象の仮想ＬＡＮのＩＤ
Ether type             ＯＡＭ用に割り当てた特別な番号
バージョン              ＯＡＭ機能のバージョン番号
ＯＡＭ種別              ＯＡＭパケットの種類を示す識別子
0x31：要求パケット
0x32：応答パケット
要求元ＭＡＣアドレス    仮想ＬＡＮ構成確認要求元ＮＥのＭＡＣアドレス
（応答パケットの宛先アドレスとなる）
試験番号                確認要求元ＮＥからの要求パケットの識別番号
（複数ポートから要求パケットを送信する場合、各要求パケ
ットに0x01から通し番号を付ける）
最大ホップ数            確認要求元ＮＥからのホップ数の許容値
（最大ホップ数を超えて要求パケットの転送は行わない）
ホップカウント          確認要求元ＮＥからのホップ数
（確認要求元ＮＥ自体のホップ数は０）
送信ポート情報          ポート番号および属性など
・要求パケット送信ＮＥのＩＰアドレス
・要求パケット送信ＮＥのＭＡＣアドレス
・要求パケット送信ＮＥの送信ポートのＩＤ
ＰＡＤ                  パケット長調整用の充填データ（paddingデータ）
ＦＣＳ                  フレームチェックシーケンス（データ検査用のデータ）
送信ノード送信時刻      要求パケットの送信時刻
受信ノード受信時刻      要求パケットの受信時刻（このパケットの送信時には空）
受信ノード送信時刻      応答パケットの送信時刻（このパケットの送信時には空）
送信ノード受信時刻      応答パケットの受信時刻（このパケットの送信時には空）
--------------------------------------------------------------------------------
なお、図５においては、ＰＡＤとＦＣＳは省略した。本発明の仮想ＬＡＮ構成検出に用いる要求パケットおよび応答パケットを一括してＯＡＭ（operation administration and maintenance）用パケットと称する。
【００１９】
本実施形態によれば、確認要求元ＮＥを含めて各ノードが送信（マルチキャスト）する要求パケットは、基本的に上記の表１の構成を有するが、確認要求元ＮＥが送るものとその他のノードが送るものとでは、次の点が異なる。即ち、確認要求元ＮＥまたはオペレーション・システム３０ａは、宛先アドレス（ＤＡ）をマルチキャストに、出所アドレス（ＳＡ）を確認要求元ＮＥのＭＡＣアドレスに、ＶＰＩＤ／ＴＣＩを確認対象の仮想ＬＡＮのＩＤに、バージョンを現在のＯＡＭプログラムのバージョン番号に、ＯＡＭ種別をＯＡＭパケット（本発明の仮想ＬＡＮ構成確認動作で使用するパケット）の種類を示す識別子（即ち、要求パケットを表す値、例えば0x31）に、それぞれ設定し、試験番号をノードＮ４に送るパケットには0x01に、ノードＮ５に送るパケットには0x02に設定し、さらに最大ホップ数を確認要求元ＮＥからのホップ数の許容値に、ホップカウントを初期値である0x00に、それぞれ設定して要求パケットを生成する。また、送信ポート情報の送信ポートＩＤは、図１（ａ）に示すように、ノード４にはポートＰ３から送り、ノードＮ５にはポートＰ２から送るので、ノード４への要求パケットには送信ポートＩＤをＰ３に、ノード５への要求パケットには送信ポートＩＤをＰ２にそれぞれ設定する。
【００２０】
なお、必須ではないが、ＲＴＴの正確な測定ができるように、送信ノード送信時刻、受信ノード受信時刻、受信ノード送信時刻および送信ノード受信時刻のためのフィールドを設け、仮想ＬＡＮ構成確認要求パケットの送信時にタイムスタンプを送信ノード送信時刻フィールドに含めて送ってもよい。
【００２１】
＜仮想ＬＡＮ構成確認要求パケットの更新＞
これに対し、確認要求元ＮＥ以外のノードは、送られてきた要求パケットの一部を変更してマルチキャストすればよい。具体的には、ＤＡを自分のＭＡＣアドレスに変更し、ホップカウントをインクリメントする。さらに、このように変更した要求パケットを送信する送信ポートの情報を送信ポート情報に設定して送信する。
【００２２】
以上の説明から明らかなように、第１の実施形態では、確認要求元ＮＥから送られた要求パケットはそのまま仮想ＬＡＮ内を巡るわけではなく、１ホップしか転送されず、その代わり、要求パケットを受け取ったノードはその要求パケットを自分発の要求パケットとして（ただし、要求元ＭＡＣアドレス・フィールドには確認要求元ＮＥのＩＤが入っている）マルチキャストする。
【００２３】
＜応答パケット＞
また、各ノードは、要求パケットを受信すると、図５の右下に示すような応答パケットを確認要求元ＮＥ宛に返す。応答パケットの構成自体は、要求パケットに受信ポート情報フィールドとエラー情報フィールドを追加したものである。したがって、受信した要求パケットのコピーを作成し、このコピーにおいて、ＤＡに要求元ＭＡＣアドレスをコピーし、ＳＡに自ノードのＭＡＣアドレスを設定し、要求パケットを受信したポートの情報を受信ポート情報フィールドに書き込み、ホップカウントが最大ホップ数を超えている場合、超過ホップ数をエラー情報フィールドに書き込めばよい。ホップカウントおよび送信ポート情報はそのまま（即ち、コピーの内容）でよい。
【００２４】
なお、受信ポート情報フィールドには、要求パケット受信ＮＥ（応答パケットの送り主）のＩＰアドレスおよびＭＡＣアドレス、および要求パケットを受信した受信ＮＥの受信ポート番号が少なくとも含まれる。
【００２５】
なお、上述のように、要求パケットに送信ノード送信時刻、受信ノード受信時刻、受信ノード送信時刻および送信ノード受信時刻のためのフィールドが含まれている場合がある。このような場合は、上述の処理の他、要求パケットの受信時刻を受信ノード受信時刻フィールドに入れ、応答パケットの送信時に受信ノード送信時刻フィールドにタイムスタンプを入れるようにする。これにより、確認要求元ＮＥが正確なＲＴＴ（round trip time）を計測することが可能となる。
【００２６】
確認要求元ＮＥによる要求パケットのマルチキャストは説明したので、仮想ＬＡＮ構成を把握するためのそれ以降の動作を図６〜８のフローチャートを参照して説明する。図６は、確認要求元ＮＥ以外のノード装置１０ａがパケットを受信した場合の動作を示す。図６において、まずステップ１０２において、ホップ数をインクリメントし、判断ステップ１０４において、ホップ数が最大ホップ数に等しいか否か判断する。等しいなら異常と判断し、ステップ１０６で、受信パケットを破棄し、パケット受信処理を終了する。
【００２７】
判断ステップ１０４において、等しくない（ホップ数＜最大ホップ数）場合、判断ステップ１１０において、ＤＡが自ノードのＭＡＣアドレスか否かを判断する。そうでない場合、他ノード宛のパケットであるから、ステップ１１２においてＦＤＢ４２を参照し他ノードに転送して、パケット受信処理を終了する。判断ステップ１１０において、自ノード宛の場合、さらなる判断ステップ１１４において、受信したパケットが仮想ＬＡＮ構成確認要求パケットか否かを判断する。要求パケットでなければ、通常の自ノード宛のパケットであるから、ステップ１１６において、受信処理を行って、図６のパケット受信処理を終了する。
【００２８】
判断ステップ１１４において要求パケットである場合、ステップ１２０において、上述の要領で応答パケットを生成して確認要求元ＮＥに送る。さらに、ステップ１２２において、受信した要求パケットからマルチキャスト用に更新した要求パケットを仮想ＬＡＮタグで指定された仮想ＬＡＮ（即ち、現在網構成を確認中の仮想ＬＡＮ）のＩＤに関係付けられた隣接ノードリスト４６のノードに送り、図６のパケット受信処理を終了する。
【００２９】
なお、ステップ１２０および１２２の順序は逆でもよい。
このようにして、確認要求元ＮＥ以外のノードは、要求パケットを受信すると、応答パケットを確認要求元ＮＥに返すとともに、更新した要求パケットを網構成を確認中の仮想ＬＡＮのマルチキャストドメインにマルチキャストする。これにより、確認要求元ＮＥ以外のノードから応答パケットが確認要求元ＮＥに送られてくるので、確認要求元ＮＥは、仮想ＬＡＮ構成確認要求パケットをマルチキャストすると、直ちに、送られてくる応答パケットを受信する体制に入る必要がある。
【００３０】
図７は、確認要求元ＮＥがパケットを受信した場合の動作を示す。図７において、確認要求元ＮＥのパケット受信処理は、ステップ１１４が１１４ａに置き換わり、ステップ１２０および１２２からなるルーチンがステップ１１８で置き換わった点を除けば、図６のパケット受信処理と同じなので、相違点のみを説明する。即ち、確認要求元ＮＥでは、ステップ１１４ａにおいて受信パケットが応答パケットか否かを判断し、受信パケットが応答パケットでなければ、前述のステップ１１６に進み、受信パケットが応答パケットならば、ステップ１３０において、応答パケットの内容から図１（ｂ）に示すような隣接ノードテーブル４８を生成する。即ち、確認要求元ＮＥは、応答パケットを受信する度に、受信パケットのホップカウント、送信ポート情報および受信ポート情報から抽出したホップ数、送信ノードＩＤ、送信ポート番号、受信ノードＩＤおよび受信ポート番号から構成されるレコードを隣接ノードテーブル４８に追加することにより、隣接ノードテーブルを生成する。図１（ｂ）の例では、確認対象の仮想ＬＡＮに属するノードＮ４〜Ｎ１０からの応答パケットＲＰ４〜ＲＰ１０から７レコードの隣接ノードテーブルを生成した。このようにして、生成した隣接ノードテーブルから図１（ｃ）に示すように仮想ＬＡＮのトポロジーを決定することができる。
【００３１】
なお、図１（ｂ）の隣接ノードテーブル４８の生成および図１（ｃ）の仮想ＬＡＮトポロジーの決定は、確認要求元ＮＥ自体で行ってもよいし、確認要求元ＮＥが収集した応答パケットをオペレーション・システム３０ａに転送して、オペレーション・システム３０ａ側で行ってもよい。
【００３２】
図８は、図１（ｂ）の隣接ノードテーブル４８を用いてホップ数の昇順に仮想ＬＡＮの接続状態を決定する処理の流れを示すフローチャートである。図８において、まず、ステップ２０２において、図１（ｂ）の隣接ノードテーブルのレコードを、ホップ数を第１のキーとし、送信ノードを第２のキーとして昇順にソートする、即ち、ホップ数でソートし、さらに同一ホップ数ごとに送信ノードでソートする。図１（ｂ）には、このようにソートされた隣接ノードテーブルを示した。続いて、ステップ２０４において、各レコードの送信ノードと受信ノードを結ぶ。この時、同じＩＤの送信ノードは１まとめにする。図９は、図８の処理により仮想ＬＡＮのトポロジーが決定される過程を示す図である。図９（ａ）において、右側のノードが図１（ｂ）の隣接ノードテーブルの受信ノードに相当し、左側のノードが隣接ノードテーブルの送信ノードに相当する。図９（ａ）は、ステップ２０４を実行した結果を示す。
【００３３】
次に、ステップ２０６においてホップ数を表す変数Ｈに１を代入する。
次に、ステップ２１０において、ホップ数Ｈの受信ノードがホップ数（Ｈ＋１）の送信ノードフィールドにあるか否か判断する。なければ、ステップ２１４に進む。例えば、図１（ｂ）および図９（ａ）において、ホップ数Ｈ＝１の受信ノードＮ４のＩＤであるＮ４はホップ数Ｈ＝２の送信ノードフィールドには無いので（これは、末端のノードであることを示す）、何もせず判断ステップ２１４に進む。判断ステップ２１０の判断結果がＹＥＳの場合、ステップ２１２において、ホップ数Ｈの受信ノードと見つかった送信ノードに結ばれた受信ノードとを結ぶ。例えば、ホップ数Ｈ＝１の受信ノードＮ５のＩＤであるＮ５は、ホップ数Ｈ＝２の送信ノードＩＤフィールドにあるので、受信ノードＮ５と送信ノードＮ５をまとめる、即ち、受信ノードＮ５と送信ノードＮ５に接続されている受信オードＮ６〜Ｎ８とを結ぶ。これにより、現在確認できているトポロジーは図９（ｂ）にようになる。
【００３４】
判断ステップ２１０の結果がＮＯであるか、またはステップ２１２の処理が終了した場合、判断ステップ２１４において、ホップ数Ｈ（この例では、１）の未処理の受信ノードがあるか否か判断する。未処理の受信ノードがある場合、ステップ２１０に戻る。ホップ数Ｈ（この例では、１）の未処理の受信ノードがない場合、ステップ２１６において、変数Ｈをインクリメントし、さらなる判断ステップ２１８において、変数Ｈが最大ホップ数に達したか否かを判断する。達しない場合、ステップ２１０に戻る。現在の例では、ステップ２１６のインクリメントの結果、変数Ｈは２であり、まだ最大ホップ数に達していないので、ステップ２１０に戻り、ステップ２１０および２１２を再度実行する。この結果、図９（ｃ）のトポロジーを得る。判断ステップ２１８において、変数Ｈが最大ホップ数に達した場合、図８の処理を終了する。
【００３５】
本発明によれば、以上のべたように、仮想ＬＡＮを構成するノードのアドレスが分からない状態でも仮想ＬＡＮの接続状態を把握することができる。
＜ホップ数の降順にトポロジーを決定する＞
なお、以上の例では、図１（ｂ）隣接ノードテーブルからホップ数の昇順に（確認要求元ＮＥを基点に）トポロジーを求めたが、逆にホップ数の降順に（確認要求元ＮＥから離れた末端のノードから）トポロジーを求めることも可能である。以下、この方法を説明する。図１０は、別の形態の隣接ノードテーブルを示す図である。図ノード１０において、テーブルの各レコードは、ホップ数、受信ノードＩＤ，受信ポート番号、送信ノードＩＤおよび送信ポート番号からなる。図１１は、図１０の隣接ノードテーブル４８ａを用いてホップ数の降順に仮想ＬＡＮの接続状態を決定する処理の流れを示すフローチャートである。図１１において、まずステップ３０２において、変数Ｈを最大ホップ数に設定する。ステップ３０４において、未処理の最大ホップのレコードの受信ノードを末端ノードとし、送信ノードを末端ノードに隣接するノードとして関係付け、ステップ３０６において、ＩＤの同じ隣接ノードを１つにまとめる。そして、判断ステップ３０８において、未処理の最大ホップのレコードは、まだあるか否か判断する。まだある場合、ステップ３０４に戻る。未処理の最大ホップのレコードが無い場合、ステップ３１０において変数Ｈをディクリメントする。
【００３６】
次に、ステップ３１２において、隣接ノードを現在のノードと、このＩＤをテーブルの受信ノードＩＤ（または番号）フィールドから見つける。ステップ３１４において、そのレコードの受信ノード（＝現在のノード）と送信ノードを関係付ける。ステップ３１６において、ＩＤの同じ送信ノード（最小ホップ数の処理ノード）があれば、１まとめにする。さらに、判断ステップ３１８において、未処理の隣接ノードはあるか否か判断する。あれば、ステップ３１２に戻る。ステップ３１８において、未処理の隣接ノードがない場合、判断ステップ３２０において、未処理のレコードの最大ホップ数は変数Ｈより小さいか否か判断する。小さくなければ、ステップ３１０に戻り、小さければ、図１１の処理を終了する。
【００３７】
この方法によっても、図１０の隣接ノードテーブル４８ａから図１（ｃ）のような仮想ＬＡＮのトポロジーを得ることができる。
以上述べた本発明の第１の実施形態による仮想ＬＡＮトポロジー決定方式では、確認要求元ＮＥが仮想ＬＡＮ構成確認要求パケットを送信した直後から応答パケットが確認要求元ＮＥに殺到し、仮想ＬＡＮを構成するノード数が多い場合は、応答パケットを処理しきれない、あるいは通常のサービスが一時的にできないという事態を招く可能性がある。ノード数が多い場合でもこのような事態を回避できるような対策を講じることが好ましい。
【００３８】
例えば、図１２に示すように、各ノードにおいて要求パケット受信時の処理においてステップ１２０と１２２との間に所定に期間待機するタイマーステップ１２１を挿入してもよい。これにより、ホップ数の増加とともに遅れて要求パケットが送信されるのデータ、応答パケットの返送もその分だけ遅らせることができる。
【００３９】
また、上記の例では、要求パケットを受信した各ノードが応答パケットを確認要求元ＮＥに返送した。このようにする代わりに、次の２つの変形が容易に可能である。
１．要求パケットを受信したノードがそのまま下流の隣接ノードに転送することにより、エッジ（要求パケットを送信すべきノードがない終端ノード）まで送付し、エッジのノードのみが応答パケットを発信し、この応答パケットを受信した各ノードは自分が関与する隣接ノード情報を応答パケットに追加して確認要求元ＮＥに向けて返送するようにしてもよい。このようにして、エッジから確認要求元ＮＥに至るまでの隣接ノード情報を収集することができる。
【００４０】
２．要求パケットを受信したノードが、受信した要求パケットに隣接ノード情報を付加して下流の隣接ノードに転送していくことによりエッジ（要求パケットを送信すべきノードがない終端ノード）まで送付し、エッジが、それまで要求パケットに蓄積された隣接ノード情報を応答パケットに一括収容して確認要求元ＮＥに送信してもよい。このようにしても、確認要求元ＮＥからエッジに至るまでの隣接ノード情報を収集することができる。
【００４１】
〔第２の実施形態〕
図１３から１５を参照して本発明の第２の実施形態を説明する。図１３は、本発明の第２の実施形態により、確認要求元ＮＥが確認対象の仮想ＬＡＮに第１の確認要求パケットをホップバイホップで送り、第１の応答パケットから、確認対象の仮想ＬＡＮを構成するノードのアドレスと確認要求元ＮＥからのホップ数を求める方法を示すである。図１３において、確認要求元ＮＥが、送信する第１の確認要求パケットは、宛先アドレス、出所アドレス、確認対象の仮想ＬＡＮのＩＤであるＶＬＡＮタグ、ＴＴＬ（time to live）値、ＴＴＬベース、およびパケットの種類を示すＯＡＭ種別を含む。ＴＴＬ値は、可能な最大ホップ数を考慮して決定する。図１３の例では、確認要求元ＮＥは、ＴＴＬ値＝５、ＴＴＬベース＝５として第１の要求パケットを送信する。
【００４２】
図１４は、本発明の第２の実施形態において確認要求元ＮＥ以外のノードがパケットを受信した場合の、そのノードの動作を示すフローチャートである。図１４のフローチャートは、ステップ１０２、１０４、１１４、１２０および１２２が４０２、４０４，４１４，４２０および４２２にそれぞれ置き換わり、ステップ４０６および４０８が追加された点を除けば、図６のフローチャートと同じである。したがって、相違点のみを説明する。
【００４３】
即ち、確認要求元ＮＥ以外のノード装置が、パケットを受信すると、まず、ステップ４０２において、ＴＴＬをディクリメント（１減算）し、判断ステップ４０４において、ＴＴＬが０かどうか判断する。ＴＴＬが０ならばステップ４０６に進み、０でないならばステップ１１０に進む。ステップ４０６以降は、後述する。
【００４４】
また、判断ステップ４１４において第１の要求パケットであると判断した場合、ステップ４２０において、第１の応答パケットを返送先に返送する。この場合、返送先は、確認要求元ＮＥでもオペレーション・システム３０ａでもよい。第１の応答パケットは、第１の要求パケットにおいて、ＴＴＬをディクリメントし、ＤＡ（宛先アドレス）に返送先のＭＡＣアドレスを設定し、ＳＡ（出所アドレス）に自分のＭＡＣアドレスを設定したものである。さらに、ステップ４２２において、ＴＴＬの値をディクリメントした第１の要求パケットをＶＬＡＮタグに指定されたＶＬＡＮの隣接ノードリスト４６のノードに送信して、パケット受信処理を終了する。
【００４５】
以上の処理により、返送先である確認要求元ＮＥまたはオペレーション・システム３０ａは、確認要求元ＮＥ以外のノードから第１の応答パケットを収集し、そのＳＡとＴＴＬ値から、確認対象の仮想ＬＡＮを構成するノードのホップ数を知ることができるので、図１３に示すようなホップ数別ノードリスト４９を生成する。ホップ数別ノードリスト４９は、ホップ数の順にソートされていることが好ましい。
【００４６】
次に、確認要求元ＮＥは、ホップ数別ノードリスト４９を参照しながら、図３に示すような最大ホップノードへのＴＴＬスイープ検査に基づいて確認対象の仮想ＬＡＮのトポロジを決定する。図１６は、本発明の第２の実施形態により最大ホップノードへのＴＴＬスイープ検査に基づいて仮想ＬＡＮトポロジーを決定するフローチャートである。ホップ数別ノードリスト４９を生成した後、ステップ４０２において、ホップ数変数Ｈに最大ホップ数を代入する。ステップ４０４において、ホップ数別ノードリスト４９からホップ数Ｈのノードを選択する。選択したノードに対して図１５に示す要領で最大ホップノードへのＴＴＬスイープ検査を行う。図１５は、最大ホップ数３のノードＮ９に対してＴＴＬスイープ検査を行う例を示す。図１５には、紙面の都合上、最大ホップ数のノードＮ９およびＮ１０への経路上にあるノードのみを示す。確認要求元ＮＥは、宛先アドレス（ＤＡ）に検査対象のノードＮ９のＭＡＣアドレスを設定し、出所アドレス（ＳＡ）に確認要求元ＮＥのＭＡＣアドレスを設定し、ノード通過ごとにディクリメントされるＴＴＬおよびＴＴＬの初期値であるＴＴＬベースにそれぞれ１を設定した第２の確認要求パケットを検査対象ノード（最大ホップ数のノード）Ｎ９に送る。以降、ＴＴＬおよびＴＴＬベースが最大ホップ数に達するまで１ずつ増加させながら第２の確認要求パケットを検査対象ノード（最大ホップ数のノード）Ｎ９に送る。
【００４７】
確認要求元ＮＥ以外のノードは、第２の確認要求パケットを受信し、そのＴＴＬをディクリメントした結果０となった場合、ＴＴＬにＴＴＬベースの値をコピーし、ＤＡに返送先のＭＡＣアドレスを設定し、ＳＡに自分のＭＡＣアドレスを設定することにより第２の応答パケットを生成して、これを返送先（例えば、確認要求元ＮＥ）に返送する。このため、図１４に戻り、判断ステップ４０４においてＴＴＬ＝０と判断された場合、ステップ４０６において、受信パケットは第２の要求パケットか否かを判断する。第２の要求パケットでなければ、ステップ１０６で受信パケットを破棄してパケット受信処理を終了する。ステップ４０６において、受信パケットが第２の確認要求パケットである場合、ステップ４０８において上記の第２の応答パケットを返送先に返送して、図１４のパケット受信処理を終了する。
【００４８】
このようにして、確認要求元ＮＥは、最大ホップノードＮ９に至るまでの各ノードから第２の応答パケットを受け取ることができるので、図１６のステップ４０８において、最大ホップノードＮ９に至るまでのノードＮ５およびＮ８の接続状態を把握する。そして、判断ステップ４１０において、ホップ数別ノードリスト４９にホップ数Ｈのノードがまだあるか否かを判断する。あるならば、ステップ４０４に戻り、ないならば、判断ステップ４１２においてＨが１に達したか否かを判断する。ステップ４１２においてＨが１に達していない場合、ステップ４１４１において、ホップ数別ノードリスト４９に確定していないノードがあるか否かを判断する。ある場合、Ｈをディクリメントしてステップ４０４に戻る。ステップ４１２においてＨ＝１であるか、ステップ４１４において確定していないノードがない場合、図１６の仮想ＬＡＮトポロジー決定処理を終了する。
【００４９】
本発明の第２の実施形態によれば、２種類の検査パケットを送受信するが、図１３および１５に示すようにパケットの情報量が少ないので、仮想ＬＡＮ構成確認処理が時間的に分散して行われるので、確認要求元ＮＥの処理量が一時的に過度になる事態を避けることができる。
【００５０】
なお、上記の例では、ＴＴＬ値を１から増加させてＴＴＬスイープ検査を行ったが、ＴＴＬを最大ホップ数から１まで減少させてＴＴＬスイープ検査を行ってもよい。
以上は、本発明の説明のために実施例を掲げたに過ぎない。したがって、本発明の技術思想または原理に沿って上述の実施例に種々の変更、修正または追加を行うことは、当業者には容易である。
【００５１】
例えば、第１の実施形態は、ホップ数を用いて実現したが、代わりにＴＴＬを用いて実現することも可能である。逆に、第２の実施形態は、ＴＴＬを用いて実現したが、代わりにホップ数を用いて実現することも可能である。
【００５２】
本発明は、仮想ＬＡＮを構成するノードのアドレスが不明であることを前提にして、仮想ＬＡＮの構造を解析することを本来の目的とするものであるが、アドレスが既知であるノードに対しては、経路の検索やＲＴＴ（round trip time）の計測に利用することも可能である。
【００５３】
ＲＴＴの計測のためには、受信ノードおよび送信ノードのそれぞれにおいて、送信および受信の度にタイムスタンプを記憶しておき、送信ノード送信時刻、受信ノード受信時刻、受信ノード送信時刻および送信ノード受信時刻などのタイムスタンプを応答パケットに付加することにより、正確なＲＴＴを計測することが可能となる。
【００５４】
以上述べた実施形態では、１つのネットワークに設定された１つのＶＬＡＮの構成を検出したが、カプセル化技術を用いれば、複数のＶＬＡＮからなる上位のＬＡＮ（仮に、ＶＷＡＮ（virtual wide area network）と称する）に対して本発明を適用することができることは、当業者には明らかである。
【００５５】
（付記１）仮想ＬＡＮ（local area network）が設定されているネットワークにおいて前記仮想ＬＡＮを構成するノードのトポロジーを検出する方法であり、
前記仮想ＬＡＮに属することが確かである任意のノードが、前記仮想ＬＡＮに所属し且つ隣接する隣接ノードの各々にノード間の通信回数を示す計数値を含む要求パケットを送信するステップと、
前記ノードの各々が、前記要求パケットを受信した場合、前記仮想ＬＡＮに所属し且つ当該ノードに隣接する隣接ノードのうち前記の受信した要求パケットの送り主を除く隣接ノードの各々に対し、前記計数値に所定の加算または減算を施して前記要求パケット送り、かつ前記送り主のアドレス（送り主アドレス）、応答ノードである当該ノードのアドレス（応答ノードアドレス）および前記計数値を含む応答パケットを所定の返送先に送るステップと、
前記所定の返送先が、送られてくる前記応答パケットを収集し、前記応答パケットに含まれる情報から前記仮想ＬＡＮを構成する前記ノードのトポロジーを検出する解析ステップとからなる
ことを特徴とする仮想ＬＡＮトポロジーを検出する方法。
【００５６】
（付記２）前記解析ステップが、
前記の収集したパケットから、前記計数値、前記送り主アドレスおよび前記応答ノードアドレスからなるレコードのテーブルを生成するステップと、
前記計数値を第１のキーとし、前記送り主を第２のキーとして前記テーブルのレコードをソートするステップと、
各レコードにおいて前記送り主と前記応答ノードを結びつけるとともに、前記送り主アドレスが同じ送り主を統合するステップと、
前記テーブルのレコードを順に解析することにより、前記仮想ＬＡＮのトポロジーを決定するステップとを含む
ことを特徴とする付記１記載の仮想ＬＡＮトポロジーを検出する方法。
【００５７】
（付記３）前記計数値は、ＴＴＬ（time to live）または前記任意のノードからのホップ数の何れかであることを特徴とする付記１または２記載の仮想ＬＡＮトポロジーを検出する方法。
【００５８】
（付記４）前記要求パケットが、前記送り主アドレスと当該要求パケットが送出されるポートの送信ポート番号を含み、
前記応答パケットが、前記送り主アドレスの他に前記送信ポート番号を含み、かつ前記応答ノードアドレスの他に前記要求パケットを受信したポートの受信ポート番号を含み、
前記解析ステップが、
前記の収集したパケットから、前記計数値、前記送り主アドレス、前記送信ポート番号、前記応答ノードアドレスおよび前記受信ポート番号からなるレコードのテーブルを生成するステップを含む
ことを特徴とする付記２または３記載の仮想ＬＡＮトポロジーを検出する方法。
【００５９】
（付記５）仮想ＬＡＮが設定されているネットワークにおいて前記仮想ＬＡＮを構成するノードのトポロジーを検出する方法であり、
前記仮想ＬＡＮに属することが確かである任意のノードが、前記仮想ＬＡＮに所属し且つ隣接する隣接ノードの各々にノード間の通信回数を示す計数値と前記計数値の初期値を含む第１の要求パケットを送信するステップと、
前記ノードの各々が、前記要求パケットを受信した場合、前記の受信した第１の要求パケットの出所アドレスに当該ノードのアドレスを設定して第１の応答パケットとして所定の返送先に送るとともに、前記仮想ＬＡＮに所属し且つ当該ノードに隣接する隣接ノードのうち前記の受信した第１の要求パケットの送り主を除く隣接ノードの各々に対し、前記計数値に所定の加算または減算を施して前記第１の要求パケット送るステップと、
前記所定の返送先が、送られてくる前記応答パケットを収集し、前記応答パケットに含まれる前記計数値および前記初期値に基づいてホップ数ごとのノードリストを生成するステップと、
前記任意のノードが、検査対象ノードに対して、前記検査対象ノードへのホップ数を前記計数値および前記初期値に設定した第２の要求パケットを送り、この送信動作を前記の設定するホップ数が１になるまで繰り返すスイープ検査ステップと、
前記ノードの各々が、前記第２の要求パケットを受信した場合、前記第２の要求パケットの前記初期値を前記計数値に上書きし、前記の受信した第２の要求パケットの出所アドレスに当該ノードのアドレスを設定して第２の応答パケットとして所定の返送先に送るステップと、
前記所定の返送先が、ホップ数の大きいノードリストのノードから順に前記検査対象ノードに指定して、前記ノードリストの全てのノードの接続関係が確定するまで、前記スイープ検査ステップを繰り返すステップとからなる
ことを特徴とする仮想ＬＡＮトポロジーを検出する方法。
【００６０】
（付記６）前記所定の返送先が、前記任意のノードである
ことを特徴とする付記５記載の仮想ＬＡＮトポロジーを検出する方法。
（付記７）前記計数値がＴＴＬ（time to live）である
ことを特徴とする付記５または６記載の仮想ＬＡＮトポロジーを検出する方法。
【００６１】
（付記８）前記仮想ＬＡＮが複数の下位の仮想ＬＡＮからなることを特徴とする付記１乃至７の何れか一項に記載の仮想ＬＡＮトポロジーを検出する方法。
（付記９）仮想ＬＡＮ（local area network）が設定されているネットワークにおいて前記仮想ＬＡＮを構成するノードのトポロジーを検出する方法であり、前記仮想ＬＡＮに属することが確かである任意のノードが、
前記仮想ＬＡＮに所属し且つ隣接する隣接ノードの各々にノード間の通信回数を示す計数値を含む要求パケットを送信するステップと、
前記仮想ＬＡＮに所属する各ノードから送られてくる応答パケットを受信し収集するステップと、
前記の受信し収集した各応答パケットから、前記各ノードに達するまでノード通過ごとに所定の加算または減算が施された前記計数値、前記各ノードのアドレス、および前記各ノードに前記要求パケットを送ったノードのアドレスを抽出するステップと、
前記の各応答パケットから抽出した情報から、前記仮想ＬＡＮを構成する前記ノードのトポロジーを検出するステップとを実行する
ことを特徴とする仮想ＬＡＮトポロジーを検出する方法。
【００６２】
（付記１０）前記解析ステップが、
前記の収集したパケットから、前記計数値、前記送り主アドレスおよび前記応答ノードアドレスからなるレコードのテーブルを生成するステップを含む
ことを特徴とする仮想ＬＡＮトポロジーを検出する方法。
【００６３】
（付記１１）仮想ＬＡＮ（local area network）が設定されているネットワークにおいて、
前記仮想ＬＡＮに属することが確かである任意のノードより前記仮想ＬＡＮのマルチキャストドメインをホップバイホップで送られてくる、ノード間の通信回数を示す計数値を含む要求パケットを前記仮想ＬＡＮを構成する各ノードが受信する手段と、
前記ノードの各々が、前記要求パケットを受信した場合、前記仮想ＬＡＮに所属し且つ当該ノードに隣接する隣接ノードのうち前記の受信した要求パケットの送り主を除く隣接ノードの各々に対し、前記計数値に所定の加算または減算を施して前記要求パケット送り、かつ前記送り主のアドレス（送り主アドレス）、応答ノードである当該ノードのアドレス（応答ノードアドレス）および前記計数値を含む応答パケットを前記任意のノードに返送する手段とを備え、前記仮想ＬＡＮを構成するノードのトポロジーを検出することを可能とすることを特徴とするノード装置。
【図面の簡単な説明】
【００６４】
【図１】本発明の第１の実施形態により仮想ＬＡＮトポロジー（接続状態）を把握する方法を示す図である。（ａ）はＶＬＡＮにおけるパケット転送例を示し、（ｂ）は隣接ノードテーブルであり、（ｃ）は把握されたトポロジーを示す。
【図２】図１（ａ）のオペレーション・システム３０ａの構成例を示す略ブロック図である。
【図３】図１のノード装置１０ａの構成例を示す略ブロック図である。
【図４】ノード番号Ｎｉのノードが有するフォワーディングＤＢの構成を示す図である。
【図５】第１の実施形態による仮想ＬＡＮ構成確認要求パケットの構成例、このパケットを確認要求元ＮＥ以外のノードが受信した際に生成する新たな確認要求パケットおよび応答パケットの構成例を示す図である。
【図６】確認要求元ＮＥ以外のノード装置１０ａがパケットを受信した場合の動作を示すフローチャートである。
【図７】確認要求元ＮＥがパケットを受信した場合の動作を示すフローチャートである。
【図８】図１（ｂ）の隣接ノードテーブル４８を用いてホップ数の昇順に仮想ＬＡＮトポロジーを決定する処理の流れを示すフローチャートである。
【図９】図８の処理により仮想ＬＡＮのトポロジーが決定される過程を示す図である。
【図１０】別の形態の隣接ノードテーブルを示す図である。
【図１１】図１０の隣接ノードテーブルを用いてホップ数の降順に仮想ＬＡＮトポロジーを決定する処理の流れを示すフローチャートである。
【図１２】第１の実施形態においてホップ数の異なるノードからの応答パケットの返送時刻をホップ数に応じて遅らせるために挿入される図６のフローチャートに挿入されるステップを示す図である。
【図１３】本発明の第２の実施形態により、確認対象の仮想ＬＡＮを構成するノードのアドレスと確認要求元ＮＥからのホップ数を求める方法を説明する図である。
【図１４】本発明の第２の実施形態において確認要求元ＮＥ以外のノードがパケットを受信した場合の、そのノードの動作を示すフローチャートである。
【図１５】最大ホップ数３のノードＮ９に対してＴＴＬスイープ検査を行う例を示す。
【図１６】本発明の第２の実施形態により最大ホップノードへのＴＴＬスイープ検査に基づいて仮想ＬＡＮトポロジーを決定するフローチャートである。
【図１７】ある通信事業者の保有する通信網設備の例を示す図である。
【符号の説明】
【００６５】
１  通信網設備
１０、１０ａ  通信網を構成するノード
１２  リンク
２０、２０ａ  仮想ＬＡＮ
３０、３０ａ  オペレーション・システム
３１、６０  制御部
３２  データベース
３３  仮想ＬＡＮ定義データ
３４、７０  種々のプログラム
３５  通信部
４０  ブリッジまたはスイッチ
４２  フォワーディングＤＢ
４４  ルーティング・テーブル
４６  隣接ノードリスト
４８  隣接ノードテーブル
４９  ホップ数別ノードリスト
５０  回線カード
【図１】
2005328318.tif 000003
【図２】
2005328318.tif 000004
【図３】
2005328318.tif 000005
【図４】
2005328318.tif 000006
【図５】
2005328318.tif 000007
【図６】
2005328318.tif 000008
【図７】
2005328318.tif 000009
【図８】
2005328318.tif 000010
【図９】
2005328318.tif 000011
【図１０】
2005328318.tif 000012
【図１１】
2005328318.tif 000013
【図１２】
2005328318.tif 000014
【図１３】
2005328318.tif 000015
【図１４】
2005328318.tif 000016
【図１５】
2005328318.tif 000017
【図１６】
2005328318.tif 000018
【図１７】
2005328318.tif 000019