説明

情報処理装置、通信方法および通信用プログラム

【課題】回線の切断によっても通信が維持されるネットワークシステムを提供することを課題とする。
【解決手段】第一の物理回線100および第二の物理回線200を介してネットワーク9に接続されるVPNゲートウェイ1aにおいて、第一の物理回線100を介して、VPNゲートウェイ1bがネットワーク9に対して有する物理回線300、400の夫々との間でVPNコネクション1、2を確立し、更に、第二の物理回線200を介して、VPNゲートウェイ1bが有する物理回線300、400の夫々との間でVPNコネクション3、4を確立する、コネクション確立部14と、コネクション確立部14によって確立されたVPNコネクション1−4を介して、VPNゲートウェイ1bに対してデータを送信する送受信部11と、を備えた。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、通信方法および通信用プログラムに関する。
【背景技術】
【0002】
従来、1つの拠点に設けられた顧客端末を主系と従系の2つで冗長化構成されたエッジノードに夫々収容し、通常時は主系のエッジノードが使用されるエッジノード冗長システムがある(特許文献1を参照)。
【0003】
また、リンクアグリゲーションによって回線の冗長化を行う技術があり(特許文献2を参照)、冗長構成をとった現用パスに2重障害が発生し、パケットを予備パスに迂回させる場合に、第1のラベルスイッチドパスを流れるべきパケットと、第2のラベルスイッチドパスを流れるべきパケットとに異なるラベルを付与して予備パスに転送する技術がある(特許文献3を参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】国際公開第2008/120267号
【特許文献2】特開2007−221526号公報
【特許文献3】特開2003−78553号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来、ネットワークの可用性(Availability)を高めるために、複数の回線を用いてVPNを冗長化することや、バックアップ用のVPNを設定することが行われている。しかし、従来のネットワークシステムでは、物理的に回線が切断された場合、仮に回線の冗長化が行われていたとしても、論理コネクションが切れ、再接続しなければならなかった。
【0006】
本発明は、上記した問題に鑑み、回線の切断によっても通信が維持されるネットワークシステムを提供することを課題とする。
【課題を解決するための手段】
【0007】
本発明では、上記課題を解決するために、以下の手段を採用した。即ち、本発明は、第一の物理回線および第二の物理回線を介してネットワークに接続される情報処理装置であって、前記第一の物理回線を介して、他の情報処理装置が前記ネットワークに対して有する複数の物理回線の夫々との間で複数の論理コネクションを確立し、更に、前記第二の物理回線を介して、前記他の情報処理装置が有する前記複数の物理回線の夫々との間で複数の論理コネクションを確立する、コネクション確立手段と、前記コネクション確立手段によって確立された複数の論理コネクションを介して、前記他の情報処理装置に対してデータを送信するデータ送信手段と、を備える情報処理装置である。
【0008】
ここで、論理コネクションとは、通信を行う装置間で確立される、情報の送受信をするための論理的な通信路である。論理コネクションの例としては、VPNコネクション、TCPコネクション、等がある。本発明に係る情報処理装置は、1の物理回線から、通信の相手方である他の情報処理装置の複数の物理回線の夫々に対して、複数の論理コネクションを張り、このような複数の論理コネクションを確立した物理回線を複数用意する。このようにすることで、相手方の情報処理装置との間に、物理回線の数よりも多い、互いに異
なる経路(パス)の論理コネクションを確立することが出来る。
【0009】
本発明によれば、相手方の情報処理装置との間に、物理回線の数よりも多い、互いに異なる経路の複数の論理コネクションを持つことで、物理的に回線が切断されても、影響を受けない経路における論理コネクションを維持することが出来、通信を途切れさせることなく維持することが可能となる。また、本発明において、確立される複数の論理コネクションは、情報処理装置と他の情報処理装置との間の単一の通信路(トンネル)として、束ねて利用することが可能である。このため、本発明によれば、通信速度を犠牲にすることなく、ネットワークシステムの可用性を高めることが可能である。
【0010】
また、本発明に係る情報処理装置は、前記複数の論理コネクションの夫々に対して優先度を設定する優先度設定手段を更に備え、前記データ送信手段は、前記論理コネクションを、前記優先度に応じて用いて、前記他の情報処理装置に対してデータを送信してもよい。
【0011】
本発明によれば、優先度に従って、データ送信に用いる論理コネクションを決定することで、複数の論理コネクションを全体として用いた場合の、データ送信の信頼性を向上させることが出来る。
【0012】
また、本発明に係る情報処理装置は、前記複数の論理コネクションの夫々について通信速度を計測する通信速度計測手段を更に備え、前記優先度設定手段は、前記通信速度に基づいて、前記複数の論理コネクションの夫々に対して優先度を設定してもよい。
【0013】
例えば、優先度設定手段は、速度がより速い論理コネクションにより高い優先度が設定されるようにすることが出来る。このようにして、通信速度に基づく優先度設定をすることで、本発明によれば、トラフィックをより効率よく論理コネクションに割り振ることが可能となり、データ送信の速度を高めることが可能となる。
【0014】
また、本発明に係る情報処理装置は、前記論理コネクションの、前記データ送信手段によるデータ送信における利用適否を判断する利用適否判断手段を更に備え、前記優先度設定手段は、前記複数の論理コネクションのうち、前記利用適否判断手段によって利用に適さないと判断された論理コネクションを除く論理コネクションの夫々に対して優先度を設定してもよい。
【0015】
本発明によれば、利用に適さない論理コネクションを発見して利用対象から除外することで、通信の品質を保つことが出来る。また、除外された論理コネクションについては、除外後にも論理コネクションの再確立が試行されてよい。
【0016】
また、本発明に係る情報処理装置は、前記データ送信手段によって送信されるデータにシーケンスを付加するシーケンス付加手段と、前記シーケンスと前記他の情報処理装置におけるデータ到着順序との不整合が所定の条件に合致した場合に前記他の情報処理装置から送信される通知を受信する通知受信手段と、を更に備え、前記優先度設定手段は、前記通知が受信されたことを受けて、前記優先度を設定してもよい。
【0017】
本発明によれば、シーケンスの付加によってデータの到着順序を判定可能とし、また、相手方装置において不整合が発生していることの通知を相手方の情報処理装置から受けて優先度を設定可能としたことによって、複数の論理コネクションを束ねて使用する際に発生し得る、データ到着順序の不整合を抑制することが可能となる。
【0018】
また、本発明に係る情報処理装置は、該情報処理装置および前記他の情報処理装置が有
する物理回線の回線情報を取得する回線情報取得手段と、前記回線情報に基づいて、前記論理コネクションの確立に用いることが可能な経路として、前記第一の物理回線を介した、他の情報処理装置が有する前記複数の物理回線の夫々との間の複数の経路、および前記第二の物理回線を介した、前記他の情報処理装置が有する前記複数の物理回線の夫々との間の複数の経路と、を特定する経路特定手段と、を更に備え、前記コネクション確立手段は、前記経路特定手段によって特定された経路において、前記論理コネクションを確立してもよい。
【0019】
本発明によれば、論理コネクションの確立に用いてよい回線情報を設定しておき、この回線情報に基づいて経路を特定することで、確立すべき論理コネクションを予め全て指定しておくことなく、システムの可用性を高めるための複数の論理コネクションを確立することが出来る。
【0020】
また、本発明に係る情報処理装置は、前記コネクション確立手段によって少なくとも1つの論理コネクションが確立された後、確立された論理コネクションを介して該情報処理装置および前記他の情報処理装置が有する物理回線の回線情報を交換する回線情報交換手段を更に備え、前記経路特定手段は、前記回線情報取得手段によって取得された回線情報および前記回線情報交換手段によって交換された回線情報に基づいて前記経路を特定してもよい。
【0021】
また、本発明において、前記情報処理装置は、管理下のネットワークと、他のゲートウェイ装置の管理下のネットワークとの間の通信を仲介するゲートウェイ装置であり、本発明に係る情報処理装置は、前記管理下のネットワークに属する送信元端末から送信されたパケットを受信する受信手段と、前記受信手段によって受信されたパケットに、前記他のゲートウェイ装置へパケットを転送するための情報を付加することでカプセル化するカプセル化手段と、を更に備え、前記データ送信手段は、前記カプセル化手段によってカプセル化されたパケットを、前記他のゲートウェイ装置に送信してもよい。
【0022】
ここで、管理下のネットワークとは、ゲートウェイ装置によって外部ネットワークとの通信が仲介される、拠点ネットワーク等のネットワークである。本発明に係るゲートウェイ装置は、インターネット等の外部ネットワークを介して他のゲートウェイ装置と通信可能となっており、管理下のネットワークからの通信を他のゲートウェイ装置へ転送等することで、複数のゲートウェイ装置の管理下にある複数の拠点ネットワーク間での通信を可能とする。複数のゲートウェイ装置によって管理下ネットワーク間の通信が仲介されることで、仮想的なプライベートネットワークが構築される。
【0023】
更に、本発明は、コンピュータによって実行される方法、又はコンピュータによって実行されるプログラムとしても把握することが可能である。また、本発明は、そのようなプログラムをコンピュータその他の装置、機械等が読み取り可能な記録媒体に記録したものでもよい。ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。
【発明の効果】
【0024】
本発明によれば、回線の切断によっても通信が維持されるネットワークシステムを提供することが可能となる。
【図面の簡単な説明】
【0025】
【図1】実施形態に係るVPNシステムの構成の概略を示す図である。
【図2】実施形態に係るVPNゲートウェイのハードウェア構成の概略を示す図である。
【図3】実施形態に係るVPNゲートウェイの機能構成の概略を示す図である。
【図4】実施形態に係るVPNトンネル構成テーブルの構成を示す図である。
【図5】実施形態におけるコネクション確立処理の流れを示すフローチャートである。
【図6】実施形態において確立されるコネクションの概要を示す図である。
【図7】実施形態におけるデータ送信処理の流れを示すフローチャートである。
【図8】実施形態におけるデータ送受信の流れを示すシーケンス図である。
【発明を実施するための形態】
【0026】
<システムの構成>
以下、本発明に係るVPNシステムの実施の形態について、図面に基づいて説明する。なお、以下に説明する実施の形態は、本発明を実施する一例を示すものであって、本発明を以下に説明する具体的構成に限定するものではない。本発明を実施するにあたっては、実施の形態に応じた具体的構成が適宜採用されることが好ましい。
【0027】
本発明に係る情報処理装置は、複数の物理回線を介してネットワークに接続可能なものであればよく、本発明に係る情報処理装置を備えるシステムも、複数の情報処理装置(コンピュータ)が、複数の物理回線を介して通信を行うことが可能なシステムであれば適用可能である。例えば、本実施形態に係るVPNシステムは、通常のVPN、基幹業務でのVPN、クラウド等のデータセンター間でのデータ通信用ネットワーク、等の様々なネットワークに用いることが出来る。
【0028】
図1は、本実施形態に係るVPNシステムの構成の概略を示す図である。本実施形態に係るVPNシステムは、複数のVPNゲートウェイ1a、1bがインターネット等のネットワーク9を介して通信可能に接続されたシステムである。VPNゲートウェイ1a、1bのWAN(Wide Area Network)側ネットワークインターフェースには、ネットワーク9への複数の物理回線が収容されている。本実施形態では、VPNゲートウェイ1aのWAN1(WANポート1)が第一の物理回線100に接続され、VPNゲートウェイ1aのWAN2(WANポート2)が第二の物理回線200に接続され、VPNゲートウェイ1bのWAN1(WANポート1)が物理回線300に接続され、VPNゲートウェイ1bのWAN2(WANポート2)が物理回線400に接続されている。なお、VPNゲートウェイ1a、1bにおいて、WAN1に接続される物理回線と、WAN2に接続される物理回線とは、性質の異なる回線とすることが好ましい。例えば、一方が光ブロードバンド回線である場合には他方をCATV回線や電力系回線等とすることで、VPNシステムの信頼性を高めることが出来る。
【0029】
また、VPNゲートウェイのLAN(Local Area Network)ポートには、1または複数のプライベートネットワーク(LAN)が接続されている。これらのプライベートネットワークのデフォルトゲートウェイはVPNゲートウェイ1aまたは1bであり、プライベートネットワークに接続された端末2a、2bは、VPNゲートウェイ1aまたは1bを介して、VPNゲートウェイ1aまたは1bのWAN側ネットワークインターフェースに接続された外部ネットワークと通信可能となっている。なお、上記各装置間の接続形態は有線接続であるか無線接続であるかを問わない。また、本実施形態では、IPネットワークが用いられるが、装置間の通信に用いられる通信方式やプロトコルは、各装置間で必要な情報を送受信可能なものであればよく、IPに限定されない。VPNの方式に関しても、本発明は、SSH、TLS、SSL等、様々な方式のVPNにおいて採用することが可能である。
【0030】
VPNゲートウェイ1a、1bは、管理下のネットワークと、他のVPNゲートウェイ
(本実施形態では、VPNゲートウェイ1a、1bの何れか)の管理下のネットワークとの間の通信を仲介するVPNゲートウェイ装置である。VPNゲートウェイ1a、1bは、自己のLAN側ネットワークインターフェースに接続されたプライベートネットワークから送信された、他のVPNゲートウェイ1a、1bのLAN側ネットワークインターフェースに接続されたプライベートネットワーク宛のパケットを暗号化し、ヘッダや認証データ等を付す等してカプセリングすることで、複数のプライベートネットワーク間の通信を秘匿化し、仮想的なトンネルを構築する。このようにして複数のプライベートネットワーク間の通信がトンネリングされることで、VPNが構築される。
【0031】
図2は、本実施形態に係るVPNゲートウェイのハードウェア構成の概略を示す図である。本実施形態に係るVPNゲートウェイ1a、1bは、何れも、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)、ネットワークインターフェースおよび記憶装置(ストレージ)を備える、情報処理装置(コンピュータ)である。ここで、VPNゲートウェイ1a、1bは、ネットワークインターフェースとして、プライベートネットワークが接続されるLAN側ネットワークインターフェース(LANポート)と、ネットワーク9側へ接続されるWAN側ネットワークインターフェース(WAN1およびWAN2)と、を備える。
【0032】
また、端末2a、2bは、VPNゲートウェイ1a、1bと同様、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)、ネットワークインターフェースおよび記憶装置(ストレージ)を備える、情報処理装置(コンピュータ)である。なお、VPNゲートウェイ1a、1bおよび端末2a、2b等が備える記憶装置としては、例えば、EEPROM(Electrically Erasable Programmable ROM)やHDD(Hard Disk Drive)、SSD(Solid State Drive)等を用いることが出来る。
【0033】
VPNゲートウェイ1a、1bに設定されているデフォルトゲートウェイは、一般にはインターネットへの接続を提供するISP(Internet Service Provider)のルータである。即ち、VPNゲートウェイ1a、1bは、LAN側ネットワークインターフェースで受信したパケットのうち、VPNに送出されるパケット以外のパケットについては、原則としてISPのルータへ送信する。
【0034】
図3は、本実施形態に係るVPNゲートウェイの機能構成の概略を示す図である。VPNゲートウェイ1a、1bは、夫々、RAMまたはROMに展開された通信用プログラムをCPUが実行して、RAM、ROM、ネットワークインターフェースおよび記憶装置等の各構成を制御することで、送受信部11、VPN処理部12、情報取得部13、コネクション確立部14、情報交換部15、経路特定部16、通信速度計測部17、利用適否判断部18、優先度設定部19およびシーケンス付加部20を備えるVPNゲートウェイ1a、1bとして機能する。本実施形態に係るVPNシステムでは、単一のソフトウェア(通信用プログラム)によって複数のVPNコネクションが管理され、後述するコネクション確立処理およびデータ送信処理が行われることで、迅速な制御を実現する。
【0035】
送受信部11は、VPNゲートウェイ1a、1bの管理下のプライベートネットワーク、換言すれば、VPNゲートウェイ1a、1bのLAN側ネットワークインターフェースに接続されたネットワークに属する端末2a、2bとの間でパケットを送受信し、また、ネットワーク9を介して接続された他のVPNゲートウェイ1a、1bとの間で、VPN処理部12によってカプセル化処理されたVPNパケット(ユーザデータ)およびコントロールデータを送受信する。
【0036】
VPN処理部12は、管理下のプライベートネットワークから受信されたパケットに、他のVPNゲートウェイ1a、1bへパケットを転送するための情報を付加することでカプセル化するカプセル化処理と、VPNコネクションの接続相手側のVPNゲートウェイ1b、1aから受信されたVPNパケット(カプセル化パケット)から、転送のための情報が付加される前(カプセル化前)のパケットを取り出すパケット取出処理と、を実行する。
【0037】
図4は、本実施形態に係るVPNトンネル構成テーブルの構成を示す図である。VPNトンネル構成テーブルは、本実施形態において複数確立されるVPNコネクションを束ねて用いるために参照される情報を保持するテーブルであり、各VPNコネクションとパスとの組み合わせに関連付けて、VPNコネクションの通信速度、および重みが保持されている。本実施形態において、「重み」とは、VPNコネクションを束ねて1つのVPNトンネルとして使用する際に、各パケットの送信に用いるVPNコネクションを決定するために参照される優先度を示す情報である。
【0038】
<処理の流れ>
次に、本実施形態に係るコネクション確立処理、データ送信処理、およびデータ送受信の流れについて説明する。なお、以下に説明する処理の流れでは、VPNゲートウェイ1aからVPNコネクションを確立する場合のコネクション確立処理、VPNゲートウェイ1aからデータ送信する場合のデータ送信処理、およびVPNゲートウェイ1aがデータ送信側である場合のデータ送受信の流れ、について説明する。但し、VPNゲートウェイ1bからVPNコネクションを確立する場合のコネクション確立処理、VPNゲートウェイ1bからデータ送信する場合のデータ送信処理、およびVPNゲートウェイ1bがデータ送信側である場合のデータ送受信の流れ、についても、処理の主体が異なるのみであり、処理の内容は概略同様である。
【0039】
図5は、本実施形態におけるコネクション確立処理の流れを示すフローチャートである。本フローチャートに示された処理は、VPNゲートウェイ1aの起動が完了したことを契機として実行される。但し、本フローチャートに示された処理は、VPNゲートウェイ1aがVPNゲートウェイ1a配下のプライベートネットワークからVPNゲートウェイ1b配下のプライベートネットワーク宛のパケットを受信したことや、設定された所定の時刻が到来したこと、VPNコネクション確立を指示する入力を受け付けたこと等、その他のイベントに応じて実行開始されてもよい。なお、本フローチャートに示された処理の具体的な内容および順序等は、本発明を実施する上での一例である。具体的な処理内容および順序等は、実施の形態に応じて適宜選択されることが好ましい。
【0040】
ステップS101では、予め設定された回線情報が取得される。VPNゲートウェイ1aの情報取得部13は、本フローチャートの処理が実行されるのに先立って設定された、VPNに用いられる物理回線の指定(回線情報)を、VPNゲートウェイ1a記憶装置から取得する。ここで取得される回線情報には、VPNゲートウェイ1aが有する物理回線の回線情報(例えば、VPNゲートウェイ1aのWAN1およびWAN2)の他、VPNコネクションの確立相手方となるVPNゲートウェイ1bが有する物理回線の回線情報(例えば、VPNゲートウェイ1bのWAN1およびWAN2)が含まれる。
【0041】
なお、VPNに用いられる回線情報は、VPNゲートウェイ1aの記憶装置以外の場所に保持されていてもよい。例えば、VPNゲートウェイ1aの情報取得部13は、管理サーバ(図示は省略する)に予め設定された回線情報を、ネットワーク9等を介して取得してもよい。管理サーバからは、接続相手となる情報処理装置(本実施形態では、VPNゲートウェイ1b)のIPアドレスも取得されてよい。VPNゲートウェイ1a、1bは、
管理サーバに自装置のIPアドレスをアップロードしておき、相手方のVPNゲートウェイに取得させることで、管理サーバを介してIPアドレスを取得することが出来る。
【0042】
また、回線情報のうち、自装置(VPNゲートウェイ1a)に係る物理回線の情報は、予め設定されていなくともよい。VPNゲートウェイ1aの情報取得部13は、自装置のRAMを参照することで、VPNゲートウェイ1aにおいて現在アクティブな物理回線の全てをVPNに用いる回線情報として取得してもよいし、現在アクティブな物理回線のうち所定の条件を満たす回線をVPNに用いる回線情報として取得してもよい。ここで、所定の条件としては、例えば、物理回線が所定以上の通信速度や帯域を有していること、等が用いられてよい。その後、処理はステップS102へ進む。
【0043】
ステップS102では、一つ目のVPNコネクションが確立される。VPNゲートウェイ1aのコネクション確立部14は、ステップS101において取得された回線情報において指定された物理回線のうちの、VPNゲートウェイ1a側の何れか1つの物理回線と、VPNゲートウェイ1b側の何れか1つの物理回線と、の間に、VPNコネクションを確立する。例えば、本実施形態では、VPNゲートウェイ1a側の第一の物理回線100と、VPNゲートウェイ1b側の物理回線300との間に、VPNコネクションが確立される。
【0044】
VPNコネクションは、VPNゲートウェイ1aまたはVPNゲートウェイ1bの何れかから、相手方のVPNゲートウェイに対してVPNコネクションの確立要求が送信され、これを受けてVPNコネクション確立に必要な処理(認証、VPNコネクションの識別子の決定、等)が実行されて確立されるのが一般的である。但し、VPNコネクションの確立処理の具体的な内容は、採用されるVPN用プロトコルによって様々であり、VPNコネクションの確立には従来のVPN技術を採用することが可能であるため、詳細な説明は省略する。以下、VPNゲートウェイ1a側の第一の物理回線100とVPNゲートウェイ1b側の物理回線300とを用いた通信経路を「パス1」と称し、パス1において確立されたVPNコネクションを「VPNコネクション1」と称する。その後、処理はステップS103へ進む。
【0045】
ステップS103では、VPNゲートウェイ間での情報交換が行われる。VPNゲートウェイ1aおよびVPNゲートウェイ1bの情報交換部15は、ステップS102において確立されたVPNコネクション1を介して、以降の処理において必要な情報を交換する。ここで交換される情報には、例えば、ステップS101において取得された物理回線以外にVPN用途に利用できる回線があるか否か、および利用できる回線がある場合にはその回線の回線情報、等が含まれる。より具体的には、VPNゲートウェイ1aおよびVPNゲートウェイ1bは、VPNコネクション1においてVPN用途に利用できる回線の有無の問い合わせ、および問合せに対する応答、等をコントロールデータとして送受信することで、情報交換を行う。なお、コントロールデータとは、VPNコネクションの制御に用いられるデータであり、認証用のデータ、鍵交換用のデータ、VPNコネクションの回線状況の確認用のデータ、等を含む。パケットの送受信処理の遅延を防止するため、VPNゲートウェイ1aのCPUは、コントロールデータを扱う処理を、ユーザデータを扱う処理とは異なるスレッドで実行することが好ましい。本実施形態では、コントロールデータとして、VPNの冗長化および高速化のために用いられる情報が、VPNゲートウェイ1a、1b間で交換される。その後、処理はステップS104へ進む。
【0046】
ステップS104では、利用可能なパス数が算出される。VPNゲートウェイ1aの経路特定部16は、ステップS101およびステップS103において取得された回線情報に基づいて、VPNゲートウェイ1bに対してVPNコネクションを確立可能なパスの数を算出する。VPNゲートウェイ1aからVPNゲートウェイ1bに対してVPNコネク
ションを確立可能なパスの数は、以下の式を用いて算出される。
【0047】
利用可能なパス数 = (VPNゲートウェイ1aが有するVPN利用可能な物理回線の数) * (VPNゲートウェイ1bが有するVPN利用可能な物理回線の数)
【0048】
図6は、本実施形態において確立されるコネクションの概要を示す図である。図6に示された例では、VPNゲートウェイ1aはVPN利用可能な2つの物理回線100、200を有しており、VPNゲートウェイ1bはVPN利用可能な2つの物理回線300、400を有している。このため、VPNゲートウェイ1aとVPNゲートウェイ1bとの間の利用可能パス数は、4(=2*2)である。即ち、図1に示された例では、ステップS102においてVPNコネクションが確立されたパス1の他に、VPNゲートウェイ1a側の第一の物理回線100とVPNゲートウェイ1b側の物理回線400とを用いたパス2、VPNゲートウェイ1a側の第二の物理回線200とVPNゲートウェイ1b側の物理回線300とを用いたパス3、VPNゲートウェイ1a側の第二の物理回線200とVPNゲートウェイ1b側の物理回線400とを用いたパス4、が存在する。経路特定部16は、情報取得部13によって取得された回線情報および情報交換部15によって交換された回線情報に基づいて、VPNコネクションの確立に用いることが可能なパスとして、上記パス1、パス2、パス3およびパス4を特定する。その後、処理はステップS105へ進む。
【0049】
ステップS105では、夫々の利用可能パスにおいて、個別にVPNコネクションが確立される。VPNゲートウェイ1aのコネクション確立部14は、ステップS104において特定されたパスのうち、既にVPNコネクション1が確立されているパス1を除くパス(パス2、パス3およびパス4)の夫々において、VPNコネクション2、VPNコネクション3およびVPNコネクション4を確立する。VPNコネクションの具体的な確立方法は、VPNコネクションが確立される物理回線が異なることを除いて、ステップS102において説明したVPNコネクションの確立と同様である。なお、パケットの送受信処理の遅延を防止するため、VPNゲートウェイ1aのCPUは、接続されていないVPNコネクションの確立や再確立を、他のVPNコネクションを扱う処理とは異なるスレッドで実行することが好ましい。
【0050】
図6に示した例では、VPNゲートウェイ1aのWAN1に収容された第一の物理回線100とVPNゲートウェイ1bのWAN1に収容された物理回線300とを用いたパス1においてVPNコネクション1が確立され、第一の物理回線100とVPNゲートウェイ1bのWAN2に収容された物理回線400とを用いたパス2においてVPNコネクション2が確立されている。また、VPNゲートウェイ1aのWAN2に収容された第二の物理回線200とVPNゲートウェイ1bの物理回線300とを用いたパス3においてVPNコネクション3が確立され、VPNゲートウェイ1aの第二の物理回線200とVPNゲートウェイ1bの物理回線400とを用いたパス4においてVPNコネクション4が確立されている。利用可能なパスについてVPNコネクションが確立されると、本フローチャートに示された処理は終了し、処理はデータ送信処理へ進む。
【0051】
本実施形態に係るVPNシステムによれば、このような複数のVPNコネクションが確立されることによって、物理回線(下位レイヤ)に障害が発生した場合にも、影響を受けないパスにおけるVPNコネクションによって通信を途切れさせることなく維持することが出来る。即ち、本実施形態に係るVPNシステムによれば、再接続処理やバックアップ回線への切替処理等が不要である。
【0052】
より具体的には、本実施形態に係るVPNシステムにおいては、物理回線が1つ不通となった場合でも、2つのVPNコネクションがそのまま継続利用可能である。また、本実
施形態に係るVPNシステムでは、VPNゲートウェイ1a側で1つ、VPNゲートウェイ1b側で1つの物理回線が生きていれば、何れかのVPNコネクションが途切れずにそのまま確立維持された状態となっており、通信の瞬断も発生しない。従来の回線冗長化方式では、一方のゲートウェイ側で1つ、他方のゲートウェイ側で1つの物理回線が生きていても、コネクションの切断が発生する。また、バックアップ用のコネクションが設定されているネットワークであっても、従来は通信の切断が検知されてからコネクションが張り直されていたため、通信の途切れが発生する。
【0053】
図7は、本実施形態におけるデータ送信処理の流れを示すフローチャートである。本フローチャートに示された処理は、図5を用いて説明したコネクション確立処理が終了したことを契機として実行される。なお、本フローチャートに示された処理の具体的な内容および順序等は、本発明を実施する上での一例である。具体的な処理内容および順序等は、実施の形態に応じて適宜選択されることが好ましい。
【0054】
ステップS201では、回線状況の悪いVPNコネクション、またはVPNコネクションが切断されているパスについて、VPNコネクションの再確立が試行される。但し、ステップS201に示された処理は、ステップS207において後述するトンネルの再構成が行われた場合に実行される処理である。このため、ステップS201の処理の詳細は、ステップS207とともに後述する。
【0055】
ステップS202では、各VPNコネクションの速度が双方向で計測される。VPNゲートウェイ1aの通信速度計測部17は、上記説明したVPNコネクション確立処理において確立されたVPNコネクションの夫々において、所定のサイズのデータを交換し、応答にかかった時間を計測することで、各VPNコネクションの通信速度を取得する。より具体的には、通信速度計測部17は、各VPNコネクションにおいて、VPNゲートウェイ1aからVPNゲートウェイ1bに対して要求パケットを送信し、要求の送信からVPNゲートウェイ1aがVPNゲートウェイ1bからの応答パケットを受信するまでにかかった時間を計測することで、各VPNコネクションの速度を取得する。取得された通信速度は、VPNトンネル構成テーブルに保存される。また、通信速度計測部17は、各VPNコネクションにおいてパケットがVPNゲートウェイ1aから送信されてからVPNゲートウェイ1bに到達するまでに要した時間(以下、「到達時間」と称する)を、VPNゲートウェイ1aにおける送信時刻とVPNゲートウェイ1bにおける受信時刻とを用いて算出することで取得する。なお、到達時間の算出に必要な情報は、VPNゲートウェイ1bから取得される。また、本実施形態では、速度計測のために交換されるデータは、各VPNコネクションにおけるコントロールデータとして交換される。但し、ユーザデータのトラフィックが所定の閾値以上である場合には、コントロールデータで負荷をかけないよう、速度計測を行わないか、速度計測を次回以降の速度計測タイミングまで延期することとしてもよい。その後、処理はステップS203へ進む。
【0056】
なお、VPNコネクションの速度は、コントロールデータのデータ交換速度を計測する方式に代えて、ユーザデータのトラフィックを監視する方式を用いて計測されてもよい。VPNゲートウェイ1a、1bは、トラフィックを監視することで得られたユーザデータのトラフィック情報(ユーザデータのサイズおよびデータ転送にかかった時間等を含む)を、相手方のVPNゲートウェイとの間でコントロールデータとして交換し、得られたトラフィック情報(ユーザデータのサイズおよびデータ転送にかかった時間等)に基づいて速度を算出することが出来る。
【0057】
ステップS203では、回線状況の悪いVPNコネクションの有無(VPNコネクションの利用適否)が判定される。ステップS202において速度計測のために送受信されるパケットは、各VPNコネクションの回線状況の確認用パケット(所謂KeepAliv
e)としても利用される。但し、KeepAliveは、速度計測のためのパケットとは別に送信されることとしてもよい。VPNゲートウェイ1aの利用適否判断部18は、VPNコネクションの、送受信部11によるデータ送信における利用適否を判断する。より具体的には、利用適否判断部18は、KeepAliveパケットを送信したVPNコネクションにおいて、VPNゲートウェイ1bからの応答がタイムアウトした場合、当該VPNコネクション(パス)の回線状況が悪い、換言すれば、利用に適さないVPNコネクションであると判断する。回線状況の悪いVPNコネクション(回線状況の確認に失敗したVPNコネクション)が有る場合、処理はステップS207へ進む。これに対して、回線状況の悪いVPNコネクションが発見されなかった場合、処理はステップS204へ進む。
【0058】
ステップS204では、各VPNコネクションの重み付けが行われる。VPNゲートウェイ1aの優先度設定部19は、ステップS202において計測された各VPNコネクションの速度に基づいて、重み付けラウンドロビンによって用いられる各VPNコネクションの重み付け(優先度設定)を行う。図4に示された例では、各VPNコネクションの速度が、各VPNコネクションにおいて、データ要求の送信から応答の受信までにかかった時間で示されている。例えば、VPNコネクション1の速度は20msecであり、VPNコネクション2の速度は40msecであり、VPNコネクション3の速度は80msecであり、VPNコネクション4の速度は20msecである。本実施形態では、優先度設定部19は、VPNトンネル構成テーブルを参照し、最も遅いVPNコネクション(ここでは、VPNコネクション3)を基準として、各VPNコネクションが基準となるVPNコネクションの何倍の速さであるかを算出することで、重み付けを行う。具体的には、図4に示された例では、VPNトンネル構成テーブルに、重み(weight)として、VPNコネクション1に値「4」が、VPNコネクション2に値「2」が、VPNコネクション3に値「1」が、VPNコネクション4に値「4」が設定される。各VPNコネクションの重み付けが完了すると、処理はステップS205へ進む。
【0059】
なお、通信速度が使用に適さない速度を示す閾値よりも遅いVPNコネクションがある場合は、当該VPNコネクションをVPNトンネルから除外し、重み付けを行わないこととしてもよい。なお、VPNコネクションの除外は、該当するコネクションが除外されることを示すフラグやリスト等を用いて行われてもよいし、VPNトンネル構成テーブルにおいて該当するVPNコネクションの重みを0(ゼロ)に設定することで行われてもよい。
【0060】
ステップS205では、ユーザデータが送信される。VPNゲートウェイ1aのVPN処理部12は、VPNゲートウェイ1a配下のプライベートネットワークからVPNゲートウェイ1b配下のプライベートネットワーク宛のパケットを受信すると、受信したパケットにVPNゲートウェイ1bへパケットを転送するための情報を付加して、受信したパケットをカプセル化することで、VPNパケット(カプセル化パケット)を作成する。VPNパケットが作成されると、VPNゲートウェイ1aの送受信部11は、作成されたVPNパケットを、コネクション確立部14によって確立された複数のVPNコネクションを介して、VPNゲートウェイ1bへ送信する。送信されたVPNパケットを受信したVPNゲートウェイ1bは、受信されたVPNパケットから、転送のための情報が付加される前のパケットを取り出し、取り出されたパケットをVPNゲートウェイ1b配下のプライベートネットワークに転送する。
【0061】
本実施形態に係るデータ送信処理において、VPNゲートウェイ1a、1bは、確立された複数のVPNコネクション1〜4を、全体として1つのVPNトンネルとして用いる。この際、送受信部11は、VPNコネクションを、優先度に応じて用いて、相手方のVPNゲートウェイに対してデータを送信する。本実施形態において、VPNゲートウェイ
1aがVPNゲートウェイ1bに対してVPNパケットを送信するために用いるVPNコネクションは、重み付けラウンドロビン(Weighted Round−robin、加重ラウンドロビン)で決定される。
【0062】
重み付けラウンドロビンでは、各VPNコネクションに予め重み付け(優先度設定)がなされ、重み(優先度)の大きいVPNコネクションがより多く利用されるようにスケジューリングされる。具体的には、本実施形態では、重み付けラウンドロビンにおいて、ステップS204でVPNトンネル構成テーブルに設定された重みが参照され、利用される。送受信部11は、一回のラウンドロビンにおいて、重み4が設定されたVPNコネクション1およびVPNコネクション4が4回(4スロット)、重み2が設定されたVPNコネクション2が2回(2スロット)、重み1が設定されたVPNコネクション3が1回(1スロット)利用されるようにスケジューリングし、各スロットにおいてVPNゲートウェイ1b宛のVPNパケットを送信する。
【0063】
例えば、データ送信に用いられるスロットは、以下のような順序で各VPNコネクションに割り当てられてよい。
(1)コネクション1→コネクション2→コネクション3→コネクション4→
(2)コネクション1→コネクション2→コネクション4→
(3)コネクション1→コネクション4→
(4)コネクション1→コネクション4→(1)へ戻る
【0064】
ステップS206では、所定の更新時間が経過したか否かが判定される。VPNゲートウェイ1aは、ステップS202におけるVPNコネクションの速度計測および回線状況の確認から所定の更新時間が経過しているか否かを判定する。VPNコネクションの速度計測および回線状況の確認から更新時間が経過していないと判定された場合、処理はステップS205へ戻る。VPNコネクションの速度計測および回線状況の確認から更新時間が経過していると判定された場合、処理はステップS201へ戻る。即ち、本フローチャートに示された処理では、更新時間毎にVPNコネクションの速度計測および回線状況の確認が行われることで、VPNにおいて用いるVPNコネクションの状況が更新され(ステップS202)、ユーザデータの送信に用いられるVPNコネクションの重み付けが更新される(ステップS204)。このようにすることで、本実施形態に係るVPNシステムによれば、常に最新の回線状況に基づいて、効率のよいユーザデータの送信を行うことが出来る。
【0065】
次に、回線状況の悪いVPNコネクション(回線状況の確認に失敗したVPNコネクション)が発見された場合の処理について説明する。ステップS203においてKeepAliveパケットへの応答がタイムアウトした場合、利用適否判断部18は、タイムアウトが発生したVPNコネクションの回線状況が悪いと判断する。この場合、処理はステップS207へ進む。
【0066】
ステップS207では、トンネルが再構成される。VPNゲートウェイ1aの優先度設定部19は、ステップS203において利用適否判断部18によって回線状況が悪く利用に適さないと判断されたVPNコネクションを使用しない(利用対象から除外する)設定を行うことで、VPNトンネルの再構成を行う。例えば、VPNコネクション3においてKeepAliveがタイムアウトした場合、優先度設定部19は、VPNコネクション3をVPNゲートウェイ1bとの間のVPN通信に用いる対象VPNコネクションから除外する設定を行う。
【0067】
更に、優先度設定部19は、除外されたVPNコネクション以外の各VPNコネクションについての重み付けを更新する。例えば、VPNコネクション3が除外された場合、残
るVPNコネクション1の速度は20msecであり、VPNコネクション2の速度は40msecであり、VPNコネクション4の速度は20msecであるため、最も遅いVPNコネクション2を基準に、重みとして、VPNコネクション1に値「2」が、VPNコネクション2に値「1」が、VPNコネクション4に値「2」が設定される。なお、送信側トンネル構成から除外されたVPNコネクション(パス)は、バックアップ回線に指定される等して冗長化に利用されてもよい。トンネルの再構成の結果はVPNトンネル構成テーブルに保存され、処理はステップS201へ進む。
【0068】
ステップS201では、回線状況の悪いVPNコネクション、またはVPNコネクションが切断されているパスについて、VPNコネクションの再確立が試行される。VPNゲートウェイ1aのコネクション確立部14は、ステップS207において除外されたVPNコネクション、および他の原因でVPNコネクションが切断されているパスについて、VPNコネクションの確立を試行する。VPNコネクションの具体的な確立方法は、VPNコネクションが確立される物理回線が異なることを除いて、ステップS102において説明したVPNコネクションの確立と同様である。
【0069】
即ち、本フローチャートに示されたデータ送信処理によれば、回線状況の悪いVPNコネクションを定期的に発見して利用対象から除外することで通信の品質を保ちつつ、除外されたVPNコネクションについて定期的にVPNコネクションの再確立を試行することが出来る。
【0070】
本実施形態に係るVPNシステムによれば、速度がより速いVPNコネクションに、より高い優先度を設定して、重み付けラウンドロビンを用いることにより、トラフィックをより効率よくVPNコネクションに割り振り、データ送信の速度を高めることが出来る。ここで、VPNコネクションの速度が互いに同等であった場合、ラウンドロビンによるパスの多重化によってより大きな高速化が期待できる。
【0071】
なお、送信に用いるVPNコネクションを決定するためのアルゴリズムには、重み付けラウンドロビン以外の方法が採用されてもよい。例えば、通信速度が所定値以上乖離した複数のVPNコネクションが確立されている場合、ユーザデータの送信に、より高速なVPNコネクションとより低速なVPNコネクションとの何れを使用するかを、プロトコルや送信元等の定義に基づいて決定するオプションを用意し、必要に応じて、待機しているVPNコネクションを利用する事としてもよい。また、その他のVPNコネクションを決定方式として、重み付けを行わないラウンドロビンが採用されてもよい。
【0072】
なお、本実施形態のように、複数のVPNコネクションを束ねて1つのVPNトンネルとして利用した場合、パケットの到着がデータ転送に用いたVPNコネクションの転送速度によって前後する可能性がある。即ち、エンド−エンド間、図1に示す例では端末2aから順次送信されたパケットが、送信順序と異なる到着順序で端末2bによって受信される可能性がある。このようなデータ到着順序の不整合の問題は、例えば、UDPのようなシーケンス制御を行わないプロトコルを用いた場合や、TCPの送信側において再送処理を行った場合、TCPにおいて受信側高速再送処理や選択的肯定応答を用いた場合等に発生し得る。
【0073】
本実施形態では、重み付けラウンドロビンによってVPNトンネルの構成アルゴリズムが決定される。このため、このようなデータ到着順序の不整合の発生は抑制されるが、それでも不整合が発生する場合には、不整合に対する対処が行われることが好ましい。ここで、データ到着順序の不整合に対しては、データを利用する端末の上位プロトコルにおいて対応することも考えられる。しかし、必ずしも上位プロトコルがデータ到着順序の不整合に対応する機能を有しているとは限らない。そこで、本実施形態では、VPNコネクシ
ョンを介して送受信されるユーザデータをカプセル化する際に、データの先頭にシーケンスを付加することで、データ到着順序の不整合に対応することとした。以下、本実施形態におけるデータ到着順序の不整合への対応方法を、図8を用いて説明する。
【0074】
図8は、本実施形態におけるデータ送受信の流れを示すシーケンス図である。本シーケンス図に示された処理は、VPNゲートウェイ1aが、データ送信処理(図7を参照)のステップS205に示されたユーザデータの送信を開始したことを契機として実行される。なお、本シーケンス図に示された処理の具体的な内容および順序等は、本発明を実施する上での一例である。具体的な処理内容および順序等は、実施の形態に応じて適宜選択されることが好ましい。
【0075】
ステップS301およびステップS302では、パケットにシーケンスが付加され、VPNパケットが送信される。VPNゲートウェイ1aのVPN処理部12は、VPNゲートウェイ1a配下のプライベートネットワークからVPNゲートウェイ1b配下のプライベートネットワーク宛のパケットを受信すると、受信したパケットにVPNゲートウェイ1bへパケットを転送するための情報を付加して、受信したパケットをカプセル化することで、VPNパケット(カプセル化パケット)を作成する。ここで、VPNゲートウェイ1aのシーケンス付加部20は、ユーザデータをカプセル化する際に、データの先頭に、パケットの順序を示すシーケンスを付加する(ステップS301)。VPNパケットが作成されると、VPNゲートウェイ1aの送受信部11は、作成されたVPNパケットを、コネクション確立部14によって確立された複数のVPNコネクションを介して、VPNゲートウェイ1bへ送信する(ステップS302)。なお、この際、送受信部11は、VPNコネクションを、優先度に応じて用いて、相手方のVPNゲートウェイに対してデータを送信する(ステップS205の重み付けラウンドロビンの説明を参照)。
【0076】
ステップS303からステップS306では、データ受信側のVPNゲートウェイ1bにおいて、VPNパケットの受信、カプセル化解除、シーケンス整合、およびパケットの転送が行われる。VPNパケットを受信したVPNゲートウェイ1bは、受信されたVPNパケットから、カプセル化される前のパケットを取り出す(ステップS303およびステップS304)。ここで、VPNゲートウェイ1bは、所定のバッファ時間シーケンスを整える(ステップS305)。即ち、VPNゲートウェイ1bは、受信したユーザデータのシーケンスが実際の受信順序と一致している場合にはそのまま処理するが、シーケンスが飛んでいる場合には、受信パケットを転送せずに、シーケンスが飛んで受信されたパケットの受信時間から所定のバッファ時間(例えば、20ミリ秒)保留し、その時間内にシーケンスが一致するデータが到着すれば、シーケンスを整えて、シーケンスに示された順に転送する。
【0077】
ここで、所定のバッファ時間には、エンド−エンド間におけるパケットの送受信で許容できる程度の遅延のみを与える時間が設定される。エンド−エンド間におけるパケットの送受信で許容できる遅延の程度は、パケットに含まれるデータを用いる上位プロトコルやアプリケーションによっても異なるため、この所定のバッファ時間は、上位プロトコルやアプリケーションに応じて設定されてもよい。本実施形態では、ここで設定されるバッファ時間は、ステップS202において速度と併せて計測された到達時間(各VPNコネクションにおいてパケットがVPNゲートウェイ1aから送信されてからVPNゲートウェイ1bに到達するまでに要した時間)、または到達時間の平均値を用いて算出される。本実施形態では、バッファ時間として、到達時間(またはその平均値)に2を乗算した値が設定される。例えば、到達時間が10ミリ秒である場合、バッファ時間は20ミリ秒(=10ミリ秒*2)となる。但し、バッファ時間の算出方法は前記した例に限られない。バッファ時間の算出には、到達時間に所定の時間を積算して算出する方法等、実施の形態に応じて適した方法が採用されることが好ましい。また、バッファ時間には、各VPNコネ
クションにおいてパケットがVPNゲートウェイ1aから送信されてからこのパケットに対するVPNゲートウェイ1bからの応答パケットがVPNゲートウェイ1aによって受信されるまでに要した時間(または、その平均値)等、その他の方法で算出された時間が設定されてもよいし、管理者によって任意の値が設定されてもよい。
【0078】
なお、送信順序において先に使用されるVPNコネクションの到達時間が、後に使用されるVPNコネクションの到達時間によりも長い場合、これらのVPNコネクション間で、パケットの受信順序が送信順序と、ほぼ毎回入れ替わる可能性がある。このような場合には、未到着のパケットの送受信に用いられるVPNコネクションの到達時間を基に算出された未到着のパケットの到達予定時刻まで待てば、未到着のパケットが受信されると考えられる。このため、このような場合には、所定のバッファ時間として、未到着のパケットの送受信に用いられるVPNコネクションの到達時間と到着済みパケットの送受信に用いられるVPNコネクションの到達時間との差分が設定されてもよい。
【0079】
シーケンスが整えられると、VPNゲートウェイ1bは、取り出されたパケットをVPNゲートウェイ1b配下のプライベートネットワークに転送する(ステップS306)。
【0080】
ステップS307では、必要に応じて、送信アルゴリズムの変更指示が送信される。ゲートウェイ1bの送受信部11は、シーケンスとデータ到着順序との不整合が所定の条件に合致した場合に、VPNゲートウェイ1aに対して送信アルゴリズムの変更指示(通知)を送信する(ステップS307)。本実施形態では、受信側であるVPNゲートウェイ1bにおいて所定の監視時間以内にシーケンスの順序が保てない場合、換言すると、所定の監視時間において所定の基準(閾値)以上のシーケンスの不整合が発生している場合、VPNゲートウェイ1bは、送信側であるVPNゲートウェイ1aの送信アルゴリズムに変更を加えるように指示する通知を、VPNゲートウェイ1a宛に送信する。
【0081】
本実施形態では、所定の監視時間(例えば、1分)において発生したパケットの再送要求が、所定の基準(例えば、5)以上であるか否かが判定される。所定の基準には、「1」が設定されてもよい。VPNでは、VPNを流れるパケットを全てカプセル化するため、パケットの内容を参照して、特定のパケットを検知することが出来る。検知対象となるパケットの種類を特定のパケットに限定することで、パケットの検知処理に伴うパケット転送の遅延(レイテンシ)を抑制することが出来る。本実施形態では、受信されたパケットから再送要求パケットを検知し、所定の監視時間内に検知された再送要求の数が所定の基準以上である場合に、送信アルゴリズムの変更指示を送信する。但し、検知されるパケットは、遅延が発生した際に送信されるパケットであればよく、再送要求パケットに限定されない。なお、監視時間は、TCPのsackや高速再送処理が見られる場合には、自動的に短くなるよう設定されてもよい。
【0082】
ステップS308およびステップS309では、アルゴリズムの変更指示が受信され、送信アルゴリズムが変更される。VPNゲートウェイ1aの送受信部11は、VPNゲートウェイ1bによって送信されたアルゴリズムの変更指示を受信する(ステップS308)。VPNゲートウェイ1aの優先度設定部19は、変更指示が受信されたことを受けて、VPNパケットの送信アルゴリズムを、データ到着順序の不整合がより発生しにくいアルゴリズムへ変更する(ステップS309)。
【0083】
例えば、VPNゲートウェイ1aの優先度設定部19は、上記説明した重み付けラウンドロビンにおいて参照されるVPNトンネル構成テーブルを変更することで、VPNパケットの送信アルゴリズムを、データ到着順序の不整合がより発生しにくいアルゴリズムへ変更することが出来る。VPNトンネル構成テーブルを変更する方法としては、例えば、最も遅いコネクションまたは所定の閾値よりも遅いコネクションを除外して、重み付けを
再構成する方法等がある。コネクションの除外および重み付けの再構成については、ステップS207において説明した処理と同様であるため、説明を省略する。また、通知を受信したVPNゲートウェイ1aは、VPNパケットの送信アルゴリズムの変更として、MSS(Maximum Segment Size)またはMTU(Maximum Transmission Unit)の変更を行うこととしてもよい。
【0084】
<システム構成のバリエーション>
なお、本実施形態では、VPNコネクションがVPNゲートウェイ間で確立され、VPNゲートウェイ配下のネットワーク間の通信がVPNを介して行われるVPNシステムについて説明した。但し、本発明は、端末間でVPNコネクションが確立されて端末間の通信がVPNを介して行われるVPNシステムや、端末とVPNゲートウェイとの間でVPNコネクションが確立されて端末とVPNゲートウェイ配下のネットワークとの間の通信がVPNを介して行われるVPNシステムに適用されてもよい。
【0085】
VPNコネクションの一旦が端末である場合、端末の送受信部は、ネットワークを介して接続されたVPNコネクションの相手側装置(VPNゲートウェイまたは端末)との間で、カプセル化処理されたVPNパケットを送受信する。また、端末のVPN処理部は、自装置から送信されるパケットをカプセル化するカプセル化処理と、VPNコネクションの相手側装置から受信されたVPNパケット(カプセル化パケット)から、カプセル化処理前のパケットを取り出すパケット取出処理と、を実行する。
【符号の説明】
【0086】
1a、1b VPNゲートウェイ
11 送受信部
12 VPN処理部
13 情報取得部
14 コネクション確立部
15 情報交換部
16 経路特定部
17 通信速度計測部
18 利用適否判断部
19 優先度設定部
20 シーケンス付加部

