説明

仮想ネットワーク制御装置、仮想ネットワーク制御方法、仮想ネットワーク制御システム、及びプログラム

【課題】ユーザ端末と通信対象装置との間の通信トラフィックの経路を、分析や監視等を行う所定の装置を経由するように迂回させる技術を提供する。
【解決手段】トンネル接続装置とトンネル終端装置との間に設定されるトンネルにより構成される仮想ネットワークを制御するための仮想ネットワーク制御装置において、所定のトンネル終端装置の位置情報を記憶する記憶手段と、所定のトンネル接続装置と前記位置情報で示された前記所定のトンネル終端装置との間でトンネルを確立する指示と、前記所定のトンネル接続装置が送受信するデータのうち、前記所定のトンネル終端装置に迂回させるデータを識別する識別情報とを含む迂回指示を、前記所定のトンネル接続装置に通知するための指示通知手段と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザ端末と所定の装置で送受信されるトラフィックを所定の装置で中継する技術に関するものであり、特に、仮想ネットワークを利用してトラフィックの中継を行う技術に関連するものである。
【背景技術】
【0002】
従来から、ユーザ端末のトラフィックを中継して検疫やトラフィック監視を行う方法が知られている。そのような方法としては、例えば、DC(データセンタ)側のネットワーク内の通信経路上にプロキシ装置を設置してパケットの監視や検閲を行ったり、ネットワーク内のスイッチのミラーポートによって複製したパケットを監視装置等が取得して、パケットの監視や検閲を行うという方法がある。これらの装置は、例えば特定LAN上の定点に設けられ、そこで受信するトラフィックの監視等を行っている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2010−200032号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、クラウド化の進展によるサーバの分散配置や、端末の可搬性の向上により、通信先や通信するネットワークが多様化しつつあり、従来のように特定LAN上の定点に設けられたトラフィック中継監視装置等を利用したのでは、個々のユーザ端末のトラフィック監視を行うことが困難になりつつある。すなわち、このような分散環境下では、トラフィック情報を取得する装置を特定のネットワーク内の経路上に設置するだけでは、保守等に必要な情報を取得することが難しいという問題があった。
【0005】
オーバーレイネットワークを集約するサーバにおいて、トラフィック量等の監視を行うことは従来でも可能であった。しかし、特定クライアントの通信は特定の集約サーバのみで監視可能なので、特殊な装置を要する監視方法などにおいては、各クライアントの通信の監視を行うために、全ての集約サーバにおいて特殊な装置を導入する必要があり、これは非現実的であるという問題があった。
【0006】
本発明は上記の点に鑑みてなされたものであり、ユーザ端末と通信対象装置との間の通信トラフィックの経路を、分析や監視等を行う所定の装置を経由するように迂回させる技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記の課題を解決するために、本発明は、トンネル接続装置とトンネル終端装置との間に設定されるトンネルにより構成される仮想ネットワークを制御するための仮想ネットワーク制御装置であって、所定のトンネル終端装置の位置情報を記憶する記憶手段と、所定のトンネル接続装置と前記位置情報で示された前記所定のトンネル終端装置との間でトンネルを確立する指示と、前記所定のトンネル接続装置が送受信するデータのうち、前記所定のトンネル終端装置に迂回させるデータを識別する識別情報とを含む迂回指示を、前記所定のトンネル接続装置に通知するための指示通知手段と、を備えることを特徴とする仮想ネットワーク制御装置として構成される。
【0008】
前記迂回指示は、前記所定のトンネル接続装置においてデータのカプセリングを行う際に、データに付されていたアドレスを仮想アドレスに付け替える指示を含むように構成することができる。また、前記所定のトンネル終端装置は、前記所定のトンネル接続装置の通信をブリッジするトンネル終端装置としてもよい。
【0009】
例えば、前記所定のトンネル終端装置には監視装置が接続されており、その場合、当該所定のトンネル終端装置は、トンネルにて受信したカプセリングされたデータをデカプセリングし、当該デカプセリングされたデータを前記監視装置に送信する。
【0010】
また、前記迂回指示は、前記所定のトンネル接続装置が、前記所定のトンネル終端装置以外のトンネル終端装置と予めトンネルを確立している状態で、当該トンネルを通して通知されるようにしてもよい。
【0011】
また、前記トンネル終端装置をハブにして複数のトンネル接続装置により既に仮想ネットワークが確立されている場合において、前記迂回指示は、当該複数のトンネル接続装置に対して通知されるようにしてもよい。
【0012】
また、本発明は、トンネル接続装置とトンネル終端装置との間に設定されるトンネルにより構成される仮想ネットワークを制御するための仮想ネットワーク制御装置が実行する仮想ネットワーク制御方法であって、所定のトンネル終端装置の位置情報を記憶手段に記憶するステップと、所定のトンネル接続装置と前記位置情報で示された前記所定のトンネル終端装置との間でトンネルを確立する指示と、前記所定のトンネル接続装置が送受信するデータのうち、前記所定のトンネル終端装置に迂回させるデータを識別する識別情報とを含む迂回指示を、前記所定のトンネル接続装置に通知するステップと、を備えることを特徴とする仮想ネットワーク制御方法として構成することもできる。
【0013】
また、本発明は、トンネル接続装置とトンネル終端装置との間に設定されるトンネルにより構成される仮想ネットワークを制御するための仮想ネットワーク制御装置と、監視装置が接続された所定のトンネル終端装置とを備える仮想ネットワーク制御システムであって、前記仮想ネットワーク制御装置は、前記所定のトンネル終端装置の位置情報を記憶する記憶手段と、所定のトンネル接続装置と前記位置情報で示された前記所定のトンネル終端装置との間でトンネルを確立する指示と、前記所定のトンネル接続装置が送受信するデータのうち、前記所定のトンネル終端装置に迂回させるデータを識別する識別情報とを含む迂回指示を、前記所定のトンネル接続装置に通知するための指示通知手段と、を備え、前記所定のトンネル終端装置は、トンネルにて受信したカプセリングされたデータをデカプセリングし、当該デカプセリングされたデータを前記監視装置に送信することを特徴とする仮想ネットワーク制御システムとして構成することもできる。
【0014】
また、本発明は、コンピュータを、上記仮想ネットワーク制御装置の各手段として機能させるためのプログラムとして構成することもできる。
【発明の効果】
【0015】
本発明によれば、ユーザ端末と通信対象装置との間の通信トラフィックの経路を、分析や監視等を行う所定の装置を経由するように迂回させる技術を提供することが可能となる。
【図面の簡単な説明】
【0016】
【図1】仮想ネットワークシステム1の全体構成図である。
【図2】仮想ネットワーク制御装置10の機能構成図である。
【図3】トンネル接続装置20の機能構成図である。
【図4】トンネル接続装置20の他の形態を示す図である。
【図5】トンネル終端装置30の機能構成図である。
【図6】仮想ネットワークが構築されるまでの処理手順例を説明するためのシーケンス図である。
【図7】複数のトンネル接続装置を含む仮想ネットワークの例を示す図である。
【図8】仮想ネットワークが構築された後に、構成変更を行う場合の処理手順を説明するためのシーケンス図である。
【図9】L3モードにおけるユーザ端末からサーバへの通信の例を示す図である。
【図10】仮想IPアドレス宛のフレームを選別する処理例を示す図である。
【図11】L3モードにおけるサーバからユーザ端末への通信の例を示す図である。
【図12】実施の形態に係るシステム構成例を示す図である。
【図13】動作例1におけるトラフィック取得前の状態を示す図である。
【図14】動作例1における構成変更指示伝達を説明するための図である。
【図15】動作例1におけるトンネル終端装置301とのトンネル接続確立を説明するための図である。
【図16】動作例1におけるパケットの取得及び送受信を示す図である。
【図17】動作例2におけるトラフィック取得前の状態を示す図である。
【図18】動作例2における構成変更指示伝達を説明するための図である。
【図19】動作例2におけるトンネル終端装置301とのトンネル接続確立を説明するための図である。
【図20】動作例2におけるパケットの中継及び監視装置への出力を示す図である。
【発明を実施するための形態】
【0017】
以下、図面を参照して本発明の実施の形態を説明する。なお、以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
【0018】
<仮想ネットワークシステムについて>
まず、本発明の実施の形態で用いる仮想ネットワークシステムの基本的な構成及び機能について説明しておく。
【0019】
(システム構成)
図1に仮想ネットワークシステム1の基本的な構成図を示す。図1に示すとおり、仮想ネットワークシステム1は、仮想ネットワーク制御装置10、トンネル接続装置20、及びトンネル終端装置30がIPネットワーク40(例えば、インターネット)に接続されて構成されている。図1に示す例では、トンネル接続装置20にユーザ端末50(クライアント機器)が接続されている。また、トンネル終端装置30には、サーバや他のユーザ端末等が接続される。なお、図1には、代表として、1つのトンネル終端装置30、及び1つのトンネル接続装置20を示しているが、実際にはそれぞれ複数の装置が存在してよい。また、トンネル接続装置20とトンネル終端装置30との間でトンネルを構築することにより、仮想ネットワークが構成されるので、トンネル接続装置20とトンネル終端装置30を備えるシステムを仮想ネットワークシステムと称してもよい。
【0020】
仮想ネットワーク制御装置10は、トンネル接続装置20やトンネル終端装置30に仮想ネットワーク構築・変更の指示等を行うための装置である。トンネル接続装置20は、トンネル終端装置30とトンネル接続を行う装置である。トンネル終端装置30は、1つ又は複数のトンネル接続装置20との間のトンネルを終端する装置である。同じトンネル終端装置30に接続されたトンネル接続装置同士の間で仮想ネットワークを形成する。以下、各装置についてより詳しく説明する。
【0021】
図2に、仮想ネットワーク制御装置10の機能構成図を示す。図2に示すように、仮想ネットワーク制御装置10は、仮想ネットワーク構築・変更指示受付部11、構成情報格納部12、対装置通信部13、位置情報登録部14、位置情報格納部15、指示通知部16を有する。
【0022】
仮想ネットワーク構築・変更指示受付部11は、例えば、仮想ネットワーク制御装置10とネットワーク接続された外部装置(例えば、Webブラウザ端末、NW監視システム等)から仮想ネットワーク構築や変更に係る指示を受信し、当該指示に基づいて仮想ネットワーク構成情報を構成情報格納部12に格納する等の機能を備える。構成情報格納部12に格納される仮想ネットワーク構成情報は、例えば、どのトンネル接続装置とどのトンネル終端装置を、どのプロトコル種別で接続するかの情報を含む。すなわち、構成情報格納部12は、構成情報として、例えば、トンネル接続装置の識別情報、トンネル終端装置の識別情報、及びプロトコル種別を対応付けたテーブルを格納する。また、後述する各装置の設定情報として必要な情報も保持している。
【0023】
対装置通信部13は、トンネル接続装置20、及びトンネル終端装置30と通信を行うための機能部である。
【0024】
位置情報登録部14は、トンネル終端装置30から、当該トンネル終端装置30の識別情報と位置情報(例えば、現時点でのトンネル終端装置30のIPアドレス)を含む位置登録要求を受信し、当該トンネル終端装置30の位置情報を位置情報格納部15に格納する。なお、識別情報は、トンネル終端装置30の位置によらずにトンネル終端装置30を識別可能な情報である。
【0025】
位置情報格納部15には、予め各トンネル終端装置30の識別情報が格納(登録)されており、位置情報登録部14は、トンネル終端装置30から受信する識別情報が既に位置情報格納部15に格納されているものであることを確認した後に、当該識別情報に対応付けて位置情報を位置情報格納部15に格納する。位置情報登録部14は、トンネル接続装置20についても同様に位置情報の登録を行ってもよい。また、例えば、トンネル終端装置30の位置情報がほぼ固定である場合等には、トンネル終端装置30の位置情報の登録をシステム管理者が行ってもよい。
【0026】
指示通知部16は、構成情報格納部12に格納された構成情報に基づいて、構成情報に係る仮想ネットワークを構成するトンネル接続装置20に対し、トンネル接続装置20からの要求に応じてトンネル接続のための設定情報を通知するとともに、構成情報に係る仮想ネットワークを構成するトンネル終端装置30に対して、接続に来るトンネル接続装置の識別情報やプロトコル種別等の設定情報を送信する機能部である。また、指示通知部16は、仮想ネットワーク構成変更指示をトンネル終端装置30に送信する機能も備える。
【0027】
なお、本実施の形態では、外部から指示を受けるための機能部と、装置に指示を出す機能部を同一の装置に設けているが、これらを別々のモジュール(別々の装置)として実現してもよい。
【0028】
本実施の形態に係る仮想ネットワーク制御装置10(後述する仮想ネットワーク制御装置104も同様)は、CPU、記憶装置等からなるコンピュータに、仮想ネットワーク制御装置10の各機能部の機能を実現するためのプログラムを実行させることにより実現できる。当該プログラムは可搬メモリ等の記録媒体からコンピュータにインストールすることとしてもよいし、ネットワーク上のサーバからダウンロードすることとしてもよい。
【0029】
図3に、トンネル接続装置20の機能構成図を示す。なお、図3は、一例として、トンネル接続装置20とユーザ端末50が別々の装置であり、これらがネットワーク接続される場合の例を示している。
【0030】
図3に示すように、トンネル接続装置20は、対仮想ネットワーク制御装置通信部21、設定部23、データ格納部24、トンネル接続通信部25を有する。また、トンネル接続通信部25は、トンネル構築部251とプロトコル処理部252を含む。
【0031】
対仮想ネットワーク制御装置通信部21は、仮想ネットワーク制御装置10との間で通信を行うための機能部である。
【0032】
設定部23は、トンネル接続装置20の起動時(トンネル接続装置20の電源をONにしたときなど)に、仮想ネットワーク制御装置10に対してトンネル設定情報要求を送信し、仮想ネットワーク制御装置10から要求したトンネル設定情報を受信して、受信したトンネル設定情報に基づきトンネル通信のための設定を行う機能部である。また、設定部23が、予め定められた規則に基づく時間にトンネル設定情報要求を仮想ネットワーク制御装置10に送信する機能を備えてもよい。例えば、設定部23が、タイマーを備え、予め定めた一定時間間隔で(例えば毎日同じ時間に)トンネル設定情報要求を送信してもよいし、トンネル設定情報要求による問い合わせを行って更新がなければ徐々に時間間隔を広げてトンネル設定情報要求の送信を行うこととしてもよい。予め定められた規則に基づく時間は、これらに限られるわけではなく、他の規則に基づく時間を採用してもよい。また、これらの規則は、トンネル接続装置20に予め設定されるものである。
【0033】
対仮想ネットワーク制御装置通信部21には、仮想ネットワーク制御装置10のアドレス情報が予め設定してある。また、設定部23は、トンネル経由(プロトコル処理部251経由)で、トンネル終端装置30から設定変更指示を受信し、設定変更指示に含まれる設定情報により設定を行ったり、設定変更指示に従って仮想ネットワーク制御装置10から設定情報を取得する機能も備える。
【0034】
トンネル設定情報には、トンネルの接続先となるトンネル終端装置30の位置情報(アドレス)、トンネルを生成するために必要な秘密情報(初期共有鍵等)等のパラメータ値、トンネルを構成するプロトコル種別(後述する、L2、L3、L4等)を含む。これらの他、暗号の種別、トンネルのQoS情報等を含めてもよい。
【0035】
また、「トンネル設定情報に基づきトンネル接続のための設定を行う」とは、設定情報にて指示されたトンネルを実現できるようにするための設定を行うことである。例えば、指示されたプロトコル種別に対応するトンネル用のプログラム(各種別毎にプログラムがデータ格納部24に格納されているものとする。プロトコル処理部252に対応する。)を起動するとともに、トンネル接続先アドレスやパラメータ値をトンネル構築部251等が参照できるようにデータ格納部24に格納したりする。なお、これは一例に過ぎない。
【0036】
データ格納部24には、各プロトコル種別に対応付けて各トンネル用のプログラムが格納されるとともに、トンネル設定情報に含まれていたトンネルの接続先やパラメータ値が格納される。
【0037】
なお、上記のように、プロトコル種別毎にモジュールとしてプロトコル処理部252に対応するプログラムを起動する他(この場合も設定情報に応じて機能を切り替えることに相当する)、複数プロトコル種別の機能を有するプログラム(プロトコル処理部252)を起動しておき、設定情報に応じて機能を切り替えるようにしてもよい。また、プロトコル種別毎にプロトコル処理用のハードウェア回路を備えておき、設定情報に応じて回路を切り替えるように構成してもよい。
【0038】
トンネル接続通信部25におけるトンネル構築部251は、トンネルの接続先位置情報及びパラメータ値をデータ格納部16から読み出して、接続先のトンネル終端装置30に対してトンネル接続要求を送信することにより、トンネル終端装置との間にトンネルを構築する処理を行う。また、プロトコル処理部252は、ユーザ端末50が送受信するデータをカプセリング/デカプセリング、暗号化/復号化する等のトンネル通信のプロトコル処理を行う機能部である。トンネルを構築するとは、装置内部では、トンネル接続先との間のパケット通信においてカプセリング/デカプセリング、暗号化/復号化を行うための情報を設定しておくことである。
【0039】
なお、トンネル接続装置20は、ユーザ端末50が通信対象サーバ等とトンネルを経由しないで通信する場合において、特別な処理を行わずに、パケットを素通しさせる機能も備えている。
【0040】
トンネル接続装置20は、コンピュータ(CPU、メモリ等を含む構成を有する通信装置を含む)に、トンネル接続通信部25、設定部23に対応するプログラムを実行させることにより実現できる。
【0041】
当該プログラムは可搬メモリ等の記録媒体からコンピュータにインストールすることとしてもよいし、ネットワーク上のサーバからダウンロードすることとしてもよい。
【0042】
図3では、ユーザ端末50とトンネル接続装置20とを接続した構成を示しているが、これは一例に過ぎない。図4に示すように、ユーザ端末50内にドライバとしてトンネル接続装置20の機能を備える形態としてもよい。この場合、ユーザ端末50をトンネル接続装置と呼んでもよい。
【0043】
本実施の形態では、図3に示すトンネル接続装置20は、ユーザによって所望の場所に持ち運び可能な装置を想定している。また、このときのユーザ端末50は、一般的なPC等の端末のほか、Webカメラ、家電機器等でもよい。
【0044】
図5に、トンネル終端装置30の機能構成図を示す。
【0045】
図5に示すように、トンネル終端装置30は、対仮想ネットワーク制御装置通信部31、登録要求部32、設定部33、仮想ネットワーク構成変更制御部34、データ格納部35、トンネル終端通信部36を有する。トンネル終端通信部36は、トンネル構築部361とプロトコル処理部362を含む。
【0046】
対仮想ネットワーク制御装置通信部31は、仮想ネットワーク制御装置10との間で通信を行うための機能部である。
【0047】
登録要求部32は、トンネル終端装置30が起動されたときや、ネットワークに接続されたとき等に、位置登録要求を仮想ネットワーク制御装置10に送信する機能部である。この位置登録要求により仮想ネットワーク制御装置10において位置登録がなされる、なお、トンネル終端装置30について自動的な登録を行わない場合、登録要求部32を備えなくてもよい。また、トンネル接続装置20についてもトンネル終端装置30と同様の登録要求部を備え、位置登録を行うこととしてもよい。
【0048】
設定部33は、仮想ネットワーク制御装置10からトンネル接続情報(設定情報)を受信して、受信したトンネル接続情報に基づきトンネル接続のための設定を行う機能部である。対仮想ネットワーク制御装置通信部31には、仮想ネットワーク制御装置10のアドレス情報が予め設定してある。
【0049】
トンネル接続情報には、トンネル終端装置30に対して接続に来るトンネル接続装置20の識別情報(もしくは位置情報)、トンネルを生成するために必要な秘密情報(初期共有鍵等)等のパラメータ値、トンネルを構成するプロトコル種別(後述する、L2、L3、L4等)を含む。これらの他、暗号の種別やトンネルのQoS情報等を含めてもよい。
【0050】
また、「トンネル接続情報に基づきトンネル接続のための設定を行う」とは、指示されたトンネルを接続できるようにするための設定を行うことである。例えば、指示されたプロトコル種別に対応するトンネル用のプログラム(各種別毎にプログラムがデータ格納部35に格納されているものとする。プロトコル処理部362に対応する。)を起動するとともに、接続に来るトンネル接続装置の識別情報(もしくは位置情報)やパラメータ値をトンネル構築部361等が参照できるようにデータ格納部35に格納したりする。なお、これは一例に過ぎない。
【0051】
データ格納部35には、各プロトコル種別に対応付けて各トンネル用のプログラムが格納されるとともに、接続に来るトンネル接続装置の情報やパラメータ値が格納される。
【0052】
なお、上記のように、プロトコル種別毎にモジュールとしてプロトコル処理部362に対応するプログラムを起動する他(この場合も設定情報に応じて機能を切り替えることに相当する)、複数プロトコル種別の機能を有するプログラム(プロトコル処理部362)を起動しておき、設定情報に応じて機能を切り替えるようにしてもよい。また、プロトコル種別毎にプロトコル処理用のハードウェア回路を備えておき、設定情報に応じて回路を切り替えるように構成してもよい。
【0053】
トンネル終端通信部36におけるトンネル構築部361は、トンネル接続装置の識別情報(もしくは位置情報)や、各種パラメータ値をデータ格納部35から読み出すとともに、トンネル接続要求を受信したことに応じて、トンネル接続要求元が、通知されているトンネル接続装置であることを確認し、そのトンネル接続装置との間にトンネルを構築する処理等を行う。また、プロトコル処理部362は、送受信するデータをカプセリング/デカプセリングする等のトンネル通信のための処理を行う。
【0054】
また、トンネル終端通信部36は、トンネル接続したトンネル接続装置の識別情報(位置情報でもよい)のテーブルを作成し、データ格納部35に格納する機能も有する。
【0055】
仮想ネットワーク構成変更制御部34は、既に仮想ネットワーク構築が済み、仮想ネットワークでのトンネル通信可能な状態において、仮想ネットワーク制御装置10から、新たな仮想ネットワークの構成情報を含む仮想ネットワーク構成変更指示を受信したときに、既に構築されているトンネルを通じて、トンネル接続されている各トンネル接続装置に対して、新たな仮想ネットワークの構成に基づくトンネル設定情報等を送信する機能部である。仮想ネットワーク構成変更指示には、例えば、変更後の仮想ネットワークの構成における、トンネル終端装置の識別情報(もしくは位置情報)、当該トンネル終端装置に接続されるトンネル接続装置の識別情報(もしくは位置情報)のテーブル、プロトコル種別、その他の必要なパラメータ値が含まれる。
【0056】
仮想ネットワーク構成変更制御部34は、受信した仮想ネットワーク構成変更指示に含まれるテーブルと、現在自分がトンネルを確立しているトンネル接続装置の識別情報(もしくは位置情報)のテーブルとを比較し、指示(設定情報)を送るべきトンネル接続装置を決定する。例えば、構成変更により自分以外のトンネル終端装置への接続を行うべきトンネル接続装置が現在トンネル接続されていれば、そのトンネル終端装置に指示(設定情報)を送るべきと判断する。送信する指示には、新規にトンネル接続を行う場合と同様の設定情報が含まれ、これを受信したトンネル接続装置は、設定情報に従って、設定を行う。なお、上記のような処理のほか、構成変更指示として、トンネル経由で指示(設定情報)を送るべきトンネル接続装置の識別情報(もしくは位置情報等)を含む指示を受信し、それに基づき該当のトンネル接続装置に指示を送ることとしてもよい。
【0057】
また、トンネル終端装置30は、自身が用いるプロトコル種別を変更する場合には、指示に従って当該プロトコルのプロトコル処理機能を起動し、設定を行い、接続を待つ。
【0058】
また、送信する指示を、設定情報ではなく、仮想ネットワーク制御装置10に対してトンネル設定情報要求を送ることを指示する命令としてもよい。これを受けたトンネル接続装置20は、仮想ネットワーク制御装置10から設定情報を受けて設定を行う。
【0059】
トンネル終端装置30は、コンピュータ(CPU、メモリ等を含む構成を有する通信装置を含む)に、トンネル終端通信部36、設定部33、登録部32、仮想ネットワーク構成変更制御部34に対応するプログラムを実行させることにより実現できる。
【0060】
当該プログラムは可搬メモリ等の記録媒体からコンピュータにインストールすることとしてもよいし、ネットワーク上のサーバからダウンロードすることとしてもよい。
【0061】
(システムの動作例)
次に、仮想ネットワークシステム1の基本的な動作例を説明する。最初に、仮想ネットワーク制御装置10が、外部装置から仮想ネットワーク構築指示を受けてから、仮想ネットワークが構築されるまでの処理手順例を図6のシーケンス図を参照して説明する。
【0062】
まず、仮想ネットワークを管理する管理者等が仮想ネットワーク構築を外部装置(Webブラウザ端末等)のユーザインターフェース(Web画面等)から指示すると、仮想ネットワーク構築指示(仮想ネットワーク構成情報を含む)が仮想ネットワーク制御装置10に送られる(ステップ1)。
【0063】
仮想ネットワーク構築指示を受信した仮想ネットワーク制御装置10の仮想ネットワーク構築・変更指示受付部11は、仮想ネットワーク構築指示に含まれる仮想ネットワークの構成情報を構成情報格納部12に格納する(ステップ2)。
【0064】
仮想ネットワーク制御装置10の指示通知部16は、構成情報に基づいて、該当するトンネル終端装置30に対し、接続に来るトンネル接続装置の識別情報(もしくは位置情報)を、プロトコル種別や各種のパラメータ値等とともに送信する(ステップ3)。なお、トンネル終端装置30への構成指示通知は、このタイミングである必要はなく、他のタイミングでもよい。例えば、トンネル接続装置20への設定情報通知後でもよい。仮想ネットワーク制御装置10から情報を受け取った設定部33は、情報の格納、設定を行う(ステップ4)。なお、本例では、トンネル終端装置30の位置情報は、識別情報とともにトンネル終端装置設置時に位置情報格納部15に予め登録されているものとする。
【0065】
ここで、トンネル接続装置20が起動されると、トンネル接続装置20は、仮想ネットワーク制御装置10にトンネル設定情報要求を送信する(ステップ5)。トンネル設定情報要求にはトンネル接続装置20の識別情報が含まれる。
【0066】
トンネル設定情報要求を受信した仮想ネットワーク制御装置10において、指示通知部16は、トンネル設定情報要求に応じて、構成情報格納部12からトンネル接続装置20に対応するトンネル設定情報を読み出し(ステップ6)、当該トンネル接続装置20に送信する(ステップ7)。
【0067】
トンネル設定情報を受信したトンネル接続装置20は、当該設定情報に基づいて設定を行うとともに、トンネル接続通信部25におけるトンネル構築部251によりトンネル接続要求をトンネル終端装置30に送信する(ステップ8)。トンネル接続装置20とトンネル終端装置30は、それぞれ仮想ネットワーク制御装置10から受信した情報を用いてトンネル(仮想パスと呼んでもよい)を生成する(ステップ9)。
【0068】
なお、トンネルで用いるプロトコルの種別によって必要であれば、トンネル終端装置30のトンネル終端通信部36におけるトンネル構築部362は、トンネル接続要求の送信元であるトンネル接続装置20に仮想ネットワーク上での位置情報を払い出す。例えば、後述するL3モードの場合、仮想ネットワーク上での位置情報として仮想のIPアドレス(仮想アドレス)を払い出す。
【0069】
なお、上記の例は1つのトンネル接続装置20について説明しているが、1つのトンネル終端装置30に接続されるトンネル接続装置20は一般には複数であり、各々のトンネル接続装置20が同様にしてトンネル構築を行う。
【0070】
複数のトンネル接続装置20がトンネル構築を行った場合の例を図7に示す。図7では、端末側の構成として、トンネル接続装置20とユーザ端末50が接続された構成と、トンネル接続装置20の機能がユーザ端末50内に配備された構成が示されている。
【0071】
図7に示す構成において、トンネルが生成された後、トンネル接続装置20は、例えば、ユーザ端末50が送出するパケットをキャプチャし、トンネルのプロトコルに従ってパケットを選別して仮想ヘッダを付けてカプセリングと暗号化を行い、トンネルを通じてトンネル終端装置30に送信する。
【0072】
トンネル終端装置30はトンネル接続装置20からトンネルを通じてパケットを受け取ると、パケットのヘッダ情報に従ってパケットの転送を行う。転送先としては、トンネル終端装置30と同じネットワーク内、もしくはそのネットワークからルーティングされうるネットワーク内にあるサーバ等と、他のトンネル接続装置20の2通りが存在する。
【0073】
トンネル終端装置30がパケットをサーバに転送する場合はカプセリングを解除し、トンネル接続装置20に転送を行う場合はカプセリング解除後、当該トンネル接続装置20向けにカプセリングを再度行う。トンネル接続装置20は、トンネル終端装置30から受け取ったパケットのカプセリングを解除し、当該パケットをユーザ端末50に転送する。
【0074】
トンネル終端装置30とトンネル接続装置20とで仮想ネットワークが構成され、サーバやユーザ端末50は、この仮想ネットワークに接続されている。
【0075】
次に、図8のシーケンス図を参照して、仮想ネットワークが構築された後に、構成変更を行う場合の基本的な処理手順を説明する。
【0076】
トンネル終端装置30-トンネル接続装置20間のトンネリング接続が確立され、仮想ネットワークが構成された後、システム管理者等により、外部装置から仮想ネットワーク構成変更指示がなされたものとすると、仮想ネットワーク構成変更指示は仮想ネットワーク制御装置10に通知される(ステップ11)。仮想ネットワーク構成変更指示には、変更後の仮想ネットワーク構成情報が含まれる。
【0077】
そして、仮想ネットワーク制御装置10の指示通知部16は、仮想ネットワーク構成変更指示をトンネル終端装置30に通知する(ステップ12)。なお、仮想ネットワーク制御装置10の指示通知部16からは、変更後の仮想ネットワークの構成に応じて、仮想ネットワーク構成変更指示(設定情報)が別のトンネル終端装置にも送られる。
【0078】
仮想ネットワーク構成変更指示を受信したトンネル終端装置30において、仮想ネットワーク構成変更制御部34が、指示された構成情報に含まれるトンネル接続装置のテーブルと、現在自分とトンネル接続を確立しているトンネル接続装置のテーブルを比較し、例えば、構成情報に含まれるトンネル接続装置のうち、トンネル接続を確立しているトンネル接続装置を選択することにより、これを設定変更指示を送るべき装置と判断し(ステップ13)、送るべきと判断されたトンネル接続装置20に対してトンネルを通して指示を伝達する(ステップ14)。前述したように、このような判断を行うことに変えて、トンネル経由で指示を送るべきトンネル接続装置を仮想ネットワーク構成変更指示に含めてもよい。
【0079】
設定変更指示を受信したトンネル接続装置20は、指示に含まれる設定情報に基づき設定(切り替え)を行う(ステップ15)。また、前述したように、設定変更指示として、仮想ネットワーク制御装置10にアクセスすることを命令することでもよい。この場合、図8に示すように、トンネル接続装置20は、設定情報要求を仮想ネットワーク制御装置10に送信し(ステップ21)、仮想ネットワーク制御装置10の指示通知部16は、当該トンネル接続装置20についての設定変更有無を構成情報格納部12を参照して確認し(ステップ22)、変更があると判断したら、変更後の設定情報をトンネル接続装置20に送信する(ステップ23)。そして、トンネル接続装置20は設定を行う(ステップ24)。
【0080】
また、現在いずれのトンネル終端装置30にも接続されていない停止中のトンネル接続装置20は、別途起動時や予め定められた規則に基づく時間に仮想ネットワーク制御装置10にアクセスして構成情報を問い合わせに行く。このときも、上記のステップ21〜24と同様の動作が行われる。
【0081】
このトンネル接続装置20に対してトンネル終端装置30のトンネル内からの信号で制御する方法をインバウンド・シグナリングと呼ぶことができる。一方、仮想ネットワーク制御装置10からトンネル終端装置30、トンネル接続装置20に直接指示を行う方法をメタシグナリングと呼ぶ。
【0082】
仮想ネットワークシステム1では以上のような構成と手順によりトンネル終端装置30を仮想的なハブとしてトンネル接続装置20に関連付けられたユーザ端末50(クライアント)間でネットワークが構成される。
【0083】
(トンネル通信の具体例)
本実施の形態の技術で構築される仮想ネットワークでは、L2〜L4までの様々なレイヤのプロトコルを扱うことができる。例えば、これはトンネル接続装置20、トンネル終端装置30が扱うべきレイヤの設定に応じて送受信するパケットのうちカプセリング部位を切り替え、また各レイヤにおける仮想のアドレス(L2であればMACアドレス、L3であればIPアドレス)を持っているかのように振舞うことで実現される。以下、一例としてL3モードにおけるカプセリング方法の具体例を以下に示す。なお、以下の通信は、主に、トンネル接続通信部25のプロトコル処理部252、トンネル終端通信部36のプロトコル処理部362の機能により行われるものである。
【0084】
使用するプロトコルの種別がL3である場合(L3モードと呼ぶ)についての動作例を図9〜図11を参照して説明する。各図において、MACrtはルータのMACアドレスであり、MACvnsはトンネル終端装置30のMACアドレスである。
【0085】
図9は、ユーザ端末50からサーバ60への通信の例を示す図である。L3モードでは、トンネル接続装置20はトンネル終端装置30から割り当てられた仮想IPアドレス(本例では172.16.050)を持つ。
【0086】
図9に示すアドレスを有するEtherフレームがユーザ端末50から送信される(ステップ101)。
【0087】
フレームを受信したトンネル接続装置20は、ユーザ端末50のMACアドレスを学習する(記憶装置にIPアドレスとともに保持しておく)(ステップ102)。また、トンネル接続装置20は、ユーザ端末50からキャプチャしたフレームのうち、仮想IPアドレス宛(仮想ネットワーク用のIPアドレス宛)のものを選別し、トンネルを通してトンネル終端装置30に転送を行う。
【0088】
仮想IPアドレス宛のフレームを選別する処理例を図10に示す。なお、図10に示す例では、通信手段の例としてソケットを用いて通信を行う例が示されている。また、図10に示すように、トンネル接続装置20は、仮想ネットワーク用のアドレスとして予め定めたIPアドレス群(例えば、仮想IPアドレス群であるが、それに限られない)を記録した経路表を保持している。
【0089】
図10に示すように、トンネル接続装置20は、ユーザ端末50から受信したフレームのMACアドレスを記憶し、経路表を参照して、宛先IPアドレスが仮想IPアドレス群に含まれるものであれば(宛先IP判定Yes)、送信元IPアドレスを、トンネル接続装置20に割り当てられた仮想IPアドレスに書き換えて、トンネル転送を行う。なお、図10の例では、メタ情報等を記述する仮想NWヘッダ(VNヘッダ)を付しているが、このヘッダは必須ではない。仮想NWヘッダは、例えば、鍵交換などに用いられるコントロールパケットの識別などに用いられる。宛先IPアドレスが仮想IPアドレス群に含まれるものでなければ(宛先IP判定No)、トンネル経由でなく、通常のLANセグメントへ送信される。
【0090】
上記のとおり、図9においてトンネル転送する際に、トンネル接続装置20は、キャプチャしたフレームのうちL3パケット(本例ではIPパケット)に相当する部分を切り出し、L3アドレスを仮想IPアドレスに付け替えた上でトンネル終端装置30に送付する(S103〜S105)。
【0091】
カプセリングされたパケットを受け取ったトンネル終端装置30は復号化/デカプセリングを行い(ステップ106)、カプセル化されていたパケットの送信先IPアドレスに応じてサーバ60やその仮想IPアドレスを持つ他のトンネル接続装置20に向けて送信を行う(ステップ107)。
【0092】
サーバ60からユーザ端末50への通信の例を図11に示す。図11に示すように、基本的にユーザ端末50からサーバ60への通信の逆の処理が行われる。すなわち、トンネル終端装置30は、サーバ60から送出されたフレームをキャプチャし(ステップ201)、キャプチャしたフレームのうちL3パケットに相当する部分を切り出し暗号化/カプセリングを行って(ステップ202)、トンネル接続装置20に転送する(ステップ203)。これを受信したトンネル接続装置20は、復号化/デカプセリングの後(ステップ204)、送信先IPアドレスを仮想IPアドレスからユーザ端末50の実アドレスに付け替えを行い(ステップ205)、あたかもサーバ60から直接ユーザ端末50に送信されたかのようにパケットを送出する(ステップ206)。他のトンネル接続装置20からトンネル終端装置30が受信したフレームについても同様の処理でユーザ端末50に送信できる。
【0093】
<接続の切り替えやトラフィック経路の切り替えを行う実施形態>
以下、例えば監視装置においてトラフィックの取得等を行うために、接続の切り替えやトラフィック経路の切り替えを行う実施の形態を説明する。本実施の形態では、上述した仮想ネットワークシステムの技術を用いており、以下で説明する各トンネル接続装置、各トンネル終端装置、及び仮想ネットワーク接続装置は、それぞれ、上述したトンネル接続装置20、トンネル終端装置30、及び仮想ネットワーク接続装置10の機能を含むものとする。また、以下では、トンネル接続装置がサーバや端末に接続される場合の例を示すが、上述したように、トンネル接続装置の機能をドライバとしてサーバや端末にインストールした形態を用いてもよい。更に、以下の例では、L3モードにて仮想ネットワークの通信を行うことを想定しているが、トンネル通信のレイヤはこれに限られるわけではない。
【0094】
ただし、仮想アドレスをつけるL3モードを採用することで、複数の異なるネットワークに所属する複数のクライアントのパケットを1つのトンネル終端装置セグメント(トンネル終端装置セグメントの詳細は後述する)で扱うことが出来るようになるという効果がある。
【0095】
(システム構成)
図12に、本実施の形態に係るシステム構成例を示す。図12に示すように、このシステムは、IPネットワーク100(例えば、インターネット、閉域網)に、トンネル接続装置101、トンネル終端装置102、トンネル接続装置103、仮想ネットワーク制御装置104、トンネル終端装置セグメント105、及びサーバ106が接続される構成を有する。トンネル接続装置101にはサーバ107が接続され、トンネル接続装置103にはエンドユーザのユーザ端末200が接続される。本例では、トンネル接続装置103とユーザ端末200は、ユーザが所属する任意のLAN(オフィス、自宅、出張先等)に属している。
【0096】
トンネル終端装置セグメント105には、トラフィック取得時に用いられるトンネル終端装置301、監視装置302、スイッチ303、デフォルトGW(以下、DGW)ルータ304が備えられる。スイッチ303はミラーポート等を有する一般的なスイッチであり、DGWルータ304は一般的なNATルータである。なお、監視装置302は一例に過ぎず、トンネル終端装置セグメント105に備えられる装置は監視装置302に限られない。監視装置302の他に、トラフィックの分析装置や検閲を行う装置など、あるトラフィックのパケットの情報を入力とする様々な装置を備えることができる。
【0097】
図12に示すシステムにおいて、トンネル接続装置101を導入し仮想ネットワークに参加しているサーバ107とユーザ端末200との接続には、トンネル終端装置102経由での仮想ネットワーク(トンネル)接続(点線矢印)が用いられる。仮想ネットワークに参加していないサーバ106とユーザ端末200との接続には仮想ネットワーク接続を用いず、通常のIP接続を用いる(実線の矢印)。
【0098】
図12に示す構成において、仮想ネットワーク制御装置104は、監視装置302の接続されたトラヒック終端装置301のアドレスを位置情報格納部(15)に記憶している。この記憶するための処理は、事前にシステム管理者が行ってもよいし、前述したトラヒック終端装置による登録処理にて行ってもよい。
【0099】
(動作例1:仮想ネットワークに参加していないサーバとの通信トラフィックの取得)
動作例1として、仮想ネットワークに参加していないサーバ106との通信トラフィックの取得時における動作を図13〜図16を参照して説明する。動作例1では、サーバ106とユーザ端末200との間のトラフィック経路をトンネル終端装置セグメント105に迂回させることにより、監視装置302がトラフィックを取得する。以下、その手順を説明する。
【0100】
図13は、トラフィック取得前の状態を示す図である。図13に示す状態では、トンネル接続装置を用いていない仮想ネットワーク非参加のサーバ106(以下、通信対象サーバ106と呼ぶ)とユーザ端末200間の通信において、ユーザ端末200に接続されたトンネル接続装置103は特別な処理は行わずパケットを素通しする。そのため、ユーザ端末200と通信対象サーバ106はトンネル接続装置103が無い場合と同じように通信を行っている。
【0101】
この状態から、通信対象サーバ106への通信のトラフィックのみを取得するために、図14にステップ301として示すように、例えばネットワーク管理者から仮想ネットワーク制御装置104に指示が投入されたとする。この指示は、ユーザ端末200に接続されたトンネル接続装置103とトンネル終端装置セグメント105におけるトンネル終端装置301との間でトンネル接続することを示す指示(構成情報)である。この指示の内容は仮想ネットワーク制御装置104の構成情報格納部12に格納される。また、上記の指示には、トラフィック情報を取得するべき通信対象サーバ106の宛先アドレスも含まれており、このアドレスは、以下で説明するトンネル接続装置103に送信される設定情報(設定変更指示、迂回指示などと呼んでもよい)に含められる。なお、このアドレスは、トンネル接続装置103が送受信するデータのうち、トンネル終端装置301に迂回させるデータを識別する識別情報である。また、トンネル接続装置103に送信される設定情報(迂回指示)に含まれるレイヤの情報がL3である場合、当該L3とする旨の指示は、トンネル接続装置でのカプセリングの際にアドレスを仮想アドレスに付け替える指示に相当する。
【0102】
指示に基づき、構成変更の指示(上記トンネル接続のための設定情報)が仮想ネットワーク制御装置104からトンネル接続装置103とトンネル終端装置301に伝達される。前述したように、指示の伝達方式は、インバウンドシグナリングとメタシグナリングの2つの方式がある。
【0103】
現在の状態で、もし、トンネル接続装置103とトンネル終端装置102がトンネル接続されている場合、仮想ネットワーク構成情報を保持する仮想ネットワーク制御装置104は、そのことを把握しており、トンネル接続装置103とトンネル終端装置301とをトンネル接続させるための構成変更指示をトンネル終端装置102に送信する(図14のステップ302)。また、構成変更指示(設定情報)は、トンネル接続先であるトンネル終端装置301にも送られる(ステップ303)。そして、トンネル終端装置102が、トンネル経由で(インバウンドシグナリング)で設定変更指示をトンネル接続装置103に送信し、トンネル接続装置103は設定を行う(ステップ304)。トンネル終端装置301でも設定が行われる。
【0104】
トンネル接続装置103がいずれのトンネル終端装置ともトンネル接続されていない場合、メタシグナリングが行われる。すなわち、トンネル接続装置103は、例えば前述した契機(一定時間間隔等)で仮想ネットワーク制御装置104に問い合わせ(設定情報要求)を行うことにより(ステップ311)、トンネル終端装置301との間のトンネル接続のための設定情報を取得し、設定を行う(ステップ312)。
【0105】
トンネル接続装置103での設定においては、通信対象サーバ106の宛先アドレスが記憶手段(経路表)に格納され、通信対象サーバ106への通信の選別に用いられる。
【0106】
その後、図15に示すように、トンネル接続装置103はまず、トンネル終端装置セグメント105におけるトンネル終端装置301との間でトンネル接続を確立する(ステップ401)。このとき、トンネル終端装置301からトンネル接続装置103に、トンネル終端装置セグメント105セグメント内のアドレス(すなわち仮想アドレス)が払い出される(ステップ402)。
【0107】
トンネル接続装置103とトンネル終端装置301との間でトンネル接続がされると、トンネル接続装置103はユーザ端末200から送信されるパケットのうち通信対象サーバ106向けのものを選別し、送信元アドレスをトンネル終端装置301から払い出されたトンネル終端装置セグメント105内のアドレス(仮想アドレス)に付け替える。その上でトンネリング処理を行うために暗号化・カプセリングを施した上でトンネル終端装置301に向けて送出する(図16のステップ501)。
【0108】
トンネル終端装置301は、トンネル接続装置103からパケットを受け取ると、デカプセリング・復号化を行い、デカプセリング・復号化されたパケットは、トンネル終端装置セグメント105に設置された途中のスイッチ303を経由して、DGWルータ304から送出される(ステップ502)。なお、トンネル終端装置301は、トンネル接続装置103配下のユーザ端末200の通信をブリッジする装置となる。上記のパケットはスイッチ303のミラーポート等により複製され、監視装置302に入力される(ステップ503)。なお、監視装置302が、FW機器などのパケットの経路上に設けられるタイプの機器の場合は、ミラーポートに接続されず経路上に直接設置される。
【0109】
通信対象サーバ106は、トンネル終端装置セグメント105のDGWルータ304からパケットを受け取り、応答パケットを当該DGWルータ304に返す。トンネル終端装置301は、トンネル終端装置セグメント105から送出したパケットの送信元アドレスを、自分のインタフェースで解決するARPへの応答を送出しているため(ARP代理応答)、DGWルータ304は通信対象サーバ106から受け取った応答パケットをトンネル終端装置301に向けて送信する(ステップ504)。監視装置302は、この応答パケットも取得できるが、例えばユーザ端末200から通信対象サーバ106への通信のトラフィックのみを監視対象とした場合は応答パケットを取得しなくてもよい。
【0110】
そして、トンネル終端装置301は、トンネル接続装置103からパケットを受け取ったときとは逆にトンネル接続装置103にパケットを送り返し(ステップ505)、トンネル接続装置103は宛先アドレスを仮想アドレスからユーザ端末200のものに書き換えてユーザ端末200に送信を行う。
【0111】
(動作例2:仮想ネットワークに参加しているサーバとの通信トラフィックの取得)
次に動作例2として、仮想ネットワークに参加しているサーバ107との通信トラフィックの取得時における動作を図17〜図20を参照して説明する。
動作例2では、サーバ107とユーザ端末200との間のトンネル終端装置102を経由したトラフィック経路を、トンネル終端装置セグメント105に迂回させることにより、監視装置302がトラフィックを取得する。以下、その手順を説明する。
【0112】
図17は、トラフィック取得前の状態を示す図である。図17に示す状態では、トンネル終端装置102を経由した仮想ネットワークにて、サーバ107とユーザ端末200との間の通信が行われている。なお、本例において、通信対象サーバ107に接続されるトンネル接続装置101は、例えば、複数のトンネル接続装置を備えるなどにより、複数の仮想ネットワーク面と通信することができる機能を有する。
【0113】
この状態から、通信対象サーバ107への通信のトラフィックのみを取得するために、図18にステップ601として示すように、例えばネットワーク管理者から仮想ネットワーク制御装置104に指示が投入されたとする。この指示は、ユーザ端末200に接続されたトンネル接続装置103とトンネル終端装置セグメント105におけるトンネル終端装置301との間でトンネル接続することを示す指示(構成情報)である。この指示には、トラフィック情報を取得するべき通信対象サーバ107の宛先アドレスも含まれており、このアドレスは、以下で説明するトンネル接続装置103に送信される設定情報(設定変更指示)に含められる。また、もし、トンネル接続装置101とトンネル終端装置301との間でトンネルが未設定である場合には、トンネル接続装置101とトンネル終端装置301との間でトンネル接続を行うことを示す指示も含むが、本例では、トンネル接続装置101とトンネル終端装置301との間でトンネルは接続済であるとする。指示の内容は仮想ネットワーク制御装置104の構成情報格納部12に格納される。
【0114】
本例では、トンネル接続装置103がトンネル終端装置102とトンネル接続されているため、インバウンドシグナリングを行う。すなわち、仮想ネットワーク構成情報を保持する仮想ネットワーク制御装置104は、トンネル接続装置103がトンネル終端装置102とトンネル接続されていること(すなわち、仮想ネットワーク構成)を把握しており、トンネル接続装置103とトンネル終端装置301とをトンネル接続させるための構成変更指示をトンネル終端装置102に送信する(図18のステップ602)。また、構成変更指示は、トンネル接続先であるトンネル終端装置301にも送られる(ステップ603)。
そして、トンネル終端装置102が、トンネル経由で(インバウンドシグナリングで)設定変更指示をトンネル接続装置103に送信し、トンネル接続装置103は設定を行う(ステップ604)。トンネル接続装置103での設定においては、通信対象サーバ107の宛先アドレスが記憶手段(経路表)に格納され、通信対象サーバ107への通信の選別に用いられる。なお、トンネル終端装置301でも設定が行われる。
【0115】
その後、図19に示すように、トンネル接続装置103はトンネル終端装置102との接続を切断し(ステップ701)、トンネル終端装置セグメント105におけるトンネル終端装置301との間でトンネル接続を確立する(ステップ702)。このとき、トンネル終端装置301からトンネル接続装置103に、トンネル終端装置セグメント105セグメント内のアドレス(すなわち仮想アドレス)が払い出される(ステップ703)。
【0116】
トンネル接続装置103とトンネル終端装置301との間でトンネル接続が確立されると、トンネル接続装置103はユーザ端末200から送信されるパケットのうち通信対象サーバ107向けのものを選別し、送信元アドレスをトンネル終端装置301から払い出されたトンネル終端装置セグメント105内のアドレス(仮想アドレス)に付け替える。その上でトンネリング処理を行うために暗号化・カプセリングを施した上でトンネル終端装置301に向けて送出する。このようにして、ユーザ端末200は当該トンネル終端装置301を経由して仮想ネットワーク上の通信対象サーバ107と通信を行うようになる(図20のステップ801で示す)。
【0117】
この際、トンネル終端装置301は仮想ネットワーク上を流れるパケットを、デカプセリングされた状態で複製し、DGWルータ304等適当な宛先に向けセグメント内に出力する(ステップ802)。そしてこの際、途中のスイッチ303のミラーポートにおいて当該パケットをさらに複製し、監視装置302に伝達する(ステップ803)。これにより、ユーザ端末200と通信対象サーバ107間の通信トラフィックを取得できる。
【0118】
なお、動作例1と動作例2のいずれの場合も、インバウンドシグナリングを行う状態のときには、トンネル終端装置102に、1つのユーザ側トンネル接続装置103が接続される例を示したが、トンネル終端装置102に複数のトンネル接続装置がトンネル接続され仮想ネットワークを構成する場合もある。すなわち、トンネル終端装置102をハブとして複数のトンネル接続装置により仮想ネットワークが確立している場合がある。その場合には、設定情報(迂回指示)を、各トンネルを経由して複数のトンネル接続装置に送信することができる。これにより、複数の特定のユーザ端末のトラフィックを迂回させて監視等を行うことができる。この場合、例えば、どのトンネル接続装置に迂回指示を送信するかを示す情報は、仮想ネットワーク制御装置104からトンネル終端装置102に送られる設定変更指示に含められ、トンネル終端装置102は当該情報に示される複数のトンネル接続装置に迂回指示を送信することができる。
【0119】
<実施の形態のまとめ、効果>
上記のように本実施の形態では、ユーザ端末にインストールされたドライバソフトウェア、もしくはユーザ端末に接続されたトンネル接続装置において取得を行いたいトラフィックを選別し、分析や監視などを行うサーバを備えたネットワーク(トンネル終端装置セグメント)に転送を行う。
【0120】
この際、動作例1、動作例2で説明したように、仮想ネットワークに既に参加しているサーバ向けの通信と、それ以外のサーバ向けの通信で通信の中継方法を変える。動作例1のように、仮想ネットワーク外に向かうトラフィックを取得する場合には、転送を受けたトンネル終端装置側においてユーザ端末の通信をブリッジすることにより対象サーバと通信を行い、このトラフィックを取得する。また、動作例2で説明したように、仮想トンネル終端装置内の通信を取得する場合には、トラフィック取得用のトンネル終端装置に接続を切り替え、仮想ネットワーク内のトラフィックを複製して出力することによってトラフィックを取得する。
【0121】
これにより、クライアント機器(ユーザ端末)がどこのネットワークから通信を行っている場合でも、特定宛先向けの通信のみを切り分けて監視を行うことができる。また、オーバーレイネットワーク上でのトラフィック監視を行う場合において、全ての集約サーバに監視機器を導入せずとも特定クライアントの通信のみを切り分けることができる。
【0122】
すなわち、本実施の形態で説明した技術を用いることにより、トラフィック情報を取得する機能を特定通信経路上DCに設置できない場合であっても、インターネット等のネットワーク上に流れるトラフィック情報の取得が可能となる。この方式では、ユーザ端末の操作者に自分のトラフィックが中継されているか否かを気付かれることがない。また、トラフィック監視機能をASP的に提供することも可能となる。なお、中継したトラフィックをいかなる方法で取得して分析・監視・検疫等を行うかについては特定の方法に限定されない。
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【符号の説明】
【0123】
1 仮想ネットワークシステム
10 仮想ネットワーク制御装置
20 トンネル接続装置
30 トンネル終端装置
40 IPネットワーク
50 ユーザ端末
60 サーバ
11 仮想NW構築指示受付部
12 構成情報格納部
13 対装置通信部
14 位置情報登録部
15 位置情報格納部
16 指示通知部
21 対仮想NW制御装置通信部
23 設定部
24 データ格納部
25 トンネル接続通信部
251 トンネル構築部
252 プロトコル処理部
31 対仮想NW制御装置通信部
32 登録要求部
33 設定部
34 仮想NW構成変更制御部
35 データ格納部
36 トンネル終端通信部
361 トンネル構築部
362 プロトコル処理部
100 IPネットワーク
101、103 トンネル接続装置
102、301 トンネル終端装置
104 仮想ネットワーク制御装置
105 トンネル終端装置セグメント
106、107 サーバ
200 ユーザ端末
302 監視装置
303 スイッチ
304 DGWルータ

