次に、図面を参照して本発明の実施の形態を説明する。初めに、図1を参照して、本実施形態の中継通信システム100の概要について説明する。図1は、本実施形態に係る中継通信システム100の全体構成を示す説明図である。
図1に示すように、この中継通信システム100は、Wide Area Network(WAN、広域通信網)80に接続された複数のLAN10,20,30で構成されている。それぞれのLAN10,20,30は、限定された場所で構築される比較的小規模なネットワークである。また、LAN10,20,30は、それぞれが物理的に離れた場所に配置されている。なお、本実施形態ではWAN80としてインターネットが使用されている。
以下、それぞれのLANを具体的に説明する。図1に示すように、LAN(第2LAN)10には、中継サーバ(第2中継サーバ)1と、第2ルーティング対象装置としての操作PC11,12と、クライアント端末13と、が接続されている。LAN20には、中継サーバ2と、操作PC21と、クライアント端末22と、が接続されている。LAN(第1LAN)30には、中継サーバ(第1中継サーバ)3と、第1ルーティング対象装置としての対象端末31,32,33と、クライアント端末34と、が接続されている。
それぞれの中継サーバ1,2,3は、LAN10,20,30だけでなくWAN80にも接続されているため、同一のLANに接続された機器と通信可能であるだけでなく、他のLANに配置された中継サーバとも通信可能となっている。操作PC11,12,21は、例えばオペレータが操作するためのパーソナルコンピュータである。対象端末31,32,33は、パーソナルコンピュータ、又は、ファイルサーバ等であり、例えばオペレータは、操作PC11等を操作して、対象端末31等に所定のデータを要求すること、及び、対象端末31の記憶内容を更新することが想定されている。クライアント端末13,22,34は、例えばパーソナルコンピュータで構成されており、それぞれ自身が所属する中継サーバ1,2,3を介して、互いに通信可能である。
次に、図2を参照して、中継サーバ1,2,3の詳細な構成について説明する。図2は、中継サーバ3の機能ブロック図である。なお、中継サーバ3は中継サーバ1,2と略同じ構成であるので、以下では、主として中継サーバ3について説明する。
図2に示すように、中継サーバ3は、記憶部50と、制御部60と、インタフェース部70と、を備えている。
インタフェース部70は、LAN10内の端末に対して通信を実行する。また、インタフェース部70は、WAN80に対して通信を実行する。インタフェース部70は、LAN30又はWAN80から受信したパケットに適宜の処理を行って制御部60へ出力する。
制御部60は、例えば制御及び演算の機能を有するCPUであり、記憶部50から読み出したプログラムにより各種の処理を実行可能である。この制御部60は、TCP/IP、UDP、SIP等のプロトコルに従った様々な通信を制御することができる。具体的には、制御部60は、受信したパケットについて、当該パケットが示す情報と記憶部50に記憶された情報とに基づいて宛先を決定し、決定した宛先へ当該パケットを送信する。また、制御部60は、他の端末から受信した情報に基づいて、記憶部50の記憶内容を更新することができる。
記憶部50は、例えばハードディスク又は不揮発性RAMで構成されており、各種データを保存可能である。記憶部50は、中継グループ情報記憶部51と、中継サーバ情報記憶部52と、クライアント端末情報記憶部53と、VPNグループ情報記憶部54と、アドレスフィルタ情報記憶部55と、仮想アドレス登録情報記憶部56と、仮想アドレス割当情報記憶部57と、仮想アドレス利用要求情報記憶部58を備えている。以下、図3から図10までを参照して、記憶部50の記憶内容について説明する。図3から図10までは、主として、中継サーバ3の記憶部50の記憶内容を示す図である。
中継グループ情報記憶部51は、中継グループと、当該中継グループを構成する中継サーバと、を示した中継グループ情報を記憶している。
図3に示すように、中継グループ情報においては、groupタグと、このgroupタグを親要素とする子要素のsiteタグと、が記述されている。groupタグには中継グループに関するグループ情報511が記述されている。このグループ情報511としては、中継グループの識別情報(「id」)と、最終更新時刻(「lastmod」)と、中継グループの名称(「name」)と、が記述されている。siteタグには、中継グループを構成する中継サーバに関するグループ構成情報512が記述されている。このグループ構成情報512には、当該中継サーバの識別情報(「id」)が記述されている。また、中継グループは追加作成が可能であり、その場合、新しい中継グループには、他の中継グループと異なる一意の識別情報が付与される。これにより、特定の中継グループ内だけでデータのやり取りを行う等の設定が可能になっている。
なお、この中継グループ情報は、当該中継グループを構成する中継サーバ1,2,3の間で共有されている。そして、ある中継サーバにおいて中継グループを変更する処理が行われた場合は、他の中継サーバに対してその旨が送信されて中継グループ情報が更新される。このようにして、中継グループ情報が動的に共有される。
中継サーバ情報記憶部52は、中継通信を行う中継サーバ及び当該中継サーバに所属するクライアント端末の概要を示す中継サーバ情報を記憶している。
図4に示す中継サーバ情報においては、中継サーバ毎に記述されるsiteタグと、前記siteタグを親要素とする子要素のnodeタグと、が記述されている。siteタグには中継サーバ1に関するサーバ情報521が記述されている。このサーバ情報521としては、中継サーバの識別情報(「id」)と、中継サーバの名称(「name」)と、起動情報(「stat」)と、が記述されている。なお、「stat」の内容が「active」の場合は中継サーバが中継通信システム100にログインしていることを示し、statが空欄であるときはログオフ中であることを示す。siteタグの子要素であるnodeタグには、中継サーバに所属するクライアント端末を示す所属情報522が記述されている。所属情報522としては、所属する中継グループの名称(「group」)と、クライアント端末の識別情報(「id」)と、クライアント端末の名称(「name」)と、所属先の中継サーバの識別情報(「site」)と、が記述されている。なお、クライアント端末が中継通信システム100にログインしていないときは、「site」は空欄となる。
なお、中継グループによる通信は、上記の中継グループ情報及び中継サーバ情報に基づいて、以下のようにして行われる。例えばクライアント端末13からクライアント端末22にパケットを送信する場合、初めに、クライアント端末13は、自身が接続している中継サーバである中継サーバ1にパケットを送信する。なお、パケットのやり取りが可能な中継サーバは上記の中継グループ情報に基づいて把握することができ、中継サーバに所属しているクライアント端末の識別情報及び接続の可否は上記の中継サーバ情報に基づいて把握することができる。中継サーバ1は、これらの情報に基づいて、クライアント端末22が接続している中継サーバである中継サーバ2へパケットを転送する。そして、このパケットを受信した中継サーバ2がクライアント端末22へパケットを転送する。このようにして、クライアント端末13,22同士で中継通信を行うことができる。
この中継サーバ情報に関しても中継グループ情報と同様に、当該中継グループを構成する中継サーバ1,2,3の間で情報が共有されている。そして、ある中継サーバにおいて中継サーバ情報を変更する処理が行われた場合は、他の中継サーバに対してその旨が送信されて中継サーバ情報が更新される。このようにして、中継サーバ情報が動的に共有される。
クライアント端末情報記憶部53は、クライアント端末に関する詳細な情報であるクライアント端末情報を記憶している。なお、中継サーバ1,2,3は、自身に所属するクライアント端末に関するクライアント端末情報のみを記憶している。中継サーバ3には、クライアント端末34が所属しているため、中継サーバ3が備えるクライアント端末情報記憶部53には、クライアント端末34についてのクライアント端末情報のみが記憶されている。
中継サーバ3のクライアント端末情報記憶部53が記憶するクライアント端末情報は、図5(c)に示されている。同様に、中継サーバ1が記憶するクライアント端末情報が図5(a)に、中継サーバ2が記憶するクライアント端末情報が図5(b)に、それぞれ示されている。
図5に示すクライアント端末情報においては、nodeタグが記述されている。このnodeタグには、クライアント端末のプライベートIPアドレス(「addr」)と、所属する中継グループの名称(「group」)と、識別情報(「id」)と、名称(「name」)と、中継サーバにログインするためのパスワード(「pass」)と、ポート情報(「port」)と、が記述されている。
VPNグループ情報記憶部54は、中継グループを構成する中継サーバ及びクライアント端末からルーティングポイントとして選択された機器(以下、ルーティング機器と称する)で構成されたVPNグループ(通信グループ)に関する情報であるVPNグループ情報を記憶している。同一のVPNグループに所属するルーティング機器同士でルーティングセッションを確立させることにより、VPNを利用した通信を開始することができる。
図6に示すVPNグループ情報においては、vnetタグが記述されている。このvnetタグには、VPNグループ基本情報541と、ルーティングポイント情報542と、ルーティングセッション情報543と、が記述されている。VPNグループ基本情報541には、VPNグループが所属する中継グループの名称(「group」)と、VPNグループの識別情報(「id」)と、最終更新時刻(「lastmod」)と、VPNグループの名称(「name」)と、が記述されている。ルーティングポイント情報542には、VPNグループ間で通信を行うときにルーティングを行うルーティング機器の識別情報が記述されている。図6の例においては、ルーティング機器として、中継サーバ1と、中継サーバ3と、が記述されている。ルーティングセッション情報543には、VPNグループにおいて互いに接続されるルーティング機器が記述されている。ルーティングセッション情報543において、ルーティング機器は、VPNグループでVPNを構築して通信を開始するためのルーティングセッション確立処理において、通信制御を最初に行う側(「sp(start point)」)と、その通信制御を受ける側「ep(end point)」と、に分けて定められている。なお、以下の説明では、ルーティングセッション確立のための通信制御を最初に行う側のルーティング機器を「始点」と、その通信制御を受ける側のルーティング機器を「終点」と、それぞれ称することがある。
図6に示すVPNグループ情報からは、VPNグループ(VPN−GROUP1)が、中継サーバ1と中継サーバ3とで構成されることが分かる。また、このVPNグループの開始時には、中継サーバ1から中継サーバ3へルーティングセッションを確立するための通信制御が行われることが分かる。
このVPNグループ情報も中継サーバ情報及び中継グループ情報と同様に、同じVPNグループに所属する中継サーバ1,3の間で共有されている。そして、ある中継サーバにおいてVPNグループ情報を変更する処理が行われた場合は、同じVPNグループに所属する他の中継サーバに対してその旨が送信されてVPNグループ情報が更新される。このようにして、VPNグループ情報が動的に共有される。なお、このVPNグループを作成する処理については後述する。
アドレスフィルタ情報記憶部55は、VPNを利用したルーティング制御を行う際に用いられる情報であるアドレスフィルタ情報を記憶する。アドレスフィルタ情報記憶部55は、VPNの構築前においては、中継サーバ3自身がパケットを直接的に送信可能な装置(ルーティング対象装置)を示す情報(中継サーバ3のアドレスフィルタ情報)を記憶する。なお、アドレスフィルタ情報には、ルーティング対象装置のアドレス(ルーティング対象アドレス)と、ルーティング対象装置の名称と、が含まれる。
図7(c)には、中継サーバ3自身に予め登録されたアドレスフィルタ情報の例が示されている。この例では、中継サーバ3がパケットを直接的に送信可能な機器が対象端末31,32,33であることが記述されている。なお、図7(a)には、中継サーバ1に予め登録されたアドレスフィルタ情報が示され、図7(b)には、中継サーバ2に予め登録されたアドレスフィルタ情報が示されている。以下では、中継サーバ3のアドレスフィルタ情報に含まれるルーティング対象アドレス(対象端末31,32,33のアドレス)を第1ルーティング対象アドレスと称し、中継サーバ1のアドレスフィルタ情報に含まれるルーティング対象アドレス(操作PC11,12のアドレス)を第2ルーティング対象アドレスと称することがある。
上述のように、中継サーバ3のアドレスフィルタ情報記憶部55は、VPNを構築する前においては、図7(c)に示すアドレスフィルタ情報のみを記憶する。そして、中継サーバ3は、例えば中継サーバ1とルーティングセッションを確立させるときに、自身に予め登録されたアドレスフィルタ情報(図7(c))を中継サーバ1へ送信するとともに、中継サーバ1からもアドレスフィルタ情報(図7(a))を受信する。そして、中継サーバ3は、中継サーバ1のアドレスフィルタ情報を当該中継サーバ1の識別情報と対応付けてアドレスフィルタ情報記憶部55に記憶する。
これにより、中継サーバ3のアドレスフィルタ情報記憶部55には、中継サーバ1及び中継サーバ3に登録されたアドレスフィルタ情報が記憶されることになる。一方、中継サーバ1のアドレスフィルタ情報記憶部55にも、中継サーバ1及び中継サーバ3に登録されたアドレスフィルタ情報が記憶される。そして、中継サーバ1,3は、このアドレスフィルタ情報に基づいて、ルーティング制御を行う(詳細な制御については後述)。
また、本実施形態では、中継サーバ3は、中継サーバ1から仮想アドレスを利用した通信を要求する旨を受信した場合、対象端末31,32,33との間の通信においてのみ、操作PC11,12の実際のアドレス(前記第2ルーティング対象アドレス)を用いずに、仮想アドレスを用いて通信を行う構成である。このときに割り当てられる仮想アドレスとしては、LAN30内で重複しないアドレス(LAN30内の機器に割り当てられておらず、かつその予約もされていないアドレス)が予め登録されて、仮想アドレス登録情報記憶部56に記憶されている。本実施形態では、割当て用の仮想アドレスとして、図9に示すアドレスが登録されている。
中継サーバ3は、仮想アドレスを利用した通信を行う場合、上記のようにアドレスフィルタ情報を交換して第2ルーティング対象アドレスを取得した後に、当該第2ルーティング対象アドレス(実際のアドレス)に対して、前記仮想アドレスを割り当てる。そして、中継サーバ3は、図8(b)に示すように、第2ルーティング対象アドレスと、仮想アドレスと、の割当関係を仮想アドレス割当情報記憶部57に記憶する。そして、中継サーバ3と対象端末31,32,33との間の通信では、実際のアドレスではなく仮想アドレスを用いて通信が行われる。詳細な通信の流れについては後述するが、例えば対象端末31が操作PC11へパケットを送信する際は、宛先アドレスとして、第2ルーティング対象アドレスではなく仮想アドレスが用いられる。
このように、仮想アドレスを利用することにより、対象端末31,32,33に対して操作PC11,12の実際のアドレスを通知することなく通信を行うことができる。従って、LAN10のセキュリティを向上させることができる。
仮想アドレス利用要求情報記憶部58は、通信相手のルーティング機器に仮想アドレスを利用した通信を要求するか否かを示す仮想アドレス利用要求情報を記憶する。なお、以下の説明では、「仮想アドレスを利用して通信を行う旨の要求」を「仮想アドレス利用要求」と称する。中継サーバ3は、仮想アドレス利用要求情報の内容が「有効」となっている場合、仮想アドレス利用要求を通信相手のルーティング機器に送信する。一方、中継サーバ3は、仮想アドレス利用要求情報の内容が「無効」となっている場合、仮想アドレス利用要求を送信しない。中継サーバ3の仮想アドレス利用要求情報記憶部58が記憶する仮想アドレス利用要求情報は、図10(c)に示されている。同様に、中継サーバ1が記憶する仮想アドレス利用要求情報が図10(a)に、中継サーバ2が記憶する仮想アドレス利用要求情報が図10(c)に、それぞれ示されている。
次に、VPNを利用した通信を行うための準備について説明する。初めに、図11を参照して中継サーバ3に予め行う設定について説明し、次に、図12を参照してVPNグループを作成するときの流れについて説明する。図11は、予め中継サーバに行う設定を示すフローチャートである。図12は、VPNグループを作成する処理を示すフローチャートである。
中継サーバ3に予め行う設定としては、当該中継サーバ3のアドレスフィルタ情報の登録(S101)がある。この登録は、中継通信システム100を利用するユーザが、ルーティング対象装置として指定する機器等のアドレス(第1ルーティング対象アドレス)と、名称と、を所定の方法で入力することにより行う。ここでは、ユーザは、対象端末31,32,33のアドレス及び名称を入力したものとする。ここで登録されたアドレスフィルタ情報は、アドレスフィルタ情報記憶部55に記憶される。
次に、仮想アドレスを用いた通信を行う場合は、ユーザは、少なくともLAN30内で重複しないアドレスを、割当て用の仮想アドレスとして登録する(S102)。なお、ここで登録された仮想アドレスは、仮想アドレス登録情報記憶部56に記憶される。
以下、VPNグループを作成するときの流れについて説明する。ユーザは、初めに、クライアント端末13,22,34等を操作することによって、VPNグループの設定画面を表示させることができる。ここでは、クライアント端末34を用いて設定を行う場合について説明する。クライアント端末34に表示させた設定画面には、当該クライアント端末34が属する複数の中継グループが表示される。ユーザは、この複数の中継グループから、VPNグループを構築したい中継グループを選択する(S201)。
中継グループが選択されると、クライアント端末34の画面には、選択した中継グループに属し、かつルーティングポイントとして機能可能な中継サーバ及びクライアント端末の識別情報の一覧が表示される(S202)。そして、ユーザは、構築するVPNグループにおいてルーティングポイントとして機能させる中継サーバ及びクライアント端末を選択する(S203)。今回の説明では、中継サーバ1と、中継サーバ3と、がユーザに選択されたものとする。
そして、選択された中継サーバの識別情報に基づいて、ルーティングポイントの識別情報及び前記ルーティングセッション情報が作成される(S204)。そして、これらの情報にVPNグループの識別情報等を付加することにより、図6で示したVPNグループ情報が作成される。クライアント端末34は、このVPNグループ情報を、同じVPNグループに所属する中継サーバ1,3へ送信する(S205)。そして、中継サーバ1,3は、受信したVPNグループ情報をVPNグループ情報記憶部54に記憶する。以上により、VPNグループの構築処理が完了する。
次に、構築したVPNグループでVPNを利用した通信を開始するまでの流れについて、図13から図16までを参照して説明する。図13から図15までは、VPNを利用した通信を開始するまでに行う処理を示すフローチャートである。図16は、VPNの起動処理を行う中継サーバ1から仮想アドレス利用要求を受信したときに、中継サーバ3が行う処理を示すフローチャートである。
ユーザは、クライアント端末13等又は操作PC11等を操作することによって、構築したVPNグループを画面に表示させることができる。そして、表示されたVPNグループから適当なVPNグループを選択することにより(S301)、VPNを構築するための処理を行わせることができる。今回の説明では、上記で作成したVPNグループ(中継サーバ1,3で構成されるVPNグループ)の開始処理を中継サーバ1が行う例を説明する。
中継サーバ1は、初めに、仮想アドレス利用要求を通信相手のルーティング対象機器に送信するか否かについて、ユーザの指示を受け付ける(S302)。LAN10に所属するユーザは、中継サーバ1に対して所定の操作を行うことにより、前記仮想アドレス利用要求情報の内容を「有効」又は「無効」とする指示を行うことができる。ユーザは、例えば操作PC11,12が個人情報及び営業秘密等の重要な情報を記憶している場合、及び、通信の相手(LAN30)が異なる企業である場合等は、仮想アドレス利用要求情報の内容を「有効」とする指示を行う。これにより、セキュリティを向上させて、情報の漏洩のリスクを低減できる。一方、ユーザは、例えば通信の相手が同じ企業である場合等は、仮想アドレス利用要求情報の内容を「無効」とする指示を行う。以下の説明では、ユーザは、中継サーバ1に記憶する仮想アドレス利用要求情報の内容を「有効」とする指示を行ったものとする。
なお、上記のユーザからの受付けを行うタイミングは、VPNグループの開始処理時に限られず、例えば仮想アドレス等の登録時に行うことができる。
また、上述のように、中継サーバ1だけでなく中継サーバ3も仮想アドレス利用要求情報記憶部58を有しており、LAN30側のユーザは、中継サーバ3の仮想アドレス利用要求情報を適宜の方法で設定することができる。今回の説明では、中継サーバ3については、仮想アドレス利用要求情報の内容が予め「無効」に設定されているものとする。
次に、中継サーバ1は、自身に対応付けられたアドレスフィルタ情報を読み出す(S303)。ここで読み出される情報は、S101で登録された内容(図7(a)に示す内容)である。次に、中継サーバ1は、選択されたVPNグループに属するルーティングポイントの読出しを行う(S304)。これにより、図6に示すVPNグループ情報の内容に基づいて、中継サーバ3が読み出される。
中継サーバ1は、中継サーバ情報に基づいて、初めに、中継サーバ3がログイン中か否か(「stat」がactiveか空欄か)を判断する(図14のS305)。図4に示す中継サーバ情報によれば中継サーバ3はログイン中であるため、中継サーバ1は、中継サーバ3へVPNグループの識別情報とともに、VPNグループの開始コマンドを送信する(S306)。
なお、中継サーバ3においては、開始コマンドの受信後に適宜のタイミングで、自身の仮想アドレス利用要求情報の内容が「有効」か「無効」かの判断を行う。そして、自身の仮想アドレス利用要求情報の内容が「有効」であった場合は、中継サーバ3は、仮想アドレス利用要求を中継サーバ1へ送信する。今回の説明では、上述したように、中継サーバ3において仮想アドレス利用要求情報の内容が「無効」とされている。従って、中継サーバ3は仮想アドレス利用要求を送信しない。
中継サーバ1は、S306で送信した開始コマンドに対する中継サーバ3からの応答を受けると(S307)、自身の仮想アドレス利用要求情報の内容が「有効」か「無効」かの判断を行う(S308)。今回の説明では、中継サーバ1の仮想アドレス利用要求情報の内容は「有効」である。従って、中継サーバ1は、仮想アドレス利用要求を中継サーバ3へ送信する(S309)。なお、仮に仮想アドレス利用要求情報の内容が「無効」とされている場合、中継サーバ1は、以下のS309及びS310の処理をスキップする。
この仮想アドレス利用要求を受信した中継サーバ3は、図16に示す処理を行う。即ち、中継サーバ3は、仮想アドレス利用要求を受信した場合、仮想アドレスを利用した通信を実行可能か否かを判定する(S401)。この判定は、仮想アドレスが予め登録されているか否か、登録済みでない仮想アドレスが残っているか否か、ユーザによって仮想アドレスを利用する旨が許可されているか否か、等に基づいて行う。そして、仮想アドレスを利用した通信が実行可能な場合、中継サーバ3は、その旨を中継サーバ1へ返信する(S402)。一方、中継サーバ3は、仮想アドレスを利用した通信が実行できない場合、その旨を中継サーバ1へ返信する(S403)。今回の説明では、中継サーバ3は、仮想アドレスを利用した通信が実行可能な旨を中継サーバ1へ返信したものとする。
中継サーバ1は、仮想アドレスを利用した通信を実行可能であるとの応答を中継サーバ3から受けて、中継サーバ3を、VPNを構築する準備が完了したルーティングポイントとして登録する(S311)。
なお、中継サーバ1は、仮に中継サーバ3から仮想アドレスを利用した通信を実行できない旨を受信した場合、VPNを中止するか否かの判断を行う(S313)。この判断は、ユーザにVPNを中止するか否かを選択させることで行っても良いし、予め設定された条件に基づいて中継サーバ1自身が行っても良い。
中継サーバ1は、VPNを中止する場合は、その旨をユーザに通知し(S314)、VPNを中止する処理を行う。なお、VPNを終了するか否かの判断及びVPNを終了する処理は、中継サーバ1から行っても良いし、中継サーバ3から行っても良い。
一方、中継サーバ1は、VPNを中止しない場合、同じVPNグループに所属する他の機器が有るか否かの判断を行う(S312)。なお、現在作成中のVPNグループは、中継サーバ1と中継サーバ3のみで構成されるため、他の機器は存在しない。なお、仮に他の機器が存在していた場合は、中継サーバ1は、今度は当該機器を対象として上記の処理を行う。
次に、中継サーバ1は、準備完了として登録したルーティング機器を含むルーティングセッションであって、VPNグループ情報記憶部54に記憶されているルーティングセッションを抽出する(図15のS315)。そして、中継サーバ1は、抽出したルーティングセッション情報を参照して、自身が始点となるルーティングセッションが記述されているか否かを判断する(S316)。図6のルーティングセッション情報においては、中継サーバ1と中継サーバ3との間で確立されるべきルーティングセッションにおいて、自身(中継サーバ1)が始点となることが記述されている。そのため、中継サーバ1は、中継サーバ3に対して所定の通信制御を行ってルーティングセッションを確立する(S317)。
なお、この通信制御を行う際に、前述のように、アドレスフィルタ情報が交換される(S318)。これにより、中継サーバ1のアドレスフィルタ情報記憶部55には、図8(a)に示す内容が記憶される。
次に、中継サーバ1は、仮想アドレスの割当てを実行するか否かの判断を行う(S319)。今回の説明では、中継サーバ1は、中継サーバ3から仮想アドレス利用要求を受信していない。従って、中継サーバ1は、仮想アドレスの割当てを行わない。
なお、中継サーバ1は、仮に、通信相手のルーティング対象機器から仮想アドレス利用要求情報を受信し、仮想アドレスを利用した通信が実行可能であると判定した場合、通信相手のルーティング対象機器から受信したルーティング対象アドレスに仮想アドレスを割り当てる(S320)。そして、中継サーバ1は、受信したルーティング対象アドレスと、それに割り当てた仮想アドレスと、の対応関係(割当関係)を仮想アドレス割当情報記憶部57に記憶する(S321)。
一方、中継サーバ3においては、中継サーバ1とルーティングセッションを確立してアドレスフィルタ情報を交換した後に、中継サーバ1と同様の処理(S319からS321の処理)を行う。今回の説明では、中継サーバ3は、中継サーバ1からの仮想アドレス利用要求を受けて、仮想アドレスを利用した通信が実行可能であると判定したため(図16のフローを参照)、仮想アドレスを利用して通信を行う。従って、中継サーバ3は、仮想アドレスを利用した通信のために、中継サーバ1から受信した操作PC11,12のアドレスに対して仮想アドレスを割り当てる。これにより、中継サーバ3においては、図8(b)に示す内容のアドレスフィルタ情報及び仮想アドレス割当情報が記憶される。
次に、中継サーバ1は、再びS316の処理を行う。現在作成中のVPNグループは、中継サーバ1と中継サーバ3のみで構成されるため、他のルーティングセッションはVPNグループ情報には記述されていない。従って、中継サーバ1は、パケットのルーティング制御を開始する(S322)。なお、仮に他のルーティングセッションがある場合は、中継サーバ1は、当該他のルーティングセッションについてもS316〜S321の処理を行う。
このように、本実施形態では、VPNを構築する際に、それぞれのルーティング機器が他のルーティング機器とアドレスフィルタ情報を交換(取得)するため、最新のアドレスフィルタ情報を用いてVPNを構築することができる。従って、VPN開始前の段階で一部のルーティング機器においてアドレスフィルタ情報が変更された場合でも、その変更を全てのルーティング機器に反映させた状態でVPNを構築して通信を開始できるので、パケットのルーティングにおける矛盾の発生を防止でき、信頼性を向上させることができる。
また、本実施形態では、S315において、準備完了として登録したルーティング機器を含むルーティングセッションを抽出する。そのため、仮想アドレスを利用できない旨を送信したルーティング機器とは、ルーティングセッションを確立するための通信制御が行われない。従って、不要な処理が行われることを自動的に(ユーザが手動で指示することなく)防止することができる。
なお、それぞれのルーティング機器は、自身が始点である旨がルーティングセッション情報に記述されていない限りはルーティングセッション確立のための最初の通信制御を行わないので、通信制御の衝突を防止し、機器間のルーティングセッションを簡素な制御で確立することができる。
次に、確立したルーティングセッションを用いてパケットのルーティングを行う処理について説明する。以下では、中継サーバ3を例に挙げて、中継サーバ3が実行する処理について説明するが、中継サーバ1,2も同様の処理を実行可能である。
初めに、中継サーバ3がLAN30からパケットを受信したときに行う制御について図17を参照して説明する。図17は、この制御の流れを示すフローチャートである。
なお、LAN30内のルーティング対象装置は、他のルーティング対象装置にパケットを送信する際は、その宛先とすべき当該他のルーティング対象アドレスを、中継サーバ3に問い合わせることで取得する。このとき、仮想アドレスが割り当てられている場合は、LAN30内のルーティング対象装置が中継サーバ3に行う上記の問い合わせに対して、中継サーバ3は、実際のアドレスではなく仮想アドレスを回答する。従って、例えば対象端末31から操作PC11へパケットが送信される場合、対象端末31は中継サーバ3から、宛先アドレスとして、操作PC11に割り当てられた仮想アドレス(150.100.10.1)を取得することになる。
なお、対象端末31,32,33は、中継サーバ3のアドレスフィルタ情報に記述された操作PC11,12の実際のアドレスについては取得できないようになっている。従って、対象端末31,32,33を操作するユーザは、操作PC11,12の実際のアドレスを知ることができないので、LAN10のセキュリティを向上させることができる。
中継サーバ3は、LAN30からパケットを受信するまで待機している(S501)。そして、LAN30からパケットを受信した場合、初めに、当該パケットの宛先が自機(中継サーバ3)であるか否かの判断を行う(S502)。
中継サーバ3は、パケットの宛先が自機であった場合、当該パケットの受信を行う(S503)。一方、パケットの宛先が自機以外であった場合、中継サーバ3は、受信したパケットの宛先アドレスと、アドレスフィルタ情報(図8(b)を参照)と、を比較して、宛先アドレスがアドレスフィルタ情報に登録されているか否かの判断を行う(S504)。中継サーバ3は、宛先アドレスがアドレスフィルタ情報に登録されていない場合、パケットを破棄する(S505)。一方、中継サーバ3は、宛先アドレスがアドレスフィルタ情報に登録されていた場合、当該アドレスフィルタ情報に対応するルーティングセッションを特定する(S506)。
次に、中継サーバ3は、仮想アドレス割当情報記憶部57を参照して、宛先アドレスが仮想アドレスか否かの判断を行う(S507)。宛先アドレスが仮想アドレスである場合、中継サーバ3は、宛先アドレスを実際のアドレスに変換し(S508)、S506で特定したルーティングセッションへパケットを送信(転送)する(S509)。
次に、中継サーバ3がルーティングセッションからパケットを受信したときに行う制御について図18を参照して説明する。図18は、この制御の流れを示すフローチャートである。
中継サーバ3は、ルーティングセッションからパケットを受信するまで待機している(S601)。そして、中継サーバ3は、パケットを受信した場合、当該パケットの宛先アドレスと、アドレスフィルタ情報(図8(b)を参照)と、を比較して、パケットの宛先アドレスが自機のアドレスフィルタ情報に対応付けて登録されているか否かの判断を行う(S602)。
パケットの宛先アドレスが自機のアドレスフィルタ情報に対応付けて登録されている場合、仮想アドレス割当情報記憶部57を参照して、送信元アドレスに仮想アドレスが割り当てられているか否かの判断を行う(S603)。送信元アドレスに仮想アドレスが割り当てられている場合、中継サーバ3は、送信元アドレスを仮想アドレスに変換し(S604)、宛先アドレスが示す機器(対象端末31,32,33)へ、パケットを転送する(S605)。なお、送信元アドレスに仮想アドレスが割り当てられていない場合、中継サーバ3は、アドレスを変換することなく、宛先が示す機器へパケットを転送する(S605)。
また、中継サーバ3は、宛先アドレスが自機のアドレスフィルタ情報に対応付けて登録されていない場合、当該宛先アドレスが他のルーティング機器のアドレスフィルタ情報に対応付けて登録されているか否かの判断を行う(S606)。当該宛先アドレスが他のルーティング機器のアドレスフィルタ情報に対応付けて登録されている場合、中継サーバ3は、該当するルーティングセッションを特定し(S607)、このルーティングセッションへパケットを送信(転送)する(S608)。
一方、当該宛先アドレスが他のルーティング機器のアドレスフィルタ情報にも登録されていない場合、中継サーバ3は、当該パケットを破棄する(S609)。
以上の制御を行うことにより、中継サーバ3は、仮想アドレスを利用して通信を行うことができる。また、上記のように通信を行うことで、対象端末31,32,33側へ操作PC11,12の実際のアドレスが送信されないので、LAN10のセキュリティを向上させることができる。
次に、上記の制御を行う中継サーバ1,3を介して、操作PC11と対象端末31とがパケットをやり取りするときの流れについて図19を参照して簡単に説明する。
図19(a)は、対象端末31から操作PC11へパケットが送信される場合を示している。この場合、中継サーバ3は、LAN30からパケットを受信するため、図17に示す制御を行う。
対象端末31は、上述のように操作PC11の仮想アドレスを宛先アドレスとしてパケットを送信する。このパケットを受信した中継サーバ3は、アドレスフィルタ情報(図8(b)を参照)に基づいて、パケットの宛先アドレスに対応するルーティング機器として中継サーバ1が記述されていることを認識してルーティングセッションを特定する(S506)。次に、中継サーバ3は、宛先アドレスが仮想アドレスであることを認識して、宛先アドレスを実際のアドレスに変換する(S508)。そして、中継サーバ3は、ルーティングセッションを介して中継サーバ1へパケットを送信する(S509)。
このパケットを受信した中継サーバ1は、アドレスフィルタ情報(図8(a)を参照)に基づいて、パケットの宛先アドレスに対応するルーティング機器として自機(中継サーバ1)が記述されていることを認識する。そして、中継サーバ1は、宛先の操作PC11へパケットを送信する(S605)。
図19(b)は、操作PC11から対象端末31へパケットが送信される場合を示している。この場合、中継サーバ3は、ルーティングセッションからパケットを受信するため、図18に示す制御を行う。
操作PC11は、対象端末31の実際のアドレスを宛先としてパケットを送信する。このパケットを受信した中継サーバ1は、パケットの宛先アドレスに対応するルーティング機器として中継サーバ3が記述されていることを認識する。そして、中継サーバ1は、ルーティングセッションを介して中継サーバ3へパケットを送信する処理を行う。
このパケットを受信した中継サーバ3は、アドレスフィルタ情報(図8(b)を参照)に基づいて、パケットの宛先アドレスに対応するルーティング機器として自身(中継サーバ3)が記述されていることを認識する。そして、中継サーバ3は、仮想アドレス割当情報記憶部57を参照して、送信元アドレスに仮想アドレスが割り当てられていることを認識する。そして、中継サーバ3は、送信元アドレスを仮想アドレスに変換して(S604)、宛先の対象端末31へパケットを送信する(S605)。
以上により、操作PC11と対象端末31との間で、当該操作PC11の実際のアドレスを隠蔽したままパケットのやり取りを行うことができる。
以上に示したように、本実施形態の中継サーバ3は、アドレスフィルタ情報記憶部55と、仮想アドレス割当情報記憶部57と、制御部60と、を備える。アドレスフィルタ情報記憶部55は、中継サーバ3と同じLAN30に属する対象端末31,32,33を示すアドレスと、中継サーバ1と同じLAN10に属する操作PC11,12を示すアドレスと、を記憶する。仮想アドレス割当情報記憶部57は、操作PC11,12の実際のアドレスと、それに割り当てられた仮想アドレスと、を対応付けて記憶する。制御部60は、仮想アドレスを利用した通信を要求する旨を中継サーバ1から受信する。制御部60は、仮想アドレスを利用した通信が実行可能か否かを判定し、その判定結果を中継サーバ1へ送信する。中継サーバ3において、制御部60は、中継サーバ1へ対象端末31,32,33のアドレスを送信するとともに、中継サーバ1から操作PC11,12のアドレスを受信し、中継サーバ1とルーティングセッションを確立する。中継サーバ3において、制御部60は、仮想アドレスを利用した通信が実行可能であると判定した場合に、操作PC11,12のアドレスに仮想アドレスを割り当て、当該割当関係を仮想アドレス割当情報記憶部57に記憶する。中継サーバ3の制御部60は、対象端末31,32,33から仮想アドレスを宛先とするパケットを受信した際に、パケットの宛先アドレスを操作PC11,12のアドレスに変換してルーティングセッションへパケットを転送する。また、中継サーバ3の制御部60は、ルーティングセッションから対象端末31,32,33のアドレスを宛先とするパケットを受信した際に、パケットの送信元アドレスを仮想アドレスに変換して宛先の対象端末31,32,33へパケットを転送する。
これにより、中継サーバ1が仮想アドレスを利用する旨を中継サーバ3に要求することで、操作PC11,12の実際のアドレスが対象端末31,32,33に取得されることを防ぐことができる。従って、LAN10のセキュリティを向上させつつ、例えば対象端末31と操作PC11とで通信を行うことができる。
また、本実施形態の中継サーバ3において、制御部60は、仮想アドレス利用要求情報の内容が「有効」である場合、仮想アドレス利用要求を中継サーバ1へ送信することができる。
これにより、中継サーバ3が仮想アドレスの利用を中継サーバ1に要求することで、対象端末31,32,33の実際のアドレスが操作PC11,12に取得されることを防ぐことができる。従って、自身のLAN(LAN30)のセキュリティを向上させつつ、例えば対象端末31と操作PC11とで通信を行うことができる。
また、本実施形態の中継サーバ3において、制御部60は、仮想アドレスを利用した通信が実行できないと判定した場合、ルーティングセッションを確立する制御を実行しない。
これにより、仮想アドレスを利用した通信が実行できない場合に実際のアドレスを利用して通信を行う構成と比較して、セキュリティを向上させることができる。また、セキュリティの確保が厳格に要求される場面では、仮想アドレスを利用した通信が実行できない場合、ルーティングセッションを確立させても意味がないことが考えられる。この点、本実施形態では、上記のような意味のない処理が行われることを防止することができる。従って、ユーザの手間を軽減できる。
また、本実施形態の中継サーバ3において、制御部60は、仮想アドレスを利用した通信が実行できないと判定した場合、VPNグループの開始処理を停止することができる。
即ち、本実施形態で構築されるVPNグループは、ルーティングポイントが中継サーバ1と中継サーバ3の2つしかない。従って、セキュリティの確保が厳格に要求される場合、中継サーバ1と中継サーバ3との間で仮想アドレスを利用した通信ができないと、VPNグループは実質的に意味をなさない。この点、本実施形態では、仮想アドレスを利用した通信が行えない場合に自動で開始処理を停止することで、実質的にネットワークとして機能しないVPNグループを自動的に停止させることができる。
以上に本発明の好適な実施の形態を説明したが、上記の構成は例えば以下のように変更することができる。
上記では、ルーティングセッションの確立と略同時にアドレスフィルタ情報の交換を行う構成である。これに対し、VPNグループの開始コマンドの送信(S306)とともにアドレスフィルタ情報を送信し、応答(S307)とともにアドレスフィルタ情報を受信する構成でも良い。
上記では、操作PC11等の個別の機器がルーティング対象装置となっていたが、例えば、LAN10全体(200.1.40.0/24)を中継サーバ1のルーティング対象装置として設定しても良い。この場合、当該ルーティング対象装置には、(150.100.10.0/24)のように、範囲指定された仮想アドレスが割り当てられる。
上記では、中継サーバのみがルーティングポイントとして機能する構成であるが、クライアント端末がルーティングポイントとして機能する構成であっても良い。また、VPNグループ内のルーティングポイントの数は2つに限られず、3つ以上であっても良い。また、1つのルーティング機器が複数のVPNグループに所属していても良い。
上記の中継グループ情報、中継サーバ情報、クライアント端末情報、VPNグループ情報、アドレスフィルタ情報等を格納する形式はXML形式に限定されず、適宜の形式で各情報を格納することができる。
上記実施形態の構成に代えて、各中継サーバ間での通信に用いられる外部サーバをインターネット上に設置し、SIP(Session Initiaion Protocol)サーバとしての機能を発揮させて通信を行う構成にしても良い。