(57)【要約】【課題】ＶＰＮを利用しつつ、ＱｏＳを確保して遅延の少ない通信を行うことが可能な通信制御装置、通信制御方法、および通信制御プログラムを提供する。【解決手段】通信制御装置１１、１２間で、複数のＶＰＮトンネル３０が確立される。通信制御装置１１は、配下のネットワークに接続する通信端末からパケットを受信した場合、受信したパケットの暗号化を行うことによって、暗号化データを作成する。通信制御装置１１は、トンネル条件に応じて、ＶＰＮトンネル３１、３２、３３のうちいずれかを選択する。通信制御装置１１は、選択したＶＰＮトンネル３０に対応付けられているＳＰＩをＥＳＰヘッダに格納する。通信制御装置１１は、ＩＰヘッダおよびＥＳＰヘッダを暗号化データに付加することによって、ＶＰＮパケットを作成し、通信制御装置１２に対して送信する。【選択図】図３
2013062745.tif 000002
【特許請求の範囲】
【請求項１】
通信端末間に介在し、他の通信制御装置との間に構築した仮想プライベートネットワーク（Virtual Private Network、ＶＰＮ）を介して通信を行うことによって前記通信端末間の通信を制御する通信制御装置であって、
複数のＶＰＮトンネルを、前記他の通信制御装置との間で確立する第一確立手段と、
配下の前記通信端末から受信したデータを暗号化した暗号化データに、前記複数のＶＰＮトンネルのうち、前記暗号化データが通過する一のＶＰＮトンネルを示す経路情報を付加する付加手段と、
前記付加手段によって付加された前記経路情報に対応する前記一のＶＰＮトンネルを使用し、前記他の通信制御装置に対して前記暗号化データを送信する第一送信手段と、
前記他の通信制御装置から送信された前記暗号化データを受信する受信手段と、
前記受信手段によって受信された前記暗号化データを、前記暗号化データに付加された前記経路情報によって示される優先度に従って、配下の前記通信端末に送信する第二送信手段と
を備えたことを特徴とする通信制御装置。
【請求項２】
記憶手段の記憶領域であって前記経路情報毎に設けられた複数のデータ領域のうち、前記受信手段によって受信された前記暗号化データに付加された前記経路情報に対応するデータ領域に、前記受信手段によって受信された前記暗号化データを格納する格納手段を備え、
前記第二送信手段は、
前記格納手段によって前記データ領域に格納された前記暗号化データを、前記経路情報によって示される前記優先度の高い前記データ領域に格納された前記暗号化データから優先的に選択し、配下の前記通信端末に送信することを特徴とする請求項１に記載の通信制御装置。
【請求項３】
前記格納手段によって前記データ領域に格納する前記暗号化データの容量が、前記データ領域にて格納可能な残容量を超えている場合、前記暗号化データを前記データ領域に格納せず消去する消去手段を備えたことを特徴とする請求項２に記載の通信制御装置。
【請求項４】
前記複数のＶＰＮトンネルの確立を要求することを示す情報を、要求データのヘッダに付加し、前記要求データを前記他の通信制御装置に対して送信する要求手段と、
前記他の通信制御装置から前記要求データを受信した場合に、前記要求データに応じて、前記複数のＶＰＮトンネルの確立を許可することを示す情報を、応答データのヘッダに付加し、前記応答データを前記他の通信制御装置に対して送信する応答手段と
を備え、
前記第一確立手段は、
前記応答手段によって前記他の通信制御装置に対して前記応答データを送信するか、または、前記要求手段による要求に応じて前記他の通信制御装置から前記応答データを受信した場合に、前記他の通信制御装置との間で前記複数のＶＰＮトンネルを確立することを特徴とする請求項１から３のいずれかに記載の通信制御装置。
【請求項５】
受信した前記応答データに、前記複数のＶＰＮトンネルの確立を許可することを示す情報が付加されていない場合に、単一のＶＰＮトンネルを確立する第二確立手段を備えたことを特徴とする請求項４に記載の通信制御装置。
【請求項６】
前記第一確立手段によって確立する前記複数のＶＰＮトンネルの数を、前記他の通信制御装置に対して通知する通知手段と、
前記他の通信制御装置から、前記複数のＶＰＮトンネルの数が通知された場合に、通知された数分の前記データ領域を前記記憶手段に設定する設定手段と
を備えたことを特徴とする請求項２または３に記載の通信制御装置。
【請求項７】
前記暗号化データを復号する復号手段を備え、
前記第二送信手段は、前記受信手段によって受信された前記暗号化データを復号し、配下の前記通信端末に送信することを特徴とする請求項１から６のいずれかに記載の通信制御装置。
【請求項８】
前記ＶＰＮトンネルには、所定のヘッダ情報が対応付けられ、
前記第一送信手段は、
配下の前記通信端末から受信したデータのヘッダ情報のうちいずれかが、前記所定のヘッダ情報として対応付けられている前記ＶＰＮトンネルを使用し、前記暗号化データを送信することを特徴とする請求項１から７のいずれかに記載の通信制御装置。
【請求項９】
通信制御装置と他の前記通信制御装置との間で、複数の仮想プライベートネットワーク（Virtual Private Network、ＶＰＮ）トンネルを確立する第一確立ステップと、
前記通信制御装置が配下の通信端末から受信したデータを暗号化した暗号化データに、前記複数のＶＰＮトンネルのうち前記暗号化データが通過する一のＶＰＮトンネルを示す経路情報を付加する付加ステップと、
前記付加ステップによって付加された前記経路情報に対応する前記一のＶＰＮトンネルを使用し、前記通信制御装置が前記他の通信制御装置に対して前記暗号化データを送信する第一送信ステップと、
前記他の通信制御装置から前記通信制御装置に対して送信された前記暗号化データを受信する受信ステップと、
前記受信ステップによって受信された前記暗号化データを、前記暗号化データに付加された前記経路情報によって示される優先度に従って、前記通信制御装置の配下の前記通信端末に送信する第二送信ステップと
を備えたことを特徴とする通信制御方法。
【請求項１０】
他の通信制御装置との間で、複数の仮想プライベートネットワーク（Virtual Private Network、ＶＰＮ）トンネルを確立する第一確立ステップと、
配下の通信端末から受信したデータを暗号化した暗号化データに、前記複数のＶＰＮトンネルのうち前記暗号化データが通過する一のＶＰＮトンネルを示す経路情報を付加する付加ステップと、
前記付加ステップによって付加された前記経路情報に対応する前記一のＶＰＮトンネルを使用し、前記他の通信制御装置に対して前記暗号化データを送信する第一送信ステップと、
前記他の通信制御装置から送信された前記暗号化データを受信する受信ステップと、
前記受信ステップによって受信された前記暗号化データを、前記暗号化データに付加された前記経路情報によって示される優先度に従って、配下の前記通信端末に送信する第二送信ステップと
を前記通信制御装置のコンピュータに実行させるための通信制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Virtual Private Network（ＶＰＮ）が利用される通信制御装置、通信制御方法、および通信制御プログラムに関する。
【背景技術】
【０００２】
Virtual Private Network（ＶＰＮ）を利用しつつ、Quality of Service（ＱｏＳ）を確保するための技術が提案されている（例えば特許文献１参照）。一例として、優先制御を行うことによって通信のリアルタイム性を確保する場合がある。この場合、はじめに、通信端末間に介在する通信制御装置によってＶＰＮが構築される。通信制御装置として、例えばＶＰＮゲートウェイが使用される。通信制御装置は、配下の通信端末から受信したパケットの種類に応じて、優先度を示す優先度情報をパケットのヘッダに付加する。例えば、通信遅延によって情報が劣化し易い、音声や映像等のデータを含むパケットには、優先度の高い優先度情報が付加される。通信制御装置は、優先度情報が付加されたパケットを、ＶＰＮを介して他の通信制御装置に転送する。この場合に通信制御装置は、優先度の高い優先度情報が付加されたパケットを優先的に転送する。また、ＶＰＮを介してパケットを受信した他の通信制御装置は、パケットに付加されている優先度情報に基づき、優先度の高い優先度情報が付加されたパケットを優先的に通信端末に転送する。これによって、優先度の高いパケットが通信端末間で送受信される場合の通信遅延は小さくなるので、通信のリアルタイム性は向上する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２０１０−５１０７６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＶＰＮのプロトコルとして、パケットのデータを暗号化するプロトコルが知られている。一例として、Security Architecture for Internet Protocol（ＩＰＳｅｃ）が挙げられる。このようなプロトコルがＶＰＮのプロトコルとして使用された場合、パケットのヘッダに付加された優先度情報がデータとともに暗号化される場合がある。優先度情報が暗号化された場合、通信制御装置は、暗号化された優先度情報を復号しなければ、優先度情報に基づいてパケットの転送処理を行うことができなくなる。このため、優先度情報の復号に時間を要してしまってパケットの通信遅延が大きくなるという問題点がある。
【０００５】
一方で、優先度情報が通信制御装置によって暗号化されない場合もある。例えば、ヘッダ部分も含めて暗号化されたパケットをデータとして新たなヘッダが付与され、その新たなヘッダに優先度情報が付与される場合などである。しかしながらこのような場合も、ＶＰＮ内に介在するルータ等の中継機器によってパケットが中継される際、優先度情報が変更されたり、消去されたりする場合がある。このような場合、通信制御装置は、優先度情報に基づいた優先制御を行うことができないという問題点がある。
【０００６】
本発明の目的は、ＶＰＮを利用しつつ、ＱｏＳを確保して遅延の少ない通信を行うことが可能な通信制御装置、通信制御方法、および通信制御プログラムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明の第一態様に係る通信制御装置は、通信端末間に介在し、他の通信制御装置との間に構築した仮想プライベートネットワーク（Virtual Private Network、ＶＰＮ）を介して通信を行うことによって前記通信端末間の通信を制御する通信制御装置であって、複数のＶＰＮトンネルを、前記他の通信制御装置との間で確立する第一確立手段と、配下の前記通信端末から受信したデータを暗号化した暗号化データに、前記複数のＶＰＮトンネルのうち、前記暗号化データが通過する一のＶＰＮトンネルを示す経路情報を付加する付加手段と、前記付加手段によって付加された前記経路情報に対応する前記一のＶＰＮトンネルを使用し、前記他の通信制御装置に対して前記暗号化データを送信する第一送信手段と、前記他の通信制御装置から送信された前記暗号化データを受信する受信手段と、前記受信手段によって受信された前記暗号化データを、前記暗号化データに付加された前記経路情報によって示される優先度に従って、配下の前記通信端末に送信する第二送信手段とを備えている。
【０００８】
第一態様によれは、優先制御を行うために暗号化データに付加される経路情報は暗号化されないため、通信制御装置は、暗号化データを転送する際に経路情報を復号する必要がない。このため通信制御装置は、経路情報に基づいて優先制御を迅速に行い通信端末間の通信制御を行うことができる。従って通信制御装置は、ＶＰＮを利用して暗号化データの通信が行われる場合であっても、通信端末間の通信遅延を小さくすることによってＱｏＳを確保することができる。
【０００９】
また通信制御装置間で、優先度毎にＶＰＮトンネルが確立される。そして通信制御装置は、使用したＶＰＮトンネルに対応する優先度に従って、受信パケットを処理することができる。従って通信制御装置は、優先制御を容易に行うことによって、優先度の高いデータを優先して処理することができる。従って、例えば通信端末は、通信遅延により情報が劣化し易い音声や映像等のデータに高い優先度を設定することによって、これらのデータのリアルタイム性を高めることができるので、他の通信端末との間で信頼性の高い通信を実行することができる。
【００１０】
さらに通信制御装置は、ＶＰＮを利用し、暗号化したデータを他の通信制御装置に対して送信するため、秘匿性の高い通信を行うことができる。
【００１１】
第一態様において、記憶手段の記憶領域であって前記経路情報毎に設けられた複数のデータ領域のうち、前記受信手段によって受信された前記暗号化データに付加された前記経路情報に対応するデータ領域に、前記受信手段によって受信された前記暗号化データを格納する格納手段を備えてもよい。前記第二送信手段は、前記格納手段によって前記データ領域に格納された前記暗号化データを、前記経路情報によって示される前記優先度の高い前記データ領域に格納された前記暗号化データから優先的に選択し、配下の前記通信端末に送信してもよい。例えば、暗号化データが共通の記憶領域に格納される場合、優先度の高い暗号化データを検索するために時間を要してしまうことが想定される。これに対して通信制御装置は、受信した暗号化データを優先度別にデータ領域に格納する。これによって通信制御装置は、優先度の高い暗号化データを優先して通信端末に送信する処理を、容易かつ迅速に行うことができる。
【００１２】
第一態様において、前記格納手段によって前記データ領域に格納する前記暗号化データの容量が、前記データ領域にて格納可能な残容量を超えている場合、前記暗号化データを前記データ領域に格納せず消去する消去手段を備えていてもよい。データ領域の残容量が僅かな場合、十分な残容量が確保されるまで待機すると、暗号化データの処理が滞り、通信遅延が大きくなる可能性がある。これに対して通信制御装置は、データ領域の残容量が僅かな場合に暗号化データを破棄することによって、通信遅延が大きくなることを抑止できる。また、記憶手段において必要な記憶容量を抑制することができるので、通信制御装置は、容量の小さい記憶手段を使用することができることになる。このため、通信制御装置のコストを抑制することができる。
【００１３】
第一態様において、前記複数のＶＰＮトンネルの確立を要求することを示す情報を、要求データのヘッダに付加し、前記要求データを前記他の通信制御装置に対して送信する要求手段を備えていてもよい。前記他の通信制御装置から前記要求データを受信した場合に、前記要求データに応じて、前記複数のＶＰＮトンネルの確立を許可することを示す情報を、応答データのヘッダに付加し、前記応答データを前記他の通信制御装置に対して送信する応答手段を備えていてもよい。前記第一確立手段は、前記応答手段によって前記他の通信制御装置に対して前記応答データを送信するか、または、前記要求手段による要求に応じて前記他の通信制御装置から前記応答データを受信した場合に、前記他の通信制御装置との間で前記複数のＶＰＮトンネルを確立してもよい。これによって通信制御装置は、通信制御装置と他の通信制御装置との双方が複数のＶＰＮトンネルを確立できる場合にのみ、複数のＶＰＮトンネルを確立させることができる。これによって通信制御装置は、他の通信制御装置との間で複数のＶＰＮトンネルを安定的に確立させることができる。
【００１４】
第一態様において、受信した前記応答データに、前記複数のＶＰＮトンネルの確立を許可することを示す情報が付加されていない場合に、単一のＶＰＮトンネルを確立する第二確立手段を備えていてもよい。これによって通信制御装置は、他の通信制御装置が複数のＶＰＮトンネルを確立できない場合に、一のＶＰＮトンネルを確立させることができる。これによって通信制御装置は、他の通信制御装置が複数のＶＰＮトンネルを確立させる処理に対応していない場合でも、単一のＶＰＮトンネルを利用して他の通信制御装置と通信を行い、通信端末間の通信制御を実行することができる。
【００１５】
第一態様において、前記第一確立手段によって確立する前記複数のＶＰＮトンネルの数を、前記他の通信制御装置に対して通知する通知手段を備えていてもよい。前記他の通信制御装置から、前記複数のＶＰＮトンネルの数が通知された場合に、通知された数分の前記データ領域を前記記憶手段に設定する設定手段を備えていてもよい。これによって通信制御装置は、確立されるＶＰＮトンネルの数に応じてデータ領域を記憶手段に設定することができる。通信制御装置は、予めデータ領域を記憶手段に設定しておく必要がない。このため通信制御装置は、暗号化データを格納するために必要な領域を、必要に応じてデータ領域として設定することができるので、記憶手段の記憶領域を効率的に使用することができる。
【００１６】
第一態様において、前記暗号化データを復号する復号手段を備えていてもよい。前記第二送信手段は、前記受信手段によって受信された前記暗号化データを復号し、配下の前記通信端末に送信してもよい。通信端末が通信制御装置から受信するデータは復号された状態となっているため、通信端末は、受信したデータを即座に利用することができる。
【００１７】
第一態様において、前記ＶＰＮトンネルには、所定のヘッダ情報が対応付けられてもよい。前記第一送信手段は、配下の前記通信端末から受信したデータのヘッダ情報のうちいずれかが、前記所定のヘッダ情報として対応付けられている前記ＶＰＮトンネルを使用し、前記暗号化データを送信してもよい。これによって通信制御装置は、暗号化データを送信する場合に使用するＶＰＮトンネルを容易に特定することができる。
【００１８】
本発明の第二態様に係る通信制御方法は、通信制御装置と他の前記通信制御装置との間で、複数の仮想プライベートネットワーク（Virtual Private Network、ＶＰＮ）トンネルを確立する第一確立ステップと、前記通信制御装置が配下の通信端末から受信したデータを暗号化した暗号化データに、前記複数のＶＰＮトンネルのうち前記暗号化データが通過する一のＶＰＮトンネルを示す経路情報を付加する付加ステップと、前記付加ステップによって付加された前記経路情報に対応する前記一のＶＰＮトンネルを使用し、前記通信制御装置が前記他の通信制御装置に対して前記暗号化データを送信する第一送信ステップと、前記他の通信制御装置から前記通信制御装置に対して送信された前記暗号化データを受信する受信ステップと、前記受信ステップによって受信された前記暗号化データを、前記暗号化データに付加された前記経路情報によって示される優先度に従って、前記通信制御装置の配下の前記通信端末に送信する第二送信ステップとを備えている。第二態様によれば、第一態様と同様の効果を奏することができる。
【００１９】
本発明の第三態様に係る通信制御プログラムは、他の通信制御装置との間で、複数の仮想プライベートネットワーク（Virtual Private Network、ＶＰＮ）トンネルを確立する第一確立ステップと、配下の通信端末から受信したデータを暗号化した暗号化データに、前記複数のＶＰＮトンネルのうち前記暗号化データが通過する一のＶＰＮトンネルを示す経路情報を付加する付加ステップと、前記付加ステップによって付加された前記経路情報に対応する前記一のＶＰＮトンネルを使用し、前記他の通信制御装置に対して前記暗号化データを送信する第一送信ステップと、前記他の通信制御装置から送信された前記暗号化データを受信する受信ステップと、前記受信ステップによって受信された前記暗号化データを、前記暗号化データに付加された前記経路情報によって示される優先度に従って、配下の前記通信端末に送信する第二送信ステップとを前記通信制御装置のコンピュータに実行させる。第三態様によれば、第一態様と同様の効果を奏することができる。
【図面の簡単な説明】
【００２０】
【図１】通信システム１の概要、および、通信制御装置１０の電気的構成を示す図である。
【図２】ＶＰＮトンネル１９のトンネル条件を設定する設定画面２８を示す図である。
【図３】通信制御装置１１、１２間に設定されたＶＰＮトンネル３０を示す図である。
【図４】通信制御装置１１、１２間の通信を示すシーケンス図である。
【図５】受信キュー２４１および優先度別キュー２４２を示す図である。
【図６】第一メイン処理を示すフローチャートである。
【図７】トンネル確立処理を示すフローチャートである。
【図８】第二メイン処理を示すフローチャートである。
【図９】送信処理を示すフローチャートである。
【図１０】格納処理を示すフローチャートである。
【図１１】取り出し処理を示すフローチャートである。
【発明を実施するための形態】
【００２１】
以下、本発明の一実施形態について、図面を参照して説明する。これらの図面は、本発明が採用しうる技術的特徴を説明するために用いられるものである。記載されている装置の構成、各種処理のフローチャート等は、それのみに限定する趣旨ではなく、単なる説明例である。
【００２２】
図１を参照し、通信システム１の概要について説明する。通信システム１は、通信制御装置１１、１２、および、通信端末１４、１５を備えている。通信端末１４は、通信制御装置１１の配下のネットワークに接続している。通信端末１５は、通信制御装置１２の配下のネットワークに接続している。通信制御装置１１、１２は、Virtual Private Network（ＶＰＮ）を利用し、インターネット網１６にＶＰＮトンネル１９を確立することができる。通信制御装置１１、１２は、確立したＶＰＮトンネル１９を使用することによって、通信端末１４、１５間で実行されるデータ通信を仲介する。以下、通信制御装置１１、１２を区別しない場合または総称する場合、これらを通信制御装置１０という。通信端末１４、１５を区別しない場合または総称する場合、これらを通信端末１３という。通信制御装置１０の一例として、ＶＰＮゲートウェイが挙げられる。通信端末１３の一例として、ＰＣが挙げられる。通信制御装置１０の配下のネットワークの一例として、Local Area Network（ＬＡＮ）が挙げられる。
【００２３】
通信制御装置１０が利用するＶＰＮのプロトコルは、Security Architecture for Internet Protocol（ＩＰＳｅｃ）である。通信制御装置１０は、ＩＰＳｅｃに基づいて、配下の通信端末１３から受信したデータの暗号化およびカプセル化を行う。通信制御装置１０は、インターネット網１６に確立したＶＰＮトンネル１９を使用し、カプセル化したデータのトンネリング通信を行う。これによって通信制御装置１０は、インターネット網１６を介して異なるネットワークを仮想的に直結することができる。また通信制御装置１０は、データを暗号化することによって、データの漏洩や改ざんを防止することができる。
【００２４】
なお、通信システム１におけるインターネット網１６の代わりに、専用通信回線が使用されてもよい。通信制御装置１０は、専用通信回線にＶＰＮトンネル１９を確立してもよい。ＶＰＮのプロトコルはＩＰＳｅｃに限定されず、暗号化およびカプセル化を行う他のＶＰＮプロトコルであってもよい。通信制御装置１０はＶＰＮゲートウェイに限定されず、ＶＰＮを利用することによってネットワークにＶＰＮトンネルを確立することが可能な他の装置であってもよい。通信端末１３はＰＣに限定されず、Internet Protocol（ＩＰ）電話等の通話端末であってもよい。
【００２５】
通信制御装置１０の電気的構成について説明する。通信制御装置１０は、通信制御装置１０の制御を司るＣＰＵ２１を備えている。ＣＰＵ２１は、ＲＯＭ２２、ＲＡＭ２３、フラッシュメモリ２４、通信インタフェース（以下、通信Ｉ／Ｆという。）２５、およびＬＥＤ２６と電気的に接続している。ＲＯＭ２２は、書き換え可能な不揮発性メモリである。ＲＯＭ２２には、ブートプログラム、ＢＩＯＳ、ＯＳ等が記憶される。ＲＡＭ２３には、タイマやカウンタ、一時的なデータが記憶される。またＲＡＭ２３には、後述する受信キュー２４１および優先度別キュー２４２が必要に応じて設けられる。フラッシュメモリ２４には、ＣＰＵ２１の制御プログラムが記憶される。通信Ｉ／Ｆ２５は、他の通信制御装置１０、および、配下の通信端末１３と通信を行うためのインタフェースである。ＬＥＤ２５は、通信制御装置１０の状態をユーザに通知するために設けられている。
【００２６】
通信システム１において、通信端末１３間の通信のリアルタイム性がQuality of Service（ＱｏＳ）として要求されたとする。ここで、データの暗号化およびカプセル化が行われず、ＶＰＮトンネル１９が使用されない場合において、通信端末１３間の通信のリアルタイム性を確保するための従来の方法について、図１を参照しつつ説明する。従来の方法として、優先制御による方法が一般的に用いられる。具体的には、例えば以下のとおりである。
【００２７】
通信端末１４が通信端末１５に対してデータを送信する場合を想定する。通信端末１４は、データの優先度をType of service（ＴＯＳ）に格納したＩＰヘッダを準備する。通信端末１４は、準備したＩＰヘッダをデータに付加し、パケットを作成する。ここでデータには、使用されるプロトコルに応じたヘッダ（例えば、（Transmission Control Protocol（ＴＣＰ）ヘッダや、User Datagram Protocol（ＵＤＰ）ヘッダ等）が含まれている。通信端末１４は、作成したパケットを通信制御装置１１に対して送信する。通信制御装置１１は、通信端末１４からパケットを受信する。なおデータの優先度は、パケットを受信した通信制御装置１１によってＴＯＳに格納されてもよい。通信制御装置１１は、受信したパケットを、インターネット網１６を介して通信制御装置１２に対して転送する。通信制御装置１２はパケットを受信し、ＲＡＭ２３に記憶する。
【００２８】
通信制御装置１２は、ＲＡＭ２３に記憶され蓄積されたパケットを順次参照する。通信制御装置１２は、ＴＯＳに格納された優先度に基づき、高い優先度のパケットを優先的に選択し、通信端末１５に対して転送する。通信端末１５は、通信制御装置１２からパケットを受信する。なお通信制御装置１２は、優先度の高い順でパケットを転送する場合の他に、低い優先度に対して重み付けを行うことによって、優先度の低いパケットであっても一定の割合で転送できるようにする場合もある。
【００２９】
以上の処理によって、通信制御装置１２は、優先度の高いパケットを長時間滞留させることなく、通信端末１５に対して速やかに転送することができる。通信端末１５は、通信端末１４から送信されたパケットのうち優先度の高いパケットを遅滞なく受信することができる。これによって、通信端末１３間で行われる通信のリアルタイム性が確保される。
【００３０】
次に、暗号化およびカプセル化されたデータのトンネリング通信が、ＶＰＮトンネル１９を介して実行される状況に対して、上述の優先制御が適用された場合について説明する。なお以下では、通信制御装置１１、１２間で一のＶＰＮトンネル１９が予め確立されているものとする。
【００３１】
通信制御装置１１が、ＴＯＳに優先度が格納されたＩＰヘッダを含むパケットを、通信端末１４から受信したとする。通信制御装置１１は、パケットの暗号化およびカプセル化を行う。暗号化は、通信端末１４から受信したパケットのうち、ＩＰヘッダおよびデータを対象として実行される。以下、暗号化されたＩＰヘッダおよびデータを、暗号化データともいう。通信制御装置１１は、ＩＰヘッダおよびEncapsulated Security Payload（ＥＳＰ）ヘッダを暗号化データに付加することによって、暗号化データをカプセル化する。以下、暗号化データをカプセル化することによって作成されたパケットを、ＶＰＮパケットともいう。作成されたＶＰＮパケットは、ＶＰＮトンネル１９を介して、通信制御装置１１から通信制御装置１２に対して送信される。通信制御装置１２は、ＶＰＮパケットを受信し、ＲＡＭ２３に記憶する。
【００３２】
通信制御装置１２は、通信端末１５にパケットを転送するために、ＲＡＭ２３に記憶され蓄積されたＶＰＮパケットを順次参照する。ここで従来の方法と異なり、ＴＯＳを含むＩＰヘッダは、通信制御装置１１によって暗号化されている。従って通信制御装置１２は、ＴＯＳに格納された優先度を確認して優先度の高いパケットを優先的に選択するために、ＶＰＮパケットを復号しなければならない。従って、ＶＰＮパケットを受信してから通信端末１４に転送するまでに、復号に要する時間が余分に発生することになり、通信遅延は大きくなる。従って、ＶＰＮトンネル１９が使用されない従来の場合と比較して、通信端末１３間で行われる通信のリアルタイム性は悪化する。
【００３３】
なお上述とは異なる方法として、通信制御装置１１が暗号化データに付加するＩＰヘッダのＴＯＳに優先度情報を格納し、ＶＰＮパケットを作成するという方法もある。この場合、ＴＯＳは暗号化されないので、ＶＰＮパケットを受信した通信制御装置１２は、復号を要することなくＴＯＳに格納された優先度を確認することができる。従って通信遅延は改善するとも考えられる。しかしながら、通信制御装置１１、１２間のインターネット網１６内に介在するルータ等がＶＰＮパケットを中継転送する過程で、ＶＰＮパケットのＴＯＳが変更されたり破棄されたりする可能性がある。このような場合、通信制御装置１２は、ＴＯＳに格納された優先度を参照することができないので、優先度に応じてパケットを選択し、配下の通信端末１３に送信することができない。従って、通信端末１３間の通信のリアルタイム性を確保することができない。
【００３４】
上述の問題点を解消するために、本発明の通信制御装置１０は、優先度のレベルに応じて複数のＶＰＮトンネル１９を確立する。図１では、二つのＶＰＮトンネル１７、１８が、通信制御装置１０間に確立されている。通信制御装置１２は、通信制御装置１１から送信されたＶＰＮパケットを、ＶＰＮトンネル１７、１８のうち何れを介して受信したかを判断することによって、通信制御装置１１から受信したＶＰＮパケットの優先度を判断する。具体的には以下のとおりである。
【００３５】
ＶＰＮトンネル１９を識別するパラメータとして、ＥＳＰヘッダにSecurity Parameter Index（ＳＰＩ）がある。本発明では、優先度のレベルに応じて異なるＳＰＩをＥＳＰヘッダに格納することによって、ＶＰＮトンネル１９を使い分ける。例えば図１では、ＶＰＮトンネル１７に対応するＳＰＩとして１が割り当てられ、ＶＰＮトンネル１８に対応するＳＰＩとして２が割り当てられている。通信制御装置１１は、優先度の高いＶＰＮパケットのＥＳＰヘッダのＳＰＩに１を格納し、優先度の低いＶＰＮパケットのＥＳＰヘッダのＳＰＩに２を格納する。これによって、優先度の高いＶＰＮパケットの送信時にはＶＰＮトンネル１７が使用され、優先度の低いＶＰＮパケットの送信時にはＶＰＮトンネル１８が使用される。
【００３６】
通信制御装置１１から送信されたＶＰＮパケットが、通信制御装置１２において受信されたとする。通信制御装置１２は、ＳＰＩに格納されている値から、ＶＰＮパケットが通過したＶＰＮトンネル１９を識別する。優先度の高いＶＰＮパケットはＶＰＮトンネル１７を介して送信され、優先度の低いＶＰＮパケットはＶＰＮトンネル１８を介して送信されているので、通信制御装置１２は、受信したＶＰＮパケットの優先度を、暗号化データを復号することなく特定することができる。これによって通信制御装置１２は、優先度の高いパケットを速やかに通信端末１５に対して送信することができる。また通信制御装置１２は、優先度の高いパケットを長時間滞留させることを防止できる。以上の方法によって本発明は、暗号化およびカプセル化されたデータのトンネリング通信が、ＶＰＮトンネル１９を使用して実行される場合であっても、通信端末１３間の通信のリアルタイム性を確保することができる。
【００３７】
なお上述では、ＶＰＮトンネル１９に割り当てるＳＰＩを優先度順に「１、２・・・」とした例を挙げて説明したが、実際には、ＶＰＮトンネル１９に割り当てるＳＰＩはランダムに選択される。従って通信制御装置１０は、ＶＰＮトンネル１９に割り当てたＳＰＩと優先度との対応関係を示すテーブルを管理し、優先度に対応するＳＰＩを選択してＶＰＮパケットのＥＳＰヘッダに格納することによって、ＶＰＮトンネル１９を使い分ける。なお以下では、説明を容易化するために、上述と同様、通信制御装置１０は優先度順でＳＰＩをＶＰＮトンネル１９に割り当てることを想定して説明する。
【００３８】
図２および図３を参照し、通信制御装置１１、１２間に複数のＶＰＮトンネルを確立させる場合における、通信制御装置１１に対する操作手順の具体例について説明する。通信制御装置１１に、設定用の外部端末が接続される。外部端末として通信端末１４が使用されてもよい。外部端末のディスプレイに、図２に示す設定画面２８が表示される。設定画面２８は、通信制御装置１０間に確立させるＶＰＮトンネルの条件を、優先度順に設定するためのものである。
【００３９】
設定画面２８の設定項目として、ＩＰアドレス、プロトコル、およびポートがある。ＩＰアドレスとして、宛先／送信元／設定なし、のいずれか、および、ＩＰアドレスを入力することができる。プロトコルとして、トランスポート層のプロトコル（ＴＣＰ、ＵＤＰなど）を入力することができる。ポートとして、宛先／送信元／設定なし、のいずれか、開始ポート番号、および終了ポート番号を入力することができる。これらの設定項目は、通信制御装置１０が配下の通信端末１３から受信するパケットのヘッダに含まれる情報項目の一部に相当する。なお、削除ボタンを選択することによって、入力した設定情報を削除することができる。
【００４０】
例えば図２では、インデックス１として、ＩＰアドレス「対象：宛先、アドレス：192.168.25.2」、プロトコル「ＵＤＰ」、ポート「対象：宛先、開始ポート番号：5060、終了ポート番号：5060」が其々入力されている。これらを設定することによって、「宛先のＩＰアドレス：192.168.25.2、トランスポート層のプロトコル：ＵＤＰ、宛先のポート番号：5060」という条件を満たすヘッダを含むパケットを通信制御装置１１が通信端末１３から受信した場合において、ＶＰＮパケットを通信制御装置１２に対して送信する場合に使用されるＶＰＮトンネル３１（図３参照）が確立される。以下、確立されたＶＰＮトンネルに対応する条件であって設定画面２８を介して入力された条件を、トンネル条件という。
【００４１】
また図３では、図２のうちインデックス２として入力された情報に基づき、トンネル条件が「トランスポート層のプロトコル：ＵＤＰ、送信元の開始ポート番号：20000、送信元の終了ポート番号：20100」であるＶＰＮトンネル３２が確立されている。さらに、ＶＰＮトンネル３１、３２の何れの条件も満たさないＶＰＮパケット用に、ＶＰＮトンネル３３が確立されている。以下、ＶＰＮトンネル３１、３２、３３を区別しない場合または総称する場合、ＶＰＮトンネル３０という。このように、設定画面２８を介してトンネル条件が入力された場合、入力されたトンネル条件の数よりも１大きい数のＶＰＮトンネル３０が、通信制御装置１１、１２間に確立されることになる。
【００４２】
なお図３では、ＶＰＮトンネル３１、３２、および３３の其々に対応するＳＰＩとして、１、２、３が其々割り当てられている。通信制御装置１１は、ＶＰＮパケットのＳＰＩを使い分けることによって、ＶＰＮパケットを送信する際に使用するＶＰＮトンネル３０を使い分けることができる。
【００４３】
以上のように、通信制御装置１１のユーザは、通信制御装置１１に接続した外部機器を介し、設定画面２８を介してトンネル条件を設定することによって、通信制御装置１１、１２間に確立するＶＰＮトンネル３０のトンネル条件を容易に設定することができる。また通信制御装置１１は、ＶＰＮトンネル３０にトンネル条件を対応付けることによって、ＶＰＮパケットを送信する場合に使用するＶＰＮトンネル３０を容易に特定することができる。通信制御装置１１は、通信端末１４から受信したパケットのヘッダに含まれている情報（ＩＰアドレス、プロトコル、ポート番号）のうち一部と一致するトンネル条件が対応付けられたＶＰＮトンネル３０を、ＶＰＮパケットを送信する場合に使用するＶＰＮトンネルとして特定することができるためである。
【００４４】
また詳細は後述するが、インデックスの小さいトンネル条件に対応するＶＰＮトンネル３０を使用して送信されたＶＰＮパケットの方が、インデックスの大きいトンネル条件に対応するＶＰＮトンネル３０を使用して送信されたＶＰＮパケットよりも、通信制御装置１２のＲＡＭ２３に記憶される時間が短くなる。従ってユーザは、設定画面２８を介し、優先度の高い順にトンネル条件を設定することによって、通信端末１３間の通信のリアルタイム性を優先度のレベルに応じて制御し、通信端末１３間の通信遅延を優先度に応じて小さくすることができる。
【００４５】
なお上述のように、通信制御装置１１に対してトンネル条件が設定されることによって確立されたＶＰＮトンネル３０は、通信制御装置１１が通信制御装置１２に対してＶＰＮパケットを送信する場合にのみ使用され、通信制御装置１２が通信制御装置１１に対してＶＰＮパケットを送信する場合には使用されない。通信制御装置１２が通信制御装置１１に対してＶＰＮパケットを送信する場合に使用されるＶＰＮトンネルは、通信制御装置１２に対してトンネル条件の設定が行われることによって確立される。
【００４６】
図４を参照し、通信制御装置１１、１２間の通信の手順について説明する。図４では、ＶＰＮトンネルの確立から、ＶＰＮトンネルを介した通信が実行されるまでの一連の通信が示されている。以下、詳細について説明する。
【００４７】
ＶＰＮトンネルを確立させるための通信は、Ｐｈａｓｅ１、２に分かれている。Ｐｈａｓｅ１、２では、通信制御装置１１、１２間でメッセージパケット４１〜５９が送受信される。メッセージパケット４１〜５９は、ＩＰヘッダ、ＵＤＰヘッダ、ＩＳＡＫＭＰヘッダ、およびＩＳＡＫＭＰペイロードによって構成されている。ＩＳＡＫＭＰペイロードには、後述する様々なパラメータが格納される。Ｐｈａｓｅ１では、ＶＰＮトンネルを確立するために必要な設定条件を、通信制御装置１０間で交換するための通信が実行される。Ｐｈａｓｅ２では、通信制御装置１１から送信されたＶＰＮパケットが通信制御装置１２において受信される場合に使用される優先度別キュー２４２（図５参照、後述）を、通信制御装置１２に設定するための通信が実行される。
【００４８】
通信制御装置１１に外部機器が接続され、設定画面２８（図２参照）を介してトンネル条件が入力されたとする。Ｐｈａｓｅ１の通信が開始される。通信制御装置１１は、ＶＰＮパケットを送信する際に使用する複数のＶＰＮトンネルの確立を、通信制御装置１２に対して要求する。この要求は、ＳＡおよびVendor IDのパラメータがＩＳＡＫＭＰペイロードに格納されたメッセージパケット４３を、通信制御装置１２に対して送信することによって行われる（Ｓ１０１）。以下、Ｓ１０１において、複数のＶＰＮトンネルの確立を要求するために送信されるメッセージパケット４３を、要求パケットともいう。要求パケットは、通信制御装置１２において受信される。
【００４９】
要求パケットのＳＡとして、ＶＰＮトンネルを使用してＶＰＮパケットの通信を行うために必要な各種設定条件のうち、通信制御装置１１において利用することが可能な設定条件が格納される。格納される設定条件は、暗号化アルゴリズム、ハッシュアルゴリズム、ライフタイム、および認証方式である。また、要求パケットのVendor IDとして、複数のＶＰＮトンネルの確立を要求することを示す所定の情報が格納される。以下、複数のＶＰＮトンネルの確立を要求することを示す所定の情報を、要求情報という。
【００５０】
要求パケットを通信制御装置１２が受信した場合、通信制御装置１２は、要求パケットのＳＡを参照する。通信制御装置１２は、ＳＡとして格納された各種設定条件の中に、通信制御装置１２において利用することが可能な設定条件が含まれているかを判断する。利用することが可能な設定条件が含まれていない場合、通信制御装置１２は、通信制御装置１１との間にＶＰＮトンネルを確立させることができないためである。次に通信制御装置１２は、要求パケットのVendor IDを参照する。通信制御装置１２は、要求情報がVendor IDとして格納されているかを判断する。
【００５１】
通信制御装置１２は、ＳＡとして格納された各種設定条件の中に通信制御装置１２が利用可能な設定条件が含まれており、且つ、要求情報がVendor IDとして格納されている場合、通信制御装置１１からの要求に応じて複数のＶＰＮトンネルを確立することを許可する。通信制御装置１２は、通信制御装置１１からの要求パケットによる要求に応じ、ＳＡおよびVendor IDのパラメータがＩＳＡＫＭＰペイロードに格納されたメッセージパケット４５を、通信制御装置１１に対して送信する（Ｓ１０３）。以下、Ｓ１０３において、複数のＶＰＮトンネルの確立を許可することを通知するために送信されるメッセージパケット４５を、応答パケットともいう。応答パケットのＳＡとして、要求パケットにＳＡとして格納されていた各種設定条件のうち、通信制御装置１２において利用可能な設定条件が格納される。またVendor IDとして、複数のＶＰＮトンネルの確立を許可することを示す所定の情報が格納される。以下、複数のＶＰＮトンネルの確立を許可することを示す所定の情報を、応答情報という。応答パケットは、通信制御装置１１において受信される。
【００５２】
なお通信制御装置１２は、要求パケットのＳＡとして格納された各種設定条件の中に、通信制御装置１２が利用可能な設定条件が含まれていない場合、通信制御装置１１との間にＶＰＮトンネルを確立させることができないので、通信制御装置１１に対して応答パケットを送信しない。また通信制御装置１２は、通信制御装置１２が複数のＶＰＮトンネルを確立するための制御に対応していない場合、Vendor IDの情報が格納されていない状態の応答パケットを、通信制御装置１１に対して送信する。
【００５３】
以上のように要求パケットおよび応答パケットの通信を行うことによって、通信制御装置１１は、通信制御装置１１と通信制御装置１２との双方が複数のＶＰＮトンネルを確立できる場合にのみ、複数のＶＰＮトンネルを確立させることが可能となる。これによって通信制御装置１１は、通信制御装置１２との間で複数のＶＰＮトンネルを安定的に確立させることができる。また通信制御装置１１は、通信制御装置１２が複数のＶＰＮトンネルを確立できないことを、Vendor IDに応答情報が格納されているか否かによって判断することができる。通信制御装置１１は、通信制御装置１２が複数のＶＰＮトンネルを確立できないと判断した場合、後述するように、一のＶＰＮトンネルを確立させることができる。これによって通信制御装置１１は、通信制御装置１２が複数のＶＰＮトンネルを確立させる処理に対応していない場合でも、一のＶＰＮトンネルを利用して通信制御装置１２と通信を行い、通信端末１３間の通信制御を実行することができるようになる。詳細は後述する。
【００５４】
また上述までの通信は、ＩＰＳｅｃがＶＰＮのプロトコルとして使用された場合においてＶＰＮトンネルを確立するために実行される周知の通信と同一である。従って、要求パケットおよび応答パケットのメッセージフォーマットも、周知の通信と同一のものが使用される。このように通信制御装置１１は、周知のメッセージフォーマットをそのまま使用することによって複数のＶＰＮトンネルを確立させることができる。
【００５５】
応答パケットを通信制御装置１１が受信した場合、次に通信制御装置１１は、ＶＰＮトンネルを介した通信時における暗号／復号に必要な鍵情報を、通信制御装置１２に対して通知する。この通知は、ＫＥおよびＮｉのパラメータがＩＳＡＫＭＰペイロードに格納されたメッセージパケット４７を、通信制御装置１２に対して送信することによって行われる（Ｓ１０５）。ＫＥとして、暗号／復号に必要な鍵情報が格納される。通信制御装置１２は、鍵情報が格納されたメッセージパケット４７を受信する。通信制御装置１２は、受信したメッセージパケット４７に応じ、鍵情報を通信制御装置１２に対して通知する。この通知は、ＫＥおよびＮｒのパラメータがＩＳＡＫＭＰペイロードに格納されたメッセージパケット４９を、通信制御装置１１に対して送信することによって行われる（Ｓ１０７）。ＫＥとして、暗号／復号に必要な鍵情報が格納される。通信制御装置１１は、鍵情報が格納されたメッセージパケット４９を受信する。これによって通信制御装置１１、１２は、交換した鍵情報に基づいて暗号／復号を実行することが可能な状態になる。
【００５６】
Ｓ１０５、Ｓ１０７による鍵情報の交換が終了した後、次に通信制御装置１１は、通信制御装置１１のＩＰアドレスを通信制御装置１２に対して通知する。この通知は、ＩＤｉｉおよびＨＡＳＨ＿ＩのパラメータがＩＳＡＫＭＰペイロードに格納されたメッセージパケット５１を、通信制御装置１２に対して送信することによって行われる（Ｓ１０９）。ＩＤｉｉとして、通信制御装置１１のＩＰアドレスが格納される。通信制御装置１２は、通信制御装置１１のＩＰアドレスが格納されたメッセージパケット５１を受信する。通信制御装置１２は、受信したメッセージパケット５１に応じ、通信制御装置１２のＩＰアドレスを通信制御装置１１に対して通知する。この通知は、ＩＤｉｉおよびＨＡＳＨ＿ＲのパラメータがＩＳＡＫＭＰペイロードに格納されたメッセージパケット５３を、通信制御装置１１に対して送信することによって行われる（Ｓ１１１）。ＩＤｉｉとして、通信制御装置１２のＩＰアドレスが格納される。通信制御装置１１は、通信制御装置１２のＩＰアドレスが格納されたメッセージパケット５３を受信する。これによって通信制御装置１１、１２は、相手方のＩＰアドレスに基づいてＶＰＮトンネルを確立することが可能な状態になる。Ｐｈａｓｅ１の通信は終了する。
【００５７】
Ｐｈａｓｅ１の通信の後、Ｐｈａｓｅ２の通信が開始される。Ｐｈａｓｅ２の通信は、通信制御装置１１、１２間に確立されるＶＰＮトンネルの数分繰り返して実行される。通信制御装置１１は、通信制御装置１２に対して、確立させるＶＰＮトンネルの優先度、および、確立させるＶＰＮトンネルの総数を通知する。この通知は、ＨＡＳＨ（１）、ＳＡ、Ｎｉ、およびＰのパラメータがＩＳＡＫＭＰペイロードに格納されたメッセージパケット５５を、通信制御装置１２に対して送信することによって行われる（Ｓ１１３）。Ｐのパラメータは、確立されるＶＰＮトンネルの優先度を定義するペイロードである。Ｐのパラメータは、例えば、Priority、Priority Maxなどの変数格納領域を含む。ＰのパラメータのうちPriorityに、優先度（１、２、３・・・）を示す情報が格納される。ＰのパラメータのうちPriority Maxに、ＶＰＮトンネルの総数が格納される。通信制御装置１２は、Priority（優先度）およびPriority Max（総数）が格納されたメッセージ−パケット５５を受信する。通信制御装置１２は、メッセージ−パケット５５のＰにPriorityおよびPriority Maxとして格納された値に基づいて、優先度別キュー２４２（図５参照）をＲＡＭ２３内に設定する（Ｓ１１４）。優先度別キュー２４２の設定の詳細は後述する。
【００５８】
なお、通信制御装置１１がＳ１０３で通信制御装置１２から受信した応答パケットのVendor IDに応答情報が格納されていない場合、通信制御装置１２が複数のＶＰＮトンネルを確立させることができないことを示している。この場合、通信制御装置１１は、一のＶＰＮトンネルを確立させるためのメッセージパケット５５を通信制御装置１２に対して送信する。このようにして通信制御装置１１は、通信制御装置１２が複数のＶＰＮトンネルを確立させる処理に対応していない場合でも、一のＶＰＮトンネルを確立させることができる。
【００５９】
通信制御装置１２は、受信したメッセージパケット５５に応じ、ＨＡＳＨ（２）、ＳＡ、およびＮｒのパラメータがＩＳＡＫＭＰペイロードに格納されたメッセージパケット５７を、通信制御装置１２に対して送信する（Ｓ１１５）。通信制御装置１１は、メッセージパケット５７を受信する。通信制御装置１１は、受信したメッセージパケット５７に応じ、ＨＡＳＨ（３）のパラメータがＩＳＡＫＭＰペイロードに格納されたメッセージパケット５９を、通信制御装置１２に対して送信する（Ｓ１１７）。Ｓ１１３〜Ｓ１１７の通信によって、一のＶＰＮトンネルが通信制御装置１１、１２間に確立される。
【００６０】
Ｓ１１３〜１１７の通信は、通信制御装置１１、１２間で確立されるＶＰＮトンネルの数分繰り返される。例えば図３で示したように、通信制御装置１１、１２間で３つのＶＰＮトンネルを確立させる場合、Ｓ１１３〜１１７の通信は合計３回繰り返されることになる。最初に、ＰのうちPriorityに優先度１が格納され、Priority Maxに総数３が格納されたメッセージパケット５５が、通信制御装置１１から通信制御装置１２に対して送信され、Ｓ１１３〜１１７の通信が実行される。通信制御装置１１、１２間に、ＶＰＮトンネル３１（図３参照）が確立される。Priorityに格納された優先度１が、ＶＰＮトンネル３１のＳＰＩと対応付けられる。
【００６１】
次に、ＰのうちPriorityに優先度２が格納され、Priority Maxに総数３が格納されたメッセージパケット５５が、通信制御装置１１から通信制御装置１２に対して送信され、Ｓ１１３〜１１７の通信が実行される。通信制御装置１１、１２間に、ＶＰＮトンネル３２（図３参照）が確立される。Priorityに格納された優先度２が、ＶＰＮトンネル３２のＳＰＩと対応付けられる。最後に、ＰのうちPriorityに優先度３が格納され、Priority Maxに総数３が格納されたメッセージパケット５５が、通信制御装置１１から通信制御装置１２に対して送信され、Ｓ１１３〜１１７の通信が実行される。通信制御装置１１、１２間に、ＶＰＮトンネル３３（図３参照）が確立される。Priorityに格納された優先度３が、ＶＰＮトンネル３３のＳＰＩと対応付けられる。Ｐｈａｓｅ２の通信は終了する。
【００６２】
なお通信制御装置１１では、上述のようにして確立されたＶＰＮトンネル３０に対して、設定画面２８（図２参照）を介して設定されたトンネル条件が対応付けられる。具体的には、ＶＰＮトンネル３１（図３参照）に対して、設定画面２８（図２参照）におけるインデックス１のトンネル情報が対応付けられる。ＶＰＮトンネル３２（図３参照）に対して、インデックス２のトンネル情報が対応付けられる。なお、ＶＰＮトンネル３３（図３参照）に対してトンネル情報は対応付けられない。
【００６３】
図５を参照し、Ｓ１１４で通信制御装置１２のＲＡＭ２３に設定される優先度別キュー２４２について説明する。優先度別キュー２４２は、通信制御装置１２がＶＰＮトンネルを介して通信制御装置１１から受信したＶＰＮパケットを、ＶＰＮトンネル別に記憶するためのＦＩＦＯ型の記憶領域である。例えばメッセージパケット５５（図５参照）において、Priority Maxとして３が設定されていた場合、３つの優先度別キュー２４２（優先度別キュー２４２１、２４２２、および２４２３）が、ＲＡＭ２３に設定される。其々の優先度別キュー２４２には、対応するＶＰＮトンネルのＳＰＩが割り当てられる。また、Ｐｈａｓｅ２の通信によって通信制御装置１１から受信した３つのメッセージパケット５５にPriorityとして格納された優先度１、２、３が、設定された優先度別キュー２４２１、２４２２、２４２３に対応付けられる。其々の優先度別キュー２４２に、ＳＰＩと優先度が対応付けられたことになる。
【００６４】
以上のように通信制御装置１２は、確立されるＶＰＮトンネルの数に応じて優先度別キュー２４２をＲＡＭ２３に設定することができる。通信制御装置１２は、予め優先度別キュー２４２をＲＡＭ２３に設定しておく必要がない。このため通信制御装置１２は、ＶＰＮパケットを格納するために必要な優先度別キュー２４２を、必要に応じて必要な領域分、ＲＡＭ２３に設定することができるので、ＲＡＭ２３の記憶領域を効率的に使用することができる。
【００６５】
なお、上述した優先度別キュー２４２の設定は、通信制御装置１２において最初にメッセージパケット５５（図４参照）を受信した場合にのみ実行される。
【００６６】
図４に示すように、Ｐｈａｓｅ２の通信によってＶＰＮトンネルが確立された後、確立されたＶＰＮトンネルを介して、ＶＰＮパケットの通信が開始される。以下、ＶＰＮトンネルを介して行われるＶＰＮパケットによる通信を、ＶＰＮ通信ともいう。ＶＰＮ通信が開始された場合、通信制御装置１１は以下のようにして通信処理を行う。
【００６７】
通信制御装置１１は、配下の通信端末１４（図１参照）からパケットを受信する。通信制御装置１１は、パケットの暗号化およびカプセル化を行う。具体的には、通信制御装置１１は、受信したパケットのうち、ＩＰヘッダおよびデータを対象として暗号化し、暗号化データを作成する。通信制御装置１１は、通信端末１４から受信したパケットのヘッダに含まれる情報（ＩＰアドレス、プロトコル、ポート番号）のうち一部と一致するトンネル条件を対応付けたＶＰＮトンネルを、Ｐｈａｓｅ１およびＰｈａｓｅ２の通信によって確立した複数のＶＰＮトンネルの中から選択する。具体的には、例えば図３に示す３つのＶＰＮトンネル３０が確立された状態で、「宛先ＩＰアドレス：192.168.25.2、プロトコル：ＵＤＰ、宛先ポート番号：5060」であるパケットを通信端末１４から受信したとする。これらの条件は、設定画面２８（図２参照）を介して入力されたトンネル条件のうち、インデックス１に対応するトンネル条件と一致する。このような場合、通信制御装置１１は、インデックス１に対応するトンネル条件が対応付けられたＶＰＮトンネル３１を選択する。
【００６８】
通信制御装置１１は、選択したＶＰＮトンネルに割り当てたＳＰＩを、ＥＳＰヘッダのＳＰＩとして格納することによって、ＥＳＰヘッダを準備する。通信制御装置１１は、ＩＰヘッダおよび準備したＥＳＰヘッダを暗号化データに付加することによってカプセル化し、ＶＰＮパケット６１を作成する。通信制御装置１１は、作成したＶＰＮパケット６１を通信制御装置１２に対して送信する（Ｓ１１９）。これによってＶＰＮパケットは、ＳＰＩに対応するＶＰＮトンネルを経由し、通信制御装置１２に到達する。通信制御装置１２は、ＶＰＮパケットを受信する。
【００６９】
通信制御装置１２が優先度別キュー２４２を使用してＶＰＮパケットを受信する方法について、図５を参照して説明する。ＲＡＭ２３には、既述の優先度別キュー２４２の他に、受信キュー２４１が設けられている。受信キュー２４１は、インターネット網１６（図１参照）を介して受信したパケットを記憶するためのＦＩＦＯ型の記憶領域である。通信制御装置１２は、インターネット網１６を介してパケットを受信した場合、受信したパケットを受信キュー２４１に格納する（Ｓ１３１）。受信キュー２４１には、ＶＰＮパケット以外のパケットも格納される。
【００７０】
受信キュー２４１に格納されたパケットが順に取り出される（Ｓ１３３）。取り出されたパケットの中から、ＶＰＮパケットが抽出される。抽出されたＶＰＮパケットは、通信制御装置１１から送信される際に使用されたＶＰＮトンネルに応じて分類される。使用されたＶＰＮトンネルは、ＶＰＮパケットのＥＳＰヘッダのＳＰＩに格納された値を参照することによって特定される。ＶＰＮパケットは、ＳＰＩ毎に対応する優先度別キュー２４２に格納される（Ｓ１３５）。ＶＰＮパケットは、使用されたＶＰＮトンネル毎に分類され、優先度別キュー２４２に格納されることになる。
【００７１】
通信制御装置１２は、優先度別キュー２４２を高い優先度から順に参照し、記憶されているＶＰＮパケットを選択する。優先度別キュー２４２に対応付けられているＳＰＩは、優先度別キュー２４２の優先度と対応付けられているので、対応付けられている優先度の高いＳＰＩの順に、優先度別キュー２４２が参照できる。優先度別キュー２４２に格納されたＶＰＮパケットから暗号化データが抽出され、復号される。復号されたデータは、通信制御装置１２の配下の通信端末１５に対して送信される（Ｓ１３７）。このようにして通信制御装置１２は、優先度別キュー２４２に対応付けられているＳＰＩと優先度とに基づき、優先度の高い順に優先度別キュー２４２を参照し、格納されているＶＰＮパケットを復号して通信端末１５に送信する。
【００７２】
例えば上述とは異なり、ＲＡＭ２３の共通の記憶領域に、受信されたＶＰＮデータが格納されたとする。この場合、優先度の高いＶＰＮデータを検索するために時間を要してしまうことが想定される。ＶＰＮパケットは優先度別に分類されていないので、共通の記憶領域に記憶されたＶＰＮパケットを最初から順番に検索しなければならないためである。これに対して通信制御装置１２は、優先度別キュー２４２を用いることで、受信したＶＰＮデータを優先度別に管理することができる。これによって通信制御装置１２は、優先度の高いＶＰＮデータを優先して通信端末１５に送信する処理を、容易かつ迅速に行うことができる。また通信制御装置１２は、暗号化データを復号して通信端末１５に送信するため、通信端末１５は、復号されたパケットを直接受信することができる。このため通信端末１５は、受信したパケットを即座に利用することができる。
【００７３】
図６から図１１を参照し、通信制御装置１０が実行する処理について説明する。第一メイン処理（図６参照）、および第二メイン処理（図８参照）は、フラッシュメモリ２４に記憶されている通信制御プログラムに従って、通信制御装置１０のＣＰＵ２１が実行する。ＣＰＵ２１は、通信制御装置１０の電源がＯＮされると、第一メイン処理を開始する。またＣＰＵ２１は、第一メイン処理中で第二メイン処理を起動する。トンネル確立処理（図７参照）は、第一メイン処理中で実行される。送信処理（図９参照）、格納処理（図１０参照）、および取り出し処理（図１１参照）は、第二メイン処理中で実行される。
【００７４】
図６を参照し、第一メイン処理について説明する。ＣＰＵ２１は、通信制御装置１０に接続された外部機器に対して、トンネル条件を入力する操作が設定画面２８（図２参照）を介して行われたかを判断する（Ｓ１１）。トンネル条件を入力する操作が行われた場合（Ｓ１１：ＹＥＳ）、ＣＰＵ２１は、入力されたトンネル条件をフラッシュメモリ２４に記憶する。ＣＰＵ２１は、他の通信制御装置１０に対してＶＰＮトンネルの確立を要求し、ＶＰＮトンネルを確立する処理（トンネル確立処理、図７参照）を実行する（Ｓ１５）。なお、設定画面２８を介して入力操作が行われているため、トンネル確立処理では、他の通信制御装置１０に対して複数のＶＰＮトンネルの確立が要求されることになる。トンネル確立処理の詳細は後述する。トンネル確立処理によってＶＰＮトンネルが確立された後、ＣＰＵ２１は、第二メイン処理を起動する（Ｓ１７）。第二メイン処理では、確立されたＶＰＮトンネルが使用され、他の通信制御装置１０に対してＶＰＮパケットが送信される。第二メイン処理が起動された後、第一メイン処理は終了する。
【００７５】
一方Ｓ１１で、トンネル条件の入力操作が行われていないと判断された場合（Ｓ１１：ＮＯ）、ＣＰＵ２１は、他の通信制御装置１０から要求パケットを受信したかを判断する（Ｓ１３）。他の通信制御装置１０から要求パケットを受信していない場合（Ｓ１３：ＮＯ）、処理はＳ１１に戻る。他の通信制御装置１０から要求パケットを受信した場合、他の通信制御装置１０からＶＰＮトンネルの確立が要求されていることになる（Ｓ１３：ＹＥＳ）。ＣＰＵ２１は、要求に応じてＶＰＮトンネルを確立するトンネル確立処理（図７参照）を実行する（Ｓ１５）。トンネル確立処理の詳細は後述する。トンネル確立処理によってＶＰＮトンネルが確立された後、ＣＰＵ２１は、第二メイン処理を起動する（Ｓ１７）。第二メイン処理では、確立されたＶＰＮトンネルを介して、他の通信制御装置１０からＶＰＮパケットが受信される。第二メイン処理が起動された後、第一メイン処理は終了する。
【００７６】
図７を参照し、トンネル確立処理について説明する。ＣＰＵ２１は、Ｐｈａｓｅ１の通信（図４参照）を開始する（Ｓ２１）。Ｐｈａｓｅ１の通信では、ＶＰＮトンネルを確立するために必要な設定条件が、他の通信制御装置１０との間で交換される。外部機器からトンネル条件を直接受け付けている場合（Ｓ１１：ＹＥＳ、図６参照）、ＣＰＵ２１は、図４における通信制御装置１１の通信シーケンスに従ってＰｈａｓｅ１の通信を行う。ＣＰＵ２１は、他の通信制御装置１０に対して、複数のＶＰＮトンネルの確立を要求する要求パケットを送信することによって、Ｐｈａｓｅ１の通信を開始する。Ｐｈａｓｅ１の通信では、設定画面２８（図２参照）を介して受け付けたトンネル条件の数に１加算した数分のＶＰＮトンネルの確立が要求される。一方、他の通信制御装置１０から、複数のＶＰＮトンネルの確立を要求する要求パケットを受信している場合（Ｓ１３：ＹＥＳ、図６参照）、ＣＰＵ２１は、図４における通信制御装置１２の通信シーケンスに従ってＰｈａｓｅ１の通信を行う。
【００７７】
複数のＶＰＮトンネルの確立を要求する要求パケットを、他の通信制御装置１０に対して送信している場合（Ｓ２２：ＹＥＳ）、ＣＰＵ２１は、要求パケットに応じて他の通信制御装置１０から受信した応答パケットのVendor IDに、応答情報が格納されているかを判断する（Ｓ２３）。応答パケットのVendor IDに応答情報が格納されている場合（Ｓ２３：ＹＥＳ）、他の通信制御装置１０は、複数のＶＰＮトンネルの確立を許可していることになる（Ｓ１０３、図４参照）。ＣＰＵ２１は、Ｐｈａｓｅ１の通信に続いて行われるＰｈａｓｅ２の通信において、複数のＶＰＮトンネルを確立することになる（Ｓ２４）。Ｐｈａｓｅ２の通信を開始するために、処理はＳ２９に進む。これに対し、応答パケットのVendor IDに応答情報が格納されていない場合（Ｓ２３：ＮＯ）、他の通信制御装置１０は、複数のＶＰＮトンネルを確立させることができない状態であることになる（Ｓ１０３、図４参照）。この場合、ＣＰＵ２１は、Ｐｈａｓｅ１の通信に続いて行われるＰｈａｓｅ２の通信において、一のＶＰＮトンネルを確立することになる（Ｓ２５）。Ｐｈａｓｅ２の通信を開始するために、処理はＳ２９に進む。
【００７８】
一方、複数のＶＰＮトンネルの確立を要求する要求パケットを、他の通信制御装置１０から受信している場合（Ｓ２２：ＮＯ）、ＣＰＵ２１は、要求パケットに応じて応答パケットを送信する（Ｓ１０３、図４参照）。複数のＶＰＮトンネルを確立させることが可能な場合、ＣＰＵ２１は、応答パケットのVendor IDに応答情報を格納する。複数のＶＰＮトンネルを確立させることができない場合、ＣＰＵ２１は、応答パケットのVendor IDに応答情報を格納しない（Ｓ１０３、図４参照）。
【００７９】
ＣＰＵ２１は、他の通信制御装置１０に対して送信した応答パケットのVendor IDに応答情報を格納している場合（Ｓ２６：ＹＥＳ）、Ｐｈａｓｅ１の通信に続いて行われるＰｈａｓｅ２の通信において、複数のＶＰＮトンネルを確立することになる（Ｓ２７）。Ｐｈａｓｅ２の通信を開始するために、処理はＳ２９に進む。これに対し、応答パケットのVendor IDに応答情報を格納していない場合（Ｓ２６：ＮＯ）、ＣＰＵ２１は、Ｐｈａｓｅ１の通信に続いて行われるＰｈａｓｅ２の通信において、一のＶＰＮトンネルを確立することになる（Ｓ２８）。Ｐｈａｓｅ２の通信を開始するために、処理はＳ２９に進む。
【００８０】
Ｐｈａｓｅ１の通信（図４参照）の終了後、ＣＰＵ２１は、Ｐｈａｓｅ２の通信（図４参照）を開始する（Ｓ２９）。Ｐｈａｓｅ２の通信によって、ＣＰＵ２１は、他の通信制御装置１０との間に複数または一のＶＰＮトンネルを確立する。ＣＰＵ２１は、複数のＶＰＮトンネルを確立した場合、其々のＶＰＮトンネルに対し、優先度１、２、３・・・をＳＰＩに対応付ける。
【００８１】
またＣＰＵ２１は、他の通信制御装置１０から応答パケットを受信している場合、ＶＰＮ通信時に使用される優先度別キュー２４２（図５参照）をＲＡＭ２３に設定する。ＣＰＵ２１は、複数の優先度別キュー２４２を設定した場合、ＶＰＮトンネルに割り当てたＳＰＩ（１、２、３・・・）と、ＳＰＩに対応付けた優先度を、其々の優先度別キュー２４２に対応付ける。優先度別キュー２４２にＳＰＩおよび優先度が対応付けられたことになる。ＶＰＮトンネルが確立され、Ｐｈａｓｅ２の通信が終了した場合、トンネル確立処理は終了し、処理は第一メイン処理（図６参照）に戻る。
【００８２】
図８を参照し、第二メイン処理について説明する。ＣＰＵ２１は、（１）Ｐｈａｓｅ１の通信において他の通信制御装置１０に対して要求パケットを送信しており、且つ、（２）配下の通信端末１３からパケットを受信したかを判断する。（１）（２）を満たす場合、ＣＰＵ２１は、通信端末１３から受信したパケットのヘッダの情報のうち一部と一致するトンネル条件に対応付けられたＶＰＮトンネルを使用することによって、ＶＰＮパケットを他の通信制御装置１０に送信する必要があると判断する（Ｓ３１：ＹＥＳ）。ＣＰＵ２１は、ＶＰＮトンネルを使用してＶＰＮパケットを送信する処理（送信処理、図９参照）を実行する（Ｓ３３）。送信処理の詳細は後述する。送信処理の終了後、処理はＳ３５に進む。一方、ＣＰＵ２１は、Ｓ３１において（１）〜（２）を満たさないと判断した場合、他の通信制御装置１０に対してＶＰＮパケットを送信する必要がないと判断する（Ｓ３１：ＮＯ）。処理はＳ３５に進む。
【００８３】
次にＣＰＵ２１は、（３）Ｐｈａｓｅ２の通信において他の通信制御装置１０に対して応答パケットを送信しており、且つ、（４）他の通信制御装置１０からＶＰＮトンネルを介してＶＰＮパケットを受信したかを判断する（Ｓ３５）。（３）（４）を満たす場合（Ｓ３５：ＹＥＳ）、ＣＰＵ２１は、受信したＶＰＮパケットを、ＲＡＭ２３に設定した優先度別キュー２４２（図５参照）に格納する処理（格納処理、図１０参照）を実行する（Ｓ３７）。格納処理の詳細は後述する。格納処理の終了後、処理はＳ３９に進む。一方、ＣＰＵ２１は、Ｓ３５において（３）（４）を満たさないと判断した場合（Ｓ３５：ＮＯ）、処理はＳ３９に進む。
【００８４】
次にＣＰＵ２１は、所定周期で実行する取り出し処理（Ｓ４１、図１１参照、後述）の実行タイミングが到来したかを判断する（Ｓ３９）。取り出し処理の実行タイミングが到来した場合（Ｓ３９：ＹＥＳ）、ＣＰＵ２１は取り出し処理を実行する（Ｓ４１）。取り出し処理では、優先度別キュー２４２に格納されたＶＰＮパケットを優先度順に取り出し、配下の通信端末１３に対して送信するための処理が実行される。取り出し処理の詳細は後述する。取り出し処理の終了後、処理はＳ４３に進む。一方ＣＰＵ２１は、Ｓ３９において取り出し処理の実行タイミングが到来していないと判断した場合（Ｓ３９：ＮＯ）、処理はＳ４３に進む。
【００８５】
ＣＰＵ２１は、ＶＰＮ通信を終了させる入力操作が、配下の通信端末１３に対して行われたかを判断する（Ｓ４３）。ＶＰＮ通信を終了させる入力操作が行われた場合（Ｓ４３：ＹＥＳ）、ＣＰＵ２１は、ＶＰＮ通信を終了させるためにＶＰＮトンネルを切断し、第二メイン処理は終了する。一方ＣＰＵ２１は、ＶＰＮ通信を終了させる入力操作が行われていない場合（Ｓ４３：ＮＯ）、ＶＰＮ通信を継続するために、処理はＳ３１に戻る。
【００８６】
図９を参照し、送信処理について説明する。ＣＰＵ２１は、ＲＡＭ２３（図１参照）に定義された変数Ｊに１を設定する（Ｓ５１）。ＣＰＵ２１は、設定画面２８（図２参照）を介して入力されたトンネル条件のうち、Ｊのインデックスのトンネル条件を参照する。ＣＰＵ２１は、配下の通信端末１３から受信したパケットのヘッダの情報のうち一部が、参照したトンネル条件と一致するかを判断する（Ｓ５３）。
【００８７】
通信端末１３から受信したパケットの条件が、参照したトンネル条件と一致する場合（Ｓ５３：ＹＥＳ）、ＣＰＵ２１は、通信端末１３から受信したパケットを暗号化することによって、暗号化データを作成する（Ｓ５５）。ＣＰＵ２１は、優先度Ｊに対応するＳＰＩを格納したＥＳＰヘッダを準備する。ＣＰＵ２１は、ＩＰヘッダ、および、準備したＥＳＰヘッダを、暗号化データに付加することによって、ＶＰＮパケットを作成する（Ｓ５７）。ＣＰＵ２１は、作成したＶＰＮパケットを、他の通信制御装置１０に対して送信する（Ｓ６５）。優先度Ｊに対応するＳＰＩが格納されているので、ＶＰＮパケットは、優先度Ｊに対応するＳＰＩが示すＶＰＮトンネルを使用して送信される。送信処理は終了し、処理は第二メイン処理（図８参照）に戻る。
【００８８】
一方、Ｓ５３で、通信端末１３から受信したパケットの条件が、参照したトンネル条件と一致しない場合（Ｓ５３：ＮＯ）、ＣＰＵ２１は、Ｊに１を加算して更新する（Ｓ５９）。ＣＰＵ２１は、更新したＪの値が、設定画面２８（図２参照）を介して入力されたトンネル条件の総数よりも大きいかを判断する（Ｓ６１）。Ｊの値が、入力されたトンネル条件の総数以下である場合（Ｓ６１：ＮＯ）、処理はＳ５３に戻る。これに対し、Ｊの値が、入力されたトンネル条件の総数よりも大きくなった場合（Ｓ６１：ＹＥＳ）、ＣＰＵ２１は、暗号化データを作成する（Ｓ６３）。優先度Ｊに対応するＳＰＩが格納されたＥＳＰヘッダを準備し、ＩＰヘッダと、準備したＥＳＰヘッダを暗号化データに付加したＶＰＮパケットを作成する（Ｓ６４）。ＣＰＵ２１は、作成したＶＰＮパケットを、他の通信制御装置１０に対して送信する（Ｓ６５）。ＶＰＮパケットは、トンネル条件が対応付けられていないＶＰＮトンネル、例えば、図３におけるＶＰＮトンネル３３を使用して送信される。送信処理は終了し、処理は第二メイン処理に戻る。
【００８９】
図１０を参照し、格納処理について説明する。他の通信制御装置１０から受信したパケットは、ＯＳの処理によってＲＡＭ２３の受信キュー２４１に順次格納されている（Ｓ１３１、図５参照）。またＯＳの処理によって、受信キュー２４１からパケットが取り出され、ＶＰＮパケットが抽出されている（Ｓ１３３、図５参照）。ＣＰＵ２１は、抽出されたＶＰＮパケットのＥＳＰヘッダを参照し、ＳＰＩを特定する（Ｓ７１）。ＣＰＵ２１は、特定したＳＰＩに対応する優先度別キュー２４２を特定する（Ｓ７１）。ＣＰＵ２１は、特定した優先度別キュー２４２に空きがあるかを判断する（Ｓ７３）。ＣＰＵ２１は、特定した優先度別キュー２４２に空きがある場合（Ｓ７３：ＹＥＳ）、優先度別キュー２４２の末尾に、ＶＰＮパケットを格納する（Ｓ７５）。格納処理は終了し、処理は第二メイン処理（図８参照）に戻る。一方、特定した優先度別キュー２４２に空きがない場合（Ｓ７３：ＮＯ）、優先度別キュー２４２にこれ以上ＶＰＮパケットを格納することができないので、ＣＰＵ２１は、ＶＰＮパケットを破棄する（Ｓ７７）。格納処理は終了し、処理は第二メイン処理（図８参照）に戻る。
【００９０】
優先度別キュー２４２に空きがない場合、優先度別キュー２４２に空きが確保されるまで待機すると、ＶＰＮデータの処理が滞り、通信遅延が大きくなる可能性がある。これに対してＣＰＵ２１は、優先度別キュー２４２の空きがない場合にＶＰＮパケットを破棄することによって、通信遅延が大きくなることを抑止している。なお後述するように、ＶＰＮパケットは優先度の高い順で優先度別キュー２４２から取り出されるため、優先度の高い優先度別キュー２４２の空きは確保され易くなっている。このため、優先度の高いＶＰＮパケットが破棄される可能性は低い。
【００９１】
図１１を参照し、取り出し処理について説明する。ＣＰＵ２１は、ＲＡＭ２３（図１参照）に定義された変数Ｉに１を設定する（Ｓ８１）。ＣＰＵ２１は、優先度別キュー２４２のうち、優先度Ｉの値が対応付けられた優先度別キュー２４２を参照する（Ｓ８３）。ＣＰＵ２１は、参照した優先度別キュー２４２にＶＰＮパケットが格納されているかを判断する（Ｓ８５）。参照した優先度別キュー２４２にＶＰＮパケットが格納されている場合（Ｓ８５：ＹＥＳ）、ＣＰＵ２１は、優先度別キュー２４２に格納されているＶＰＮパケットを取り出す（Ｓ８７）。ＣＰＵ２１は、取り出したＶＰＮパケットから暗号化データを抽出し、暗号化データを復号する（Ｓ８９）。ＣＰＵ２１は、復号したパケットを、配下の通信端末１３に対して送信する（Ｓ９１）。取り出し処理は終了し、処理は第二メイン処理（図８参照）に戻る。これによって、優先度の高い優先度別キュー２４２から順にＶＰＮパケットが取り出され、復号の後、通信端末１３に送信されることになる。
【００９２】
一方、参照した優先度別キュー２４２にＶＰＮパケットが格納されていない場合（Ｓ８５：ＮＯ）、ＣＰＵ２１は、Ｉに１を加算し更新する（Ｓ９３）。ＣＰＵ２１は、更新したＩの値が、優先度別キュー２４２の総数よりも大きいかを判断する（Ｓ９５）。Ｉの値が優先度別キュー２４２の総数以下である場合（Ｓ９５：ＮＯ）、処理はＳ８３に戻る。一方、Ｉの値が、優先度別キュー２４２の総数よりも大きくなった場合（Ｓ９５：ＹＥＳ）、取り出し処理は終了し、処理は第二メイン処理（図８参照）に戻る。
【００９３】
以上説明したように、通信制御装置１０は、他の通信制御装置１０との間に確立した複数のＶＰＮトンネルに対応付けたＳＰＩによって、ＶＰＮトンネルの優先度を設定する。通信制御装置１０は、ＶＰＮパケットに応じてＶＰＮトンネルを使い分けることによって、優先制御を行う。ここで、通信制御装置１０が受信したＶＰＮパケットを、使用されたＶＰＮトンネル毎に分類するために参照するＳＰＩは暗号化されない。このため通信制御装置１０は、ＶＰＮパケットを通信端末１３に対して転送する際、ＳＰＩを参照するためにＶＰＮパケットを復号する必要がない。従って通信制御装置１０は、ＳＰＩに応じた優先制御を迅速に行い、通信端末１３間の通信制御を行うことができる。例えば、通信遅延により情報が劣化し易い音声や映像等のデータを含むパケットについては、高い優先度のＶＰＮトンネルが使用されるようにＳＰＩを設定し、ＶＰＮパケットを送信するとよい。これによって、通信端末１３間の通信のリアルタイム性を高めることができる。
【００９４】
なお通信制御装置１０は、ＶＰＮパケットを受信する場合に使用される優先度別キュー２４２を、確立されるＶＰＮトンネルの数に応じてＲＡＭ２３に設定することができる。このため通信制御装置１０は、予め多くの優先度別キュー２４２をＲＡＭ２３に設定しておく必要が無いので、容量の小さいＲＡＭ２３を使用することができる。これによって、通信制御装置１０のコストを抑制することができる。
【００９５】
なお、Ｓ１５において、複数のＶＰＮトンネルを確立する処理を行うＣＰＵ２１が本発明の「第一確立処理」に相当する。Ｓ５７、Ｓ６３の処理を行うＣＰＵ２１が本発明の「付加手段」に相当する。Ｓ６５の処理を行うＣＰＵ２１が本発明の「第一送信手段」に相当する。Ｓ３５の処理を行うＣＰＵ２１が本発明の「受信手段」に相当する。Ｓ９１の処理を行うＣＰＵ２１が本発明の「第二送信手段」に相当する。ＲＡＭ２３が本発明の「記憶手段」に相当する。優先度別キュー２４２が本発明の「データ領域」に相当する。Ｓ７５の処理を行うＣＰＵ２１が本発明の「格納手段」に相当する。Ｓ７７の処理を行うＣＰＵ２１が本発明の「消去手段」に相当する。Ｓ２１において、他の通信制御装置１０に対して要求パケットを送信する処理を行うＣＰＵ２１が本発明の「要求手段」に相当する。Ｓ２１において、他の通信制御装置１０に対して応答パケットを送信する処理を行うＣＰＵ２１が本発明の「応答手段」に相当する。Ｓ１５において、一のＶＰＮトンネルを確立する処理を行うＣＰＵ２１が本発明の「第二確立手段」に相当する。Ｓ２９において、他の通信制御装置１０に対して、ＶＰＮトンネルの総数を通知する処理を行うＣＰＵ２１が本発明の「通知手段」に相当する。Ｓ２９において、優先度別キュー２４２を設定する処理を行うＣＰＵ２１が本発明の「設定手段」に相当する。ＳＰＩに格納される情報が、本発明の「経路情報」に相当する。Ｓ１５において、複数のＶＰＮトンネルを確立する処理が本発明の「第一確立ステップ」に相当する。Ｓ５７、Ｓ６３の処理が本発明の「付加ステップ」に相当する。Ｓ６５の処理が本発明の「第一送信ステップ」に相当する。Ｓ３５の処理が本発明の「受信ステップ」に相当する。Ｓ９１の処理が本発明の「第二送信ステップ」に相当する。
【００９６】
なお本発明は、上述の実施形態に限定されず、種々の変更が可能である。上述において、受信したＶＰＮパケットを格納する優先度別キュー２４２をＲＡＭ２３に設定する代わりに、ＶＰＮパケットを記憶する共通の受信バッファをＲＡＭ２３に設定してもよい。ＣＰＵ２１は、受信したＶＰＮパケットを、受信した順で受信バッファに格納しても良い。受信バッファから優先度別にＶＰＮパケットを取り出す場合、ＣＰＵ２１は、其々のＶＰＮパケットのＳＰＩを参照し、ＳＰＩに対応する優先度の高い順にＶＰＮパケットを取り出して通信端末１３に送信してもよい。上述において、優先度別キュー２４２に空きが無い場合にＶＰＮパケットを破棄していたが、ＣＰＵ２１は、ＶＰＮパケットを破棄せず、ＲＡＭ２３の専用領域に、ＶＰＮパケットを一時的に記憶してもよい。ＣＰＵ２１は、優先度別キュー２４２に空きができた時点で、一時的に記憶したＶＰＮパケットを優先度別キュー２４２に格納してもよい。
【００９７】
上述において、ＣＰＵ２１は、要求パケットのVendor IDに要求情報を格納する代わりに、確立を要求するＶＰＮトンネルの総数を格納してもよい。ＣＰＵ２１は、応答パケットのVendor IDに応答情報を格納する代わりに、確立させることが可能なＶＰＮトンネルの総数を格納してもよい。上述において、ＣＰＵ２１は、他の通信制御装置１０から受信したＶＰＮパケットを配下の通信端末１３に送信する場合、暗号化データを復号せず、暗号化された状態で送信してもよい。
【００９８】
上述では、配下の通信端末１３から受信したパケットのヘッダの情報に応じて、ＶＰＮパケットを送信する場合に使用するＶＰＮトンネルが決定されていた。ＣＰＵ２１は、配下の通信端末１３から送信されたパケットの種別（映像パケット、音声パケット等）に応じて優先度を定めてもよい。ＣＰＵ２１は、定めた優先度に対応するＳＰＩが割り当てられたＶＰＮトンネルを使用して、ＶＰＮパケットを他の通信制御装置１０に対して送信してもよい。または、配下の通信端末１３から送信されたパケットに、優先度を示す情報が予め格納されていてもよい。通信制御装置１０は、格納されている優先度に対応するＳＰＩが割り当てられたＶＰＮトンネルを使用して、ＶＰＮパケットを他の通信制御装置１０に対して送信してもよい。
【００９９】
上述では、優先度別キュー２４２に対応付けられた優先度の高い順で、優先度別キュー２４２が参照され、ＶＰＮパケットが取り出されていた。これに対してＣＰＵ２１は、其々の優先度別キュー２４２に重み付けを行うことによって、優先度の低い優先度別キュー２４２からも、一定の割合でＶＰＮパケットを取り出すように制御してもよい。
【符号の説明】
【０１００】
１０、１１、１２  通信制御装置
１３、１４、１５  通信端末
１６      インターネット網
１７、１８、１９、３０、３１、３２、３３  ＶＰＮトンネル
２４    フラッシュメモリ
６１    ＶＰＮパケット
２４２  優先度別キュー
【図１】
2013062745.tif 000003
【図２】
2013062745.tif 000004
【図３】
2013062745.tif 000005
【図４】
2013062745.tif 000006
【図５】
2013062745.tif 000007
【図６】
2013062745.tif 000008
【図７】
2013062745.tif 000009
【図８】
2013062745.tif 000010
【図９】
2013062745.tif 000011
【図１０】
2013062745.tif 000012
【図１１】
2013062745.tif 000013