【特許請求の範囲】
【請求項1】
トンネル接続装置とトンネル終端装置との間に設定されるトンネルにより構成される仮想ネットワークを制御するための仮想ネットワーク制御装置であって、
所定のトンネル終端装置の位置情報を記憶する記憶手段と、
所定のトンネル接続装置と前記位置情報で示された前記所定のトンネル終端装置との間でトンネルを確立する指示と、前記所定のトンネル接続装置が送受信するデータのうち、前記所定のトンネル終端装置に迂回させるデータを識別する識別情報とを含む迂回指示を、前記所定のトンネル接続装置に通知するための指示通知手段と、
を備えることを特徴とする仮想ネットワーク制御装置。
【請求項2】
前記迂回指示は、前記所定のトンネル接続装置においてデータのカプセリングを行う際に、データに付されていたアドレスを仮想アドレスに付け替える指示を含む
ことを特徴とする請求項1に記載の仮想ネットワーク制御装置。
【請求項3】
前記所定のトンネル終端装置は、前記所定のトンネル接続装置の通信をブリッジするトンネル終端装置である
ことを特徴とする請求項1又は2に記載の仮想ネットワーク制御装置。
【請求項4】
前記所定のトンネル終端装置には監視装置が接続されており、当該所定のトンネル終端装置は、トンネルにて受信したカプセリングされたデータをデカプセリングし、当該デカプセリングされたデータを前記監視装置に送信する
ことを特徴とする請求項1ないし3のうちいずれか1項に記載の仮想ネットワーク制御装置。
【請求項5】
前記迂回指示は、前記所定のトンネル接続装置が、前記所定のトンネル終端装置以外のトンネル終端装置と予めトンネルを確立している状態で、当該トンネルを通して通知される
ことを特徴とする請求項1ないし4のうちいずれか1項に記載の仮想ネットワーク制御装置。
【請求項6】
前記トンネル終端装置をハブにして複数のトンネル接続装置により既に仮想ネットワークが確立されている場合において、前記迂回指示は、当該複数のトンネル接続装置に対して通知される
ことを特徴とする請求項1ないし5のうちいずれか1項に記載の仮想ネットワーク制御装置。
【請求項7】
トンネル接続装置とトンネル終端装置との間に設定されるトンネルにより構成される仮想ネットワークを制御するための仮想ネットワーク制御装置が実行する仮想ネットワーク制御方法であって、
所定のトンネル終端装置の位置情報を記憶手段に記憶するステップと、
所定のトンネル接続装置と前記位置情報で示された前記所定のトンネル終端装置との間でトンネルを確立する指示と、前記所定のトンネル接続装置が送受信するデータのうち、前記所定のトンネル終端装置に迂回させるデータを識別する識別情報とを含む迂回指示を、前記所定のトンネル接続装置に通知するステップと、
を備えることを特徴とする仮想ネットワーク制御方法。
【請求項8】
トンネル接続装置とトンネル終端装置との間に設定されるトンネルにより構成される仮想ネットワークを制御するための仮想ネットワーク制御装置と、監視装置が接続された所定のトンネル終端装置とを備える仮想ネットワーク制御システムであって、
前記仮想ネットワーク制御装置は、
前記所定のトンネル終端装置の位置情報を記憶する記憶手段と、
所定のトンネル接続装置と前記位置情報で示された前記所定のトンネル終端装置との間でトンネルを確立する指示と、前記所定のトンネル接続装置が送受信するデータのうち、前記所定のトンネル終端装置に迂回させるデータを識別する識別情報とを含む迂回指示を、前記所定のトンネル接続装置に通知するための指示通知手段と、を備え、
前記所定のトンネル終端装置は、トンネルにて受信したカプセリングされたデータをデカプセリングし、当該デカプセリングされたデータを前記監視装置に送信する
ことを特徴とする仮想ネットワーク制御システム。
【請求項9】
コンピュータを、請求項1ないし6のうちいずれか1項に記載の仮想ネットワーク制御装置の各手段として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate


【公開番号】特開2013−38715(P2013−38715A)
【公開日】平成25年2月21日(2013.2.21)
【国際特許分類】
【出願番号】特願2011−175272(P2011−175272)
【出願日】平成23年8月10日(2011.8.10)
【出願人】(399035766)エヌ・ティ・ティ・コミュニケーションズ株式会社 (321)
【Fターム(参考)】