(57)【特許請求の範囲】
【請求項１】
ソフトウェアによる複数の仮想ハブをそれぞれ形成する複数の中継装置と、少なくとも１つの仮想ハブを経由して仮想ネットワーク通信を行う複数のクライアント端末と、を具備するネットワーク仮想化システムにおいて、
少なくとも１つのクライアント端末は、データのキャプチャ処理を行う第１のキャプチャ処理手段を具備し、この第１のキャプチャ処理手段は、
キャプチャ処理の結果を表示デバイスに出力する手段と、
前記キャプチャ処理を行なわずに、当該クライアント端末の記憶領域に保存されているキャプチャデータを表示デバイスに出力するモードの設定を可能とする手段と、
当該クライアント端末の記憶領域に保存されているキャプチャデータを取得せずに、前記仮想ハブの記憶領域に保存されているキャプチャデータを取得するモードの設定を可能とする手段とを具備し、
前記クライアント端末は、前記仮想ハブに対しデータのキャプチャ処理に関する要求を行う処理要求手段を具備し、当該処理要求手段は、
前記仮想ハブ上の、当該クライアント端末を収容するポート以外の全ポート間、或いは一部のポート間のトラフィックを、当該クライアント端末を収容するポートへミラーリングするモードの設定を可能とする手段と、
前記仮想ハブ上の、当該クライアント端末を収容するポートで、フレームに対するフィルタ設定および当該設定に基づくフィルタリングを行なうモードの設定を可能とする手段と、
前記仮想ハブ上の、当該クライアント端末を収容するポートで、キャプチャデータを当該クライアント端末へ送出せずに、前記仮想ハブの記憶領域に保存するリダイレクトを行なうモードの設定を可能とする手段と、
前記仮想ハブ上の、当該クライアント端末を収容するポートでキャプチャ処理を行なわずに、既にキャプチャされ前記仮想ハブの記憶領域に保存されているキャプチャデータを当該クライアント端末に送信するモードの設定を可能とする手段とを具備し、
前記仮想ハブは、任意のクライアント端末からの要求に応じたキャプチャ処理を行う第２のキャプチャ処理手段を具備し、この第２のキャプチャ処理手段は、
要求元のクライアント端末を収容するポート、或いは、そのクライアント端末に到達可能なポートを上流ポートに設定する手段と、
前記上流ポートへ、他の全てのポート間、或いは一部のポート間のトラフィックをミラーリングする手段と、
前記上流ポートで、フィルタ設定および当該設定に基づくフィルタリングを行なう手段と、
前記上流ポートで、キャプチャデータを要求元のクライアント端末へ送出する手段と、
前記上流ポートで、キャプチャデータを要求元のクライアント端末へ送出せずに、当該仮想ハブの記憶領域に保存するリダイレクトを行なう手段と、
前記上流ポートから当該仮想ハブに流入するトラフィックに対しては、キャプチャデータを当該仮想ハブの記憶領域に保存するリダイレクトを行う場合を除いては、キャプチャ処理の対象外とする手段と、
要求元のクライアント端末へ、既にキャプチャされ当該仮想ハブの記憶領域に保存されているキャプチャデータを送信する手段と、
要求元のクライアント端末へ、要求元のクライアント端末宛のユニキャストフレーム、ブロードキャストフレーム、マルチキャストフレームを、要求元のクライアント端末が要求するフィルタリングもしくはリダイレクトの設定に関わらず、送信する手段とを具備し、
前記第２のキャプチャ処理手段は、更に、
前記上流ポートから受信した要求を転送先へ転送するポートを下流ポートに設定する手段と、
前記上流ポートから受信した要求を、当該要求の転送先である全ての或いは一部の下流方向に位置する仮想ハブへ前記下流ポートから転送する手段と、
前記下流ポートで制御情報を送受信するための制御リンクからキャプチャデータを受信した場合に、そのキャプチャデータを前記上流ポートへミラーリングする手段と、
前記下流ポートでユーザデータを送受信するためのユーザデータリンクから流入するトラフィックをキャプチャ処理の対象外とする手段と、
当該仮想ハブがクライアント端末を直収しない仮想ハブである場合、前記上流ポートから流入するトラフィックを、キャプチャ処理の対象外とし、前記上流ポートへのフィルタ設定およびリダイレクト設定を、ユーザデータリンクに対してではなく、制御リンクに対して行ない、キャプチャデータの前記上流ポートへのミラーリングも、制御リンクに対して行ない、前記上流ポートへのミラーリング、フィルタリング、及び、リダイレクトを、ユニキャストトラフィックのみを対象として行なう手段とを具備する
ことを特徴とするネットワーク仮想化システム。
【請求項２】
請求項１に記載のネットワーク仮想化システムにおいて、
要求元のクライアント端末は、前記要求において、キャプチャ処理を実行すべき少なくとも１つの仮想ハブを指定し、
前記要求を受信した仮想ハブは、その要求にて自身がキャプチャ処理を実行すべき仮想ハブであると指定されている場合、その要求に応じた処理を行ない、
前記要求を受信した仮想ハブは、その要求にて自身がキャプチャ処理を実行すべき仮想ハブであると指定されていない場合、その要求に応じた処理を行なわずに、その要求を全ての或いは一部の下流方向に位置する仮想ハブへ下流ポートから転送し、前記下流ポートの制御リンクからキャプチャデータを受信した場合に、そのキャプチャデータを前記上流ポートへミラーリングする
ことを特徴とするネットワーク仮想化システム。
【請求項３】
請求項１又は２に記載のネットワーク仮想化システムにおいて、
前記キャプチャ処理の設定がなされている仮想ハブは、新たに下流ポートに仮想ハブが接続された場合、自身のキャプチャ処理に関わる設定情報を、要求元のクライアント端末の介在なしに、当該新たに下流ポートに接続された仮想ハブに転送する
ことを特徴とするネットワーク仮想化システム。
【請求項４】
請求項１乃至３のうちのいずれか１項に記載のネットワーク仮想化システムにおいて、
要求元のクライアント端末は、キャプチャ処理に関する要求について、下流方向へ仮想ハブを介して何回転送できるかを示す転送可能ホップ数を指定し、
前記要求を受信した仮想ハブは、その要求を転送する場合、その要求に指定されている転送可能ホップ数から１を減じ、０以下ならば転送せず、０より大きければ下流ポートに接続された仮想ハブに転送し、前記転送可能ホップ数があらかじめ定められた所定値である場合に、前記要求を無条件に下流ポートに接続された仮想ハブに転送する
ことを特徴とするネットワーク仮想化システム。
【請求項５】
ソフトウェアによる仮想ハブを形成し、前記仮想ハブを経由して仮想ネットワーク通信を行う複数のクライアント端末の中の任意のクライアント端末からの要求に応じたキャプチャ処理を行う中継装置において、
要求元のクライアント端末を収容するポート、或いは、そのクライアント端末に到達可能なポートを上流ポートに設定する手段と、
前記上流ポートへ、他の全てのポート間、或いは一部のポート間のトラフィックをミラーリングする手段と、
前記上流ポートで、フィルタ設定および当該設定に基づくフィルタリングを行なう手段と、
前記上流ポートで、キャプチャデータを要求元のクライアント端末へ送出する手段と、
前記上流ポートで、キャプチャデータを要求元のクライアント端末へ送出せずに、当該仮想ハブの記憶領域に保存するリダイレクトを行なう手段と、
前記上流ポートから当該仮想ハブに流入するトラフィックに対しては、キャプチャデータを当該仮想ハブの記憶領域に保存するリダイレクトを行う場合を除いては、キャプチャ処理の対象外とする手段と、
要求元のクライアント端末へ、既にキャプチャされ当該仮想ハブの記憶領域に保存されているキャプチャデータを送信する手段と、
要求元のクライアント端末へ、要求元のクライアント端末宛のユニキャストフレーム、ブロードキャストフレーム、マルチキャストフレームを、要求元のクライアント端末が要求するフィルタリングもしくはリダイレクトの設定に関わらず、送信する手段と、
前記上流ポートから受信した要求を転送先へ転送するポートを下流ポートに設定する手段と、
前記上流ポートから受信した要求を、当該要求の転送先である全ての或いは一部の下流方向に位置する仮想ハブへ前記下流ポートから転送する手段と、
前記下流ポートで制御情報を送受信するための制御リンクからキャプチャデータを受信した場合に、そのキャプチャデータを前記上流ポートへミラーリングする手段と、
前記下流ポートでユーザデータを送受信するためのユーザデータリンクから流入するトラフィックをキャプチャ処理の対象外とする手段と、
当該仮想ハブがクライアント端末を直収しない仮想ハブである場合、前記上流ポートから流入するトラフィックを、キャプチャ処理の対象外とし、前記上流ポートへのフィルタ設定およびリダイレクト設定を、ユーザデータリンクに対してではなく、制御リンクに対して行ない、キャプチャデータの前記上流ポートへのミラーリングも、制御リンクに対して行ない、前記上流ポートへのミラーリング、フィルタリング、及び、リダイレクトを、ユニキャストトラフィックのみを対象として行なう手段と
を具備することを特徴とする中継装置。
【請求項６】
請求項５に記載の中継装置において、
前記要求を受信した仮想ハブは、その要求にて自身がキャプチャ処理を実行すべき仮想ハブであると指定されている場合、その要求に応じた処理を行ない、
前記要求を受信した仮想ハブは、その要求にて自身がキャプチャ処理を実行すべき仮想ハブであると指定されていない場合、その要求に応じた処理を行なわずに、その要求を全ての或いは一部の下流方向に位置する仮想ハブへ下流ポートから転送し、前記下流ポートの制御リンクからキャプチャデータを受信した場合に、そのキャプチャデータを前記上流ポートへミラーリングする
ことを特徴とする中継装置。
【請求項７】
請求項５又は６に記載の中継装置において、
前記キャプチャ処理の設定がなされている仮想ハブは、新たに下流ポートに仮想ハブが接続された場合、自身のキャプチャ処理に関わる設定情報を、要求元のクライアント端末の介在なしに、当該新たに下流ポートに接続された仮想ハブに転送する
ことを特徴とする中継装置。
【請求項８】
請求項５乃至７のうちのいずれか１項に記載の中継装置において、
前記要求を受信した仮想ハブは、その要求を転送する場合、その要求に転送可能ホップ数が指定されていれば、当該転送可能ホップ数から１を減じ、０以下ならば転送せず、０より大きければ下流ポートに接続された仮想ハブに転送し、前記転送可能ホップ数があらかじめ定められた所定値である場合に、前記要求を無条件に下流ポートに接続された仮想ハブに転送する
ことを特徴とする中継装置。
【請求項９】
ソフトウェアによる仮想ハブを形成し、前記仮想ハブを経由して仮想ネットワーク通信を行う複数のクライアント端末の中の任意のクライアント端末からの要求に応じたキャプチャ処理を行う中継装置に適用されるプログラムであって、
要求元のクライアント端末を収容するポート、或いは、そのクライアント端末に到達可能なポートを上流ポートに設定する機能と、
前記上流ポートへ、他の全てのポート間、或いは一部のポート間のトラフィックをミラーリングする機能と、
前記上流ポートで、フィルタ設定および当該設定に基づくフィルタリングを行なう機能と、
前記上流ポートで、キャプチャデータを要求元のクライアント端末へ送出する機能と、
前記上流ポートで、キャプチャデータを要求元のクライアント端末へ送出せずに、当該仮想ハブの記憶領域に保存するリダイレクトを行なう機能と、
前記上流ポートから当該仮想ハブに流入するトラフィックに対しては、キャプチャデータを当該仮想ハブの記憶領域に保存するリダイレクトを行う場合を除いては、キャプチャ処理の対象外とする機能と、
要求元のクライアント端末へ、既にキャプチャされ当該仮想ハブの記憶領域に保存されているキャプチャデータを送信する機能と、
要求元のクライアント端末へ、要求元のクライアント端末宛のユニキャストフレーム、ブロードキャストフレーム、マルチキャストフレームを、要求元のクライアント端末が要求するフィルタリングもしくはリダイレクトの設定に関わらず、送信する機能と、
前記上流ポートから受信した要求を転送先へ転送するポートを下流ポートに設定する機能と、
前記上流ポートから受信した要求を、当該要求の転送先である全ての或いは一部の下流方向に位置する仮想ハブへ前記下流ポートから転送する機能と、
前記下流ポートで制御情報を送受信するための制御リンクからキャプチャデータを受信した場合に、そのキャプチャデータを前記上流ポートへミラーリングする機能と、
前記下流ポートでユーザデータを送受信するためのユーザデータリンクから流入するトラフィックをキャプチャ処理の対象外とする機能と、
当該仮想ハブがクライアント端末を直収しない仮想ハブである場合、前記上流ポートから流入するトラフィックを、キャプチャ処理の対象外とし、前記上流ポートへのフィルタ設定およびリダイレクト設定を、ユーザデータリンクに対してではなく、制御リンクに対して行ない、キャプチャデータの前記上流ポートへのミラーリングも、制御リンクに対して行ない、前記上流ポートへのミラーリング、フィルタリング、及び、リダイレクトを、ユニキャストトラフィックのみを対象として行なう機能と
をコンピュータに実現させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばＴＣＰ／ＩＰのようなアンダーレイネットワーク上に、仮想的なイーサネット（登録商標）のようなオーバレイネットワークを構築するネットワーク仮想化システム、そのシステムに備えられる中継装置、およびその中継装置に適用されるプログラムに関する。
【背景技術】
【０００２】
例えば、ＴＣＰ／ＩＰネットワークのような既存の物理的なネットワーク（以後、「アンダーレイネットワーク」と称する）上に、ソフトウェアにて構築する仮想的なネットワークをオーバレイネットワークと呼ぶ。
【０００３】
主なオーバレイネットワーク（以後、「仮想ネットワーク」とも称する）として、仮想ローカルエリアネットワーク（以後、「仮想ＬＡＮ」と称する）がある。
【０００４】
仮想ＬＡＮとして代表的なものに、ソフトイーサ株式会社製のＳｏｆｔＥｔｈｅｒ（ＰａｃｋｅｔｉＸ）（例えば、非特許文献１，２）がある。ＳｏｆｔＥｔｈｅｒ（ＰａｃｋｅｔｉＸ）は仮想ネットワークの一例である仮想イーサネットを構築するソフトウェア群である。ＳｏｆｔＥｔｈｅｒ（ＰａｃｋｅｔｉＸ）又はこれに類似したソフトウェアでの仮想イーサネットの構築方法は例えば以下の通りである。
【０００５】
・ある計算機上にイーサネットスイッチングハブをエミュレートするソフトウェア（以後、「仮想ハブ」と称する）を動作させる（以後、仮想ハブを動作させる計算機を「サーバ」と称する。）。
【０００６】
・仮想イーサネットに参加を希望する計算機が、ソフトウェアにて構築された仮想的なネットワークインタフェース（以後、「仮想ネットワークインタフェース」と称する）を介して、仮想ハブに接続する（以後、仮想ネットワークインタフェースを動作させる計算機を「クライアント」と称する）。
【０００７】
・仮想ネットワークインタフェース−仮想ハブ間、すなわち、クライアント−サーバ間の通信には、アンダーレイネットワーク（ＴＣＰ／ＩＰネットワークなど）を使用する。
【０００８】
このような仮想イーサネットの一般的な構成を図１３に示す。
【０００９】
例えばＴＣＰ／ＩＰネットワークであるアンダーレイネットワーク１５０は、オーバレイネットワークである仮想イーサネット１５４を構築する基盤となる物理ネットワークである。アンダーレイネットワーク１５０は、ファイアウォール１５６、ルータ１５７、リンク層の通信装置（イーサネットならばハブやスイッチングハブ）により構成される。ルータ１５７は、ＴＣＰ／ＩＰネットワークを構成するネットワーク層の装置であり、一般的なものであることから、ここではその詳細な説明を割愛する。また、ファイアウォール１５６は、内部ネットワーク１６０と外部ネットワーク１６１との境界に設置されるセキュリティ装置であり、一般的なものであることからここではその詳細な説明を割愛する。
【００１０】
クライアント１５３は、仮想イーサネット１５４を構成する仮想ハブ１５１に接続する計算機であり、仮想ネットワークインタフェース１５２を介して仮想ハブ１５１に接続する。仮想ハブ１５１は、このように複数のクライアント１５３とのコネクションを保持する中継ノードとして機能する。サーバ１５５は、このような仮想ハブ１５１を配置するネットワーク仮想化装置である。本明細書では、このようなネットワーク仮想化装置であるサーバ１５５と、ネットワーク仮想化装置によって制御される端末であるクライアント１５３とを合わせてネットワーク仮想化システムと称する。仮想イーサネット１５４は、一つ又は複数の仮想ハブ１５１に、それぞれ仮想ネットワークインタフェース１５２を持った複数のクライアント１５３が接続することにより構築される。
【００１１】
また、仮想イーサネットに限らず、イーサネットにおいては、ネットワーク上を流れるイーサネットフレームのキャプチャは、ネットワーク管理（構成管理、性能管理、不具合解析など）、或いは、システム開発の場面で広く行なわれており、代表的な方法は以下のようなものである。
【００１２】
・イーサネットスイッチングハブ（或いは仮想ハブ）に接続している計算機のネットワークインタフェースドライバに対して、キャプチャすべき、或いは、キャプチャすべきでないイーサネットフレームを“フィルタ”として設定する。
【００１３】
・フィルタに設定する項目としては、送信元／宛先ＭＡＣアドレス、イーサネットタイプ、送信元／宛先ＩＰアドレス、ポート番号、上位プロトコル種別などが挙げられる。
【００１４】
・上記ネットワークインタフェースドライバは、設定されたフィルタの内容に従い、自局に到着するイーサネットフレームのキャプチャの要不要を判断し、キャプチャすべきものは、その内容を表示用フォーマットに変換後、ディスプレイデバイスに表示するか、或いは、キャプチャした内容をそのまま、ファイルシステム上のファイルに保存する。
【非特許文献１】株式会社アスキー、公式ＳｏｆｔＥｔｈｅｒ活用ガイド
【非特許文献２】ｈｔｔｐ：／／ｗｗｗ．ｓｏｆｔｅｔｈｅｒ．ｃｏｍ、ソフトイーサ株式会社ホームページ
【非特許文献３】ｈｔｔｐ：／／ｗｗｗ．ｆｒｅｅｂｉｔ．ｃｏｍ／ｅｌ／ｉｎｄｅｘ．ｈｔｍｌ、フリービット株式会社ホームページ
【発明の開示】
【発明が解決しようとする課題】
【００１５】
ここで、上記キャプチャのための従来技術では、キャプチャ対象のイーサネットフレームを指定するためのフィルタの設定、及び、フィルタリング処理はクライアント側で実施される。よって、最終的にキャプチャされるもの以外のイーサネットフレームも、クライアントまで流入してしまうこととなり、特に仮想イーサネット環境においては、仮想ハブとクライアントの、アンダーレイネットワーク上での位置関係が遠隔である場合や、仮想ハブからクライアントへ流入するイーサネットフレームが多量である場合に、アンダーレイネットワークへ多大な負荷をかけることとなる。
【００１６】
これを回避するためには、特に仮想イーサネット環境において、イーサネットフレームに対するフィルタリング処理を仮想ハブ側であらかじめ行なうことで、キャプチャ対象ではないイーサネットフレームの仮想ハブからクライアントへの流入を防止し、アンダーレイネットワークへの不要な負荷を低減することが効果的であると考えられる。
【００１７】
しかしながら、複数の仮想ハブにて同時にイーサネットフレームをキャプチャする場合、以下の問題が生じる。
【００１８】
・マルチキャスト、ブロードキャストは必ず全仮想ハブに流入するため、特別な対策無しに複数の仮想ハブで同時にイーサネットフレームをキャプチャすると、これらイーサネットフレームが重複してキャプチャされてしまう。
【００１９】
・ユニキャストは、イーサネットフレームの送信元クライアントと宛先クライアント間の経路に位置する特定の仮想ハブのみしか通過しないことがほとんどではあるが、複数の仮想ハブを経る場合は、上記と同様、イーサネットフレームの重複キャプチャを回避することが出来ない。
【００２０】
本発明は上記実情に鑑みてなされたものであり、仮想ネットワーク環境において、複数の仮想ハブでフレームのキャプチャ処理を行なう場合に、フレームがブロードキャスト、マルチキャスト、ユニキャストのいずれかであるかに関わらず、同一のフレームを重複してキャプチャしてしまうことを回避することが可能なネットワーク仮想化システム、中継装置、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００２１】
本発明の一態様によれば、ソフトウェアによる複数の仮想ハブをそれぞれ形成する複数の中継装置と、少なくとも１つの仮想ハブを経由して仮想ネットワーク通信を行う複数のクライアント端末と、を具備するネットワーク仮想化システムにおいて、少なくとも１つのクライアント端末は、データのキャプチャ処理を行う第１のキャプチャ処理手段を具備し、この第１のキャプチャ処理手段は、キャプチャ処理の結果を表示デバイスに出力する手段と、前記キャプチャ処理を行なわずに、当該クライアント端末の記憶領域に保存されているキャプチャデータを表示デバイスに出力するモードの設定を可能とする手段と、当該クライアント端末の記憶領域に保存されているキャプチャデータを取得せずに、前記仮想ハブの記憶領域に保存されているキャプチャデータを取得するモードの設定を可能とする手段とを具備し、前記クライアント端末は、前記仮想ハブに対しデータのキャプチャ処理に関する要求を行う処理要求手段を具備し、当該処理要求手段は、前記仮想ハブ上の、当該クライアント端末を収容するポート以外の全ポート間、或いは一部のポート間のトラフィックを、当該クライアント端末を収容するポートへミラーリングするモードの設定を可能とする手段と、前記仮想ハブ上の、当該クライアント端末を収容するポートで、フレームに対するフィルタ設定および当該設定に基づくフィルタリングを行なうモードの設定を可能とする手段と、前記仮想ハブ上の、当該クライアント端末を収容するポートで、キャプチャデータを当該クライアント端末へ送出せずに、前記仮想ハブの記憶領域に保存するリダイレクトを行なうモードの設定を可能とする手段と、前記仮想ハブ上の、当該クライアント端末を収容するポートでキャプチャ処理を行なわずに、既にキャプチャされ前記仮想ハブの記憶領域に保存されているキャプチャデータを当該クライアント端末に送信するモードの設定を可能とする手段とを具備し、前記仮想ハブは、任意のクライアント端末からの要求に応じたキャプチャ処理を行う第２のキャプチャ処理手段を具備し、この第２のキャプチャ処理手段は、要求元のクライアント端末を収容するポート、或いは、そのクライアント端末に到達可能なポートを上流ポートに設定する手段と、前記上流ポートへ、他の全てのポート間、或いは一部のポート間のトラフィックをミラーリングする手段と、前記上流ポートで、フィルタ設定および当該設定に基づくフィルタリングを行なう手段と、前記上流ポートで、キャプチャデータを要求元のクライアント端末へ送出する手段と、前記上流ポートで、キャプチャデータを要求元のクライアント端末へ送出せずに、当該仮想ハブの記憶領域に保存するリダイレクトを行なう手段と、前記上流ポートから当該仮想ハブに流入するトラフィックに対しては、キャプチャデータを当該仮想ハブの記憶領域に保存するリダイレクトを行う場合を除いては、キャプチャ処理の対象外とする手段と、要求元のクライアント端末へ、既にキャプチャされ当該仮想ハブの記憶領域に保存されているキャプチャデータを送信する手段と、要求元のクライアント端末へ、要求元のクライアント端末宛のユニキャストフレーム、ブロードキャストフレーム、マルチキャストフレームを、要求元のクライアント端末が要求するフィルタリングもしくはリダイレクトの設定に関わらず、送信する手段とを具備し、前記第２のキャプチャ処理手段は、更に、前記上流ポートから受信した要求を転送先へ転送するポートを下流ポートに設定する手段と、前記上流ポートから受信した要求を、当該要求の転送先である全ての或いは一部の下流方向に位置する仮想ハブへ前記下流ポートから転送する手段と、前記下流ポートで制御情報を送受信するための制御リンクからキャプチャデータを受信した場合に、そのキャプチャデータを前記上流ポートへミラーリングする手段と、前記下流ポートでユーザデータを送受信するためのユーザデータリンクから流入するトラフィックをキャプチャ処理の対象外とする手段と、当該仮想ハブがクライアント端末を直収しない仮想ハブである場合、前記上流ポートから流入するトラフィックを、キャプチャ処理の対象外とし、前記上流ポートへのフィルタ設定およびリダイレクト設定を、ユーザデータリンクに対してではなく、制御リンクに対して行ない、キャプチャデータの前記上流ポートへのミラーリングも、制御リンクに対して行ない、前記上流ポートへのミラーリング、フィルタリング、及び、リダイレクトを、ユニキャストトラフィックのみを対象として行なう手段とを具備することを特徴とするネットワーク仮想化システムが提供される。
【００２２】
本発明の別の一態様によれば、ソフトウェアによる仮想ハブを形成し、前記仮想ハブを経由して仮想ネットワーク通信を行う複数のクライアント端末の中の任意のクライアント端末からの要求に応じたキャプチャ処理を行う中継装置において、要求元のクライアント端末を収容するポート、或いは、そのクライアント端末に到達可能なポートを上流ポートに設定する手段と、前記上流ポートへ、他の全てのポート間、或いは一部のポート間のトラフィックをミラーリングする手段と、前記上流ポートで、フィルタ設定および当該設定に基づくフィルタリングを行なう手段と、前記上流ポートで、キャプチャデータを要求元のクライアント端末へ送出する手段と、前記上流ポートで、キャプチャデータを要求元のクライアント端末へ送出せずに、当該仮想ハブの記憶領域に保存するリダイレクトを行なう手段と、前記上流ポートから当該仮想ハブに流入するトラフィックに対しては、キャプチャデータを当該仮想ハブの記憶領域に保存するリダイレクトを行う場合を除いては、キャプチャ処理の対象外とする手段と、要求元のクライアント端末へ、既にキャプチャされ当該仮想ハブの記憶領域に保存されているキャプチャデータを送信する手段と、要求元のクライアント端末へ、要求元のクライアント端末宛のユニキャストフレーム、ブロードキャストフレーム、マルチキャストフレームを、要求元のクライアント端末が要求するフィルタリングもしくはリダイレクトの設定に関わらず、送信する手段と、前記上流ポートから受信した要求を転送先へ転送するポートを下流ポートに設定する手段と、前記上流ポートから受信した要求を、当該要求の転送先である全ての或いは一部の下流方向に位置する仮想ハブへ前記下流ポートから転送する手段と、前記下流ポートで制御情報を送受信するための制御リンクからキャプチャデータを受信した場合に、そのキャプチャデータを前記上流ポートへミラーリングする手段と、前記下流ポートでユーザデータを送受信するためのユーザデータリンクから流入するトラフィックをキャプチャ処理の対象外とする手段と、当該仮想ハブがクライアント端末を直収しない仮想ハブである場合、前記上流ポートから流入するトラフィックを、キャプチャ処理の対象外とし、前記上流ポートへのフィルタ設定およびリダイレクト設定を、ユーザデータリンクに対してではなく、制御リンクに対して行ない、キャプチャデータの前記上流ポートへのミラーリングも、制御リンクに対して行ない、前記上流ポートへのミラーリング、フィルタリング、及び、リダイレクトを、ユニキャストトラフィックのみを対象として行なう手段とを具備することを特徴とする中継装置が提供される。
【００２３】
本発明の更なる別の一態様によれば、ソフトウェアによる仮想ハブを形成し、前記仮想ハブを経由して仮想ネットワーク通信を行う複数のクライアント端末の中の任意のクライアント端末からの要求に応じたキャプチャ処理を行う中継装置に適用されるプログラムであって、要求元のクライアント端末を収容するポート、或いは、そのクライアント端末に到達可能なポートを上流ポートに設定する機能と、前記上流ポートへ、他の全てのポート間、或いは一部のポート間のトラフィックをミラーリングする機能と、前記上流ポートで、フィルタ設定および当該設定に基づくフィルタリングを行なう機能と、前記上流ポートで、キャプチャデータを要求元のクライアント端末へ送出する機能と、前記上流ポートで、キャプチャデータを要求元のクライアント端末へ送出せずに、当該仮想ハブの記憶領域に保存するリダイレクトを行なう機能と、前記上流ポートから当該仮想ハブに流入するトラフィックに対しては、キャプチャデータを当該仮想ハブの記憶領域に保存するリダイレクトを行う場合を除いては、キャプチャ処理の対象外とする機能と、要求元のクライアント端末へ、既にキャプチャされ当該仮想ハブの記憶領域に保存されているキャプチャデータを送信する機能と、要求元のクライアント端末へ、要求元のクライアント端末宛のユニキャストフレーム、ブロードキャストフレーム、マルチキャストフレームを、要求元のクライアント端末が要求するフィルタリングもしくはリダイレクトの設定に関わらず、送信する機能と、前記上流ポートから受信した要求を転送先へ転送するポートを下流ポートに設定する機能と、前記上流ポートから受信した要求を、当該要求の転送先である全ての或いは一部の下流方向に位置する仮想ハブへ前記下流ポートから転送する機能と、前記下流ポートで制御情報を送受信するための制御リンクからキャプチャデータを受信した場合に、そのキャプチャデータを前記上流ポートへミラーリングする機能と、前記下流ポートでユーザデータを送受信するためのユーザデータリンクから流入するトラフィックをキャプチャ処理の対象外とする機能と、当該仮想ハブがクライアント端末を直収しない仮想ハブである場合、前記上流ポートから流入するトラフィックを、キャプチャ処理の対象外とし、前記上流ポートへのフィルタ設定およびリダイレクト設定を、ユーザデータリンクに対してではなく、制御リンクに対して行ない、キャプチャデータの前記上流ポートへのミラーリングも、制御リンクに対して行ない、前記上流ポートへのミラーリング、フィルタリング、及び、リダイレクトを、ユニキャストトラフィックのみを対象として行なう機能とをコンピュータに実現させることを特徴とするプログラムが提供される。
【発明の効果】
【００２４】
本発明によれば、仮想ネットワーク環境において、複数の仮想ハブでフレームのキャプチャ処理を行なう場合に、フレームがブロードキャスト、マルチキャスト、ユニキャストのいずれかであるかに関わらず、同一のフレームを重複してキャプチャしてしまうことを回避することができる。
【発明を実施するための最良の形態】
【００２５】
以下、図面を参照して、本発明の実施の形態について説明する。
【００２６】
＜各実施形態における共通事項＞
以後では２つの実施形態を示すが、２つの実施形態に共通する事項について以下に示す。
【００２７】
1. ユーザ（オペレータ）は、既存のキャプチャプログラムをそのまま、或いは、若干の使用方法変更のみで使うことができるようにする。
【００２８】
可能な限り、ユーザに特別な手順を強いることなく実現するためである。
【００２９】
2. キャプチャを行なうクライアント端末（以後、「クライアント」と称する）上の他のアプリケーション、或いはＯＳ（オペレーティングシステム）は、キャプチャ処理の実施の有無に関わらず、通常通り、イーサネットフレームの送受信を行なうことが出来る。
【００３０】
他のアプリケーションやＯＳの挙動に影響を与えないためである。もちろん、該当クライアントをキャプチャ専用のマシンとして動作させる場合にはこの限りではない。
【００３１】
3. 中継装置としてのサーバ装置（以後、「サーバ」と称する）により形成される仮想ハブ（中継ノード）上を流れる全てのイーサネットフレーム（以後、「トラフィック」とも称する）をキャプチャ、フィルタリングの対象とすることができる。
【００３２】
通常のイーサネットスイッチングハブは、いわゆる“バス”構造ではないため、あるポートでは、該当イーサネットスイッチングハブ上を流れるイーサネットフレームのうちの一部しか観測することは出来ない。具体的には、ブロードキャストフレーム、マルチキャストフレーム、及び、そのポートに接続しているクライアントが送信元か或いは宛先であるユニキャストフレームのみ、観測可能である。
【００３３】
仮想ハブも通常動作時には、イーサネットスイッチングハブとして、つまり、前述のように動作するが、キャプチャを実行しようとしているクライアントからの特別な指示により、そのクライアントが接続している仮想ポート（仮想ハブがクライアントを収容する仮想的なポート）へは、仮想ハブ上を流れる全ての、或いは、指定のイーサネットフレームをミラーする（もしくはミラーリングする）、特別なモードを用意する。ここでいう「ミラー（もしくはミラーリング）」とは、ある場所からある場所へ転送されるフレームの複製をリアルタイムに生成しつつそれを目的のポート等へ送る処理をいう。
【００３４】
なお、後述の通り、上記ミラーされたイーサネットフレームが全てクライアントまで流入するわけではない。フィルタリング処理が行なわれると、クライアントまで流入しないものがある。
【００３５】
この後、第１の実施形態および第２の実施形態について説明する。
【００３６】
なお、発明が解決しようとする課題の欄で述べた同一フレームの重複キャプチャの問題を解決するネットワーク仮想化システム（複数の仮想ハブおよびクライアントを含むシステム）について説明する前に、その前提となる技術として、当該システムで使用される各仮想ハブおよび各クライアントに関して第１の実施形態（図１〜図１０に相当）にて説明する。そして、この第１の実施形態の説明の後に、当該第１の実施形態で示した技術を用いて同一フレーム重複キャプチャを回避する手法を第２の実施形態（図１１及び図１２に相当）にて説明する。
【００３７】
＜第１の実施形態＞
ここでは、クライアント１側にて、既存のキャプチャプログラムへのラッパの形により本提案の機能を実現する方法を説明する。また、仮想ハブ側での処理については、全ての実施形態にて共通であるあるが、説明の順番上、本実施形態にて詳述する。
【００３８】
図１は、本実施形態に係るネットワーク仮想化システムを構成するクライアント１の構成例を示す図である。また、図２は、本実施形態に係るネットワーク仮想化システムを構成するサーバ装置（中継装置）により形成される仮想ハブ５０の構成例を示す図である。なお、図２に示す仮想ハブ５０の構成は本実施形態固有のものではなく、全実施形態で共通である。
【００３９】
図１に示すクライアント１は、カーネル１０およびユーザランド２０を含む。カーネル１０は、物理ネットワークインタフェース１１、ネットワークインタフェースドライバ１２、イーサネット層１３、ＴＣＰ／ＩＰ１４、仮想ネットワークインタフェースカーネル部（トンネルインタフェース）１５、およびパケットキャプチャモジュール１６を有する。一方、ユーザランド２０は、仮想ネットワークインタフェースユーザプログラム部２１、ラッパプログラム２３、アプリケーションプログラム群２９などを有する。仮想ネットワークインタフェースユーザプログラム部２１は、制御モジュール２２などを含む。また、ラッパプログラム２３は、モード設定モジュール２４、フィルタ設定モジュール２５、キャプチャファイル取得モジュール２６、キャプチャプログラム２７、キャプチャ終了モジュール２８などを含む。
【００４０】
図２に示す仮想ハブ５０は、クライアント毎に対応する仮想ポート５１、イーサネットスイッチングモジュール５２、フィルタモジュール５３、制御モジュール５４、キャプチャデータ保存部５５、キャプチャファイル提供モジュール５６などを有する。また、仮想ハブ５０は、クライアント１（及び２，３，４）の仮想ネットワークインタフェースと接続する仮想的なイーサネットケーブルである仮想イーサネットコネクション６０を形成する。なお、図２中に示されるクライアント２，３，４は、図１に示すクライアント１と同じ機能を有する。
【００４１】
［構成要素の概要］
以下、図１および図２を参照して、それぞれの機能要素の概要を説明する。
【００４２】
1. クライアント１（及び２，３，４）
クライアント１は、仮想ハブ５０にアンダーレイネットワークを使用して仮想的にイーサネット接続する計算機である。本実施形態では、ＵＮＩＸ（登録商標）などのＯＳに実装されているトンネルインタフェースの仕組みを利用して仮想ネットワークインタフェースを実装したものである。図１にクライアント１の典型的なプロトコルスタック、モジュール構成を示す。
【００４３】
- 物理ネットワークインタフェース１１
物理ネットワークインタフェース１１は、いわゆるネットワークインタフェースと呼ばれているものである。
【００４４】
- ネットワークインタフェースドライバ１２
ネットワークインタフェースドライバ１２は、ネットワークインタフェースを動作させるためのＯＳ内のソフトウェアである。
【００４５】
- イーサネット層１３
イーサネット層１３は、イーサネットのプロトコルを用いた通信を行うレイヤーである。
【００４６】
- ＴＣＰ／ＩＰ１４
ＴＣＰ／ＩＰ１４は、ＩＰ及びＴＣＰまたはＵＤＰ等のトランスポート層プロトコルを用いた通信を行うレイヤーである。
【００４７】
- 仮想ネットワークインタフェースカーネル部（トンネルインタフェース）１５
仮想ネットワークインタフェースカーネル部（トンネルインタフェース）１５は、各種ＯＳなどに実装されているトンネルインタフェースであり、後述の仮想ネットワークインタフェースユーザプログラム部２１と連携し、仮想ネットワークインタフェースを構成する。
【００４８】
なお、ＯＳ、ユーザランドのプログラム群の観点では、仮想ネットワークインタフェースカーネル部（トンネルインタフェース）１５の識別名が仮想ネットワークインタフェースの識別名となる。
【００４９】
つまり、ネットワークインタフェース名を指定する必要がある場面では、仮想ネットワークインタフェースカーネル部（トンネルインタフェース）１５の識別名を使用する。
【００５０】
- パケットキャプチャモジュール１６
パケットキャプチャモジュール１６は、各種ＯＳに実装されているカーネル内のパケットキャプチャモジュールであり、後述のキャプチャプログラム２７からの設定により、イーサネットフレームのフィルタリング、キャプチャ処理を行なう。
【００５１】
通常、パケットキャプチャモジュール１６は、ネットワークインタフェースドライバ１２及びカーネル内のイーサネット層１３にて、イーサネットフレームのフィルタリング、キャプチャを行なう。
【００５２】
- 仮想ネットワークインタフェースユーザプログラム部２１
仮想ネットワークインタフェースユーザプログラム部２１は、仮想ネットワークインタフェースカーネル部（トンネルインタフェース）１５と連携し、仮想ネットワークインタフェースを構成するユーザランドのプログラムであり、イーサネットフレームを処理するイーサネット処理モジュール（不図示）、および仮想ハブ５０と制御情報をやりとりする制御モジュール２２により構成される。
【００５３】
- ラッパプログラム２３
ラッパプログラム２３は、後述のモード設定モジュール２４、フィルタ設定モジュール２５、キャプチャファイル取得モジュール２６、キャプチャプログラム２７、キャプチャ終了モジュール２８を内部的に呼び出すことで、本提案の中心部分であるフィルタリング、キャプチャ処理（本来ならばクライアント１上のパケットキャプチャモジュール１６が行なう）を仮想ハブ５０側で処理可能にするプログラムであり、オペレータは、キャプチャプログラム２７を直接使うのではなく、本プログラムを使用することとなる。
【００５４】
ラッパプログラム２３では、以下の「仮想ネットワークインタフェース」、「ミラーモード」、「フィルタ設定」、「リダイレクトモード」に関してパラメータで各種の指定を行うことが可能である。
【００５５】
* 仮想ネットワークインタフェース（パラメータ指定は必須）
イーサネットフレームのキャプチャを実行する仮想ネットワークインタフェースを指定する。
【００５６】
* ミラーモード（パラメータ指定は省略可能）
仮想ハブ５０のイーサネットスイッチングモジュール５２のモードを指定する。以下の３つのモードがある（詳細は後述）。
【００５７】
i. 通常モード（ミラーモードのパラメータ指定が省略された場合）
仮想ハブ５０は通常のイーサネットスイッチングハブとして動作する。つまり、ブロードキャストフレーム、マルチキャストフレーム、宛先がキャプチャ対象の仮想ポートに収容しているクライアントであるユニキャストフレームのみがキャプチャ対象となる。
【００５８】
ii. 全ミラーモード
仮想ハブ５０の全てのトラフィックをキャプチャ対象とする。
【００５９】
iii. 部分ミラーモード
仮想ハブ５０の一部の仮想ポート間のトラフィックをキャプチャ対象とする。
【００６０】
* フィルタ設定（パラメータ指定は省略可能）
キャプチャ対象のイーサネットフレームを決定するためのフィルタリングに使用される。
【００６１】
* リダイレクトモード（パラメータ指定は省略可能）
キャプチャデータの出力先などを指定する。以下のモードがある。
【００６２】
i. 通常モード（リダイレクトモードのパラメータ指定が省略された場合）
キャプチャされたイーサネットフレームの出力先を表示デバイスとする。
【００６３】
ii. ファイル保存モード
キャプチャされたイーサネットフレームの出力先をファイルとする。
【００６４】
iii. ファイル読み出しモード
実際にはキャプチャ処理を行なわず、上記ファイル保存モードにて保存されたファイルを読み出し、表示デバイスに出力する。
【００６５】
以下に、ラッパプログラム２３が使用する各モジュールの動作を説明する。
【００６６】
* モード設定モジュール２４
モード設定モジュール２４は、ラッパプログラム２３から呼び出され、仮想ハブ５０のイーサネットスイッチングモジュール５２、仮想ポートの各種モード（ミラーモード、リダイレクトモード）の設定を行なう。
【００６７】
* フィルタ設定モジュール２５
フィルタ設定モジュール２５は、ラッパプログラム２３から呼び出され、仮想ハブ５０上におけるフィルタ設定の指示を出す。
【００６８】
* キャプチャファイル取得モジュール２６
キャプチャファイル取得モジュール２６は、ラッパプログラム２３から呼び出され、仮想ハブ５０のファイルシステム上のファイルとしてキャプチャデータ保存部５５に保存されているキャプチャデータを取得（入力）し、ローカルのファイルシステムＦに保存する。
【００６９】
なお、キャプチャファイル取得モジュール２６、及び、仮想ハブ５０のキャプチャファイル提供モジュール５６は、一般的なファイル転送プロトコル（ＦＴＰやＳＣＰなど）のクライアントとサーバを想定している。
【００７０】
* キャプチャプログラム２７
キャプチャプログラム２７は、ラッパプログラム２３から呼び出され、上記パケットキャプチャモジュール１６へのフィルタの設定、キャプチャ実行の指示を出すユーザランドのプログラムであり、各種ＯＳに標準で搭載されていることが多い。
【００７１】
* キャプチャ終了モジュール２８
キャプチャ終了モジュール２８は、ラッパプログラム２３から呼び出され、仮想ハブ５０へ、クリーンアップ処理の指示などを出す。
【００７２】
2. 仮想ハブ
仮想ハブ５０は、イーサネットスイッチングハブをエミュレートするソフトウェアである。以下のような複数の仮想ポートや各種のモジュールにより構成される。
【００７３】
- 仮想ポート５１
前述のクライアント１の仮想イーサネットコネクション６０の端点であり、通常のイーサネットスイッチングハブでのポートに該当する。
【００７４】
なお、イーサネットフレームのキャプチャを実行するクライアントを収容する仮想ポート５１を、特にミラーポートと呼ぶこととする。
【００７５】
また、ミラーポートである仮想ポート５１は、以下のモードを持つ。
【００７６】
a) 通常キャプチャモード
イーサネットスイッチングモジュール５２から流入するイーサネットフレームを、クライアント１との仮想イーサネットコネクション６０へ送出する。
【００７７】
b) リダイレクトモード
イーサネットスイッチングモジュール５２から流入するイーサネットフレーム、及び、クライアントからのイーサネットフレームをキャプチャデータ保存部５５へ送出する（ファイルへ保存する）。
【００７８】
なお、制御モジュール５４によりフィルタが設定されている場合には、イーサネットフレームをクライアント１との仮想イーサネットコネクション６０、或いは、キャプチャデータ保存部５５へ送出する前に、フィルタモジュール５３を介してフィルタリング処理を行なう。
【００７９】
ただし、クライアント上のアプリケーションプログラム群、及びＯＳが、イーサネットフレームのキャプチャ処理の有無に関わらず、正常に自身宛のイーサネットフレームを受信できるようにするため、ブロードキャストフレーム、マルチキャストフレーム、及び、キャプチャ処理を実行しているクライアント向けのユニキャストフレームは、クライアントからの要求によるフィルタリング、リダイレクトの設定に関わらず、常にクライアントへ送出する。
【００８０】
- イーサネットスイッチングモジュール５２
イーサネットフレームをスイッチングするモジュールである。以下のモードを持つ。
【００８１】
a) 通常モード
いわゆるイーサネットスイッチングハブと同等のスイッチング処理を行なう。
【００８２】
b) 全ミラーモード
制御モジュール５４からの指示により、全ての仮想ポート５１で送受信されるイーサネットフレームをミラーポートへコピーする。
【００８３】
c) 部分ミラーモード
制御モジュール５４からの指示により、特定の仮想ポート５１で送受信されるイーサネットフレームをミラーポートへコピーする。
【００８４】
- フィルタモジュール５３
制御モジュール５４によるフィルタ設定の内容に基づき、該当仮想ポート５１へ流入するイーサネットフレームに対してフィルタリングを行なう。
【００８５】
- 制御モジュール５４
クライアントの仮想ネットワークインタフェースユーザプログラム部２１と、制御メッセージを使用して制御情報をやりとりし、その制御情報の内容に基づきイーサネットスイッチングモジュール５２、仮想ポート５１、フィルタモジュール５３の挙動を制御するモジュールである。
【００８６】
- キャプチャデータ保存部５５
フィルタモジュール５３がフィルタリングしたキャプチャデータを保持する記憶領域である。一般的に、ＨＤＤやフラッシュメモリが使用され、キャプチャデータはファイルとして保存される。
【００８７】
- キャプチャファイル提供モジュール５６
クライアントのキャプチャファイル取得モジュール２６からの指示に従い、キャプチャデータ保存部５５から指定されたファイルを読み出し、クライアント１へ送信する。
【００８８】
なお、前述の通り、キャプチャファイル提供モジュール５６、及び、クライアント１のキャプチャファイル取得モジュール２６は、一般的なファイル転送プロトコル（ＦＴＰやＳＣＰなど）のサーバとクライアントを想定している。
【００８９】
なお、図中では省略しているが、仮想ハブ５０は、上記以外にも、アンダーレイネットワークを使用してクライアント１との仮想イーサネットコネクション６０を構成するネットワークプロトコルスタック（ＴＣＰ／ＩＰなど）や物理ネットワークインタフェース１１も持つ。
【００９０】
3. 仮想イーサネットコネクション６０
仮想ハブ５０とクライアント１（及び２，３，４）の仮想ネットワークインタフェースとをアンダーレイネットワークにより接続する、仮想的なイーサネットケーブルであると考えることができる。
【００９１】
仮想イーサネットコネクション６０は、ユーザデータであるイーサネットフレームを運ぶユーザデータリンクと、仮想ネットワークインタフェースの仮想ネットワークインタフェースユーザプログラム部２１と仮想ハブ５０間で制御情報をやりとりするための制御リンクにより構成される。
【００９２】
図３の（ａ），（ｂ）に本実施形態で使用される要求メッセージ，応答メッセージの各フォーマットをそれぞれ示す。その詳細については、次の“［処理詳細］”の説明の中で行なう。
【００９３】
［処理詳細］
以下、図４〜図１０を参照して、各要素の処理シーケンスの詳細を説明する。
【００９４】
ここでは、クライアント１と仮想ハブ５０との間で行われる処理の例を挙げる。
【００９５】
なお、イーサネットフレームのフィルタリング、キャプチャに関わる設定処理に主眼を置く一方、クライアントの仮想ハブ５０への接続方法、ユーザデータ（イーサネットフレーム）/制御データの送受信処理やイーサネットフレームのスイッチング処理、フィルタリング処理など、本提案の主旨ではないものについての詳細な説明については割愛する。
【００９６】
更に、クライアントにおける、ラッパプログラム２３と仮想ネットワークインタフェースユーザプログラム部２１間の通信手段は、プロセス間通信をはじめとして各種想定されるが、これも本提案の主旨ではないため、詳細は割愛する。
【００９７】
1. オペレータによるキャプチャ処理開始
オペレータの操作により、クライアント１上にてラッパプログラム２３が起動する（図４中のステップＳ１０）。
【００９８】
パラメータとして、仮想ネットワークインタフェース、フィルタ設定、リダイレクトモード、ミラーモードが指定可能である。
【００９９】
2. リダイレクトモードのファイル読み出しモードの指定の有無チェック
ラッパプログラム２３は、リダイレクトモードのファイル読み出しモードの指定の有無をチェックする（ステップＳ１１）。
【０１００】
指定されていない場合は、ステップＳ１０２へ、指定されている場合は以下の処理へ進む。
【０１０１】
（a） ファイル名の有無のチェック
ラッパプログラム２３は、ファイル名が指定されているか否かを確認し（図４中のＳ１２）、ファイル名が指定されていない場合（ステップＳ１２のＮｏ）、処理を終了する（ステップＳ１１６）。
【０１０２】
（b） キャプチャファイル取得モジュール２６の起動
ラッパプログラム２３は、ファイル名をパラメータとして、キャプチャファイル取得モジュール２６を起動し（ステップＳ１３、図７中のステップＳ４００）、その終了を待つ。
【０１０３】
（c） キャプチャファイル取得モジュール２６／キャプチャファイル提供モジュール５６によるファイル取得
キャプチャファイル取得モジュール２６は、ラッパプログラム２３から指定されたファイルの取得を仮想ハブ５０のキャプチャファイル提供モジュール５６に指示し（図７中のステップＳ４０１）、ファイルが取得できたら、取得したファイルをローカルのファイルシステムＦに保存し（ステップＳ４０２〜Ｓ４０３）、処理を終了する（ステップＳ４０４）。一方で、キャプチャファイル提供モジュール５６は、キャプチャファイル取得モジュール２６からファイルの取得の要求を受け（図７中のステップＳ７００〜Ｓ７０１）、指定されたファイルがあれば（ステップＳ７０２）、当該ファイルをキャプチャファイル取得モジュール２６へ転送し（ステップＳ７０３）、処理を終了する（ステップＳ７０４）。
【０１０４】
なお、ファイル名が不正（仮想ハブ５０のキャプチャデータ保存部５５に該当ファイルが存在しないなど）の場合、キャプチャファイル取得モジュール２６は異常終了する（図中のステップＳ１４のＮＧ、Ｓ１１６）。
【０１０５】
なお、キャプチャファイル取得モジュール２６、及び、仮想ハブ５０のキャプチャファイル提供モジュール５６は、一般的なファイル転送プロトコル（ＦＴＰやＳＣＰなど）ライアントとサーバを想定しているため、ここでは詳細な説明を割愛する。
【０１０６】
（d） キャプチャファイル取得モジュール２６の実行結果チェック
ラッパプログラム２３は、キャプチャファイル取得モジュール２６の処理結果をチェックし、以下の処理を行なう。
【０１０７】
・キャプチャファイル取得モジュール２６が正常終了した場合
ファイル読み出しモードである旨とファイル名、及び、ラッパプログラム２３のパラメータとしてフィルタパラメータが指定されていれば（ステップＳ１４のＯＫ）、それをパラメータとして、キャプチャプログラム２７を起動する（ステップＳ１１３）。
【０１０８】
・キャプチャファイル取得モジュール２６が異常終了した場合
キャプチャファイル取得モジュール２６が異常終了した場合（ステップＳ１４のＮＧ）、処理を終了する（ステップＳ１１６）。
【０１０９】
3. 仮想ネットワークインタフェースパラメータのチェック
ラッパプログラム２３は、オペレータが指定した仮想ネットワークインタフェースパラメータのチェックを行なう（ステップＳ１０２、Ｓ１０３）。
【０１１０】
・仮想ネットワークインタフェースのパラメータ指定が省略された場合
仮想ネットワークインタフェースのパラメータ指定が省略された場合（ステップＳ１０２のＮｏ）、処理を終了する（ステップＳ１１６）。
【０１１１】
・無効な仮想ネットワークインタフェースが指定された場合
指定された仮想ネットワークインタフェースがクライアント１上に存在しない場合、或いは、アクティブでない場合（Ｓ１０３のＮｏ）、処理を終了する（ステップＳ１１６）。
【０１１２】
・有効な仮想ネットワークインタフェースが指定された場合
指定された仮想ネットワークインタフェースが存在し、かつ、アクティブである場合（Ｓ１０３のＹｅｓ）、本パラメータをキャプチャプログラム２７起動時に渡すために内部変数に記憶し、ステップＳ１０４へ進む。
【０１１３】
4. フィルタ設定
（a） フィルタパラメータのチェック
ラッパプログラム２３は、オペレータが指定したフィルタパラメータのチェックを行なう（ステップＳ１０４）。
【０１１４】
・フィルタパラメータが指定されていない場合
フィルタパラメータが指定されていない場合（ステップＳ１０４のＮｏ）、ステップＳ１０７へ進む。
【０１１５】
・フィルタパラメータが指定されている場合
フィルタパラメータが指定されている場合（ステップＳ１０４のＹｅｓ）、ステップＳ１０５へ進む。
【０１１６】
（b） フィルタ設定モジュール２５の起動
ラッパプログラム２３は、オペレータが指定したフィルタパラメータをパラメータとして、フィルタ設定モジュール２５を起動し（図４中のステップＳ１０５、図５中のステップＳ２００）、その終了を待つ。
【０１１７】
（c） フィルタ設定モジュール２５によるフィルタ設定要求の送信
i. フィルタチェック
クライアント１のフィルタ設定モジュール２５は、ラッパプログラム２３から渡されたフィルタパラメータのチェックを行ない（図５中のステップＳ２０１）、異常ならば（ステップＳ２０１のＮｏ）、エラーとしてラッパプログラム２３へ制御を戻し、処理を終了する（ステップ２０５）。
【０１１８】
ii. フィルタ設定要求送信
一方、正常ならば、仮想ネットワークインタフェースユーザプログラム部２１の制御モジュール２２を介して、仮想ハブ５０の制御モジュール５４へフィルタ設定要求を送信し（ステップＳ２０２）、仮想ハブ５０の制御モジュール５４からのフィルタ設定応答を待つ（ステップＳ２０３）。
【０１１９】
フィルタ設定要求のフォーマットは図３（ａ）に示す通りで、ラッパプログラム２３から指定されたフィルタ設定をフィルタデータ部に設定する。
【０１２０】
なお、フィルタ条件の指定方法は、送信元/宛先ＭＡＣアドレス、イーサネットタイプ、送信元/宛先ＩＰアドレス、送信元/宛先ポート番号、上位プロトコル番号など、一般的なキャプチャプログラム２７と同等のものを想定しているが、具体的内容は本提案の主旨ではないため、詳細は割愛する。
【０１２１】
もし、タイムアウトした場合は（ステップＳ２０３のＹｅｓ）、エラーとしてラッパプログラム２３へ制御を戻し、処理を終了する（ステップＳ２０５）。
【０１２２】
（d） 仮想ハブ５０の制御モジュール５４によるフィルタ設定、及び、フィルタ設定応答の送信
仮想ハブ５０の制御モジュール５４は、クライアント１の制御モジュール２２からフィルタ設定要求を受信すると（図９中のＳ６００〜Ｓ６０２の「フィルタ設定」）、フィルタ設定要求からフィルタデータを取り出し、必要に応じてフィルタの記述フォーマットの変換処理を行なった後、クライアント１との仮想イーサネットコネクション６０を収容している仮想ポート５１、すなわち、ミラーポートのフィルタモジュール５３にフィルタの設定を行なう（ステップＳ６１２）。
【０１２３】
フィルタの設定が正常に終了すれば、処理結果が正常であるフィルタ設定応答をクライアント１の制御モジュール２２へ送信し（ステップＳ６１３）、処理を終了する（ステップＳ６１４）。一方、フィルタの設定が異常終了した場合は、処理結果が異常であるフィルタ設定応答をクライアント１の制御モジュール２２へ送信し、処理を終了する。
【０１２４】
（e） フィルタ設定モジュール２５によるフィルタ設定応答の受信
クライアント１のフィルタ設定モジュール２５は、仮想ネットワークインタフェースユーザプログラム部２１の制御モジュール２２を介して、仮想ハブ５０の制御モジュール５４からフィルタ設定応答を受信すると（図５中のステップＳ２０４）、処理結果を戻り値として、ラッパプログラム２３に制御を戻し（ステップＳ２０５）、処理を終了する。
【０１２５】
（f） フィルタ設定モジュール２５の実行結果チェック
ラッパプログラム２３は、フィルタ設定モジュール２５の戻り値をチェックし（図５中のステップＳ１０６）、以下の処理を行なう。
【０１２６】
・フィルタ設定モジュール２５が正常終了した場合
フィルタ設定モジュール２５が正常終了した場合（ステップＳ１０６のＯＫ）、指定されたフィルタパラメータの内容をキャプチャプログラム２７起動時に渡すため、内部変数に記憶し、ステップＳ１０７へ進む。
【０１２７】
・フィルタ設定モジュール２５が異常終了した場合
フィルタ設定モジュール２５が異常終了した場合（ステップＳ１０６のＮＧ）、処理を終了する（ステップＳ１１６）。
【０１２８】
5. 仮想ハブ動作モード設定
ラッパプログラム２３は、ミラーモードパラメータ、リダイレクトモードパラメータのチェックを行ない（ステップＳ１０７）、以下の処理を行なう。
【０１２９】
（a） ミラーモードパラメータ（全ミラーモード/部分ミラーモード）、リダイレクトモードパラメータ（ファイル保存モード）が指定されている場合（ステップＳ１０７のＹｅｓ）
i. モード設定モジュール２４の起動
ラッパプログラム２３は、モード設定の内容（ミラーモードパラメータ（全ミラーモード/部分ミラーモード）、リダイレクトモードパラメータ（ファイル保存モード））をパラメータとして、モード設定モジュール２４を起動し（ステップＳ１０８、図６中のステップＳ３００）、その終了を待つ。
【０１３０】
なお、部分ミラーモードの場合、どの仮想ポート５１をミラーするかを指定する仮想ポート５１のリストも必要となるが、リストが無い場合は全ミラーモードが指定されたと見なす。
【０１３１】
ii. モード設定モジュール２４によるモード設定要求の送信
クライアント１のモード設定モジュール２４は、仮想ネットワークインタフェースユーザプログラム部２１の制御モジュール２２を介して、仮想ハブ５０の制御モジュール５４へモード設定要求を送信する（図６中のステップＳ３０１）。モード設定要求のフォーマットは図３（ｂ）に示す通りで、ミラーモードの種別のいずれか、或いは、リダイレクトモードのファイル保存モードを指定する。また、部分ミラーモードの場合は仮想ポート５１のリストも、ファイル保存モードの場合はファイル名も設定する。
【０１３２】
もし、タイムアウトした場合は（ステップＳ３０２のＹｅｓ）、エラーとしてラッパプログラム２３へ制御を戻し、処理を終了する（ステップＳ３０４）。
【０１３３】
iii. 仮想ハブ５０の制御モジュール５４による仮想ハブモードの設定、及び、モード設定応答の送信
仮想ハブ５０の制御モジュール５４は、クライアント１の制御モジュール２２からモード設定要求を受信すると（図９中のステップＳ６００〜Ｓ６０２の「モード設定」）、モード設定要求から指定されているモード情報を取り出し、その内容に応じて、以下の処理を行なう。
【０１３４】
・全ミラーモードが指定されている場合
全ミラーモードが指定されている場合（ステップＳ６０３の「全ミラー」）、イーサネットスイッチングモジュール５２を全ミラーモードに設定する（ステップＳ６０５〜Ｓ６０６）。
【０１３５】
・部分ミラーモードが指定されている場合
部分ミラーモードが指定されている場合（ステップＳ６０３の「部分ミラー」）、指定された仮想ポート５１の情報を元に、イーサネットスイッチングモジュール５２を部分ミラーモードに設定する。仮想ポート５１のリストがあれば（ステップＳ６０４の「あり」）、それに従い、該当する仮想ポート５１をミラーするように設定し（ステップＳ６０６）、仮想ポート５１のリストが無ければ（ステップＳ６０４の「なし」）、全ての仮想ポート５１をミラーするように設定する（全ミラーモードと等価）（ステップＳ６０５）。
【０１３６】
・ファイル保存モードが指定されている場合
ファイル保存モードが指定されている場合（ステップＳ６０８の「あり」）、指定されたファイル名を元に、仮想ポート５１をリダイレクトモードに設定する（ステップＳ６０９）。
【０１３７】
上記処理完了後、モード設定応答をクライアント１の制御モジュール２２に送信し（ステップＳ６１０）、処理を終了する（ステップＳ６１４）。
【０１３８】
iv. モード設定モジュール２４によるモード設定応答の受信
クライアント１のモード設定モジュール２４は、仮想ハブ５０の制御モジュール５４からモード設定応答を受信すると（図６中のステップＳ３０３）、処理結果を戻り値としてラッパプログラム２３へ制御を戻し、処理を終了する（ステップＳ３０４）。
【０１３９】
v. モード設定モジュール２４の実行結果チェック
ラッパプログラム２３は、モード設定モジュール２４の戻り値をチェックし（図４中のステップＳ１０９）、以下の処理を行なう。
【０１４０】
・モード設定モジュール２４が正常終了した場合
ファイル保存モードが指定されていない場合には（ステップＳ１１０のＮｏ）、ステップＳ１１３へ進む。一方、ファイル保存モードが指定されている場合には（ステップＳ１１０のＹｅｓ）、オペレータからの終了指示を待つ（ステップＳ１１１、Ｓ１１２）。その後、オペレータからの終了指示があると（ステップＳ１１２のＹｅｓ）、ステップＳ１１５へ進む。
【０１４１】
・モード設定モジュール２４が異常終了した場合
モード設定モジュール２４が異常終了した場合（ステップＳ１０９のＮＧ）、ステップＳ１１５へ進む。
【０１４２】
（b） 上記のいずれも指定されていない場合
上記のいずれも指定されていない場合（ステップＳ１１０のＮｏ）、ステップＳ１１３へ進む。
【０１４３】
6. キャプチャプログラム２７の起動
ラッパプログラム２３は、キャプチャプログラム２７を起動する（ステップＳ１１３）。
【０１４４】
（a） ファイル読み出しモードが指定されている場合
キャプチャプログラム２７を起動する際に、ファイル読み出しモードが指定されている場合、上記記憶しておいた、フィルタパラメータ、ファイル読み出しモードである旨及びファイル名をパラメータとして、キャプチャプログラム２７を起動する（ステップＳ１１３）。キャプチャプログラム２７がオペレータからの終了指示で（ステップＳ２０のＹｅｓ）、或いはファイルの内容を表示デバイスに表示後、終了すると、ファイル読み出しモードが指定されているので（図４中のＳ１１４のＹｅｓ）、ラッパプログラム２３も処理を終了する（ステップＳ１１６）。
【０１４５】
（b） ファイル読み出しモードが指定されていない場合
キャプチャプログラム２７を起動する際に、ファイル読み出しモードが指定されていない場合、上記記憶しておいた、フィルタパラメータをパラメータとして、キャプチャプログラム２７を起動する（ステップＳ１１３）。オペレータからの終了指示（ステップＳ２０のＹｅｓ）などでキャプチャプログラム２７が終了すると、ファイル読み出しモードが指定されていないので（図４中のＳ１１４のＮｏ）、ステップＳ１１５へ進む。
【０１４６】
7. 終了処理
（a） キャプチャ終了モジュール２８の起動
ラッパプログラム２３は、キャプチャ終了モジュール２８を起動する（ステップＳ１１５、図８中のステップＳ５００）。
【０１４７】
（b） キャプチャ終了要求の送信
キャプチャ終了モジュール２８は、仮想ネットワークインタフェースユーザプログラム部２１の制御モジュール２２を介して、仮想ハブ５０の制御モジュール５４にキャプチャ終了要求を送信し（図８中のステップＳ５０１）、制御をラッパプログラム２３に戻し、処理を終了する（ステップＳ５０２）。
【０１４８】
（c） 仮想ハブのクリーンアップ処理
仮想ハブ５０の制御モジュール５４は、クライアント１の制御モジュール２２からキャプチャ終了要求を受信すると（ステップ図９中のステップＳ６００〜Ｓ６０２の「キャプチャ終了」）、イーサネットスイッチングモジュール５２、及び、仮想ポート５１を“通常モード”に設定する。つまり、キャプチャ処理に関わる設定をクリアする（ステップＳ６１１）。
【０１４９】
（d） 処理終了
ラッパプログラム２３は、キャプチャ終了モジュール２８が終了すると、自身の処理を終了する（ステップＳ１１６）。
【０１５０】
＜第２の実施形態＞
次に、本発明の第２の実施形態について説明する。
【０１５１】
図１１及び図１２を参照して、複数の仮想ハブにて同時にキャプチャを行なう方法と、その場合の、複数の仮想ハブ間でのキャプチャデータの重複を回避する方法とについて説明する。
【０１５２】
図１１に示すように、本実施形態に係るネットワーク仮想化システムにおいては、仮想ハブ２００に仮想ハブ１００，３００，４００が接続されており、それぞれの仮想ハブはいくつかのクライアントを収容している。図示の例では、仮想ハブ１００はクライアント１０１，１０２，１０３を収容しており、仮想ハブ２００はクライアント２０１，２０２，２０３を収容しており、仮想ハブ３００はクライアント３０１，３０２，３０３を収容しており、仮想ハブ４００はクライアント４０１，４０２，４０３を収容している。なお、クライアント１０１〜１０３，２０１〜２０３，３０１〜３０３，４０１〜４０３は、第１の実施形態で説明したクライアント１と同じ機能を備えているものとする。同様に、仮想ハブ１００，２００，３００，４００は、第１の実施形態で説明した仮想ハブ５０と同じ機能を備えているものとする。
【０１５３】
ここでは、特に、仮想ハブ１００に収容されているクライアント１０１が、キャプチャの指示を出す場合の処理について以下に説明する。なお、クライアント１０１内、及び、仮想ハブ内の個々のモジュールの処理詳細等は、第１の実施形態にて説明したものと同様であるため、特に必要が無い限り、ここではその説明を省略する。
【０１５４】
図１１に示されるネットワーク仮想化システムにおける設定処理の動作１〜４を以下に示す。
【０１５５】
1. 図１１の状態で、クライアント１０１が、仮想ハブ１００に対して、ミラーモード、リダイレクトモード、或いは、フィルタ設定等の要求を送信する。
【０１５６】
2. 仮想ハブ１００は、クライアント１０１から要求を受信すると、それに従い、自身のキャプチャ処理に必要な各種設定を行なうと同時に、仮想ハブ２００に対して、クライアント１０１から受信した要求を送信する。また、仮想ハブ２００を収容しているポートをキャプチャデータ受信ポート（詳細は後述）と設定する。
【０１５７】
3. 仮想ハブ２００は、仮想ハブ１００から要求を受信すると、それに従い、自身のキャプチャ処理に必要な各種設定を行なうと同時に、仮想ハブ３００、仮想ハブ４００に対して、仮想ハブ１００から受信した要求を送信する。また、仮想ハブ３００、仮想ハブ４００と接続しているポートをキャプチャデータ受信ポートと設定する。更に、仮想ハブ１００と接続しているポートをキャプチャデータ送信ポート（詳細は後述）と設定する。
【０１５８】
4. 仮想ハブ３００、仮想ハブ４００は、仮想ハブ２００から要求を受信すると、それに従い、自身のキャプチャ処理に必要な各種設定を行なう。また、仮想ハブ２００と接続しているポートをキャプチャデータ送信ポートと設定する。
【０１５９】
以上の設定が終了した時点では、図１２のような状態になる。
【０１６０】
ここで、図１２中の「□」で示したポートは、要求を受信したポートであり、キャプチャデータをより上流の仮想ハブに転送するポート（以後、「キャプチャデータ送信ポート」と称する）である。
【０１６１】
一方、図１２中の「○」で示したポートは、要求を送信したポートであり、より下流の仮想ハブからのキャプチャデータを受信するポート（以後、「キャプチャデータ受信ポート」と称する）である。
【０１６２】
また、図１２中の「△」で示したポートは、キャプチャデータ送信ポート、或いは、キャプチャデータ受信ポート以外のポートであり、そのポートから流入するトラフィックをキャプチャデータ送信ポート、或いは、クライアント１０１を収容するポートへミラーすべきポート、つまり、キャプチャ処理の対象となるポート（以後、「キャプチャ対象ポート」と称する）であることを示す。なお、全てのポートが対象となるか、或いは一部のポートのみかは、ミラーモードの設定に依る。
【０１６３】
ここで、クライアント１０１を直収する仮想ハブ１００のポートもキャプチャデータ送信ポートと考えることが出来るが、他の仮想ハブのものとは異なり、第１の実施形態で示した仮想ハブ５０（図２）の仮想ポート５１と同様の処理を行なう。一方、それ以外のキャプチャデータ送信ポートは、上流へキャプチャデータを送信する場合は、ユーザデータリンクではなく、制御リンクを使用する。それに伴い、仮想ハブ２００、仮想ハブ３００、仮想ハブ４００におけるフィルタ設定、リダイレクト設定は、キャプチャデータ送信ポートのユーザデータリンクに対してではなく、制御リンクに対して行なう。
【０１６４】
以下、図１２を参照して、各仮想ハブにおけるキャプチャ処理の動作１〜４を以下に示す。
【０１６５】
1. 仮想ハブ３００は、ミラーモードの設定に従い、全部、或いは、一部のクライアントを収容したポート、つまり、キャプチャ対象ポートから流入したユニキャストトラフィックをキャプチャデータ送信ポートへミラーし、キャプチャデータ送信ポートへミラーされたそれらトラフィックに対して、フィルタ設定に基づき、フィルタリングを行ない、リダイレクトモードの設定に従い、それを仮想ハブ２００に制御リンクを使って送信するか、或いは、キャプチャデータ保存部に保存する。ここでは、以降、全て、上流に送信するものとして処理の記述を続ける。一方、仮想ハブ３００は、キャプチャデータ送信ポートから流入するトラフィックに関しては、キャプチャ処理の対象としない。
【０１６６】
2. 仮想ハブ４００も仮想ハブ３００と同様の処理を行なう。
【０１６７】
3. 仮想ハブ２００も、仮想ハブ３００、仮想ハブ４００と同様、キャプチャ対象ポートから流入したユニキャストトラフィックをキャプチャデータ送信ポートへミラーすると同時に、キャプチャデータ受信ポートの制御リンクから受信した仮想ハブ３００、仮想ハブ４００からのキャプチャデータもキャプチャデータ送信ポートへミラーする。これらキャプチャデータ送信ポートへミラーされたトラフィックに対して、フィルタ設定に基づき、フィルタリングを行ない、リダイレクトモードの設定に従い、それを仮想ハブ１００に制御リンクを使って送信する。一方、仮想ハブ２００は、キャプチャデータ送信ポートから流入するトラフィックに関しては、キャプチャ処理の対象としない。また、キャプチャデータ受信ポートのユーザデータリンクにて受信したデータは、通常のスイッチング処理の対象とするが、本実施形態でのキャプチャ処理の対象とはしない。つまり、キャプチャデータ送信ポートへのミラーは行なわない。
【０１６８】
4. 仮想ハブ１００は、キャプチャ対象ポートから流入した全てのトラフィック（ユニキャスト、マルチキャスト、ブロードキャスト）をトラフィックキャプチャを要求したクライアント１０１を収容するポートへミラーすると同時に、キャプチャデータ受信ポートの制御リンクから受信した仮想ハブ２００からのキャプチャデータもクライアント１０１を収容するポートへミラーする。これらミラーされたトラフィックに対して、フィルタ設定に基づき、フィルタリングを行ない、リダイレクトモードの設定に従い、それをクライアント１０１にユーザデータリンクを使って送信する。なお、キャプチャデータ受信ポートのユーザデータリンクにて受信したデータは、通常のスイッチング処理の対象とするが、本実施形態でのキャプチャ処理の対象とはしない。つまり、クライアント１０１を収容するポートへのミラーは行なわない。
【０１６９】
なお、上記処理シーケンスでは、全て、上流方向へキャプチャデータを転送する場合に関して説明したが、リダイレクトモードの設定に基づき、それぞれの仮想ハブが、ローカルのキャプチャデータ保存部へキャプチャデータを保存し、後に、クライアント１０１からのファイル読み出しモードの要求に従って、それらをクライアント１０１に転送する、ということも第１の実施形態と同様に可能である。
【０１７０】
更に、クライアント１０１は、各種要求を仮想ハブに送信する際、その要求に、転送可能ホップ数（転送を行なう仮想ハブの段数、即ち、下流方向へ仮想ハブを介して何回転送できるかを示す数）を設定することも可能である。
【０１７１】
この場合、各仮想ハブは、要求を受信すると、転送可能ホップ数を１減じ、結果が０より大きければより下流の仮想ハブへと要求を転送し、０以下であれば、要求をそれ以上転送しない。
【０１７２】
例えば、上記の例で、転送可能ホップ数を２とした場合、クライアント１０１からの要求は仮想ハブ１００、仮想ハブ２００には到達するが、仮想ハブ３００、仮想ハブ４００には到達しないこととなる。結果的に、トラフィックのキャプチャは、仮想ハブ２００、仮想ハブ１００でのみ行なわれることとなる。
【０１７３】
また、転送可能ホップ数として特別な値を定義し、その値が転送可能ホップ数として指定された場合は、各仮想ハブは、転送可能ホップ数をチェックすることなく、無条件に要求を下流方向へ転送する、というようにすることも可能である。
【０１７４】
また、上記例では仮想ハブの接続状態は固定であるが、例えば、ある仮想ハブにおいて、新たに下流ポートに仮想ハブが接続された場合に、自身のトラフィックキャプチャに関わる設定情報を、元々トラフィックキャプチャを要求したクライアント１０１の介入（新たな指示）無しに、該当下流ポートに接続された仮想ハブに自律的に伝搬（転送）する、つまり、要求を送信する、といったことも可能である。
【０１７５】
更に、クライアント１０１は、各種要求を仮想ハブに送信する際、その要求にて、トラフィックキャプチャを実行する仮想ハブを指定することも可能である。
【０１７６】
この場合、各仮想ハブは、要求を受信すると、自身がその要求で指定された仮想ハブであるならば、その要求の内容に従ったミラー/フィルタ/リダイレクト等の設定、及び、それら設定に従った処理を行なう。
【０１７７】
一方、自身がその要求で指定された仮想ハブでないならば、より下流の仮想ハブへと要求を転送するが、ミラー/フィルタ/リダイレクト等の設定、及び、それら設定に従った処理は行なわない。ただし、要求を転送した下流ポートの制御リンクから受信したキャプチャデータを上流ポートの制御リンクへミラーする。
【０１７８】
以上のように、第２の実施形態によれば、クライアントからの要求に応じて各仮想ハブにおいて適切な設定が行われ、当該設定に基づくキャプチャ処理や転送処理が行われるため、フレームがブロードキャスト、マルチキャスト、ユニキャストのいずれかであるかに関わらず、同一のフレームを重複してキャプチャしてしまうことを回避することが可能となる。
【０１７９】
なお、各実施形態で説明したクライアント及び仮想ハブは、企業内ネットワークの管理、顧客ネットワークの遠隔保守、システム開発現場における作業の効率化等に、広く適用が可能である。
【０１８０】
上述した実施形態で述べた本発明に係る各種の処理手順は、コンピュータプログラムとして、コンピュータ（情報処理装置）により読み取り可能な記憶媒体（例えば磁気ディスク，光ディスク，半導体メモリ）に記憶させておき、必要に応じてそれをプロセッサにより読み出して実行するようにしてもよい。また、このようなコンピュータプログラムは、通信媒体を介してあるコンピュータから他のコンピュータに伝送することにより配布することも可能である。
【０１８１】
本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【０１８２】
【図１】本発明の第１の実施形態に係るネットワーク仮想化システムを構成するクライアント１の構成例を示す図。
【図２】同実施形態に係るネットワーク仮想化システムを構成するサーバ装置（中継装置）により形成される仮想ハブ５０の構成例を示す図。
【図３】同実施形態に係る要求/応答メッセージフォーマットを示す図。
【図４】同実施形態に係るラッパプログラム２３の処理シーケンスを示す図。
【図５】同実施形態に係るフィルタ設定モジュール２５の処理シーケンスを示す図。
【図６】同実施形態に係るモード設定モジュール２４の処理シーケンスを示す図。
【図７】同実施形態に係るキャプチャファイル取得モジュール２６の処理シーケンスを示す図。
【図８】同実施形態に係るキャプチャ終了モジュール２８の処理シーケンスを示す図。
【図９】同実施形態に係る仮想ハブ５０の制御モジュール５４の処理シーケンスを示す図。
【図１０】同実施形態に係るキャプチャファイル提供モジュール５６の処理シーケンスを示す図。
【図１１】本発明の第２の実施形態に係るネットワーク仮想化システムにおいてあるクライアントからのキャプチャ処理に関する設定要求が複数の仮想ハブに伝わる様子を示す図。
【図１２】同実施形態の複数の仮想ハブにおける設定完了後にキャプチャデータが転送される様子を示す図。
【図１３】仮想イーサネットの一般的な構成を示す図。
【符号の説明】
【０１８３】
１，２，３，４…クライアント、１０…カーネル、１１…物理ネットワークインタフェース、１２…ネットワークインタフェースドライバ、１３…イーサネット層、１４…ＴＣＰ／ＩＰ、１５…仮想ネットワークインタフェースカーネル部（トンネルインタフェース）、１６…パケットキャプチャモジュール、２０…ユーザランド、２１…仮想ネットワークインタフェースユーザプログラム部、２２…制御モジュール、２３…ラッパプログラム、２４…モード設定モジュール、２５…フィルタ設定モジュール、２６…キャプチャファイル取得モジュール、２７…キャプチャプログラム、２８…キャプチャ終了モジュール、２９…アプリケーションプログラム群、５０…仮想ハブ、５１…仮想ポート、５２…イーサネットスイッチングモジュール、５３…フィルタモジュール、５４…制御モジュール、５５…キャプチャデータ保存部、５６…キャプチャファイル提供モジュール、６０…仮想イーサネットコネクション、１００，２００，３００，４００…仮想ハブ、１０１〜１０３，２０１〜２０３，３０１〜３０３，４０１〜４０３…クライアント、１５０…アンダーレイネットワーク、１５１…仮想ハブ、１５２…仮想ネットワークインタフェース、１５３…クライアント、１５４…仮想イーサネット、１５５…サーバ、１５５…ネットワーク仮想化装置、１５６…ファイアウォール、１５７…ルータ、１６０…内部ネットワーク、１６１…外部ネットワーク。
【図１】
0004498406.tif 000002
【図２】
0004498406.tif 000003
【図３】
0004498406.tif 000004
【図４】
0004498406.tif 000005
【図５】
0004498406.tif 000006
【図６】
0004498406.tif 000007
【図７】
0004498406.tif 000008
【図８】
0004498406.tif 000009
【図９】
0004498406.tif 000010
【図１０】
0004498406.tif 000011
【図１１】
0004498406.tif 000012
【図１２】
0004498406.tif 000013
【図１３】
0004498406.tif 000014