(57)【特許請求の範囲】
【請求項１】
物理回線にトンネルを作成し、前記トンネルに複数のセッションを多重する通信システムにおいて、
複数のトンネルを使用中のユーザが、所定のサービス料金と引き換えに、より少ないトンネル数でセッションを確保するサービスの需要者であるかを認証する認証ユニットと、
前記認証ユニットにおいて前記ユーザが前記サービスの需要者であると認証されると、前記ユーザが使用するトンネルとセッションの使用状態を監視し、前記ユーザが使用中のセッションをより少ないトンネルにて確保可能であるかを判定する判定ユニットと、
前記判定ユニットにおいて確保可能と判定されると、前記ユーザの複数のセッションを所定のトンネルにまとめるよう制御するトンネル制御ユニットと、
使用するトンネル数又は物理回線数に応じて使用料を課金する課金ユニットと、を含む通信システム。
【請求項２】
ユーザ端末を収容する第1のサーバと、前記第1のサーバと第1のネットワークを介して接続され前記1のサーバと協調して前記第1のネッワークにトンネルを作成し前記トンネルを用いて前記ユーザ端末を第2のネットワークに接続する第2のサーバと、を含む通信システムにおいて、
前記第1のサーバは、
ユーザ端末と接続する第1のインタフェースと、
前記第1のインタフェースを介して接続を要求するユーザを認証する認証ユニットと、
前記認証されたユーザのセッションを確立するためのトンネルを前記第２のサーバとの間に作成し、前記第1のインタフェースから受信したパケットをカプセル化し出力する第１のトンネルユニットと、
前記トンネルユニットから出力されたパケットを前記第１のネットワーク上に形成された前記トンネルを介して転送する第2のインタフェースと、
前記セッションを監視し、複数のトンネルのうちセッションが切断されたトンネルを特定し、前記セッションの切断されたトンネル上に、他のトンネル上のセッションを移動することで、より少ないトンネル数でユーザのセッションを確保するよう前記トンネルユニットを制御する制御ユニットと、
を含み、
前記第2のサーバは、
第１のネットワークと接続する第３のインタフェースと、
前記認証されたユーザのセッションを確立するためのトンネルを前記第１のサーバとの間に作成し、前記第３のインタフェースで受信したカプセル化されたパケットのカプセル化を解除し出力する第２のトンネルユニットと、
前記第２のトンネルユニットから出力されたパケットを第２のネットワークに転送する第４のインタフェースと、を含む通信システム。
【請求項３】
前記第１のサーバは、さらに、前記トンネルを管理するための管理テーブルを記憶する記憶ユニットを備え、
前記制御ユニットは、前記管理テーブルを作成し、前記トンネルの確立及び前記セッションの確保を前記管理テーブルにて管理する請求項２に記載の通信システム。
【請求項４】
前記制御ユニットは、セッションの切断を検知し、切断されたセッションを前記管理テーブルに登録し、前記セッションの切断されたトンネル上に移動できそうな他のトンネル上のセッションを前記管理テーブルから検索し、検索により見つかったセッションの識別情報を含めたセッション切替えメッセージを作成して前記第２サーバに送信し、
前記第２のサーバは、前記切替えメッセージに基づいて、前記セッションの切断されたトンネル上に、他のトンネル上のセッションを移動する請求項３に記載の通信システム。
【請求項５】
第1の通信インタフェースで受信したパケットをカプセル化し、カプセル化されたパケットを第2の通信インタフェースを介して転送する通信方法において、
前記第2のインタフェースに接続された第1の物理回線上に第１の論理パスを確保するステップと、
前記第1の論理パスに第1のセッションを確保するステップと、
前記第2のインタフェースに接続された第2の物理回線上に第２の論理パスを確保するステップと、
前記第２の論理パスに第２のセッションを確保するステップと、
前記第１および第２のセッションにサービスレベルを割当てるステップと、
前記第１の論理パス上に確保されているセッションのサービスレベルの合計を監視するステップと、
前記セッションのサービスレベルの合計と前記論理パスに割当可能な総サービスレベルとから割当可能なサービスレベルを算出するステップと、
前記第２の論理パス上に確保されていたセッションのサービスレベルと前記算出されたサービスレベルとを比較するステップと、
前記比較の結果、前記第２の物理回線上に確保されていた論理パスのサービスレベルが前記算出されたサービスレベル以下の場合に前記第２の論理パス上に確保されていたセッションを前記第１の論理パス上に確保し直すステップと、
を有する仮想私設網における通信方法。
【請求項６】
前記第１の論理パス上に第1のセッションを確保するステップは、
該第1の論理パスの使用状態を記憶する第1の記憶装置から該第1の論理パスの使用状態を読み出すステップと、
読み出された使用状態から該論理パス上に新たなセッションを確保できる否かを判定するステップと、
新たなセッションを確保可能と判定すると該第1の記憶装置に新に確保するセッションを登録するステップとを含み、
前記第２の論理パス上に第2のセッションを確保するステップは、
該第２の論理パスの使用状態を記憶する第２の記憶装置から該第２の論理パスの使用状態を読み出すステップと、
読み出された使用状態から該論理パス上に新たなセッションを確保できる否かを判定するステップと、
新たなセッションを確保可能と判定すると該第２の記憶装置に新に確保するセッションを登録するステップとを含み、
前記第１の論理パス上に確保されているセッションのサービスレベルの合計を監視するステップは、
前記該第1の論理パスの使用状態を管理する第1の記憶装置から該第1の論理パスの使用状態を読み出すステップと、
読み出された使用状態から該論理パス上に新たなセッションを確保できる否かを判定するステップと、を含む、請求項５に記載の通信方法。
【請求項７】
前記第２の論理パス上に確保されていたセッションを前記第１の論理パス上に確保し直すステップは、
前記第１の論理パス上に新にセッションを確立するステップと、
前記第２の論理パス上に確保されていたセッションを介して送信していたパケットを前記第１の論理パス上に新に確保されたセッションを介して転送するステップと、
前記第２の論理パス上に確保されていたセッションを切断するステップと、を含む、請求項５に記載の通信方法。
【請求項８】
前記セッションにサービスレベルを割当てるステップと、
前記セッションのトラヒックを監視するステップと、
前記セッションのトラヒックが割当てられたサービスレベルに見合わない場合には前記セッションのサービスレベルをトラヒックに見合うように調整するステップと、をさらに含む請求項７に記載の通信方法。
【請求項９】
前記セッションのサービスレベルをトラヒックに見合うように調整するステップは、前記セッションのトラヒックが閾値以下の場合には前記セッションのサービスレベルを下げ、前記セッションのトラヒックが閾値以上の場合には前記セッションのサービスレベルを上げるステップである請求項８に記載の通信方法。
【請求項１０】
VPNを構築するための通信装置において、
ユーザ端末と通信回線を介して接続する第1のインタフェースと、
前記第1のインタフェースを介して接続を要求するユーザを認証する認証ユニットと、
前記認証されたユーザのセッションを確立するためのトンネルを作成し、前記第1の  インタフェースから受信したパケットをカプセル化し出力するトンネルユニットと、
前記トンネルユニットから出力されたパケットを他のネットワークに転送する第2のインタフェースと、
前記セッションを監視し、複数のトンネルのうちセッションが切断されたトンネルを特定し、前記セッションの切断されたトンネル上に、他のトンネル上のセッションを移動することで、より少ないトンネル数でユーザのセッションを確保するよう前記トンネルユニットを制御する制御ユニットと、を含む通信装置。
【請求項１１】
前記通信装置は、さらに、前記トンネルを管理するための管理テーブルを記憶する記憶ユニットを備え、
前記制御ユニットは、前記管理テーブルを作成し、前記トンネルの確立及び前記セッションの確保を前記管理テーブルにて管理する請求項１０に記載の通信装置。
【請求項１２】
前記制御ユニットは、セッションの切断を検知し、切断されたセッションを前記管理テーブルに登録し、前記セッションの切断されたトンネル上に移動できそうな他のトンネル上のセッションを前記管理テーブルから検索し、検索により見つかったセッションの識別情報を含めたセッション切替えメッセージを作成して前記第2のインタフェースから送信するように制御する請求項１１に記載の通信装置。
【請求項１３】
第1の通信インタフェースで受信したパケットをカプセル化し、カプセル化されたパケットを第2の通信インタフェースを介して転送する通信方法において、
前記第2のインタフェースに接続された第1の物理回線上に第１の論理パスを確保するステップと、
前記第1の論理パスに第1のセッションを確保するステップと、
前記第2のインタフェースに接続された第2の物理回線上に第２の論理パスを確保するステップと、
前記第２の論理パスに第２のセッションを確保するステップと、
前記第１および第２のセッションにサービスレベルを割当てるステップと、
前記第１の論理パス上に確保されているセッションのサービスレベルの合計を監視するステップと、
前記セッションのサービスレベルの合計と前記論理パスに割当可能な総サービスレベルとから割当可能なサービスレベルを算出するステップと、
前記第２の論理パス上に確保されていたセッションのサービスレベルと前記算出されたサービスレベルとを比較するステップと、
前記比較の結果、前記第２の物理回線上に確保されていた論理パスのサービスレベルが前記算出されたサービスレベル以下の場合に前記第２の論理パス上に確保されていたセッションを前記第１の論理パス上に確保し直すステップと、
をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本願発明はリモートアクセス網において、リモート端末がトンネルを介してサーバに接続する際のトンネル管理技術に関する。
【０００２】
【従来の技術】
最近、企業などのリモート端末が、通信サービスプロバイダーの接続サービスを介して、自社のサーバにアクセスする接続形態が考案されている。このアクセス方法は、他社が構築したネットワークを利用しながらも、自社で構築したネットワークと同じ使い勝手で利用できるため仮想私設網(Virtual  Private  Network:VPN)と呼ばれる。例えば、各支社・支店のLANをインターネット経由で接続する接続形態はVPNの典型的な例といえる。
【０００３】
VPNを構築する技術にトンネリングがある。トンネリングとは、上位層のプロトコルに，下位層のプロトコルのデータをカプセル化し，インターネット上の2点間で透過に通信できるようにする技術である。例えば、VPNを構築する広帯域網(Wide Area Network :WAN)がインターネットの場合は、IP(Internet Protocol)パケットに新たにIPヘッダを付加することでカプセル化し、WAN上を通過させる。
【０００４】
なお、トンネリングプロトコルとしては、L2TP(Layer  2  Tunneling  Protocol)、PPTP(Point-to-Point Tunneling Protocol)やL2F(Layer-2  Forwarding)が知られている。
【０００５】
【発明が解決しようとする問題】
近年、携帯電話や無線LAN等によるモバイルコンピューティングが盛んに利用されており、加入者は増加の一途をたどっている。また、IPv4(Internet Protocol version 4)アドレスの枯渇に伴い、企業内のIPネットワーク(私設LAN)ではプライベートアドレスを用いるのが一般的となっている。このため、モバイル端末から私設LANにアクセスする場合、移動体通信網の出口(ゲートウェイ)と私設LANのアクセスサーバにトンネリング機能を持たせて、その間に存在するネットワークの中をあたかも専用線で接続されているような、いわゆるVPNを構築する必要がある。
【０００６】
しかし、VPN網に用いられるトンネリング・プロトコルではトンネルの生成法などを規定しているにすぎず、細かな回線制御については何ら規定していない。
【０００７】
本発明は、ユーザの契約サービスレベルや通信量に応じて、トンネルを、現在の通信回線からより適した通信回線へと移動することで、トンネルの作成に必要な通信回線数の低減を目的とする。
【０００８】
【課題を解決するための手段】
トンネルの両端に存在するVPN装置に、ある通信回線上に張られたトンネルを異なる一つもしくは複数の通信回線上の一つに切り替える機能と、管理テーブルを用いてトンネルの状態を管理する機能と、トンネルに対して通信量を制御するための帯域制御機能とを持たせることによりトンネルの動的な制御を行う。
【０００９】
【発明の実施の形態】
以下、本発明の一実施形態として、トンネリングプロトコルにL2TPを用いた場合を説明する。なお、以下は本発明の一実施形態に過ぎず、本発明は、PPTP、L2Fなど、他のトンネリングプロトコルにおいても同様に適用できる。
【００１０】
(1)  ハードウェア
トンネル制御装置にはLAC101と、LNS102がある。一般に、LAC(L2TP Access Concentrator)は、ダイヤルイン・クライアントとのPPP接続を確立し、LNS (L2TP Network Server)にトンネル作成依頼要求を送信し、クライアントからトンネルを介しLNSに送信されるすべてのトラフィックをカプセル化し転送する。また、確立されたトンネルから受信したトラフィックのカプセル化を解除し、クライアントに転送し、クライアントが切断するときにLNSにtunnel-disconnect要求を送信する。
【００１１】
図1にトンネリング制御装置であるLAC101の構成図を示す。全体制御装置1は、トンネリング制御装置のメインの制御装置であり、演算装置2及び記憶装置3を含む。ユーザ情報管理部4は、リモートユーザの認証等の管理を行う。ユーザ接続インタフェース5、6はリモートユーザを接続するためのインタフェースである。公衆網接続インタフェース7、8は、インターネットなどのネットワークと接続するためのインタフェースである。L2TP処理部9は、通常のL2TPプロトコルの処理に加え、本実施形態の処理も行う。ユーザ情報管理・記憶部10は、VPNに接続中のユーザを管理し記憶する。トンネル・セッション制御部(TSC)11は、トンネルの生成・削除等を行う。帯域制御部12は、物理通信回線や論理パスである、トンネル・セッション管理テーブル制御部(TSATC)13、記憶装置14を含む。また、図中、太線はデータ通信路を示し、細線は制御通信路を示す。なお、ユーザ情報管理部4には、使用するトンネル数又は物理回線数に応じて使用料を課金する課金ユニットも備えている。なお、課金ユニットはLAC内に備えなければならないものではなく、ネットワーク上の他のサーバに設けても良い。
【００１２】
一方、LNSは、LACからのトンネル生成要求に応答し、確立されたトンネルから受信したすべてのトラフィックのカプセル化を解除し、プライベート・ネットワークに転送したり、LACから要求された場合や設定された使用期限が切れた場合にトンネルを切断する。
【００１３】
図2にLNS102の構成図を示す。LNS102は、全体制御装置1'、私設LAN接続インタフェース5'、6'、公衆網接続インタフェース7'、8'及びL2TP処理部9'を備える。全体制御部1'は、演算装置2'及び記憶装置3'を含む。L2TP処理部9'は、TSC11'、TSATC13'、記憶装置14'を含む。
【００１４】
インタフェースから入ってきたトンネリングに関係ないデータ(カプセル化されていないIPパケット等)は、全体制御部1(1')に送られ、記憶装置3(3')の中に格納された制御プログラムを読み出した演算部2(2')が処理を実行し、適切なインタフェースに送信される。
【００１５】
(2)  第1のトンネル制御方式  SL(サービスレベル)を考慮しない場合
図3〜図5に、本発明に係るトンネル制御装置(LAC101、LNS102)を使用したトンネル制御例を示す。図2には、複数のリモートユーザが、トンネル制御装置LAC101とLNS102とを結ぶ複数の通信回線上に確立されたL2TPトンネルを用いて私設LANとデータ通信を行っている状況を示す。
LAC101の公衆網側回線接続インタフェース7,8と、LNS102の公衆網側回線接続インタフェース7',8'とは、物理的な通信回線103、104、105によって相互に接続されている。物理的な通信回線103上には、トンネルIDが1のトンネル106が確立されている。通信回線104上には、トンネルIDが2のトンネル107が確立されている。L2TPでは、さらにこのトンネルの中にセッションを多重して、リモートユーザ毎に1セッションを割り当てている。個々のセッションは、トンネルに割り当てられるトンネルIDとセッションに割り当てられるセッションIDの組によって一意的に識別することができる。この例では、1通信回線に1トンネルを確立し、すべてのトンネルで3セッションまで多重可能とする。
【００１６】
トンネル106では、リモートユーザ108はセッションIDが1のセッション113を、またリモートユーザ109はセッションIDが2のセッション114を、さらにリモートユーザ110はセッションIDが3のセッション115により通信を確立している。つまり、トンネル106内には既に3つのセッションが多重されているので、トンネル106(通信回線103)にはこれ以上セッションを多重することはできない。トンネル107では、リモートユーザ111がセッション116を通して通信を確立しており、セッションIDは1である。この時、通信回線105は使用されていないので、105のための通信料は発生しないものとする。
【００１７】
図3の状態で、リモートユーザ110が通信を終え、セッション115が切断されたとする。LAC101のL2TP処理部9は、セッション115の切断を検出すると、セッション116をセッション115が使用していたトンネル、セッションIDに切り替えるためのリクエスト制御メッセージ(Change  Call  Request)を作成し、LNS102に対して送出する(120)。なお、このメッセージは、LAC101の公衆網側回線接続インタフェース7からLNS102に向けて送信される。
【００１８】
LNS102の公衆網側回線接続インタフェース8'で、リクエスト制御メッセージを受信すると、LNS102のL2TP処理部9'は、受信したメッセージの内容と自己が管理するセッション管理テーブルとを分析することでセッション切替えが可能かを判定し、セッション切替を許可する場合はリプライ制御メッセージ(Change  Call  Reply)を作成し、LAC101に返す(121)。なお、以降の説明においても、LNS102とLAC101とのメッセージ交換は回線接続インタフェースを介して行うが、記載を簡潔にすべく以下では説明を省略することがある。
【００１９】
LAC101は、セッションの切替えを実行した後、切替完了制御メッセージ(Change  Call  Connected)を作成して、LNS102に送信し、セッション切替を完了する(122)。その後、セッションがなくなったトンネル107はTSC11,11'が切断する。その時の状態を図5に示す。この操作によって、通信回線104を使用せずに必要最小限の通信回線だけを利用することになり、通信回線の有効利用を実現することができる。
【００２０】
例えば、通信回線を提供する事業者がセッションやトンネル単位ではなく、通信回線単位で使用料を徴収する場合は、より少ない数の通信回線にセッションをまとめてあげればユーザにとって通信費の削減なりうる。
【００２１】
上記のLAC101とLNS102間でやり取りされるセッション切替用制御メッセージとして、L2TPで規定されるICRQ、ICRP、ICCN(OCRQ、OCRP、OCCN)を使用する場合は、セッション切替先のトンネル、セッションIDをLAC-LNS間で交換するために新規AVP(Attribute  Value  Pair)を定義する必要がある。L2TPでは、相互接続性と拡張性を考慮し、すべてのコマンドを属性タイプと具体的な属性値のペアで表現する。この表現方法が、AVPである。AVPは、制御メッセージに格納または添付されて、LAC-LNS間で送受される。
【００２２】
ICRQ,ICCN,OCRP は LACからLNSへのメッセージであり、ICRQ(Incoming-Call-Request) は着呼要求を意味し、ICCN(Incoming-Call-Connected)は着呼接続(ICRPへの応答)を意味し、OCRP(Outcoming-Call-Reply)は発呼応答(OCRQへの応答)を意味する。
【００２３】
ICRP,OCRQ,OCCN は LNSからLACへのメッセージであり、ICRP(Incoming-Call-Reply)は着呼応答(ICRQへの応答)を意味し、OCRQ(Outcoming-Call-Request)は発呼要求を意味し、OCCN(Outcoming-Call-Connected)は発呼接続(OCRPへの応答)を意味する。
【００２４】
ところで、セッション切替の機能をサポートしていないLACもしくはLNSが、通信中のセッション上でICRQを受信すると、エラーと判断して、セッション116をそのまま切断してしまう恐れがある。
【００２５】
そこで、本実施形態では、このような切断を防ぐべく、セッション切り替え用の新規制御メッセージを定義する。図4では、Change  Call  Request(CCRQ)、Change  Call  Reply(CCRP)、Change  Call  Connected(CCCN)という3つのセッション切り替え用制御メッセージを新たに定義して、さらに、セッション切り替え先トンネル・セッションID用のAVPも定義する。セッション切替はL2TPのトンネル・セッション確立の際と同様に3ウェイハンドシェークで行う。
【００２６】
これらのトンネル、セッション情報は、TSATC13,13'がトンネル管理テーブル131及びセッション管理テーブル135〜138, 135'〜138'を作成し、記憶装置14,14'に記憶して管理する。図6には、トンネル管理テーブル及びセッション管理テーブルの一例を示している。このテーブルは、LAC101-LNS102間がm本の通信回線で接続され、トンネルIDがkのトンネルにはnk本のセッションが多重可能な場合のものである。トンネル管理テーブル131には、各トンネルに対する情報として、トンネルIDフィールド132、空き状況フィールド133、トンネル有無フィールド134がある。トンネルIDフィールド132は実際に確立されるトンネルのトンネルIDに対応する。空き状況フィールド133は、トンネルに新しいセッションを多重する空きは存在するかどうかを表しており、0であれば空きが存在し、1であれば空きは存在しないことを表す。トンネル有無フィールド134は、トンネルが確立されているかどうかを表しており、1であればトンネルは存在し、0であればトンネルは確立されていないものとする。
【００２７】
また、m本のトンネルのそれぞれに対応した、m個のセッション管理テーブル135〜138が存在し、あるトンネルの中のセッション多重の様子を表しており、各セッションに対する情報として、セッションIDフィールド139とセッション有無フィールド140がある。セッションIDフィールド139は実際にトンネル内に多重して確立されるセッションのセッションIDに対応する。セッション有無フィールド140は、そのセッションIDのセッションが確立されているかどうかを表しており、1であればセッションは存在し、0であればセッションは確立されていないものとする。
【００２８】
図7に、ユーザから新しい呼が発生し、新規セッションを確立する場合のLAC101におけるフローチャートを示す。これらは、トンネルIDが小さいトンネルに可能な限りセッションを多重していくという考えに基づいたものである。
【００２９】
まず、LAC101のユーザ側回線接続インタフェース5,6にユーザからの新しい呼が発生すると、LAC101の全体制御部1は呼の発生を検知する(200)。次に、全体制御部1はユーザ情報管理部4にユーザの認証を実施するよう命令を発し、ユーザ情報管理部4はその命令に従って、RADIUS(remote authentication dial in user service)によるユーザ認証を実行する(201)。ここでRADIUSとは、ネットワーク・アクセス・サーバ（NAS）と連携するための認証，認可，設定情報伝達のプロトコルをいう。RADIUSサーバーはNASクライアントから送信されたユーザー情報を受け取り，ユーザー・データを認証後，必要な情報をNAS側に返送する。 RADIUSサーバーとNASクライアント間は情報共有により認証され，送信されるパスワード情報は暗号化されているので，セキュリティが保証されている。
【００３０】
なお、ここで、ユーザが所定のサービス料金と引き換えに、より少ないトンネル数でセッションを確保するサービスの需要者であるかを認証する構成にしてもよい。そして、認証の結果、特定サービスの需要者に限り、ユーザの複数のセッションを所定のトンネルに纏めるようにしても良い。なお、ユーザは個人の場合もあれば、企業の場合もある。VPN接続の観点からは、企業の従業者はユーザと呼べる。課金の観点からは、企業はユーザだけでなくユーザグループとも呼ぶことができよう。
【００３１】
認証完了後のトンネル制御処理は、L2TP処理部9が担当する。TSC11は、ユーザ情報管理部4から認証完了メッセージを受け取ると、TSATC13を通してトンネル管理テーブル131を検索する。TSC11は、空きがあるトンネルを見つけると(141,202)、そのトンネルがすでに確立されているか否かを判定する(204)。もし確立されていなければ、対応した通信回線上にトンネルを形成する必要があるため、LNS102に対してSCCRQメッセージを送信する。
【００３２】
SCCRQメッセージを受信したLNS102のTSC11'では、TSATC13'に対して、トンネル確保命令を送信する。このトンネル確保命令は、SCCRQメッセージを受信した通信回線に対応するトンネルのトンネル管理テーブル131'上の空き状況フィールド133'に1を書き込むように命令するものである。TSATC13'はこの命令に従い、トンネル管理テーブル131'を書き換える。その後、TSC11'は、LAC101に対してSCCRPメッセージを送信する。
【００３３】
SCCRPメッセージを受信したLAC101のTSC11は、TSATC13に対して、SCCRPメッセージを受信した通信回線に対応するトンネルのトンネル管理テーブル131上の空き状況フィールド133に1を書き込むよう命令する。TSATC13はこの命令に従い、トンネル管理テーブル131を書き換える。その後LNS102に対してSCCCNメッセージを送信しトンネルを確立する(205)。
【００３４】
これらの制御メッセージはRFC2661で示されたLAC-LNS間の制御コネクションの確立のために使用されるメッセージである。SCCRQ(Start-Control-Connection-Request) はコネクション確立要求であり、SCCRP(Start-Control-Connection-Reply)はコネクション確立応答(SCCRQに対する応答)であり、SCCCN(Start-Control-Connection-Connected) はコネクションの接続確立を意味する。
【００３５】
次に、TSC11は、TSATC13に、ステップ202で見つかったトンネルIDのセッション管理テーブルを順次検索し、まだ使用されていないセッションIDを探すよう命令する。この命令に従ってTSATC13は、記憶装置14のセッション管理テーブルから未使用のセッションIDを探し(143)、見つかった未使用セッションのIDをTSC11に返す。TSC11は、対向するトンネル送制御装置LNS102に対して、Assigned Session ID AVPに未使用セッションのセッションIDを指定したICRQメッセージを送信する。Assigned Session ID AVP は通信に使用するセッションIDを示すためのAVPである(206)。
【００３６】
ICRQメッセージを受信したLNS102のTSC11'では、TSATC13'に対して、ICRQメッセージを受信したトンネルのセッション管理テーブルにアクセスし、ICRQメッセージのAssigned Session ID AVPで示されたセッションのセッション有無フィールドに1を書き込むよう命令する。TSATC13'はこの命令に従って、記憶装置14'のセッション管理テーブルを書き換える。その後、TSC11'はLAC101に対してICRPメッセージを送信する。この時、ICRPメッセージに付けられるAssigned Session ID AVPには、LAC101が示したセッションIDと同じ番号となる。
【００３７】
ICRPメッセージを受信(207)したLAC101のTSC11は、TSATC13に対して、ステップ143で見つけたセッションIDのセッション有無フィールドに1を書き込むよう命令する。TSATC13はこの命令に従って、記憶装置14のセッション管理テーブルを書き換える、LNS102に対してICCNメッセージを送信してセッションを確立する(208)。以上の処理が終わると、TSC11は処理を完了する(209)。
【００３８】
図8に、セッションが切断した場合のLAC101におけるフローチャートを示す。TSC11は、セッションAの切断を検出すると(250)、TSATC13に、セッション管理テーブルのセッションAのセッション有無フィールドに0を書き込むよう命令する。TSATC13はこの命令に従い、記憶装置14のセッション有無フィールドに0を書き込む (251)。LNS102でも、TSC11'が、セッションAの切断を検知すると、TSATC13'に、セッション管理テーブルのセッションAのセッション有無フィールドに0を書き込むよう命令する。TSATC13'はこの命令に従い、記憶装置14'のセッション有無フィールドに0を書き込む。LNS102での処理はこれで終了する。
【００３９】
次に、LAC101のTSATC13は、トンネル管理テーブルを逆順検索し(144)、トンネル有無フィールドが1のトンネル(トンネルB)を見つける(252)。
【００４０】
TSATC13は、トンネルBのトンネルIDがセッションAのトンネルIDより大きいと判断した場合(253)、トンネルBのセッション管理テーブルを逆順検索し(146)、セッション有無フィールドが1のセッションBを見つける(254)。
【００４１】
その後、LAC101のTSC11は、セッション切替用の制御メッセージとして定義したCCRQ(Change Call Request)メッセージを送信する。CCRQには、切り替えが実行されるセッションを示す情報と、切り替え先のセッションを示す情報が付される。具体的には、切り替えが実行されるセッションを示す情報としてセッションBのID及びそのトンネルIDを示したAVPが、また、切り替え先のセッションを示す情報として、セッションAのID及びセッションAが存在したトンネルIDを示したAVPがメッセージに付される(255)。
【００４２】
CCRQメッセージを受信したLNS102のTSC11'は、TSATC13'に対して、AVPで示されたセッションBのレコードを、AVPで示されたセッションAのレコード上に書き換えるよう命令する。TSATC13'は命令に従って、トンネル管理テーブル及びセッション管理テーブルを書き換える。その後、TSC11'はLAC101に CCRP(Change Call Reply)メッセージを送信する。
【００４３】
CCRPメッセージを受信したLAC101のTSC11は(256)、TSATC13に対して、セッション管理テーブルのセッションBのレコードをAVPで示されたセッションAのレコード上に書き換えるよう命令する。TSATC13は命令に従って、トンネル管理テーブル及びセッション管理テーブルを書き換える。その後、TSC11はLNS102に CCCN(Change Call Connected)メッセージを送信し(257)、トンネル切り替えの処理を完了する(258)。
【００４４】
ところで、TSC11は、ステップ253においてセッションAのトンネルIDがセッションBのトンネルIDと等しい、または、大きいと判定すると、セッションBを切り替える必要はないのでそのまま処理を終了する。
【００４５】
また、TSC11は、ステップ254においてトンネルBが1つのセッションも張られていない空のトンネルだと判定した場合には、252に戻って、トンネル管理テーブルをトンネルBから再検索する。
【００４６】
このように本実施形態では、物理回線にトンネルを作成し、前記トンネルに複数のセッションを多重する通信システムにおいて、所定のサービス料金と引き換えに、より少ないトンネル数でセッションを確保するサービスを提供する。ユーザにとっては、所定のサービス料金を支払うことで、トンネル数又は物理回線数に応じて徴収される使用料金が低減されよう。一方で、サービスの提供者には、所定のサービス料金を基本料金として徴収することで安定した収入が見込まれるため、双方にメリットがある。
【００４７】
(3)  第2のトンネル制御方式  SL(サービスレベル)を考慮する場合
第1のトンネル制御方式においては、すべてのリモートユーザに同等レベルのサービスを提供する場合のトンネル制御方式について説明した。本発明ではこれに限定されるものではなく、各々のユーザの契約SLに応じた帯域制御を行った場合でも、その技術思想を適用することができるものである。以下に、各ユーザのSLを考慮したトンネル制御方式について説明する
図9に、本実施形態に係るトンネル制御装置のトンネリング制御例を示す。この図では、トンネル制御装置LAC301、LNS302間にL2TPトンネルを用いたVPNが構築されており、このVPNを介して複数のリモートユーザが私設LANと通信を行っている。
【００４８】
LAC301とLNS302は、各々の公衆網側回線接続インタフェース7、8を通信回線303、304、305によって接続されている。通信回線303、304には、それぞれトンネル306、307が確立しており、トンネル306のトンネルIDは1、トンネル307では2である。この例では、1通信回線に1トンネルを確立するものとする。
【００４９】
ここで、トンネルにおけるセッション多重の制限は、トンネル内に確立されている各セッションに割り当てられているSL(サービスレベル)の合計値により決定されるものとする。トンネルIDがkのトンネルに多重可能な最大のSLを最大値nkとすると、ユーザに割り当て可能なSL  lは  1≦l≦nk  となる。
【００５０】
トンネル306では、リモートユーザ308、309、310がそれぞれセッション313、314、315を通して通信を確立しており、(セッションID,SL)は順に(1,1)、(2,1)、(3,3)とする。図9では、すべてのトンネル毎に最大値nk =5のSLまで多重可能としている。この場合は既に、トンネル306におけるSLの合計値は5となるので、これ以上のセッション多重はできない。この場合に、通信回線303の通信速度をf  bit/sとすると、リモートユーザ308、309、310に保証される最低通信速度は、それぞれ  f/5、f/5、3×f/5  bit/sとなる。トンネル307では、リモートユーザ311、312がそれぞれセッション316、317を通して通信を確立しており、(セッションID,SL)は順に(1,2)、(2,1)である。
【００５１】
図9の状態で、リモートユーザ310が通信を終えて、セッション315が切断したとする。この時、LAC301のL2TP処理部9でトンネル制御処理が動作し、図10に示すようにセッション316をトンネル306に切り替えるためのリクエスト制御メッセージ(CCRQ:Change  Call  Request)を作成し、LNS302に対して送出する(320)。このメッセージを受信したLNS302のL2TP処理部9でも同様のトンネル制御処理が動作し、セッション切替を許可する場合はリプライ制御メッセージ(CCRP:Change  Call  Reply)をLAC301に返す(321)。最後に、LAC301が切替完了制御メッセージ(CCCN:Change  Call  Connected)をLNS302に返してセッション切替が完了する(322)。ところが、まだトンネル306にはSLの空きが2あるので、先ほどと同様に、323、324、325の制御メッセージによりセッション317もトンネル306に切り替える。その後、セッションがなくなったトンネル307は切断される。その時の状態を図11に示す。
【００５２】
上記のLAC301とLNS302間でやり取りされる制御メッセージは、第1の制御方法と同様に新規に定義するが、さらにSLを交換するためのAVPも新たに定義する。
【００５３】
これらのトンネル、セッション情報はTSATC13によって制御される記憶装置14上に構築されるトンネル、セッション管理テーブル(図12)によって管理されている。ここで、LAC-LNS間がm本の通信回線で接続され、トンネルID  kのトンネルには多重されたセッションのSLの合計が  nk  まで多重可能としている。トンネル管理テーブル331には、各トンネルに対する情報として、トンネルIDフィールド332、空きレベルフィールド333、トンネル有無フィールド334がある。トンネルIDフィールド332、トンネル有無フィールド334は、第1のトンネル制御方式のものと同様である。空きレベルフィールド333は、nkのSL多重可能なトンネルにどれだけの多重可能な空きレベルが存在するかを表しており、そこに示された数字が空きレベルを表す。
【００５４】
また、セッション管理テーブル335〜338には、セッションIDフィールド339とSLフィールド340がある。セッションIDフィールド339は第1の制御方式と同様のものである。SLフィールド340は、そのセッションIDのセッションに割り当てられているSLを表している。これは、そのセッションを使用しているユーザに対して割り当てられているSLである。
【００５５】
図13に、割り当てSLがkであるユーザから新しい呼が発生し、新規セッションを確立する場合のLAC301におけるフローチャートを示す。
【００５６】
LAC301のユーザ側(私設LAN側)回線接続インタフェース5,6にユーザからの新しい呼が発生すると、LAC301の全体制御部1がそれを検知する。次に、全体制御部1からの命令により、ユーザ情報管理部4がRADIUSサーバによるユーザ認証を実行する。RADIUS認証が済むと、ユーザ情報管理部4はRADIUSサーバから、ユーザのSL(k)情報を受け取り、L2TP処理部9内のユーザ情報管理・記憶部10に書き込む(401)。その後のトンネル制御処理は、L2TP処理部9が担当する。
【００５７】
まず、TSC11は、TSATC13にトンネル管理テーブルを順検索し、k以上の空きSLがあるトンネルを見つけるよう指示する。TSATC13は、この指示に従ってk以上の空きSLがあるトンネルを探す(341,402)。見つかったトンネルがまだ確立されていないのならば(404)、対応した通信回線上にトンネルを形成するために、LNS302に対してSCCRQメッセージを送信する。
【００５８】
SCCRQメッセージを受信したLNS302のTSC11'では、TSATC13'に対して、SCCRQメッセージを受信した通信回線に対応するトンネルのトンネル管理テーブル上のトンネル有無フィールドを1に書き換えるように命令する。TSATC13'はこの命令に従い、トンネル管理テーブルを書き換える。その後、TSC11'は、LAC301に対してSCCRPメッセージを送信する。
【００５９】
SCCRPメッセージを受信したLAC301のTSC11は、TSATC13に対して、SCCRPメッセージを受信した通信回線に対応するトンネルのトンネル管理テーブル上のトンネル有無フィールドに1を書き込むよう命令する。TSATC13はこの命令に従い、トンネル管理テーブルを書き換える。その後、LNS302に対してSCCCNメッセージを送信しトンネルを確立する(405)。
【００６０】
その後、LAC301のTSC11は、TSATCにステップ402で見つかったトンネルIDのセッション管理テーブルを順検索し、まだ使用されていないセッションID(SLフィールドが0)を探すよう命令する。TSATC13はこの命令に従い、まだ使用されていないセッションIDを探す(343)。TSC11は、見つかったセッションIDについて対向するLNS302に対して、Assigned Session ID AVPに未使用セッションのセッションID及びAssigned Service Level AVPにkを指定したICRQメッセージを送信する。Assigned Service Level AVP はLAC-LNS間でセッションに割りあてるSLを示すために新しく定義するAVPである(406)。
【００６１】
ICRQメッセージを受信したLNS302のTSC11'では、TSATC13'に対して、ICRQメッセージを受信したトンネルのセッション管理テーブルにアクセスし、ICRQメッセージのAssigned Session ID AVPで示されたセッションのSLフィールドにAssigned Service Level ID で示された値を書き込み、トンネル管理テーブルの空きレベルフィールドの値からAssigned Service Level IDの値を減算するよう命令する。TSATC13'はこの命令に従って、記憶装置14'のトンネル管理テーブル及びセッション管理テーブルを書き換える。その後、TSC11'はLAC301に対してICRPメッセージを送信する。この時、ICRPメッセージに付けられるAssigned Session ID AVPは、LAC301が示したセッションIDと同じ番号となる。
【００６２】
ICRPメッセージを受信(407)したLAC301のTSC11は、TSATC13に対して、ステップ343で見つけたセッションIDのSLフィールドをkに書き換え、トンネル管理テーブルの空きレベルフィールドからkを減算するよう命令する。TSATC13はこの命令に従って、記憶装置14のトンネル管理テーブル及びセッション管理テーブルを書き換え、LNS302に対してICCNメッセージを送信してセッションを確立する(408)。
【００６３】
図14に、SL=kのセッションAの切断が完了し、セッションAが存在したトンネルAにj(≧k)の空きSLができた場合のLAC301におけるフローチャートを示す。以下に、これらの図に従って説明する。
【００６４】
LAC301のTSC11は、トンネルAのSL=kのセッションAの切断を検出すると(450)、セッションAのトンネル、セッションID、SL(=k)は記憶装置14に記憶する。TSC11は、TSATC13を通して、セッション管理テーブルのセッションAのSLフィールドに0を書き込み、トンネル管理テーブルのセッションAが存在したトンネルの空きレベルフィールドの値にkを加算する(451)。LNS302でも、TSC11'は、セッションAの切断を検知すると、TSATC13'に、セッション管理テーブルのセッションAのSLフィールドに0を書き込み、トンネル管理テーブルのセッションAが存在したトンネルの空きレベルフィールドの値にkを加算するよう命令する。TSATC13'はこの命令に従い、記憶装置14'のトンネル管理テーブル及びセッション管理テーブルを書き換える。LNS302での処理はこれで一旦終了する。
【００６５】
その後、TSC11は、TSATC13を通して、トンネル管理テーブルを逆順検索し、トンネル有無フィールドが1のトンネルBを見つける(344,452)。TSC11は、トンネルBとトンネルAのトンネルIDを比較し、トンネルBのIDがトンネルAのものより大きいと判定すると(453)、トンネルBのセッション管理テーブルを逆順検索し、SLフィールドがl(≦k)のセッションBを見つける(346,454)。
【００６６】
TSC11は、セッションAの切断とともにトンネルAも切断された判断すると(455)、再度トンネルAを確立する(456)。その後、TSC11は、トンネルAのセッション管理テーブルを順検索し、まだ使われていないセッションIDを見つけ(343,457)、CCRQ(Change Call Request)メッセージを送信する。その際、セッションBのトンネルID、セッションID(切り替えセッション)及びSL (Assigned Service Level)を示したAVPとセッションAが存在したトンネルID、セッションID(切り替え先セッション)及びSLを示したAVPをメッセージに付ける(458)。
【００６７】
CCRQメッセージを受信したLNS302のTSC11'は、TSATC13'に対して、AVPで示されたセッションBのレコードをAVPで示されたセッションAのレコード上に書き換え、トンネル管理テーブルのセッションBが存在したトンネルの空きレベルフィールドにAssigned Service Level AVPで示された値(k)を加算、セッションAが存在したトンネルの空きレベルフィールドからkを減算するよう命令する。TSATC13'は命令に従って、トンネル管理テーブル及びセッション管理テーブルを書き換える。その後、TSC11'はLAC101に CCRP(Change Call Reply)メッセージを送信する。
【００６８】
CCRPメッセージを受信したLAC301のTSC11は(459)、TSATC13に対して、セッション管理テーブルのセッションBのレコードをAVPで示されたセッションAのレコード上に書き換え、トンネル管理テーブルのセッションBが存在したトンネルの空きレベルフィールドの値にkを加算、セッションAが存在したトンネルの空きレベルフィールドからkを減算するよう命令する。TSATC13は命令に従って、トンネル管理テーブル及びセッション管理テーブルを書き換える。その後、TSC11はLNS302に CCCN(Change Call Connected)メッセージを送信し、トンネルを切り替える(460)。
【００６９】
そして、TSC11は、トンネルAには空きレベルが存在しない、つまりj-l=0であるかどうか判断し(461)、空きレベルが存在しない場合には処理を完了し(462)、まだ存在する場合にはjにj-lを代入して(463)、処理452から繰り返す。
【００７０】
(4)  第3のトンネル制御方式  SL(サービスレベル)可変型
第2のトンネル制御方式によって図9の状態で通信が行われている場合を考える。SL=3を割り当てられているリモートユーザ310がセッション315を通して、ほとんど通信を行っていない状況では、セッション315がトンネル306の帯域を無駄に消費してしまうことになる。
【００７１】
これを解決するために、通信時には、ユーザが契約しているSLの範囲内で、その時々の通信量に適したSLをセッションに割り当てるようにする。
【００７２】
セッション開始時には最大のSL(契約SL)を割り当てて、帯域制御部12でフィードバックをかけて、TSC11がそのセッションに割り当てられているSLを通信量に適当なレベルまで落としていく。その後、通信量が増大して帯域制御部12でパケット破棄が頻繁に起こるようになったら、もう一度最大SLを割り当てる。この時、セッション切替が発生する可能性もある。その後、先ほどと同様に、SLを通信量に適当なレベルまで落としていく。
【００７３】
図15に、本発明に係るトンネル制御装置を使用したトンネル制御の例を示す。図15には、複数のリモートユーザがトンネル制御装置LAC501、LNS502を介して私設LANとデータ通信を行っている状況を示す。なお、LAC501とLNS502とは複数の物理通信回線により接続されており、この通信回線上にはL2TPトンネルが設けられている。
【００７４】
LAC501の公衆網側回線接続インタフェース7、8には通信回線503、504が接続されている。一方、LNS502の公衆網側回線接続インタフェース7、8にも通信回線503、504が接続されている。このように2本の物理回線によってLAC501とLNS502は接続されている。トンネル506は通信回線503上に確立されており、トンネルIDは1である。この例では、1つの通信回線に1つのトンネルを確立するものとし、すべてのトンネル毎に最大値5のSLまで多重可能とする。
【００７５】
トンネル506では、リモートユーザ508、509、510がそれぞれセッション513、514、515を通して通信を確立しており、現在それぞれのセッションに割り当てられている(セッションID,SL)は順に(1,1)、(2,1)、(3,2)である。ここで、リモートユーザ508、509、510の契約SLはそれぞれ1、1、5であるとする。つまり、リモートユーザ510の契約SLは5であるが、現在の通信量が少ないので、フィードバックをかけての帯域調整によって、割り当てられているSLが2まで落とされたということである。
【００７６】
図15の状態において、LAC501(LNS502)の帯域制御部12でセッション515中の通信パケット破棄が頻発した場合、TSC11はセッション515のSLを  5(リモートユーザ510の契約SL)に上げようとする。しかし、トンネル506にはSL=5の空きはないので通信回線504に新しいトンネル507(トンネルID  2)を確立して(520、521、522)、トンネル507上にセッション515をSL=5として切り替える(523、524、525)。その時の状態を図10(C)に示す。その後、帯域制御部12でフィードバックをかけて、その通信量に適したSLまで下げる。
【００７７】
SLを変化させる時には、図16の(523)、(524)、(525)と同様に、LAC-LNSのTSC11間で、Change  Call  Request、Change  Call  Reply、Change  Call  Connectedの制御メッセージを用いSL情報のみを交換して、両機器上で、セッションに割り当てられたSLを切り替える処理を実行する。
【００７８】
これらのトンネル、セッション情報は、TSATC13により記憶装置14上に構築されるトンネル・セッション管理テーブル (図18) によって管理される。なお、上述の制御メッセージに基づいてTSC11は、TSATC13を制御する。
【００７９】
ここで、LAC501-LNS502間がm本の通信回線で接続され、トンネルID  kのトンネルには、セッションのSLの合計が  nk  まで多重可能としている。トンネル管理テーブル531は第2の制御方式と同じものである。
【００８０】
また、セッション管理テーブル535〜538には、セッションIDフィールド539、現在のSL(Service  Level)フィールド540、最大SLフィールド541、リトライカウンタフィールド542、第1キューフィールド543及び第2キューフィールド544がある。
【００８１】
セッションIDフィールド539は第2の制御方式と同様のものである。現在のSLフィールド540は、そのセッションIDのセッションに実際に割り当てられているSLを表す。最大SLフィールド541は、そのセッションIDのセッションに割り当てることが可能な最大のSLを示す。これは、そのセッションを使用しているユーザが契約しているSLである。リトライカウンタフィールド542は、セッションが割り当てSLを上げてほしいと要求したにもかかわらず、SLの空きが不足しており最大SLを割り当てることができなかった場合にインクリメントされる。
【００８２】
また、記憶装置14上に、SL割り当て待ちセッション用のキューとして、第1キュー545、第2キュー546を用意する。あるセッションで帯域不足によるパケット破棄が頻発した場合に、そのセッションの(トンネルID、セッションID、現在のSL、最大SL)を表す値の組が第1キュー545にいれられる。LAC501(LNS502)では第1キューの先頭セッションから、SL切替を実行していく。また、幾度か最大SLの割り当てを要求し第1キュー545に投入されたが、空きSL不足のためリトライカウンタが一定の値(i)以上になってしまったセッションは、そのセッションの(トンネルID、セッションID、現在のSL、最大SL)を表す値が第2キュー546に入れられる。現在通信中のセッションの切断が発生すると、第2キュー546に入っているセッションに対して優先的にSL割り当てを行う。セッション管理テーブル535〜538の第1キューフィールド543、第2キューフィールド544は、そのセッションが第1キュー545、第2キュー546に投入されているかを表しており、1であればキューの中でSL割り当てを待っている状態であり、0であればキューには投入されていないことを示す。
【００８３】
あるセッションの切断が完了した時には、セッション管理テーブルにおける切断されたセッションのエントリをすべてクリアする。
【００８４】
図19に、あるユーザ(契約SL:k+l、k>0、l>0)のセッション(セッションA:現在のSL=k)でパケット破棄が頻発した場合のLAC501(LNS502)におけるフローチャートを示す。
【００８５】
LAC501の帯域制御部12において、ユーザAのセッションAのパケットが頻繁に廃棄されるとその旨をLAC501のTSC11 に報告する(600)。パケット廃棄の報告を受けたTSC11は、TSATC14に、セッションAに割り当てられているSLとセッション管理テーブル535〜538の第1キューフィールド543及び第2キューフィールド544の内容を読み出すよう命令する。TSATC14は、記憶装置１４からセッションAに割り当てられているSLとセッション管理テーブル535〜538の第1キューフィールド543及び第2キューフィールド544の内容を読み出し、TSC11 に報告する。TSC11は、現在セッションAに割り当てられているSLが最大SLではなく(601)、セッション管理テーブル535〜538の第1キューフィールド543が0であることを確認し(602)、さらに第2キューフィールドも0であることを確認して(603)、セッションAが第1、第2キューに投入されていないことを判定する。次に、TSC11は、リトライカウンタフィールド542が閾値  i  以下であれば(604)セッションAを第1キューに投入し(605)、i  より大きければ、第2キューに投入する(606)。
【００８６】
図20に第1キューにセッションが投入された場合のLAC501におけるフローチャートを示す。
【００８７】
第1キューにセッションが投入されると(650)、TSC11が、TSATC13を通して、第1キューの先頭セッション(セッションA:現在のSL:k、最大SL:k+l)を確認し(651)、現在セッションAが張られているトンネル(トンネルA)に空きSLが  l  以上あれば(652)、LAC501-LNS502のTSC11間で制御メッセージを交換して、トンネルA上でセッションAに最大SLを割り当て、セッション管理テーブルを更新する(653)。処理652で空きSLがlより小さいならば、空きSLが  k+l  以上のトンネルを見つけ(547,654)、第2の制御方式と同様に656、657、658、659、660、661という処理によってセッションを切り替える。654で空きSLが  k+l  以上のトンネルが見つからなかった場合には、セッションAのリトライカウンタフィールドの値をインクリメントして(655)、処理を完了する(660)。処理中に第1キューにさらに空きSL待ちセッションが追加される場合を考慮して、661から651へ戻る。
【００８８】
図21に、現在のSLがkのセッションＡが切断された場合のLAC501におけるフローチャートの一部を示す。図21は、図14のフローチャートの(457)の場所に追加する部分だけを示している。
【００８９】
第3の制御方式では、あるセッションが切断した場合の第2の制御方式での図14のフローチャートに、第2キューに投入されているセッションに対して優先的にセッション切替を実行するように、図14の(4５7)の場所に図21の処理を追加する。
【００９０】
トンネルA内に確立されていた、SL=kのセッションAが切断された場合(450)、TSC11がTSATC13を通して、セッションAのトンネル、セッションID、現在のSLを記憶装置14に記憶し、セッション管理テーブルのセッションAのSLフィールドに0を書き込む(451)。次に、第2キューが空ではないかを調べて(462)、空であった場合には:452の処理へ戻る。第2キューが空でなかった場合、第2キュー先頭セッションBをセッション管理テーブル１35〜で調べて、セッションBが既に切断されてしまっていないか、つまり現在のSLが0でないかを調べる(463)。既にセッションBが存在しなかったら、第2キューからセッションBを削除して462の処理へ戻る(464)。
【００９１】
処理463で、セッションBが存在しており、かつセッションBに割り当てたい最大SLが、切断されたセッションが存在したトンネルの空きサービスレベルj以下である(465)場合は、第2キューからセッションBを削除し、セッション管理テーブルにおけるセッションBの第2キューフィールドを0にしてセッションBの最大SLを割り当てるためのセッション切替を実行するために図14の処理455に進む。
【００９２】
図22は事業者Aとユーザ企業aが本発明装置を導入した場合のネットワーク構成例である。この場合には、事業者Aが、事業者Bのネットワークを通してユーザ企業aのVPN網を構築するために、本発明装置の第3のトンネル制御方式を利用して、ユーザ企業aに対して、多様なサービスを提供可能である。具体的には、サービスレベル割当てと帯域制御機能を用いることによって、ユーザ企業aの社員毎に対しての細かいサービス設定が可能になる。
【００９３】
図23はユーザ企業aが、事業者A、B及びコア網を通して、拠点aと拠点bの私設LANをVPN接続するために本発明装置を導入した場合のネットワーク構成例である。この場合にも、サービスレベル割当てと帯域制御機能を用いることで、ユーザ企業aは、細かな通信管理が可能となる。また、公衆網へのアクセス回線として、事業者A、事業者B(同じ事業者の場合もある)のネットワーク網の利用にかかる費用を必要最小限に抑えるが可能になる。
【００９４】
【発明の効果】
例えば、トンネリングを行う複数のVPN機器が複数の通信回線で接続される場合に、ユーザに意識させることなく帯域制御を行うことで通信資源を有効に活用できうる。
【図面の簡単な説明】
【図１】リモートユーザ側のトンネリング制御装置の構成例を示す図である。
【図２】  LAN側のトンネリング制御装置の構成例を示す図である。
【図３】第１のトンネル制御方法が適用されるネットワーク構成を示す図である。
【図４】第１のトンネル制御方法の信号シーケンスを示す図である。
【図５】第１のトンネル制御方法の実施後を示す図である。
【図６】トンネル・セッション管理テーブルの構成例を示す図である。
【図７】新規セッションを確立する場合のフローチャート例を示す図である。
【図８】切断した場合のフローチャート例を示す図である。
【図９】第２のトンネル制御方法が適用されるネットワーク構成を示す図である。
【図１０】第２のトンネル制御方法の信号シーケンスを示す図である。
【図１１】第２のトンネル制御方法の実施後を示す図である。
【図１２】トンネル・セッション管理テーブルの構成例を示す図である。
【図１３】サービスレベルｋの新規セッションの確立フローチャート例を示す図である。
【図１４】サービスレベルｋのセッションが切断した場合のフローチャート例を示す図である。
【図１５】第３のトンネル制御方法が適用されるネットワーク構成を示す図である。
【図１６】第３のトンネル制御方法の信号シーケンスを示す図である。
【図１７】第３のトンネル制御方法の実施後を示す図である。
【図１８】トンネル・セッション管理テーブルを示す図である。
【図１９】サービスレベルｋのセッションにおいてパケット破棄が頻発した場合のフローチャートを示す図である。
【図２０】第１キューにセッションが投入された場合のフローチャートを示す図である。
【図２１】サービスレベルｋのセッションが切断した場合のフローチャートを示す図である。
【図２２】トンネル制御装置の適用例を示す図である。
【図２３】トンネル制御装置の適用例を示す図である。
【符号の説明】
1:全体制御部
2:演算装置
3、14:記憶装置
4:ユーザ情報管理部
5、6:ユーザ接続インタフェース
7、8:公衆網接続インタフェース
9:L2TP処理部
10:ユーザ情報管理、記憶部
11:TSC(トンネル・セッション制御部)
12:帯域制御部
13:TSATC(トンネル・セッション管理テーブル制御部)
【図１】
0003855595.tif 000002
【図２】
0003855595.tif 000003
【図３】
0003855595.tif 000004
【図４】
0003855595.tif 000005
【図５】
0003855595.tif 000006
【図６】
0003855595.tif 000007
【図７】
0003855595.tif 000008
【図８】
0003855595.tif 000009
【図９】
0003855595.tif 000010
【図１０】
0003855595.tif 000011
【図１１】
0003855595.tif 000012
【図１２】
0003855595.tif 000013
【図１３】
0003855595.tif 000014
【図１４】
0003855595.tif 000015
【図１５】
0003855595.tif 000016
【図１６】
0003855595.tif 000017
【図１７】
0003855595.tif 000018
【図１８】
0003855595.tif 000019
【図１９】
0003855595.tif 000020
【図２０】
0003855595.tif 000021
【図２１】
0003855595.tif 000022
【図２２】
0003855595.tif 000023
【図２３】
0003855595.tif 000024