次に、図面を参照して本発明の実施の形態を説明する。初めに、図1を参照して、本実施形態の中継通信システム100の概要について説明する。図1は、本発明の一実施形態に係る中継通信システム100の全体構成を示す説明図である。
図1に示すように、この中継通信システム100は、Wide Area Network(WAN、広域通信網)80に接続された複数のLAN10,20,30,40で構成されている。それぞれのLAN10,20,30,40は、限定された場所で構築される比較的小規模なネットワークであり、それぞれが物理的に離れた場所に構築されている。なお、本実施形態ではWAN80としてインターネットが使用されている。
以下、それぞれのLANを具体的に説明する。図1に示すように、LAN10には、中継サーバ1と、クライアント端末11と、処理装置12と、が接続されている。LAN20には、中継サーバ2と、クライアント端末21と、処理装置22と、処理装置23と、が接続されている。LAN30には、中継サーバ3と、クライアント端末31と、処理装置32と、処理装置33と、が接続されている。LAN40には、中継サーバ4と、クライアント端末41と、処理装置42と、が接続されている。
それぞれの中継サーバ1,2,3,4は、LAN10,20,30,40だけでなくWAN80にも接続されているため、同一のLANに接続されたクライアント端末と通信可能であるだけでなく、他のLANに配置された中継サーバと通信可能となっている。そのため、中継サーバ1,2,3,4には、グローバルIPアドレスに加えてプライベートIPアドレスが付与されている。
クライアント端末11,21,31,41は、例えばパーソナルコンピュータで構成されており、中継サーバ1,2,3,4を介して相互に通信を行うことができる。処理装置12,22,23,32,33,42は、例えばパーソナルコンピュータで構成されており、LAN10,20,30,40を介してクライアント端末11,21,31,41にパケットを送信可能である。
次に、中継サーバ1,2,3,4について説明する。なお、これらの4つの中継サーバは、記憶された一部のデータを除いて略同一の構成であるため、代表して中継サーバ1について説明する。初めに、図2を参照して、中継サーバ1が備える構成について説明する。図2は、中継サーバ1,2,3,4の機能ブロック図である。
図2に示すように、中継サーバ1は、記憶部50と、制御部60と、インタフェース部70と、を備えている。
インタフェース部70は、プライベートIPアドレスを利用して、LAN10内の端末に対して通信を行うことができる。また、インタフェース部70は、グローバルIPアドレスを利用して、WAN80を経由した通信を行うことができる。
制御部60は、例えば制御及び演算の機能を有するCPUであり、記憶部50から読み出したプログラムにより各種の処理を実行可能である。この制御部60は、TCP/IP、UDP、SIP等のプロトコルに従った様々な通信処理を制御することができる。図2に示すように、制御部60は、インターフェースドライバ61と、LAN側IPパケット処理部62と、通信制御部63と、WAN側IPパケット処理部64と、を備えている。
インターフェースドライバ61は、インタフェース部70を制御するドライバソフトウェアである。LAN側IPパケット処理部62は、LAN10から受信したパケットに適宜の処理を行って通信制御部63に出力する。WAN側IPパケット処理部64は、WAN80から受信したパケットに適宜の処理を行って通信制御部63に出力する。
通信制御部63は、受信したパケットを、当該パケットが示す情報と記憶部50に記憶された情報とに基づいて送信先を決定し、決定した送信先へ送信する。また、通信制御部63は、他の端末から受信した情報に基づいて、記憶部50の記憶内容を更新させることができる。
記憶部50は、例えばハードディスク又は不揮発性RAMで構成されており、各種データを保存可能である。記憶部50は、中継グループ情報記憶部51と、中継サーバ情報記憶部52と、クライアント端末情報記憶部53と、VPNグループ情報記憶部54と、アドレスフィルタ情報記憶部55と、を備えている。以下、図3から図7までを参照して、記憶部50が備える構成について説明する。図3は、中継グループ情報の内容を示す図である。図4は、中継サーバ情報の内容を示す図である。図5は、クライアント端末情報の内容を示す図である。図6は、VPNグループ情報の内容を示す図である。図7は、アドレスフィルタ情報の内容を示す図である。
中継グループ情報記憶部51は、中継グループと、当該中継グループを構成する中継サーバと、を示した中継グループ情報を記憶している。
図3に示すように、中継グループ情報においては、groupタグと、このgroupタグを親要素とする子要素のsiteタグと、が記述されている。groupタグには中継グループに関するグループ情報511が記述されている。このグループ情報511としては、中継グループの識別情報(「id」)と、最終更新時刻(「lastmod」)と、中継グループの名称(「name」)と、が記述されている。siteタグには、中継グループを構成する中継サーバに関するグループ構成情報512が記述されている。このグループ構成情報512には、当該中継サーバの識別情報(「id」)が記述されている。また、中継グループは追加作成が可能であり、その場合、新しい中継グループには、他の中継グループと異なる一意の識別情報が付与される。これにより、特定の中継グループ内だけでデータのやり取りを行う等の設定が可能になっている。
なお、この中継グループ情報は、当該中継グループを構成する中継サーバ1,2,3,4の間で情報が共有されている。そして、ある中継サーバにおいて中継グループを変更する処理が行われた場合は、他の中継サーバに対してその旨が送信されて中継グループ情報が更新される。このようにして、中継グループ情報が動的に共有される。
中継サーバ情報記憶部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」は空欄となる。
なお、中継グループによる通信は、上記の中継グループ情報及び中継サーバ情報に基づいて、以下のようにして行われる。例えばクライアント端末11からクライアント端末21にパケットを送信する場合、初めに、クライアント端末11は、自身が接続している中継サーバである中継サーバ1にパケットを送信する。なお、上記の中継グループ情報に基づいてパケットのやり取りが可能な中継サーバが分かり、かつ中継サーバ情報に基づいて中継サーバに所属しているクライアント端末の識別情報及び接続の可否が分かる。中継サーバ1は、これらの情報に基づいて、クライアント端末21が接続している中継サーバである中継サーバ2にパケットを送信する。そして、この中継サーバ2がクライアント端末21にパケットを送信する。このようにして、クライアント端末同士で中継通信を行うことができる。
この中継サーバ情報に関しても中継グループ情報と同様に、当該中継グループを構成する中継サーバ1,2,3,4の間で情報が共有されている。そして、ある中継サーバにおいて中継サーバ情報を変更する処理が行われた場合は、他の中継サーバに対してその旨が送信されて中継サーバ情報が更新される。このようにして、中継サーバ情報が動的に共有される。
クライアント端末情報記憶部53は、クライアント端末に関する詳細な情報であるクライアント端末情報を記憶している。なお、中継サーバ1,2,3,4は、自身に所属するクライアント端末に関するクライアント端末情報のみを記憶している。例えば、中継サーバ1には、図1に示すようにクライアント端末11が所属しているため、中継サーバ1が備えるクライアント端末情報記憶部53には、クライアント端末11のクライアント端末情報のみが記憶されている。
中継サーバ1のクライアント端末情報記憶部53が記憶するクライアント端末情報は、図5(a)に示されている。同様に、中継サーバ2が記憶するクライアント端末情報が図5(b)に、中継サーバ3が記憶するクライアント端末情報が図5(c)に、中継サーバ4が記憶するクライアント端末情報が図5(d)に、それぞれ示されている。
図5に示すクライアント端末情報においては、nodeタグが記述されている。このnodeタグには、クライアント端末のプライベートIPアドレス(「addr」)と、所属する中継グループの名称(「group」)と、識別情報(「id」)と、名称(「name」)と、中継サーバにログインするためのパスワード(「pass」)と、ポート情報(「port」)と、が記述されている。
VPNグループ情報記憶部54は、中継グループを構成する中継サーバ及びクライアント端末から選択された機器(以下、ルーティング機器と称する)で構成されたVPNグループに関する情報であるVPNグループ情報を記憶している。VPNグループは、中継グループ内で構成されるグループであり、ルーティング機器同士でルーティングセッションを確立させることにより、仮想ネットワークを構築することができる。
図6に示すVPNグループ情報においては、vnetタグが記述されている。このvnetタグには、VPNグループ基本情報541と、ルーティングポイント情報542と、ルーティングセッション情報543と、が記述されている。VPNグループ基本情報541には、VPNグループが所属する中継グループの名称(「group」)と、VPNグループの識別情報(「id」)と、最終更新時刻(「lastmod」)と、VPNグループの名称(「name」)と、が記述されている。ルーティングポイント情報542には、VPNグループ間で通信を行うときにルーティングを行うルーティング機器の識別情報が記述されている。図6の例においては、ルーティング機器として、クライアント端末11と、クライアント端末21と、中継サーバ3と、が記述されている。ルーティングセッション情報543には、VPNグループにおいて互いに接続されるルーティング機器が記述されている。ルーティングセッション情報543において、ルーティング機器は、VPNグループでVPNを開始するためのルーティングセッション確立処理において、通信制御を最初に行う側(「sp(start point)」)と、その通信制御を受ける側「ep(end point)」と、に分けて定められている。なお、以下の説明では、ルーティングセッション確立のための通信制御を最初に行う側のルーティング機器を「始点」と、その通信制御を受ける側のルーティング機器を「終点」と、それぞれ称することがある。
このVPNグループ情報についても中継サーバ情報及び中継グループ情報と同様に、VPNグループを構成する中継サーバ1,2,3の間で情報が共有されている。そして、ある中継サーバにおいてVPNグループ情報を変更する処理が行われた場合は、VPNグループを構成する他の中継サーバに対してその旨が送信されてVPNグループ情報が更新される。このようにして、VPNグループ情報が動的に共有される。なお、このVPNグループを作成する処理については後述する。
アドレスフィルタ情報記憶部55は、VPNを開始してルーティング機器がルーティングを行う際に、パケットの送信先としてルーティング機器が指定可能な相手を示すアドレスフィルタ情報を記憶している。
図7(a)は、ルーティング機器と対応付けられたアドレスフィルタ情報の内容が示されている。図7(a)に示すように、クライアント端末11は、処理装置12に対してパケットを送信することができる。クライアント端末21は、処理装置22及び処理装置23に対してパケットを送信することができる。中継サーバ3は、LAN30に接続された全ての機器に対してパケットを送信することができる。
アドレスフィルタ情報記憶部55は、図7(b)に示すように、ルーティング機器の識別情報と、当該ルーティング機器がパケットの送信先として指定可能な相手のIPアドレス及び名称と、を対応付けて記憶している。パケットの送信先として指定可能な相手の名称は、ユーザが認識し易い名称等の任意の名称を設定することができ、例えば機器及びLANの配置される場所等を考慮して設定可能である。なお、それぞれのルーティング機器は、このアドレスフィルタ情報をディスプレイ等に表示可能となっている。また、このアドレスフィルタ情報は、VPNを開始するときにルーティング機器同士で交換するように構成されている。
中継サーバ1,2,3,4は、以上のように構成される。なお、クライアント端末11,21,31,41の構成については詳細な説明を省略するが、中継サーバ1,2,3,4と実質的に同様に構成された記憶部50及び制御部60を備えている。
次に、VPNグループを構築して、構築したVPNグループでパケットのルーティングを行うときの処理について説明する。
初めにVPNグループを構築するときの流れについて図8及び図11を参照して説明する。図8は、VPNグループを作成する処理を示すフローチャートである。図11は、VPNグループを作成する通信処理及びアドレスフィルタ情報を更新する通信処理を示すシーケンス図である。
中継通信システム100を利用するユーザは、クライアント端末11,21,31等を操作することによって、VPNグループの設定画面を表示させることができる。ここでは、クライアント端末11を用いて設定を行う場合について説明する。クライアント端末11に表示させた設定画面には、当該クライアント端末11が属する複数の中継グループが表示される。ユーザは、この複数の中継グループから、VPNグループを構築したい中継グループを選択する(S101)。
中継グループが選択されると、クライアント端末11の画面には、選択した中継グループに属し、かつルーティングポイントとして機能可能な中継サーバ及びクライアント端末の識別情報の一覧が表示される(S102)。そして、ユーザは、構築するVPNグループにおいてルーティングポイントとして機能させる中継サーバ及びクライアント端末の識別情報を選択する(S103)。今回の説明では、クライアント端末11、クライアント端末21、及び中継サーバ3の識別情報がユーザに選択されたものとする。
そして、この選択されたルーティングポイントに基づいて、ルーティングセッション情報が作成される(S104)。また、選択された中継サーバ等の識別情報に基づいて、ルーティングポイントの識別情報が作成される(S104)。これらの作成された情報にVPNグループの識別情報等を付加することにより、図6で示したVPNグループ情報が作成され、VPNグループ情報記憶部54は、このVPNグループ情報を記憶する(S105)。
そして、クライアント端末11は、作成したVPNグループ情報を、他のルーティング機器(クライアント端末21及び中継サーバ3)に送信することにより(S106)、VPNグループが作成されたことを通知する。なお、クライアント端末21に対するVPNグループ情報の送信は、図11に示すように、中継サーバ1及び中継サーバ2を介して行われる(シーケンス番号1、createVpnGroup)。また、中継サーバ3に対するVPNグループ情報の送信は、中継サーバ1を介して行われる(シーケンス番号2、createVpnGroup)。
これにより、VPNグループの構築処理が完了する。なお、以上で示したように、本実施形態において機器間の通信が中継サーバ1,2,3,4を経由して行われることがあるが、以下の説明では、中継サーバ1,2,3,4を経由する通信処理の具体的な説明を省略して「クライアント端末11がクライアント端末21に送信する。」等と記載することがある。
次に、構築したVPNグループでVPNを開始するときの流れについて、図9から図12を参照して説明する。図9は、VPNを開始する処理の前半部を示すフローチャートである。図10は、VPNを開始する処理の後半部を示すフローチャートである。図12は、ルーティングセッションを確立する通信処理及びパケットの送信を行う通信処理を示すシーケンス図である。
ユーザは、クライアント端末11,21等を操作することによって、構築したVPNグループを画面に表示させることができる。そして、表示されたVPNグループから適当なVPNグループを選択することにより(S201)、VPNを開始するための処理を行わせることができる。今回の説明では、ユーザがクライアント端末11を操作して、上記で作成したVPNグループ(クライアント端末11、クライアント端末21、及び中継サーバ3をルーティング機器とするVPNグループ)を選択したものとする。
クライアント端末11は、初めに、自身に対応付けられたアドレスフィルタ情報を読み出す(S202)。クライアント端末11の識別情報に対応付けられたアドレスフィルタ情報には、図7に示すように、処理装置12に対してパケットを送信可能な旨が記述されている。次に、クライアント端末11は、選択したVPNグループに属するルーティングポイントの読出しを行う(S203)。これにより、図6に示すVPNグループ情報の内容に基づいて、クライアント端末21及び中継サーバ3の識別情報が読み出される。
クライアント端末11は、中継サーバ情報に基づいて、初めに、クライアント端末21がログイン中か否か(「site」に中継サーバの識別情報が記述されているか、それとも空欄か)を判断する(S204)。図4に示す中継サーバ情報によればクライアント端末21はログイン中であるため、クライアント端末11は、クライアント端末21に向けてVPNグループの開始コマンドを送信する(図11のシーケンス番号3、startVpn)。このとき、選択されたVPNグループの識別情報(VpnGroupID)と、クライアント端末11の識別情報に対応付けられたアドレスフィルタ情報(addr01)も同時に送信される。
これにより、クライアント端末21は、開始の処理を行うVPNグループを特定できるとともに、クライアント端末11の識別情報に対応付けられた最新のアドレスフィルタを取得することができる。また、クライアント端末21は、信号を受信した旨をクライアント端末11に通知するとともに、自身に対応付けられたアドレスフィルタ情報(addr02)をクライアント端末11に送信する。
クライアント端末11は、クライアント端末21からの応答を受けて(S206)、受信したアドレスフィルタ情報をアドレスフィルタ情報記憶部55に記憶する(S207)。また、クライアント端末11は、クライアント端末21を、VPNを開始する準備が完了したルーティングポイントとして登録する(S208)。
次に、クライアント端末11は、他にルーティングポイントが有るか否かの判断を行う(S209)。クライアント端末21に対するVPNの開始処理を完了した時点では、中継サーバ3に対してVPNの開始処理を行っていないため、クライアント端末11は、今度は中継サーバ3を対象としてS204〜S208の処理を行う。この結果、クライアント端末11は、中継サーバ3に対してVPNの開始コマンド及びアドレスフィルタ情報の送信を行う(図11のシーケンス番号5、startVpn)。そして、クライアント端末21の場合と同様に、中継サーバ3からアドレスフィルタ情報を受信して記憶する。
なお、このVPNグループの開始コマンド及びアドレスフィルタ情報の送受信は、クライアント端末21と中継サーバ3との間でも行われる(シーケンス番号4、startVpn)。以上により、クライアント端末11、クライアント端末21、及び中継サーバ3は、他のルーティングポイントのアドレスフィルタ情報を取得することができる。
このように、VPNを開始する際には、それぞれのルーティング機器が他のルーティング機器とアドレスフィルタ情報を交換(取得)し、最新のアドレスフィルタ情報を用いてVPNを構築することができる。従って、VPN開始前の段階で一部のルーティング機器においてアドレスフィルタ情報が変更された場合でも、その変更を全てのルーティング機器に反映させた状態でVPNを開始できるので、パケットのルーティングにおける矛盾の発生を防止でき、信頼性を向上させることができる。
次に、クライアント端末11は、VPNグループ情報記憶部54に記憶したルーティングセッション情報を抽出し(S210)、自身が始点となるルーティングセッションが記述されているか否かを判断する(S211)。図6のルーティングセッション情報においては、クライアント端末21及び中継サーバ3との間で確立されるべきルーティングセッションにおいて、クライアント端末11が始点となることが記述されている。
そこで、初めに、クライアント端末11はクライアント端末21を選択し、クライアント端末21が、VPNを開始する準備が完了したルーティングポイントであるか否かを判断する(S212)。上記のS208により、クライアント端末21は準備が完了しているため、クライアント端末11からクライアント端末21に対してルーティングセッションを確立するための通信制御が行われる(S213、シーケンス番号6、createVpnSsn)。
次に、クライアント端末11は、自身が接続の始点となるルーティングセッションが他に記述されているか否かを判断する(S214)。クライアント端末21に対するルーティングセッション確立処理を完了した時点では、中継サーバ3との間でのルーティングセッション確立処理を行っていないため、クライアント端末11は、中継サーバ3に対してもクライアント端末21に行った通信と同様の通信を行う(シーケンス番号8、createVpnSsn)。これにより、クライアント端末11と中継サーバ3との間にルーティングセッションが確立される。
また、図6に示すように、クライアント端末21が中継サーバ3との間のルーティングセッションの始点となるべきことがルーティングセッション情報に記述されているため、ルーティングセッションを確立するための通信制御は、クライアント端末21から中継サーバ3に対しても行われる(シーケンス番号7、createVpnSsn)。以上により、クライアント端末11とクライアント端末21の間、クライアント端末11と中継サーバ3の間、及びクライアント端末21と中継サーバ3の間においてルーティングセッションをそれぞれ確立させることができる。その後、パケットのルーティング制御が開始される(S215)。なお、それぞれのルーティング機器は、自身が始点である旨がルーティングセッション情報に記述されていない限りはルーティングセッション確立のための最初の通信制御を行わないので、通信制御の衝突を防止し、機器間のルーティングセッションを簡素な制御で確立することができる。
次に、確立したルーティングセッションを用いてパケットのルーティングを行う処理について図7及び図12を参照して説明する。以下、ルーティングポイントとして機能するクライアント端末11が、処理装置12から第1パケットから第3パケットの3種類のパケットを受信したときに、当該クライアント端末11が行う処理を説明する。
初めに、あて先のIPアドレスが(192.168.2.22)となっている第1パケットを受信したとき(シーケンス番号9、packet01)について説明する。クライアント端末11は、この第1パケットを受信した後に、あて先のIPアドレスと図7に示すアドレスフィルタ情報とを比較する。そして、第1パケットに記されたあて先に対してパケットを送信可能なルーティングポイントを検出する。
図7に示すように、第1パケットのあて先のIPアドレスは、クライアント端末21の識別情報に対応付けられたアドレスフィルタ情報に含まれる。この場合、クライアント端末11は、自身とクライアント端末21との間に確立されたルーティングセッションを介して第1パケットを当該クライアント端末21へ送信する。
この第1パケットを受信したクライアント端末21もクライアント端末11と同様に、あて先のIPアドレスとアドレスフィルタ情報とを比較する。そして、第1パケットに記されたあて先に対してパケットを送信可能なルーティングポイントとして自身が記述されていることを検出する。この場合、第1パケットをあて先の処理装置22に対して送信する。
次に、あて先のIPアドレスが(192.168.3.32)である第2パケットをクライアント端末11が受信したとき(シーケンス番号10、packet02)について説明する。図7のアドレスフィルタ情報によれば、第2パケットに記されたあて先に対してパケットを送信可能なルーティングポイントとして中継サーバ3が指定されている。従って、クライアント端末11は、自身と中継サーバ3との間に確立されたルーティングセッションを介して第2パケットを当該中継サーバ3に送信する。そして、中継サーバ3は、第2パケットに記されたあて先に対してパケットを送信可能なルーティングポイントとして自身が記述されていることを検出し、第2パケットをあて先の処理装置32に対して送信する。
次に、あて先のIPアドレスが(192.168.5.51)である第3パケットをクライアント端末11が受信したとき(シーケンス番号11、packet03)について説明する。クライアント端末11は、あて先のIPアドレスとアドレスフィルタ情報とを比較した結果、あて先に対してパケットを送信可能なルーティングポイントが記述されていないことを検出する。この場合、クライアント端末11は、受信した第3パケットをどこにも送信しない。
このように、本実施形態では、アプリケーション層のルーティングセッションで、ルーティング対象のデータを流すように構成されている。従って、以上で説明したルーティングは、通常のIPルーティングとは異なっている。
このようにアプリケーション層でルーティングを行うことにより、WANを意識することなく、遠隔地のLAN同士がプライベートIPアドレスを利用して相互に通信することができる。また、上述のように、アドレスフィルタ情報記憶部55は、パケットの送信先として指定可能な相手の名称を表示可能となっている。そのため、ユーザは、VPNを用いてどの機器にパケットを送信可能であるかを容易に認識することができる。
次に、VPNの開始後に中継サーバ3と対応付けられたアドレスフィルタ情報が変更されたときについて図13及び図14を参照して説明する。図13は、VPNの開始後にアドレスフィルタ情報が変更されたときの通信処理を示すシーケンス図である。図14は、中継サーバ3と対応付けられたアドレスフィルタ情報が更新された後のアドレスフィルタ情報記憶部の記憶内容を示す図である。
ユーザは、中継サーバ3に接続されたクライアント端末31等を操作することにより、中継サーバ3と対応付けられたアドレスフィルタ情報を変更することができる。以下では、パケットの送信先として中継サーバ3が指定可能な相手が、図14に示すように、「LAN30に接続される全ての機器」から「処理装置33」に変更されたときの通信処理について説明する。
中継サーバ3は、自身と対応付けられたアドレスフィルタ情報が変更された場合は、その旨をクライアント端末11に対して通知する(シーケンス番号12、updateFilter)。このアドレスフィルタ情報の変更の通知(及び後述のシーケンス番号13の通知)は、ルーティングセッションとは異なる経路を用いて行われる。なお、図13において、中継サーバ3と対応付けられた変更前のアドレスフィルタ情報を「addr03」で示し、中継サーバ3と対応付けられた変更後のアドレスフィルタ情報を「addr04」で示している。そして、アドレスフィルタ情報の変更の通知を受けたクライアント端末11は、中継サーバ3と対応付けられたアドレスフィルタ情報を変更後のものに更新する。
また、中継サーバ3は、自身と対応付けられたアドレスフィルタ情報が変更された旨をクライアント端末21に対しても通知する(シーケンス番号13、updateFilter)。そして、クライアント端末21もクライアント端末11と同様に、中継サーバ3と対応付けられたアドレスフィルタ情報を変更後のものに更新する。なお、クライアント端末11及びクライアント端末21がアドレスフィルタ情報を更新する制御は、VPNを停止することなく行われる。
この状態において、あて先のIPアドレスが(192.168.3.33)となっている第4パケットをクライアント端末11が処理装置12から受信した場合(シーケンス番号14、packet04)について説明する。なお、このルーティングの制御についても、VPNを停止することなく行われる。第4パケットに記されたあて先は処理装置33であり、この処理装置33に対してパケットを送信可能なルーティングポイントとして中継サーバ3が指定されている。従って、上記におけるルーティングと同様に、クライアント端末11から中継サーバ3に第4パケットが送信される。そして、中継サーバ3は、第4パケットに記されたあて先に対してパケットを送信可能なルーティングポイントとして自身が記述されていることを検出し、第4パケットをあて先の処理装置33に対して送信する。
次に、あて先のIPアドレスが(192.168.3.32)となっている第5パケットをクライアント端末11が処理装置12から受信した場合(シーケンス番号15、packet05)について説明する。この場合、クライアント端末11は、あて先のIPアドレスとアドレスフィルタ情報とを比較した結果、あて先に対してパケットを送信可能なルーティングポイントが記述されていないことを検出する。この場合、クライアント端末11は、受信した第3パケットをどこにも送信しない。
以上のようにアドレスフィルタ情報の通知及び更新を行うことにより、VPNを停止することなく、アドレスフィルタ情報の変更及び変更後のアドレスフィルタ情報に基づいたルーティングを行うことができる。
次に、VPNを終了する処理について図15を参照して説明する。図15は、VPNグループを終了する通信処理を示すシーケンス図である。ユーザは、クライアント端末11,21等を操作することによって、VPNを終了する処理を開始することができる。今回の説明では、ユーザがクライアント端末11を操作してVPNを終了する処理を開始させたとする。
クライアント端末11は、VPNを終了する指示を受け付けると、VPNグループの識別情報とともにその旨を、クライアント端末21及び中継サーバ3に対して送信する(シーケンス番号16,17、stopVpn)。なお、クライアント端末21及び中継サーバ3は、クライアント端末11から受信したVPNグループの識別情報によって、どのVPNグループを対象としたVPNが終了されるかを知ることができる。
クライアント端末11は、VPNの終了を受け付けた旨の信号をクライアント端末21及び中継サーバ3から受信した後に、クライアント端末21に対して、ルーティングセッションの終了コマンドを送信する(シーケンス番号18、closeVpnSsn)。また、クライアント端末11は、中継サーバ3に対しても、ルーティングセッションの終了コマンドを送信する(シーケンス番号20、closeVpnSsn)。
このルーティングセッションの終了コマンドの送信は、クライアント端末21から中継サーバ3に対しても行われる(シーケンス番号19、closeVpnSsn)。以上により、クライアント端末11とクライアント端末21の間、クライアント端末11と中継サーバ3の間、及びクライアント端末21と中継サーバ3の間に確立されていたルーティングセッションをそれぞれ終了させることができる。そしてVPNグループによるVPNが終了する。
以上に示したように、本実施形態の中継サーバ3は、中継グループ情報記憶部51と、中継サーバ情報記憶部52と、VPNグループ情報記憶部54と、アドレスフィルタ情報記憶部55と、通信制御部63と、を備える。中継グループ情報記憶部51は、自身(中継サーバ3)との間で相互に接続可能な他の中継サーバ(中継サーバ1,2,4)を含む中継グループの情報を記憶する。中継サーバ情報記憶部52は、中継グループに属する中継サーバの起動情報と、中継グループに属する中継サーバに接続されたクライアント端末の起動情報及び登録情報と、を含む中継サーバ情報を記憶する。VPNグループ情報記憶部54は、中継通信システム100を構成する通信機器のうちルーティングポイントとして設定された通信機器を介してVPNにより通信を行うVPNグループに関し、当該VPNグループを構成するルーティング機器の識別情報を含むルーティングポイント情報542と、互いに接続されるルーティング機器の情報を含むルーティングセッション情報543と、を記憶する。アドレスフィルタ情報記憶部55は、パケットの送信先としてルーティング機器が指定可能な相手を示すアドレスフィルタ情報を当該ルーティング機器の識別情報と対応付けて記憶する。通信制御部63は、VPNグループでVPNを開始した後に、自身の識別情報と対応付けられたアドレスフィルタ情報が更新されたときに、当該更新内容を通知する制御を行う。
これにより、中継サーバ3は、中継通信システム100を構成する他の通信機器から選択されたルーティング機器とVPNを構築できるため、必要な通信機器に対してのみファイルの共有等を行うことができる。また、中継サーバ3は、VPNグループでVPNを開始した後に、当該中継サーバ3と対応付けられたアドレスフィルタ情報が更新されたことを、他のルーティング機器等に通知することができる。従って、アドレスフィルタ情報の変更に応じた適切な処置を他のルーティング機器に行わせることができる。
また、本実施形態の中継サーバ3において、通信制御部63は、VPNグループでVPNを開始した後にアドレスフィルタ情報が更新された旨の通知を受けたときは、当該更新内容に基づいてアドレスフィルタ情報記憶部55の記憶内容を更新する制御と、更新されたアドレスフィルタ情報に基づいて、ルーティング機器が送信先として指定可能な相手を参照し、当該内容に基づいてルーティングを行う制御と、をVPNを停止させることなく行う。
これにより、VPNを維持したままで、パケットの送信先としてルーティング機器が指定可能な相手を増減させることができる。
また、本実施形態の中継サーバ3は、受信したパケットのあて先が、自身の識別情報と対応付けられたアドレスフィルタ情報において指定されているときは、当該あて先にパケットを送信する。中継サーバ3は、受信したパケットのあて先が、自身以外のルーティング機器の識別情報と対応付けられたアドレスフィルタ情報において指定されているときは、自身と当該ルーティング機器との間に確立されたルーティングセッションを介して当該ルーティング機器にパケットを送信する。中継サーバ3は、受信したパケットのあて先が、ルーティング機器の識別情報と対応付けられたアドレスフィルタ情報において指定されていないときは、パケットを送信しない。
これにより、中継サーバ3は、アドレスフィルタ情報に基づいて適切にルーティングを行うことができる。
以上に本発明の好適な実施の形態を説明したが、上記の構成は例えば以下のように変更することができる。
上記の中継グループ情報、中継サーバ情報、クライアント端末情報、VPNグループ情報、アドレスフィルタ情報等を格納する形式はXML形式に限定されず、適宜の形式で各情報を格納することができる。
上記実施形態の構成に代えて、各中継サーバ間での通信に用いられる外部サーバをインターネット上に設置し、SIP(Session Initiaion Protocol)サーバとしての機能を発揮させて通信を行う構成にしても良い。