(57)【特許請求の範囲】
【請求項１】
トンネル接続装置とトンネル終端装置との間に設定されるトンネルにより構成される仮想ネットワークを制御するための仮想ネットワーク制御装置であって、
所定のトンネル終端装置の位置情報を記憶する記憶手段と、
所定のトンネル接続装置と前記位置情報で示された前記所定のトンネル終端装置との間でトンネルを確立する指示と、前記所定のトンネル接続装置が送受信するデータのうち、前記所定のトンネル終端装置に迂回させるデータを識別する識別情報とを含む迂回指示を、前記所定のトンネル接続装置に通知するための指示通知手段と、を備え、
前記迂回指示は、前記所定のトンネル接続装置においてデータのカプセリングを行う際に、データに付されていたアドレスを仮想アドレスに付け替える指示を含み、当該仮想アドレスは、前記所定のトンネル終端装置が含まれるセグメントから払い出される
ことを特徴とする仮想ネットワーク制御装置。
【請求項２】
トンネル接続装置とトンネル終端装置との間に設定されるトンネルにより構成される仮想ネットワークを制御するための仮想ネットワーク制御装置であって、
所定のトンネル終端装置の位置情報を記憶する記憶手段と、
所定のトンネル接続装置と前記位置情報で示された前記所定のトンネル終端装置との間でトンネルを確立する指示と、前記所定のトンネル接続装置が送受信するデータのうち、前記所定のトンネル終端装置に迂回させるデータを識別する識別情報とを含む迂回指示を、前記所定のトンネル接続装置に通知するための指示通知手段と、を備え、
前記迂回指示は、前記所定のトンネル接続装置においてデータのカプセリングを行う際に、データに付されていたアドレスを仮想アドレスに付け替える指示を含み、当該仮想アドレスは、当該仮想アドレスを宛先とするデータが前記所定のトンネル終端装置にルーティングされるように払い出される
ことを特徴とする仮想ネットワーク制御装置。
【請求項３】
前記所定のトンネル終端装置は、前記所定のトンネル接続装置の通信をブリッジするトンネル終端装置である
ことを特徴とする請求項１又は２に記載の仮想ネットワーク制御装置。
【請求項４】
前記所定のトンネル終端装置には監視装置が接続されており、当該所定のトンネル終端装置は、トンネルにて受信したカプセリングされたデータをデカプセリングし、当該デカプセリングされたデータを前記監視装置に送信する
ことを特徴とする請求項１ないし３のうちいずれか１項に記載の仮想ネットワーク制御装置。
【請求項５】
前記迂回指示は、前記所定のトンネル接続装置が、前記所定のトンネル終端装置以外のトンネル終端装置と予めトンネルを確立している状態で、当該トンネルを通して通知される
ことを特徴とする請求項１ないし４のうちいずれか１項に記載の仮想ネットワーク制御装置。
【請求項６】
前記トンネル終端装置をハブにして複数のトンネル接続装置により既に仮想ネットワークが確立されている場合において、前記迂回指示は、当該複数のトンネル接続装置に対して通知される
ことを特徴とする請求項１ないし５のうちいずれか１項に記載の仮想ネットワーク制御装置。
【請求項７】
トンネル接続装置とトンネル終端装置との間に設定されるトンネルにより構成される仮想ネットワークを制御するための仮想ネットワーク制御装置が実行する仮想ネットワーク制御方法であって、
所定のトンネル終端装置の位置情報を記憶手段に記憶するステップと、
所定のトンネル接続装置と前記位置情報で示された前記所定のトンネル終端装置との間でトンネルを確立する指示と、前記所定のトンネル接続装置が送受信するデータのうち、前記所定のトンネル終端装置に迂回させるデータを識別する識別情報とを含む迂回指示を、前記所定のトンネル接続装置に通知するステップと、を備え、
前記迂回指示は、前記所定のトンネル接続装置においてデータのカプセリングを行う際に、データに付されていたアドレスを仮想アドレスに付け替える指示を含み、当該仮想アドレスは、前記所定のトンネル終端装置が含まれるセグメントから払い出される
ことを特徴とする仮想ネットワーク制御方法。
【請求項８】
トンネル接続装置とトンネル終端装置との間に設定されるトンネルにより構成される仮想ネットワークを制御するための仮想ネットワーク制御装置が実行する仮想ネットワーク制御方法であって、
所定のトンネル終端装置の位置情報を記憶手段に記憶するステップと、
所定のトンネル接続装置と前記位置情報で示された前記所定のトンネル終端装置との間でトンネルを確立する指示と、前記所定のトンネル接続装置が送受信するデータのうち、前記所定のトンネル終端装置に迂回させるデータを識別する識別情報とを含む迂回指示を、前記所定のトンネル接続装置に通知するステップと、を備え、
前記迂回指示は、前記所定のトンネル接続装置においてデータのカプセリングを行う際に、データに付されていたアドレスを仮想アドレスに付け替える指示を含み、当該仮想アドレスは、当該仮想アドレスを宛先とするデータが前記所定のトンネル終端装置にルーティングされるように払い出される
ことを特徴とする仮想ネットワーク制御方法。
【請求項９】
トンネル接続装置とトンネル終端装置との間に設定されるトンネルにより構成される仮想ネットワークを制御するための仮想ネットワーク制御装置と、監視装置が接続された所定のトンネル終端装置とを備える仮想ネットワーク制御システムであって、
前記仮想ネットワーク制御装置は、
前記所定のトンネル終端装置の位置情報を記憶する記憶手段と、
所定のトンネル接続装置と前記位置情報で示された前記所定のトンネル終端装置との間でトンネルを確立する指示と、前記所定のトンネル接続装置が送受信するデータのうち、前記所定のトンネル終端装置に迂回させるデータを識別する識別情報とを含む迂回指示を、前記所定のトンネル接続装置に通知するための指示通知手段と、を備え、
前記所定のトンネル終端装置は、トンネルにて受信したカプセリングされたデータをデカプセリングし、当該デカプセリングされたデータを前記監視装置に送信する仮想ネットワーク制御システムであり、
前記迂回指示は、前記所定のトンネル接続装置においてデータのカプセリングを行う際に、データに付されていたアドレスを仮想アドレスに付け替える指示を含み、当該仮想アドレスは、前記所定のトンネル終端装置が含まれるセグメントから払い出される
ことを特徴とする仮想ネットワーク制御システム。
【請求項１０】
トンネル接続装置とトンネル終端装置との間に設定されるトンネルにより構成される仮想ネットワークを制御するための仮想ネットワーク制御装置と、監視装置が接続された所定のトンネル終端装置とを備える仮想ネットワーク制御システムであって、
前記仮想ネットワーク制御装置は、
前記所定のトンネル終端装置の位置情報を記憶する記憶手段と、
所定のトンネル接続装置と前記位置情報で示された前記所定のトンネル終端装置との間でトンネルを確立する指示と、前記所定のトンネル接続装置が送受信するデータのうち、前記所定のトンネル終端装置に迂回させるデータを識別する識別情報とを含む迂回指示を、前記所定のトンネル接続装置に通知するための指示通知手段と、を備え、
前記所定のトンネル終端装置は、トンネルにて受信したカプセリングされたデータをデカプセリングし、当該デカプセリングされたデータを前記監視装置に送信する仮想ネットワーク制御システムであり、
前記迂回指示は、前記所定のトンネル接続装置においてデータのカプセリングを行う際に、データに付されていたアドレスを仮想アドレスに付け替える指示を含み、当該仮想アドレスは、当該仮想アドレスを宛先とするデータが前記所定のトンネル終端装置にルーティングされるように払い出される
ことを特徴とする仮想ネットワーク制御システム。
【請求項１１】
コンピュータを、請求項１ないし６のうちいずれか１項に記載の仮想ネットワーク制御装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザ端末と所定の装置で送受信されるトラフィックを所定の装置で中継する技術に関するものであり、特に、仮想ネットワークを利用してトラフィックの中継を行う技術に関連するものである。
【背景技術】
【０００２】
従来から、ユーザ端末のトラフィックを中継して検疫やトラフィック監視を行う方法が知られている。そのような方法としては、例えば、DC（データセンタ）側のネットワーク内の通信経路上にプロキシ装置を設置してパケットの監視や検閲を行ったり、ネットワーク内のスイッチのミラーポートによって複製したパケットを監視装置等が取得して、パケットの監視や検閲を行うという方法がある。これらの装置は、例えば特定LAN上の定点に設けられ、そこで受信するトラフィックの監視等を行っている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２０００３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、クラウド化の進展によるサーバの分散配置や、端末の可搬性の向上により、通信先や通信するネットワークが多様化しつつあり、従来のように特定LAN上の定点に設けられたトラフィック中継監視装置等を利用したのでは、個々のユーザ端末のトラフィック監視を行うことが困難になりつつある。すなわち、このような分散環境下では、トラフィック情報を取得する装置を特定のネットワーク内の経路上に設置するだけでは、保守等に必要な情報を取得することが難しいという問題があった。
【０００５】
オーバーレイネットワークを集約するサーバにおいて、トラフィック量等の監視を行うことは従来でも可能であった。しかし、特定クライアントの通信は特定の集約サーバのみで監視可能なので、特殊な装置を要する監視方法などにおいては、各クライアントの通信の監視を行うために、全ての集約サーバにおいて特殊な装置を導入する必要があり、これは非現実的であるという問題があった。
【０００６】
本発明は上記の点に鑑みてなされたものであり、ユーザ端末と通信対象装置との間の通信トラフィックの経路を、分析や監視等を行う所定の装置を経由するように迂回させる技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、本発明は、トンネル接続装置とトンネル終端装置との間に設定されるトンネルにより構成される仮想ネットワークを制御するための仮想ネットワーク制御装置であって、所定のトンネル終端装置の位置情報を記憶する記憶手段と、所定のトンネル接続装置と前記位置情報で示された前記所定のトンネル終端装置との間でトンネルを確立する指示と、前記所定のトンネル接続装置が送受信するデータのうち、前記所定のトンネル終端装置に迂回させるデータを識別する識別情報とを含む迂回指示を、前記所定のトンネル接続装置に通知するための指示通知手段と、を備えることを特徴とする仮想ネットワーク制御装置として構成される。
【０００８】
前記迂回指示は、前記所定のトンネル接続装置においてデータのカプセリングを行う際に、データに付されていたアドレスを仮想アドレスに付け替える指示を含むように構成することができる。また、前記所定のトンネル終端装置は、前記所定のトンネル接続装置の通信をブリッジするトンネル終端装置としてもよい。
【０００９】
例えば、前記所定のトンネル終端装置には監視装置が接続されており、その場合、当該所定のトンネル終端装置は、トンネルにて受信したカプセリングされたデータをデカプセリングし、当該デカプセリングされたデータを前記監視装置に送信する。
【００１０】
また、前記迂回指示は、前記所定のトンネル接続装置が、前記所定のトンネル終端装置以外のトンネル終端装置と予めトンネルを確立している状態で、当該トンネルを通して通知されるようにしてもよい。
【００１１】
また、前記トンネル終端装置をハブにして複数のトンネル接続装置により既に仮想ネットワークが確立されている場合において、前記迂回指示は、当該複数のトンネル接続装置に対して通知されるようにしてもよい。
【００１２】
また、本発明は、トンネル接続装置とトンネル終端装置との間に設定されるトンネルにより構成される仮想ネットワークを制御するための仮想ネットワーク制御装置が実行する仮想ネットワーク制御方法であって、所定のトンネル終端装置の位置情報を記憶手段に記憶するステップと、所定のトンネル接続装置と前記位置情報で示された前記所定のトンネル終端装置との間でトンネルを確立する指示と、前記所定のトンネル接続装置が送受信するデータのうち、前記所定のトンネル終端装置に迂回させるデータを識別する識別情報とを含む迂回指示を、前記所定のトンネル接続装置に通知するステップと、を備えることを特徴とする仮想ネットワーク制御方法として構成することもできる。
【００１３】
また、本発明は、トンネル接続装置とトンネル終端装置との間に設定されるトンネルにより構成される仮想ネットワークを制御するための仮想ネットワーク制御装置と、監視装置が接続された所定のトンネル終端装置とを備える仮想ネットワーク制御システムであって、前記仮想ネットワーク制御装置は、前記所定のトンネル終端装置の位置情報を記憶する記憶手段と、所定のトンネル接続装置と前記位置情報で示された前記所定のトンネル終端装置との間でトンネルを確立する指示と、前記所定のトンネル接続装置が送受信するデータのうち、前記所定のトンネル終端装置に迂回させるデータを識別する識別情報とを含む迂回指示を、前記所定のトンネル接続装置に通知するための指示通知手段と、を備え、前記所定のトンネル終端装置は、トンネルにて受信したカプセリングされたデータをデカプセリングし、当該デカプセリングされたデータを前記監視装置に送信することを特徴とする仮想ネットワーク制御システムとして構成することもできる。
【００１４】
また、本発明は、コンピュータを、上記仮想ネットワーク制御装置の各手段として機能させるためのプログラムとして構成することもできる。
【発明の効果】
【００１５】
本発明によれば、ユーザ端末と通信対象装置との間の通信トラフィックの経路を、分析や監視等を行う所定の装置を経由するように迂回させる技術を提供することが可能となる。
【図面の簡単な説明】
【００１６】
【図１】仮想ネットワークシステム１の全体構成図である。
【図２】仮想ネットワーク制御装置１０の機能構成図である。
【図３】トンネル接続装置２０の機能構成図である。
【図４】トンネル接続装置２０の他の形態を示す図である。
【図５】トンネル終端装置３０の機能構成図である。
【図６】仮想ネットワークが構築されるまでの処理手順例を説明するためのシーケンス図である。
【図７】複数のトンネル接続装置を含む仮想ネットワークの例を示す図である。
【図８】仮想ネットワークが構築された後に、構成変更を行う場合の処理手順を説明するためのシーケンス図である。
【図９】L３モードにおけるユーザ端末からサーバへの通信の例を示す図である。
【図１０】仮想IPアドレス宛のフレームを選別する処理例を示す図である。
【図１１】L３モードにおけるサーバからユーザ端末への通信の例を示す図である。
【図１２】実施の形態に係るシステム構成例を示す図である。
【図１３】動作例１におけるトラフィック取得前の状態を示す図である。
【図１４】動作例１における構成変更指示伝達を説明するための図である。
【図１５】動作例１におけるトンネル終端装置３０１とのトンネル接続確立を説明するための図である。
【図１６】動作例１におけるパケットの取得及び送受信を示す図である。
【図１７】動作例２におけるトラフィック取得前の状態を示す図である。
【図１８】動作例２における構成変更指示伝達を説明するための図である。
【図１９】動作例２におけるトンネル終端装置３０１とのトンネル接続確立を説明するための図である。
【図２０】動作例２におけるパケットの中継及び監視装置への出力を示す図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照して本発明の実施の形態を説明する。なお、以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
【００１８】
＜仮想ネットワークシステムについて＞
まず、本発明の実施の形態で用いる仮想ネットワークシステムの基本的な構成及び機能について説明しておく。
【００１９】
（システム構成）
図１に仮想ネットワークシステム１の基本的な構成図を示す。図１に示すとおり、仮想ネットワークシステム１は、仮想ネットワーク制御装置１０、トンネル接続装置２０、及びトンネル終端装置３０がIPネットワーク４０（例えば、インターネット）に接続されて構成されている。図１に示す例では、トンネル接続装置２０にユーザ端末５０（クライアント機器）が接続されている。また、トンネル終端装置３０には、サーバや他のユーザ端末等が接続される。なお、図１には、代表として、１つのトンネル終端装置３０、及び１つのトンネル接続装置２０を示しているが、実際にはそれぞれ複数の装置が存在してよい。また、トンネル接続装置２０とトンネル終端装置３０との間でトンネルを構築することにより、仮想ネットワークが構成されるので、トンネル接続装置２０とトンネル終端装置３０を備えるシステムを仮想ネットワークシステムと称してもよい。
【００２０】
仮想ネットワーク制御装置１０は、トンネル接続装置２０やトンネル終端装置３０に仮想ネットワーク構築・変更の指示等を行うための装置である。トンネル接続装置２０は、トンネル終端装置３０とトンネル接続を行う装置である。トンネル終端装置３０は、１つ又は複数のトンネル接続装置２０との間のトンネルを終端する装置である。同じトンネル終端装置３０に接続されたトンネル接続装置同士の間で仮想ネットワークを形成する。以下、各装置についてより詳しく説明する。
【００２１】
図２に、仮想ネットワーク制御装置１０の機能構成図を示す。図２に示すように、仮想ネットワーク制御装置１０は、仮想ネットワーク構築・変更指示受付部１１、構成情報格納部１２、対装置通信部１３、位置情報登録部１４、位置情報格納部１５、指示通知部１６を有する。
【００２２】
仮想ネットワーク構築・変更指示受付部１１は、例えば、仮想ネットワーク制御装置１０とネットワーク接続された外部装置（例えば、Webブラウザ端末、NW監視システム等）から仮想ネットワーク構築や変更に係る指示を受信し、当該指示に基づいて仮想ネットワーク構成情報を構成情報格納部１２に格納する等の機能を備える。構成情報格納部１２に格納される仮想ネットワーク構成情報は、例えば、どのトンネル接続装置とどのトンネル終端装置を、どのプロトコル種別で接続するかの情報を含む。すなわち、構成情報格納部１２は、構成情報として、例えば、トンネル接続装置の識別情報、トンネル終端装置の識別情報、及びプロトコル種別を対応付けたテーブルを格納する。また、後述する各装置の設定情報として必要な情報も保持している。
【００２３】
対装置通信部１３は、トンネル接続装置２０、及びトンネル終端装置３０と通信を行うための機能部である。
【００２４】
位置情報登録部１４は、トンネル終端装置３０から、当該トンネル終端装置３０の識別情報と位置情報（例えば、現時点でのトンネル終端装置３０のIPアドレス）を含む位置登録要求を受信し、当該トンネル終端装置３０の位置情報を位置情報格納部１５に格納する。なお、識別情報は、トンネル終端装置３０の位置によらずにトンネル終端装置３０を識別可能な情報である。
【００２５】
位置情報格納部１５には、予め各トンネル終端装置３０の識別情報が格納（登録）されており、位置情報登録部１４は、トンネル終端装置３０から受信する識別情報が既に位置情報格納部１５に格納されているものであることを確認した後に、当該識別情報に対応付けて位置情報を位置情報格納部１５に格納する。位置情報登録部１４は、トンネル接続装置２０についても同様に位置情報の登録を行ってもよい。また、例えば、トンネル終端装置３０の位置情報がほぼ固定である場合等には、トンネル終端装置３０の位置情報の登録をシステム管理者が行ってもよい。
【００２６】
指示通知部１６は、構成情報格納部１２に格納された構成情報に基づいて、構成情報に係る仮想ネットワークを構成するトンネル接続装置２０に対し、トンネル接続装置２０からの要求に応じてトンネル接続のための設定情報を通知するとともに、構成情報に係る仮想ネットワークを構成するトンネル終端装置３０に対して、接続に来るトンネル接続装置の識別情報やプロトコル種別等の設定情報を送信する機能部である。また、指示通知部１６は、仮想ネットワーク構成変更指示をトンネル終端装置３０に送信する機能も備える。
【００２７】
なお、本実施の形態では、外部から指示を受けるための機能部と、装置に指示を出す機能部を同一の装置に設けているが、これらを別々のモジュール（別々の装置）として実現してもよい。
【００２８】
本実施の形態に係る仮想ネットワーク制御装置１０（後述する仮想ネットワーク制御装置１０４も同様）は、CPU、記憶装置等からなるコンピュータに、仮想ネットワーク制御装置１０の各機能部の機能を実現するためのプログラムを実行させることにより実現できる。当該プログラムは可搬メモリ等の記録媒体からコンピュータにインストールすることとしてもよいし、ネットワーク上のサーバからダウンロードすることとしてもよい。
【００２９】
図３に、トンネル接続装置２０の機能構成図を示す。なお、図３は、一例として、トンネル接続装置２０とユーザ端末５０が別々の装置であり、これらがネットワーク接続される場合の例を示している。
【００３０】
図３に示すように、トンネル接続装置２０は、対仮想ネットワーク制御装置通信部２１、設定部２３、データ格納部２４、トンネル接続通信部２５を有する。また、トンネル接続通信部２５は、トンネル構築部２５１とプロトコル処理部２５２を含む。
【００３１】
対仮想ネットワーク制御装置通信部２１は、仮想ネットワーク制御装置１０との間で通信を行うための機能部である。
【００３２】
設定部２３は、トンネル接続装置２０の起動時（トンネル接続装置２０の電源をＯＮにしたときなど）に、仮想ネットワーク制御装置１０に対してトンネル設定情報要求を送信し、仮想ネットワーク制御装置１０から要求したトンネル設定情報を受信して、受信したトンネル設定情報に基づきトンネル通信のための設定を行う機能部である。また、設定部２３が、予め定められた規則に基づく時間にトンネル設定情報要求を仮想ネットワーク制御装置１０に送信する機能を備えてもよい。例えば、設定部２３が、タイマーを備え、予め定めた一定時間間隔で（例えば毎日同じ時間に）トンネル設定情報要求を送信してもよいし、トンネル設定情報要求による問い合わせを行って更新がなければ徐々に時間間隔を広げてトンネル設定情報要求の送信を行うこととしてもよい。予め定められた規則に基づく時間は、これらに限られるわけではなく、他の規則に基づく時間を採用してもよい。また、これらの規則は、トンネル接続装置２０に予め設定されるものである。
【００３３】
対仮想ネットワーク制御装置通信部２１には、仮想ネットワーク制御装置１０のアドレス情報が予め設定してある。また、設定部２３は、トンネル経由（プロトコル処理部２５１経由）で、トンネル終端装置３０から設定変更指示を受信し、設定変更指示に含まれる設定情報により設定を行ったり、設定変更指示に従って仮想ネットワーク制御装置１０から設定情報を取得する機能も備える。
【００３４】
トンネル設定情報には、トンネルの接続先となるトンネル終端装置３０の位置情報（アドレス）、トンネルを生成するために必要な秘密情報（初期共有鍵等）等のパラメータ値、トンネルを構成するプロトコル種別（後述する、L2、L3、L4等）を含む。これらの他、暗号の種別、トンネルのQoS情報等を含めてもよい。
【００３５】
また、「トンネル設定情報に基づきトンネル接続のための設定を行う」とは、設定情報にて指示されたトンネルを実現できるようにするための設定を行うことである。例えば、指示されたプロトコル種別に対応するトンネル用のプログラム（各種別毎にプログラムがデータ格納部２４に格納されているものとする。プロトコル処理部２５２に対応する。）を起動するとともに、トンネル接続先アドレスやパラメータ値をトンネル構築部２５１等が参照できるようにデータ格納部２４に格納したりする。なお、これは一例に過ぎない。
【００３６】
データ格納部２４には、各プロトコル種別に対応付けて各トンネル用のプログラムが格納されるとともに、トンネル設定情報に含まれていたトンネルの接続先やパラメータ値が格納される。
【００３７】
なお、上記のように、プロトコル種別毎にモジュールとしてプロトコル処理部２５２に対応するプログラムを起動する他（この場合も設定情報に応じて機能を切り替えることに相当する）、複数プロトコル種別の機能を有するプログラム（プロトコル処理部２５２）を起動しておき、設定情報に応じて機能を切り替えるようにしてもよい。また、プロトコル種別毎にプロトコル処理用のハードウェア回路を備えておき、設定情報に応じて回路を切り替えるように構成してもよい。
【００３８】
トンネル接続通信部２５におけるトンネル構築部２５１は、トンネルの接続先位置情報及びパラメータ値をデータ格納部１６から読み出して、接続先のトンネル終端装置３０に対してトンネル接続要求を送信することにより、トンネル終端装置との間にトンネルを構築する処理を行う。また、プロトコル処理部２５２は、ユーザ端末５０が送受信するデータをカプセリング／デカプセリング、暗号化／復号化する等のトンネル通信のプロトコル処理を行う機能部である。トンネルを構築するとは、装置内部では、トンネル接続先との間のパケット通信においてカプセリング／デカプセリング、暗号化／復号化を行うための情報を設定しておくことである。
【００３９】
なお、トンネル接続装置２０は、ユーザ端末５０が通信対象サーバ等とトンネルを経由しないで通信する場合において、特別な処理を行わずに、パケットを素通しさせる機能も備えている。
【００４０】
トンネル接続装置２０は、コンピュータ（CPU、メモリ等を含む構成を有する通信装置を含む）に、トンネル接続通信部２５、設定部２３に対応するプログラムを実行させることにより実現できる。
【００４１】
当該プログラムは可搬メモリ等の記録媒体からコンピュータにインストールすることとしてもよいし、ネットワーク上のサーバからダウンロードすることとしてもよい。
【００４２】
図３では、ユーザ端末５０とトンネル接続装置２０とを接続した構成を示しているが、これは一例に過ぎない。図４に示すように、ユーザ端末５０内にドライバとしてトンネル接続装置２０の機能を備える形態としてもよい。この場合、ユーザ端末５０をトンネル接続装置と呼んでもよい。
【００４３】
本実施の形態では、図３に示すトンネル接続装置２０は、ユーザによって所望の場所に持ち運び可能な装置を想定している。また、このときのユーザ端末５０は、一般的なPC等の端末のほか、Webカメラ、家電機器等でもよい。
【００４４】
図５に、トンネル終端装置３０の機能構成図を示す。
【００４５】
図５に示すように、トンネル終端装置３０は、対仮想ネットワーク制御装置通信部３１、登録要求部３２、設定部３３、仮想ネットワーク構成変更制御部３４、データ格納部３５、トンネル終端通信部３６を有する。トンネル終端通信部３６は、トンネル構築部３６１とプロトコル処理部３６２を含む。
【００４６】
対仮想ネットワーク制御装置通信部３１は、仮想ネットワーク制御装置１０との間で通信を行うための機能部である。
【００４７】
登録要求部３２は、トンネル終端装置３０が起動されたときや、ネットワークに接続されたとき等に、位置登録要求を仮想ネットワーク制御装置１０に送信する機能部である。この位置登録要求により仮想ネットワーク制御装置１０において位置登録がなされる、なお、トンネル終端装置３０について自動的な登録を行わない場合、登録要求部３２を備えなくてもよい。また、トンネル接続装置２０についてもトンネル終端装置３０と同様の登録要求部を備え、位置登録を行うこととしてもよい。
【００４８】
設定部３３は、仮想ネットワーク制御装置１０からトンネル接続情報（設定情報）を受信して、受信したトンネル接続情報に基づきトンネル接続のための設定を行う機能部である。対仮想ネットワーク制御装置通信部３１には、仮想ネットワーク制御装置１０のアドレス情報が予め設定してある。
【００４９】
トンネル接続情報には、トンネル終端装置３０に対して接続に来るトンネル接続装置２０の識別情報（もしくは位置情報）、トンネルを生成するために必要な秘密情報（初期共有鍵等）等のパラメータ値、トンネルを構成するプロトコル種別（後述する、L2、L3、L4等）を含む。これらの他、暗号の種別やトンネルのQoS情報等を含めてもよい。
【００５０】
また、「トンネル接続情報に基づきトンネル接続のための設定を行う」とは、指示されたトンネルを接続できるようにするための設定を行うことである。例えば、指示されたプロトコル種別に対応するトンネル用のプログラム（各種別毎にプログラムがデータ格納部３５に格納されているものとする。プロトコル処理部３６２に対応する。）を起動するとともに、接続に来るトンネル接続装置の識別情報（もしくは位置情報）やパラメータ値をトンネル構築部３６１等が参照できるようにデータ格納部３５に格納したりする。なお、これは一例に過ぎない。
【００５１】
データ格納部３５には、各プロトコル種別に対応付けて各トンネル用のプログラムが格納されるとともに、接続に来るトンネル接続装置の情報やパラメータ値が格納される。
【００５２】
なお、上記のように、プロトコル種別毎にモジュールとしてプロトコル処理部３６２に対応するプログラムを起動する他（この場合も設定情報に応じて機能を切り替えることに相当する）、複数プロトコル種別の機能を有するプログラム（プロトコル処理部３６２）を起動しておき、設定情報に応じて機能を切り替えるようにしてもよい。また、プロトコル種別毎にプロトコル処理用のハードウェア回路を備えておき、設定情報に応じて回路を切り替えるように構成してもよい。
【００５３】
トンネル終端通信部３６におけるトンネル構築部３６１は、トンネル接続装置の識別情報（もしくは位置情報）や、各種パラメータ値をデータ格納部３５から読み出すとともに、トンネル接続要求を受信したことに応じて、トンネル接続要求元が、通知されているトンネル接続装置であることを確認し、そのトンネル接続装置との間にトンネルを構築する処理等を行う。また、プロトコル処理部３６２は、送受信するデータをカプセリング／デカプセリングする等のトンネル通信のための処理を行う。
【００５４】
また、トンネル終端通信部３６は、トンネル接続したトンネル接続装置の識別情報（位置情報でもよい）のテーブルを作成し、データ格納部３５に格納する機能も有する。
【００５５】
仮想ネットワーク構成変更制御部３４は、既に仮想ネットワーク構築が済み、仮想ネットワークでのトンネル通信可能な状態において、仮想ネットワーク制御装置１０から、新たな仮想ネットワークの構成情報を含む仮想ネットワーク構成変更指示を受信したときに、既に構築されているトンネルを通じて、トンネル接続されている各トンネル接続装置に対して、新たな仮想ネットワークの構成に基づくトンネル設定情報等を送信する機能部である。仮想ネットワーク構成変更指示には、例えば、変更後の仮想ネットワークの構成における、トンネル終端装置の識別情報（もしくは位置情報）、当該トンネル終端装置に接続されるトンネル接続装置の識別情報（もしくは位置情報）のテーブル、プロトコル種別、その他の必要なパラメータ値が含まれる。
【００５６】
仮想ネットワーク構成変更制御部３４は、受信した仮想ネットワーク構成変更指示に含まれるテーブルと、現在自分がトンネルを確立しているトンネル接続装置の識別情報（もしくは位置情報）のテーブルとを比較し、指示（設定情報）を送るべきトンネル接続装置を決定する。例えば、構成変更により自分以外のトンネル終端装置への接続を行うべきトンネル接続装置が現在トンネル接続されていれば、そのトンネル終端装置に指示（設定情報）を送るべきと判断する。送信する指示には、新規にトンネル接続を行う場合と同様の設定情報が含まれ、これを受信したトンネル接続装置は、設定情報に従って、設定を行う。なお、上記のような処理のほか、構成変更指示として、トンネル経由で指示（設定情報）を送るべきトンネル接続装置の識別情報（もしくは位置情報等）を含む指示を受信し、それに基づき該当のトンネル接続装置に指示を送ることとしてもよい。
【００５７】
また、トンネル終端装置３０は、自身が用いるプロトコル種別を変更する場合には、指示に従って当該プロトコルのプロトコル処理機能を起動し、設定を行い、接続を待つ。
【００５８】
また、送信する指示を、設定情報ではなく、仮想ネットワーク制御装置１０に対してトンネル設定情報要求を送ることを指示する命令としてもよい。これを受けたトンネル接続装置２０は、仮想ネットワーク制御装置１０から設定情報を受けて設定を行う。
【００５９】
トンネル終端装置３０は、コンピュータ（CPU、メモリ等を含む構成を有する通信装置を含む）に、トンネル終端通信部３６、設定部３３、登録部３２、仮想ネットワーク構成変更制御部３４に対応するプログラムを実行させることにより実現できる。
【００６０】
当該プログラムは可搬メモリ等の記録媒体からコンピュータにインストールすることとしてもよいし、ネットワーク上のサーバからダウンロードすることとしてもよい。
【００６１】
（システムの動作例）
次に、仮想ネットワークシステム１の基本的な動作例を説明する。最初に、仮想ネットワーク制御装置１０が、外部装置から仮想ネットワーク構築指示を受けてから、仮想ネットワークが構築されるまでの処理手順例を図６のシーケンス図を参照して説明する。
【００６２】
まず、仮想ネットワークを管理する管理者等が仮想ネットワーク構築を外部装置（Webブラウザ端末等）のユーザインターフェース（Web画面等）から指示すると、仮想ネットワーク構築指示（仮想ネットワーク構成情報を含む）が仮想ネットワーク制御装置１０に送られる（ステップ１）。
【００６３】
仮想ネットワーク構築指示を受信した仮想ネットワーク制御装置１０の仮想ネットワーク構築・変更指示受付部１１は、仮想ネットワーク構築指示に含まれる仮想ネットワークの構成情報を構成情報格納部１２に格納する（ステップ２）。
【００６４】
仮想ネットワーク制御装置１０の指示通知部１６は、構成情報に基づいて、該当するトンネル終端装置３０に対し、接続に来るトンネル接続装置の識別情報（もしくは位置情報）を、プロトコル種別や各種のパラメータ値等とともに送信する（ステップ３）。なお、トンネル終端装置３０への構成指示通知は、このタイミングである必要はなく、他のタイミングでもよい。例えば、トンネル接続装置２０への設定情報通知後でもよい。仮想ネットワーク制御装置１０から情報を受け取った設定部３３は、情報の格納、設定を行う（ステップ４）。なお、本例では、トンネル終端装置３０の位置情報は、識別情報とともにトンネル終端装置設置時に位置情報格納部１５に予め登録されているものとする。
【００６５】
ここで、トンネル接続装置２０が起動されると、トンネル接続装置２０は、仮想ネットワーク制御装置１０にトンネル設定情報要求を送信する（ステップ５）。トンネル設定情報要求にはトンネル接続装置２０の識別情報が含まれる。
【００６６】
トンネル設定情報要求を受信した仮想ネットワーク制御装置１０において、指示通知部１６は、トンネル設定情報要求に応じて、構成情報格納部１２からトンネル接続装置２０に対応するトンネル設定情報を読み出し（ステップ６）、当該トンネル接続装置２０に送信する（ステップ７）。
【００６７】
トンネル設定情報を受信したトンネル接続装置２０は、当該設定情報に基づいて設定を行うとともに、トンネル接続通信部２５におけるトンネル構築部２５１によりトンネル接続要求をトンネル終端装置３０に送信する（ステップ８）。トンネル接続装置２０とトンネル終端装置３０は、それぞれ仮想ネットワーク制御装置１０から受信した情報を用いてトンネル（仮想パスと呼んでもよい）を生成する（ステップ９）。
【００６８】
なお、トンネルで用いるプロトコルの種別によって必要であれば、トンネル終端装置３０のトンネル終端通信部３６におけるトンネル構築部３６２は、トンネル接続要求の送信元であるトンネル接続装置２０に仮想ネットワーク上での位置情報を払い出す。例えば、後述するL3モードの場合、仮想ネットワーク上での位置情報として仮想のＩＰアドレス（仮想アドレス）を払い出す。
【００６９】
なお、上記の例は１つのトンネル接続装置２０について説明しているが、１つのトンネル終端装置３０に接続されるトンネル接続装置２０は一般には複数であり、各々のトンネル接続装置２０が同様にしてトンネル構築を行う。
【００７０】
複数のトンネル接続装置２０がトンネル構築を行った場合の例を図７に示す。図７では、端末側の構成として、トンネル接続装置２０とユーザ端末５０が接続された構成と、トンネル接続装置２０の機能がユーザ端末５０内に配備された構成が示されている。
【００７１】
図７に示す構成において、トンネルが生成された後、トンネル接続装置２０は、例えば、ユーザ端末５０が送出するパケットをキャプチャし、トンネルのプロトコルに従ってパケットを選別して仮想ヘッダを付けてカプセリングと暗号化を行い、トンネルを通じてトンネル終端装置３０に送信する。
【００７２】
トンネル終端装置３０はトンネル接続装置２０からトンネルを通じてパケットを受け取ると、パケットのヘッダ情報に従ってパケットの転送を行う。転送先としては、トンネル終端装置３０と同じネットワーク内、もしくはそのネットワークからルーティングされうるネットワーク内にあるサーバ等と、他のトンネル接続装置２０の2通りが存在する。
【００７３】
トンネル終端装置３０がパケットをサーバに転送する場合はカプセリングを解除し、トンネル接続装置２０に転送を行う場合はカプセリング解除後、当該トンネル接続装置２０向けにカプセリングを再度行う。トンネル接続装置２０は、トンネル終端装置３０から受け取ったパケットのカプセリングを解除し、当該パケットをユーザ端末５０に転送する。
【００７４】
トンネル終端装置３０とトンネル接続装置２０とで仮想ネットワークが構成され、サーバやユーザ端末５０は、この仮想ネットワークに接続されている。
【００７５】
次に、図８のシーケンス図を参照して、仮想ネットワークが構築された後に、構成変更を行う場合の基本的な処理手順を説明する。
【００７６】
トンネル終端装置３０-トンネル接続装置２０間のトンネリング接続が確立され、仮想ネットワークが構成された後、システム管理者等により、外部装置から仮想ネットワーク構成変更指示がなされたものとすると、仮想ネットワーク構成変更指示は仮想ネットワーク制御装置１０に通知される（ステップ１１）。仮想ネットワーク構成変更指示には、変更後の仮想ネットワーク構成情報が含まれる。
【００７７】
そして、仮想ネットワーク制御装置１０の指示通知部１６は、仮想ネットワーク構成変更指示をトンネル終端装置３０に通知する（ステップ１２）。なお、仮想ネットワーク制御装置１０の指示通知部１６からは、変更後の仮想ネットワークの構成に応じて、仮想ネットワーク構成変更指示（設定情報）が別のトンネル終端装置にも送られる。
【００７８】
仮想ネットワーク構成変更指示を受信したトンネル終端装置３０において、仮想ネットワーク構成変更制御部３４が、指示された構成情報に含まれるトンネル接続装置のテーブルと、現在自分とトンネル接続を確立しているトンネル接続装置のテーブルを比較し、例えば、構成情報に含まれるトンネル接続装置のうち、トンネル接続を確立しているトンネル接続装置を選択することにより、これを設定変更指示を送るべき装置と判断し（ステップ１３）、送るべきと判断されたトンネル接続装置２０に対してトンネルを通して指示を伝達する（ステップ１４）。前述したように、このような判断を行うことに変えて、トンネル経由で指示を送るべきトンネル接続装置を仮想ネットワーク構成変更指示に含めてもよい。
【００７９】
設定変更指示を受信したトンネル接続装置２０は、指示に含まれる設定情報に基づき設定（切り替え）を行う（ステップ１５）。また、前述したように、設定変更指示として、仮想ネットワーク制御装置１０にアクセスすることを命令することでもよい。この場合、図８に示すように、トンネル接続装置２０は、設定情報要求を仮想ネットワーク制御装置１０に送信し（ステップ２１）、仮想ネットワーク制御装置１０の指示通知部１６は、当該トンネル接続装置２０についての設定変更有無を構成情報格納部１２を参照して確認し（ステップ２２）、変更があると判断したら、変更後の設定情報をトンネル接続装置２０に送信する（ステップ２３）。そして、トンネル接続装置２０は設定を行う（ステップ２４）。
【００８０】
また、現在いずれのトンネル終端装置３０にも接続されていない停止中のトンネル接続装置２０は、別途起動時や予め定められた規則に基づく時間に仮想ネットワーク制御装置１０にアクセスして構成情報を問い合わせに行く。このときも、上記のステップ２１〜２４と同様の動作が行われる。
【００８１】
このトンネル接続装置２０に対してトンネル終端装置３０のトンネル内からの信号で制御する方法をインバウンド・シグナリングと呼ぶことができる。一方、仮想ネットワーク制御装置１０からトンネル終端装置３０、トンネル接続装置２０に直接指示を行う方法をメタシグナリングと呼ぶ。
【００８２】
仮想ネットワークシステム１では以上のような構成と手順によりトンネル終端装置３０を仮想的なハブとしてトンネル接続装置２０に関連付けられたユーザ端末５０（クライアント）間でネットワークが構成される。
【００８３】
（トンネル通信の具体例）
本実施の形態の技術で構築される仮想ネットワークでは、L2〜L4までの様々なレイヤのプロトコルを扱うことができる。例えば、これはトンネル接続装置２０、トンネル終端装置３０が扱うべきレイヤの設定に応じて送受信するパケットのうちカプセリング部位を切り替え、また各レイヤにおける仮想のアドレス（L2であればMACアドレス、L3であればIPアドレス）を持っているかのように振舞うことで実現される。以下、一例としてL3モードにおけるカプセリング方法の具体例を以下に示す。なお、以下の通信は、主に、トンネル接続通信部２５のプロトコル処理部２５２、トンネル終端通信部３６のプロトコル処理部３６２の機能により行われるものである。
【００８４】
使用するプロトコルの種別がL３である場合（L３モードと呼ぶ）についての動作例を図９〜図１１を参照して説明する。各図において、MACrtはルータのMACアドレスであり、MACvnsはトンネル終端装置３０のMACアドレスである。
【００８５】
図９は、ユーザ端末５０からサーバ６０への通信の例を示す図である。L3モードでは、トンネル接続装置２０はトンネル終端装置３０から割り当てられた仮想IPアドレス（本例では172.16.050）を持つ。
【００８６】
図９に示すアドレスを有するEtherフレームがユーザ端末５０から送信される（ステップ１０１）。
【００８７】
フレームを受信したトンネル接続装置２０は、ユーザ端末５０のMACアドレスを学習する（記憶装置にIPアドレスとともに保持しておく）（ステップ１０２）。また、トンネル接続装置２０は、ユーザ端末５０からキャプチャしたフレームのうち、仮想IPアドレス宛（仮想ネットワーク用のIPアドレス宛）のものを選別し、トンネルを通してトンネル終端装置３０に転送を行う。
【００８８】
仮想IPアドレス宛のフレームを選別する処理例を図１０に示す。なお、図１０に示す例では、通信手段の例としてソケットを用いて通信を行う例が示されている。また、図１０に示すように、トンネル接続装置２０は、仮想ネットワーク用のアドレスとして予め定めたIPアドレス群（例えば、仮想IPアドレス群であるが、それに限られない）を記録した経路表を保持している。
【００８９】
図１０に示すように、トンネル接続装置２０は、ユーザ端末５０から受信したフレームのMACアドレスを記憶し、経路表を参照して、宛先IPアドレスが仮想IPアドレス群に含まれるものであれば（宛先IP判定Ｙｅｓ）、送信元IPアドレスを、トンネル接続装置２０に割り当てられた仮想IPアドレスに書き換えて、トンネル転送を行う。なお、図１０の例では、メタ情報等を記述する仮想NWヘッダ（VNヘッダ）を付しているが、このヘッダは必須ではない。仮想NWヘッダは、例えば、鍵交換などに用いられるコントロールパケットの識別などに用いられる。宛先IPアドレスが仮想IPアドレス群に含まれるものでなければ（宛先IP判定Ｎｏ）、トンネル経由でなく、通常のＬＡＮセグメントへ送信される。
【００９０】
上記のとおり、図９においてトンネル転送する際に、トンネル接続装置２０は、キャプチャしたフレームのうちL3パケット（本例ではＩＰパケット）に相当する部分を切り出し、L3アドレスを仮想IPアドレスに付け替えた上でトンネル終端装置３０に送付する（S１０３〜Ｓ１０５）。
【００９１】
カプセリングされたパケットを受け取ったトンネル終端装置３０は復号化／デカプセリングを行い（ステップ１０６）、カプセル化されていたパケットの送信先ＩＰアドレスに応じてサーバ６０やその仮想ＩＰアドレスを持つ他のトンネル接続装置２０に向けて送信を行う（ステップ１０７）。
【００９２】
サーバ６０からユーザ端末５０への通信の例を図１１に示す。図１１に示すように、基本的にユーザ端末５０からサーバ６０への通信の逆の処理が行われる。すなわち、トンネル終端装置３０は、サーバ６０から送出されたフレームをキャプチャし（ステップ２０１）、キャプチャしたフレームのうちL3パケットに相当する部分を切り出し暗号化／カプセリングを行って（ステップ２０２）、トンネル接続装置２０に転送する（ステップ２０３）。これを受信したトンネル接続装置２０は、復号化／デカプセリングの後（ステップ２０４）、送信先ＩＰアドレスを仮想ＩＰアドレスからユーザ端末５０の実アドレスに付け替えを行い（ステップ２０５）、あたかもサーバ６０から直接ユーザ端末５０に送信されたかのようにパケットを送出する（ステップ２０６）。他のトンネル接続装置２０からトンネル終端装置３０が受信したフレームについても同様の処理でユーザ端末５０に送信できる。
【００９３】
＜接続の切り替えやトラフィック経路の切り替えを行う実施形態＞
以下、例えば監視装置においてトラフィックの取得等を行うために、接続の切り替えやトラフィック経路の切り替えを行う実施の形態を説明する。本実施の形態では、上述した仮想ネットワークシステムの技術を用いており、以下で説明する各トンネル接続装置、各トンネル終端装置、及び仮想ネットワーク接続装置は、それぞれ、上述したトンネル接続装置２０、トンネル終端装置３０、及び仮想ネットワーク接続装置１０の機能を含むものとする。また、以下では、トンネル接続装置がサーバや端末に接続される場合の例を示すが、上述したように、トンネル接続装置の機能をドライバとしてサーバや端末にインストールした形態を用いてもよい。更に、以下の例では、L3モードにて仮想ネットワークの通信を行うことを想定しているが、トンネル通信のレイヤはこれに限られるわけではない。
【００９４】
ただし、仮想アドレスをつけるL3モードを採用することで、複数の異なるネットワークに所属する複数のクライアントのパケットを１つのトンネル終端装置セグメント（トンネル終端装置セグメントの詳細は後述する）で扱うことが出来るようになるという効果がある。
【００９５】
（システム構成）
図１２に、本実施の形態に係るシステム構成例を示す。図１２に示すように、このシステムは、ＩＰネットワーク１００（例えば、インターネット、閉域網）に、トンネル接続装置１０１、トンネル終端装置１０２、トンネル接続装置１０３、仮想ネットワーク制御装置１０４、トンネル終端装置セグメント１０５、及びサーバ１０６が接続される構成を有する。トンネル接続装置１０１にはサーバ１０７が接続され、トンネル接続装置１０３にはエンドユーザのユーザ端末２００が接続される。本例では、トンネル接続装置１０３とユーザ端末２００は、ユーザが所属する任意のＬＡＮ（オフィス、自宅、出張先等）に属している。
【００９６】
トンネル終端装置セグメント１０５には、トラフィック取得時に用いられるトンネル終端装置３０１、監視装置３０２、スイッチ３０３、デフォルトＧＷ（以下、ＤＧＷ）ルータ３０４が備えられる。スイッチ３０３はミラーポート等を有する一般的なスイッチであり、DGWルータ３０４は一般的なNATルータである。なお、監視装置３０２は一例に過ぎず、トンネル終端装置セグメント１０５に備えられる装置は監視装置３０２に限られない。監視装置３０２の他に、トラフィックの分析装置や検閲を行う装置など、あるトラフィックのパケットの情報を入力とする様々な装置を備えることができる。
【００９７】
図１２に示すシステムにおいて、トンネル接続装置１０１を導入し仮想ネットワークに参加しているサーバ１０７とユーザ端末２００との接続には、トンネル終端装置１０２経由での仮想ネットワーク（トンネル）接続（点線矢印）が用いられる。仮想ネットワークに参加していないサーバ１０６とユーザ端末２００との接続には仮想ネットワーク接続を用いず、通常のＩＰ接続を用いる（実線の矢印）。
【００９８】
図１２に示す構成において、仮想ネットワーク制御装置１０４は、監視装置３０２の接続されたトラヒック終端装置３０１のアドレスを位置情報格納部（１５）に記憶している。この記憶するための処理は、事前にシステム管理者が行ってもよいし、前述したトラヒック終端装置による登録処理にて行ってもよい。
【００９９】
（動作例１：仮想ネットワークに参加していないサーバとの通信トラフィックの取得）
動作例１として、仮想ネットワークに参加していないサーバ１０６との通信トラフィックの取得時における動作を図１３〜図１６を参照して説明する。動作例１では、サーバ１０６とユーザ端末２００との間のトラフィック経路をトンネル終端装置セグメント１０５に迂回させることにより、監視装置３０２がトラフィックを取得する。以下、その手順を説明する。
【０１００】
図１３は、トラフィック取得前の状態を示す図である。図１３に示す状態では、トンネル接続装置を用いていない仮想ネットワーク非参加のサーバ１０６(以下、通信対象サーバ１０６と呼ぶ)とユーザ端末２００間の通信において、ユーザ端末２００に接続されたトンネル接続装置１０３は特別な処理は行わずパケットを素通しする。そのため、ユーザ端末２００と通信対象サーバ１０６はトンネル接続装置１０３が無い場合と同じように通信を行っている。
【０１０１】
この状態から、通信対象サーバ１０６への通信のトラフィックのみを取得するために、図１４にステップ３０１として示すように、例えばネットワーク管理者から仮想ネットワーク制御装置１０４に指示が投入されたとする。この指示は、ユーザ端末２００に接続されたトンネル接続装置１０３とトンネル終端装置セグメント１０５におけるトンネル終端装置３０１との間でトンネル接続することを示す指示（構成情報）である。この指示の内容は仮想ネットワーク制御装置１０４の構成情報格納部１２に格納される。また、上記の指示には、トラフィック情報を取得するべき通信対象サーバ１０６の宛先アドレスも含まれており、このアドレスは、以下で説明するトンネル接続装置１０３に送信される設定情報（設定変更指示、迂回指示などと呼んでもよい）に含められる。なお、このアドレスは、トンネル接続装置１０３が送受信するデータのうち、トンネル終端装置３０１に迂回させるデータを識別する識別情報である。また、トンネル接続装置１０３に送信される設定情報（迂回指示）に含まれるレイヤの情報がL3である場合、当該L3とする旨の指示は、トンネル接続装置でのカプセリングの際にアドレスを仮想アドレスに付け替える指示に相当する。
【０１０２】
指示に基づき、構成変更の指示（上記トンネル接続のための設定情報）が仮想ネットワーク制御装置１０４からトンネル接続装置１０３とトンネル終端装置３０１に伝達される。前述したように、指示の伝達方式は、インバウンドシグナリングとメタシグナリングの２つの方式がある。
【０１０３】
現在の状態で、もし、トンネル接続装置１０３とトンネル終端装置１０２がトンネル接続されている場合、仮想ネットワーク構成情報を保持する仮想ネットワーク制御装置１０４は、そのことを把握しており、トンネル接続装置１０３とトンネル終端装置３０１とをトンネル接続させるための構成変更指示をトンネル終端装置１０２に送信する（図１４のステップ３０２）。また、構成変更指示（設定情報）は、トンネル接続先であるトンネル終端装置３０１にも送られる（ステップ３０３）。そして、トンネル終端装置１０２が、トンネル経由で（インバウンドシグナリング）で設定変更指示をトンネル接続装置１０３に送信し、トンネル接続装置１０３は設定を行う（ステップ３０４）。トンネル終端装置３０１でも設定が行われる。
【０１０４】
トンネル接続装置１０３がいずれのトンネル終端装置ともトンネル接続されていない場合、メタシグナリングが行われる。すなわち、トンネル接続装置１０３は、例えば前述した契機（一定時間間隔等）で仮想ネットワーク制御装置１０４に問い合わせ（設定情報要求）を行うことにより（ステップ３１１）、トンネル終端装置３０１との間のトンネル接続のための設定情報を取得し、設定を行う（ステップ３１２）。
【０１０５】
トンネル接続装置１０３での設定においては、通信対象サーバ１０６の宛先アドレスが記憶手段（経路表）に格納され、通信対象サーバ１０６への通信の選別に用いられる。
【０１０６】
その後、図１５に示すように、トンネル接続装置１０３はまず、トンネル終端装置セグメント１０５におけるトンネル終端装置３０１との間でトンネル接続を確立する（ステップ４０１）。このとき、トンネル終端装置３０１からトンネル接続装置１０３に、トンネル終端装置セグメント１０５セグメント内のアドレス（すなわち仮想アドレス）が払い出される（ステップ４０２）。
【０１０７】
トンネル接続装置１０３とトンネル終端装置３０１との間でトンネル接続がされると、トンネル接続装置１０３はユーザ端末２００から送信されるパケットのうち通信対象サーバ１０６向けのものを選別し、送信元アドレスをトンネル終端装置３０１から払い出されたトンネル終端装置セグメント１０５内のアドレス（仮想アドレス）に付け替える。その上でトンネリング処理を行うために暗号化・カプセリングを施した上でトンネル終端装置３０１に向けて送出する（図１６のステップ５０１）。
【０１０８】
トンネル終端装置３０１は、トンネル接続装置１０３からパケットを受け取ると、デカプセリング・復号化を行い、デカプセリング・復号化されたパケットは、トンネル終端装置セグメント１０５に設置された途中のスイッチ３０３を経由して、DGWルータ３０４から送出される（ステップ５０２）。なお、トンネル終端装置３０１は、トンネル接続装置１０３配下のユーザ端末２００の通信をブリッジする装置となる。上記のパケットはスイッチ３０３のミラーポート等により複製され、監視装置３０２に入力される（ステップ５０３）。なお、監視装置３０２が、FW機器などのパケットの経路上に設けられるタイプの機器の場合は、ミラーポートに接続されず経路上に直接設置される。
【０１０９】
通信対象サーバ１０６は、トンネル終端装置セグメント１０５のDGWルータ３０４からパケットを受け取り、応答パケットを当該DGWルータ３０４に返す。トンネル終端装置３０１は、トンネル終端装置セグメント１０５から送出したパケットの送信元アドレスを、自分のインタフェースで解決するARPへの応答を送出しているため（ARP代理応答）、DGWルータ３０４は通信対象サーバ１０６から受け取った応答パケットをトンネル終端装置３０１に向けて送信する（ステップ５０４）。監視装置３０２は、この応答パケットも取得できるが、例えばユーザ端末２００から通信対象サーバ１０６への通信のトラフィックのみを監視対象とした場合は応答パケットを取得しなくてもよい。
【０１１０】
そして、トンネル終端装置３０１は、トンネル接続装置１０３からパケットを受け取ったときとは逆にトンネル接続装置１０３にパケットを送り返し（ステップ５０５）、トンネル接続装置１０３は宛先アドレスを仮想アドレスからユーザ端末２００のものに書き換えてユーザ端末２００に送信を行う。
【０１１１】
（動作例２：仮想ネットワークに参加しているサーバとの通信トラフィックの取得）
次に動作例２として、仮想ネットワークに参加しているサーバ１０７との通信トラフィックの取得時における動作を図１７〜図２０を参照して説明する。
動作例２では、サーバ１０７とユーザ端末２００との間のトンネル終端装置１０２を経由したトラフィック経路を、トンネル終端装置セグメント１０５に迂回させることにより、監視装置３０２がトラフィックを取得する。以下、その手順を説明する。
【０１１２】
図１７は、トラフィック取得前の状態を示す図である。図１７に示す状態では、トンネル終端装置１０２を経由した仮想ネットワークにて、サーバ１０７とユーザ端末２００との間の通信が行われている。なお、本例において、通信対象サーバ１０７に接続されるトンネル接続装置１０１は、例えば、複数のトンネル接続装置を備えるなどにより、複数の仮想ネットワーク面と通信することができる機能を有する。
【０１１３】
この状態から、通信対象サーバ１０７への通信のトラフィックのみを取得するために、図１８にステップ６０１として示すように、例えばネットワーク管理者から仮想ネットワーク制御装置１０４に指示が投入されたとする。この指示は、ユーザ端末２００に接続されたトンネル接続装置１０３とトンネル終端装置セグメント１０５におけるトンネル終端装置３０１との間でトンネル接続することを示す指示（構成情報）である。この指示には、トラフィック情報を取得するべき通信対象サーバ１０７の宛先アドレスも含まれており、このアドレスは、以下で説明するトンネル接続装置１０３に送信される設定情報（設定変更指示）に含められる。また、もし、トンネル接続装置１０１とトンネル終端装置３０１との間でトンネルが未設定である場合には、トンネル接続装置１０１とトンネル終端装置３０１との間でトンネル接続を行うことを示す指示も含むが、本例では、トンネル接続装置１０１とトンネル終端装置３０１との間でトンネルは接続済であるとする。指示の内容は仮想ネットワーク制御装置１０４の構成情報格納部１２に格納される。
【０１１４】
本例では、トンネル接続装置１０３がトンネル終端装置１０２とトンネル接続されているため、インバウンドシグナリングを行う。すなわち、仮想ネットワーク構成情報を保持する仮想ネットワーク制御装置１０４は、トンネル接続装置１０３がトンネル終端装置１０２とトンネル接続されていること（すなわち、仮想ネットワーク構成）を把握しており、トンネル接続装置１０３とトンネル終端装置３０１とをトンネル接続させるための構成変更指示をトンネル終端装置１０２に送信する（図１８のステップ６０２）。また、構成変更指示は、トンネル接続先であるトンネル終端装置３０１にも送られる（ステップ６０３）。
そして、トンネル終端装置１０２が、トンネル経由で（インバウンドシグナリングで）設定変更指示をトンネル接続装置１０３に送信し、トンネル接続装置１０３は設定を行う（ステップ６０４）。トンネル接続装置１０３での設定においては、通信対象サーバ１０７の宛先アドレスが記憶手段（経路表）に格納され、通信対象サーバ１０７への通信の選別に用いられる。なお、トンネル終端装置３０１でも設定が行われる。
【０１１５】
その後、図１９に示すように、トンネル接続装置１０３はトンネル終端装置１０２との接続を切断し（ステップ７０１）、トンネル終端装置セグメント１０５におけるトンネル終端装置３０１との間でトンネル接続を確立する（ステップ７０２）。このとき、トンネル終端装置３０１からトンネル接続装置１０３に、トンネル終端装置セグメント１０５セグメント内のアドレス（すなわち仮想アドレス）が払い出される（ステップ７０３）。
【０１１６】
トンネル接続装置１０３とトンネル終端装置３０１との間でトンネル接続が確立されると、トンネル接続装置１０３はユーザ端末２００から送信されるパケットのうち通信対象サーバ１０７向けのものを選別し、送信元アドレスをトンネル終端装置３０１から払い出されたトンネル終端装置セグメント１０５内のアドレス（仮想アドレス）に付け替える。その上でトンネリング処理を行うために暗号化・カプセリングを施した上でトンネル終端装置３０１に向けて送出する。このようにして、ユーザ端末２００は当該トンネル終端装置３０１を経由して仮想ネットワーク上の通信対象サーバ１０７と通信を行うようになる（図２０のステップ８０１で示す）。
【０１１７】
この際、トンネル終端装置３０１は仮想ネットワーク上を流れるパケットを、デカプセリングされた状態で複製し、DGWルータ３０４等適当な宛先に向けセグメント内に出力する（ステップ８０２）。そしてこの際、途中のスイッチ３０３のミラーポートにおいて当該パケットをさらに複製し、監視装置３０２に伝達する（ステップ８０３）。これにより、ユーザ端末２００と通信対象サーバ１０７間の通信トラフィックを取得できる。
【０１１８】
なお、動作例１と動作例２のいずれの場合も、インバウンドシグナリングを行う状態のときには、トンネル終端装置１０２に、１つのユーザ側トンネル接続装置１０３が接続される例を示したが、トンネル終端装置１０２に複数のトンネル接続装置がトンネル接続され仮想ネットワークを構成する場合もある。すなわち、トンネル終端装置１０２をハブとして複数のトンネル接続装置により仮想ネットワークが確立している場合がある。その場合には、設定情報（迂回指示）を、各トンネルを経由して複数のトンネル接続装置に送信することができる。これにより、複数の特定のユーザ端末のトラフィックを迂回させて監視等を行うことができる。この場合、例えば、どのトンネル接続装置に迂回指示を送信するかを示す情報は、仮想ネットワーク制御装置１０４からトンネル終端装置１０２に送られる設定変更指示に含められ、トンネル終端装置１０２は当該情報に示される複数のトンネル接続装置に迂回指示を送信することができる。
【０１１９】
＜実施の形態のまとめ、効果＞
上記のように本実施の形態では、ユーザ端末にインストールされたドライバソフトウェア、もしくはユーザ端末に接続されたトンネル接続装置において取得を行いたいトラフィックを選別し、分析や監視などを行うサーバを備えたネットワーク（トンネル終端装置セグメント）に転送を行う。
【０１２０】
この際、動作例１、動作例２で説明したように、仮想ネットワークに既に参加しているサーバ向けの通信と、それ以外のサーバ向けの通信で通信の中継方法を変える。動作例１のように、仮想ネットワーク外に向かうトラフィックを取得する場合には、転送を受けたトンネル終端装置側においてユーザ端末の通信をブリッジすることにより対象サーバと通信を行い、このトラフィックを取得する。また、動作例２で説明したように、仮想トンネル終端装置内の通信を取得する場合には、トラフィック取得用のトンネル終端装置に接続を切り替え、仮想ネットワーク内のトラフィックを複製して出力することによってトラフィックを取得する。
【０１２１】
これにより、クライアント機器（ユーザ端末）がどこのネットワークから通信を行っている場合でも、特定宛先向けの通信のみを切り分けて監視を行うことができる。また、オーバーレイネットワーク上でのトラフィック監視を行う場合において、全ての集約サーバに監視機器を導入せずとも特定クライアントの通信のみを切り分けることができる。
【０１２２】
すなわち、本実施の形態で説明した技術を用いることにより、トラフィック情報を取得する機能を特定通信経路上DCに設置できない場合であっても、インターネット等のネットワーク上に流れるトラフィック情報の取得が可能となる。この方式では、ユーザ端末の操作者に自分のトラフィックが中継されているか否かを気付かれることがない。また、トラフィック監視機能をASP的に提供することも可能となる。なお、中継したトラフィックをいかなる方法で取得して分析・監視・検疫等を行うかについては特定の方法に限定されない。  
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【符号の説明】
【０１２３】
１  仮想ネットワークシステム
１０  仮想ネットワーク制御装置
２０  トンネル接続装置
３０  トンネル終端装置
４０  IPネットワーク
５０  ユーザ端末
６０  サーバ
１１  仮想NW構築指示受付部
１２  構成情報格納部
１３  対装置通信部
１４  位置情報登録部
１５  位置情報格納部
１６  指示通知部
２１  対仮想NW制御装置通信部
２３  設定部
２４  データ格納部
２５  トンネル接続通信部
２５１  トンネル構築部
２５２  プロトコル処理部
３１  対仮想NW制御装置通信部
３２  登録要求部
３３  設定部
３４  仮想NW構成変更制御部
３５  データ格納部
３６  トンネル終端通信部
３６１  トンネル構築部
３６２  プロトコル処理部
１００  ＩＰネットワーク
１０１、１０３  トンネル接続装置
１０２、３０１  トンネル終端装置
１０４  仮想ネットワーク制御装置
１０５  トンネル終端装置セグメント
１０６、１０７  サーバ
２００  ユーザ端末
３０２  監視装置
３０３  スイッチ
３０４  ＤＧＷルータ
【図１】
0005670279.tif 000002
【図２】
0005670279.tif 000003
【図３】
0005670279.tif 000004
【図４】
0005670279.tif 000005
【図５】
0005670279.tif 000006
【図６】
0005670279.tif 000007
【図７】
0005670279.tif 000008
【図８】
0005670279.tif 000009
【図９】
0005670279.tif 000010
【図１０】
0005670279.tif 000011
【図１１】
0005670279.tif 000012
【図１２】
0005670279.tif 000013
【図１３】
0005670279.tif 000014
【図１４】
0005670279.tif 000015
【図１５】
0005670279.tif 000016
【図１６】
0005670279.tif 000017
【図１７】
0005670279.tif 000018
【図１８】
0005670279.tif 000019
【図１９】
0005670279.tif 000020
【図２０】
0005670279.tif 000021