【特許請求の範囲】
【請求項1】
第一の物理回線および第二の物理回線を介してネットワークに接続される情報処理装置であって、
前記第一の物理回線を介して、他の情報処理装置が前記ネットワークに対して有する複数の物理回線の夫々との間で複数の論理コネクションを確立し、更に、前記第二の物理回線を介して、前記他の情報処理装置が有する前記複数の物理回線の夫々との間で複数の論理コネクションを確立する、コネクション確立手段と、
前記コネクション確立手段によって確立された複数の論理コネクションを介して、前記他の情報処理装置に対してデータを送信するデータ送信手段と、
を備える情報処理装置。
【請求項2】
前記複数の論理コネクションの夫々に対して優先度を設定する優先度設定手段を更に備え、
前記データ送信手段は、前記論理コネクションを、前記優先度に応じて用いて、前記他の情報処理装置に対してデータを送信する、
請求項1に記載の情報処理装置。
【請求項3】
前記複数の論理コネクションの夫々について通信速度を計測する通信速度計測手段を更に備え、
前記優先度設定手段は、前記通信速度に基づいて、前記複数の論理コネクションの夫々に対して優先度を設定する、
請求項2に記載の情報処理装置。
【請求項4】
前記論理コネクションの、前記データ送信手段によるデータ送信における利用適否を判断する利用適否判断手段を更に備え、
前記優先度設定手段は、前記複数の論理コネクションのうち、前記利用適否判断手段によって利用に適さないと判断された論理コネクションを除く論理コネクションの夫々に対して優先度を設定する、
請求項2または3に記載の情報処理装置。
【請求項5】
前記データ送信手段によって送信されるデータにシーケンスを付加するシーケンス付加手段と、
前記シーケンスと前記他の情報処理装置におけるデータ到着順序との不整合が所定の条件に合致した場合に前記他の情報処理装置から送信される通知を受信する通知受信手段と、を更に備え、
前記優先度設定手段は、前記通知が受信されたことを受けて、前記優先度を設定する、
請求項2から4の何れか一項に記載の情報処理装置。
【請求項6】
該情報処理装置および前記他の情報処理装置が有する物理回線の回線情報を取得する回線情報取得手段と、
前記回線情報に基づいて、前記論理コネクションの確立に用いることが可能な経路として、前記第一の物理回線を介した、他の情報処理装置が有する前記複数の物理回線の夫々との間の複数の経路、および前記第二の物理回線を介した、前記他の情報処理装置が有する前記複数の物理回線の夫々との間の複数の経路と、を特定する経路特定手段と、を更に備え、
前記コネクション確立手段は、前記経路特定手段によって特定された経路において、前記論理コネクションを確立する、
請求項1から5の何れか一項に記載の情報処理装置。
【請求項7】
前記コネクション確立手段によって少なくとも1つの論理コネクションが確立された後、確立された論理コネクションを介して該情報処理装置および前記他の情報処理装置が有する物理回線の回線情報を交換する回線情報交換手段を更に備え、
前記経路特定手段は、前記回線情報取得手段によって取得された回線情報および前記回線情報交換手段によって交換された回線情報に基づいて前記経路を特定する、
請求項6に記載の情報処理装置。
【請求項8】
前記情報処理装置は、管理下のネットワークと、他のゲートウェイ装置の管理下のネットワークとの間の通信を仲介するゲートウェイ装置であり、
前記管理下のネットワークに属する送信元端末から送信されたパケットを受信する受信手段と、
前記受信手段によって受信されたパケットに、前記他のゲートウェイ装置へパケットを転送するための情報を付加することでカプセル化するカプセル化手段と、
を更に備え、
前記データ送信手段は、前記カプセル化手段によってカプセル化されたパケットを、前記他のゲートウェイ装置に送信する、
請求項1から7の何れか一項に記載の情報処理装置。
【請求項9】
第一の物理回線および第二の物理回線を介してネットワークに接続されるコンピュータが、
前記第一の物理回線を介して、他のコンピュータが前記ネットワークに対して有する複数の物理回線の夫々との間で複数の論理コネクションを確立し、更に、前記第二の物理回線を介して、前記他のコンピュータが有する前記複数の物理回線の夫々との間で複数の論理コネクションを確立する、コネクション確立ステップと、
前記コネクション確立ステップにおいて確立された複数の論理コネクションを介して、前記他のコンピュータに対してデータを送信するデータ送信ステップと、
を実行する通信方法。
【請求項10】
第一の物理回線および第二の物理回線を介してネットワークに接続されるコンピュータに、
前記第一の物理回線を介して、他のコンピュータが前記ネットワークに対して有する複数の物理回線の夫々との間で複数の論理コネクションを確立し、更に、前記第二の物理回線を介して、前記他のコンピュータが有する前記複数の物理回線の夫々との間で複数の論理コネクションを確立する、コネクション確立ステップと、
前記コネクション確立ステップにおいて確立された複数の論理コネクションを介して、前記他のコンピュータに対してデータを送信するデータ送信ステップと、
を実行させるための通信用プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2012−90241(P2012−90241A)
【公開日】平成24年5月10日(2012.5.10)
【国際特許分類】
【出願番号】特願2010−237675(P2010−237675)
【出願日】平成22年10月22日(2010.10.22)
【出願人】(510068091)株式会社エヴリカ (2)
【Fターム(参考)】