(57)【要約】【課題】  端末が直接トンネルを終端する際に、端末のアプリケーションに対する機能実装を軽減し、トンネリングを容易に実現可能とする。【解決手段】  同一の送信元アドレス、宛先アドレス、識別子を有するパケットに対して一意に定まるカプセル化プロトコルヘッダの識別子を対応させたデータ・ベースを設け、一連のフラグメント・パケットに対するカプセル化に際しては同一識別子を付与する。これにより、カプセル化以前のフラグメントの状態がカプセル化後でも保持されるため、受信端末におけるフラグメント・アセンブルが容易になる。【選択図】  図１０
2007158672.tif 000002
【特許請求の範囲】
【請求項１】
ＩＰネットワークを介してデータを転送するデータ通信システムで使用され、
受信した転送データに対して新たなプロトコル・ヘッダを追加してネットワーク内に転送するカプセル化手段と、
このカプセル化手段により追加されたプロトコル・ヘッダを除去するデカプセル化手段と
を備えたネットワーク・トンネリング装置において、
カプセル化対象データの送信元アドレス、宛先アドレス、識別子の情報と、カプセル化プロトコル・ヘッダの識別子の情報との組を記憶するカプセル化データ・ベースが設けられ、
前記カプセル化手段は、
フラグメント・データの処理の際に、受信したパケットの送信元アドレス、宛先アドレス、識別子と一致した前記カプセル化データ・ベースのエントリが存在しない場合には、新たにカプセル化プロトコル・ヘッダの識別子を決定した後、カプセル化対象データの送信元アドレス、宛先アドレス、識別子の情報と、新たに決定したカプセル化プロトコル・ヘッダの識別子の情報とを前記カプセル化データ・ベースに登録し、このカプセル化データ・ベースに登録された前記送信元アドレス、前記宛先アドレス、前記カプセル化プロトコル・ヘッダの識別子を含むカプセル化プロトコル・ヘッダを生成しカプセル化処理を行い、受信したパケットの送信元アドレス、宛先アドレス、識別子と一致した前記カプセル化データ・ベースのエントリが既に存在する場合には、一致する前記カプセル化データ・ベースのエントリに含まれる前記送信元アドレス、前記宛先アドレス、前記カプセル化プロトコル・ヘッダの識別子を含むカプセル化プロトコル・ヘッダを生成しカプセル化処理を行う手段と、
カプセル化以前におけるフラグメントの先頭データ以外のデータに対してのカプセル化処理では、受信したパケットの送信元アドレス、宛先アドレス、識別子と一致する前記カプセル化データ・ベースのエントリに含まれる前記送信元アドレス、前記宛先アドレス、前記カプセル化プロトコル・ヘッダの識別子を含むカプセル化プロトコル・ヘッダを生成し、このカプセル化プロトコル・ヘッダを受信パケットのプロトコル・ヘッダと置き換える手段と
を備えたことを特徴とするネットワーク・トンネリング装置。
【請求項２】
ＩＰネットワークを介してデータを転送するデータ通信システムで使用され、
受信した転送データに対して新たなプロトコル・ヘッダを追加してネットワーク内に転送するカプセル化手段と、
このカプセル化手段により追加されたプロトコル・ヘッダを除去するデカプセル化手段と
を備えたネットワーク・トンネリング装置において、
デカプセル化対象となるデータのカプセル化プロトコル・ヘッダの識別子の情報と、デカプセル化後に抽出されるプロトコル・ヘッダの送信元アドレス、宛先アドレス、識別子の情報の組とを記憶するデカプセル化データ・ベースが設けられ、
前記デカプセル化手段は、フラグメントの先頭データに対する処理の際に、カプセル化プロトコル・ヘッダの識別子と、デカプセル化処理後抽出されるデータの送信元アドレス、宛先アドレス、識別子の情報とを前記デカプセル化データ・ベースに登録し、フラグメントの先頭以外のデータに対する処理の際に、受信したデータのカプセル化プロトコル・ヘッダを、当該カプセル化プロトコル・ヘッダの識別子に対応する前記デカプセル化データ・ベースの既存のエントリに基づく情報で生成した前記送信元アドレス、前記宛先アドレス、前記識別子を含む新たなプロトコル・ヘッダにより置き換えを行う手段を備えた
ことを特徴とするネットワーク・トンネリング装置。
【請求項３】
前記カプセル化またはデカプセル化データ・ベースに、カプセル化プロトコル・ヘッダの追加または除去によるデータ量の増減値を記憶し、この増減値に基づきフラグメント・オフセットの値の計算を行う手段を備えた請求項１または２記載のネットワーク・トンネリング装置。
【請求項４】
ＩＰネットワークを介してデータを転送するデータ通信システムで使用され、
受信した転送データに対して新たなプロトコル・ヘッダを追加することによりカプセル化してネットワーク内に転送し、カプセル化された転送データを受信したときには、前記追加されたプロトコル・ヘッダを除去することによりデカプセル化してカプセル化以前の転送データを取り出すネットワーク・トンネリング装置が実行するネットワーク・トンネリング方法において、
カプセル化以前におけるカプセル化対象データのフラグメントの状態をカプセル化データ・ベースにより記憶するステップと、
この記憶内容に基づいてカプセル化以前におけるカプセル化対象データのフラグメントの状態をカプセル化後のカプセル化プロトコル・ヘッダの情報に反映させるステップと
を実行することを特徴とするネットワーク・トンネリング方法。
【請求項５】
ＩＰネットワークを介してデータを転送するデータ通信システムで使用され、
受信した転送データに対して新たなプロトコル・ヘッダを追加することによりカプセル化してネットワーク内に転送し、カプセル化された転送データを受信したときには、前記追加されたプロトコル・ヘッダを除去することによりデカプセル化してカプセル化以前の転送データを取り出すネットワーク・トンネリング装置が実行するネットワーク・トンネリング方法において、
請求項４記載のネットワーク・トンネリング方法におけるカプセル化データのデカプセル化におけるフラグメントの先頭データに対するデカプセル化処理の際に、当該先頭データからデカプセル化処理後抽出されるデータのプロトコル・ヘッダの情報を取り込んでデカプセル化データ・ベースにより記憶するステップと、
デカプセル化におけるフラグメントの先頭以外のデータに対するデカプセル化処理の際に、前記記憶内容に基づいてデカプセル化処理後の新たなプロトコル・ヘッダの情報を生成して当該データのカプセル化プロトコル・ヘッダと置き換えるステップと
を実行することを特徴とするネットワーク・トンネリング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰネットワークにおけるトンネリング転送に利用する。
【背景技術】
【０００２】
トンネリングとは、データを転送している中継ネットワークに対し、この中継ネットワークで動作しているプロトコルとは異なるプロトコルをサポートする端末から送信されたデータを、この中継ネットワークで使用されているプロトコルでカプセル化することで、この中継ネットワークを転送することを可能にし、転送ネットワーク上に異なるプロトコルを経由した場合にも、相互接続を可能にするための技術である。
【０００３】
Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ（以下ではＩＰと記す）と呼ばれるネットワーク・プロトコルは、現在インターネットから企業内ネットワーク等の様々なネットワークのネットワーク・プロトコルとして、幅広く使用されているが、ＩＰによるトンネリングを利用することで、異なるプロトコルを使用したネットワーク間の接続を、インターネットを経由して実現することも可能になる。
【０００４】
例えばＩＰによるトンネリングでは、ＩＰのバージョンの違いによる相互接続性の問題を解消するために、異なるバージョンのＩＰをトンネリングにより接続することで、ＩＰネットワーク上に異なるバージョンのＩＰのデータを転送するために使用されている。
【０００５】
また、同一バージョンのＩＰ同士でのトンネリングについては、同じプロトコルによるカプセル化により、ネットワーク上を転送されているデータの本来のプロトコル・ヘッダに対し、別のプロトコル・ヘッダを付加することで、本来の宛先へのデータ転送とは異なる経路によるデータ転送や、本来の宛先と異なる端末に対してのデータ転送が可能になる。
【０００６】
これは、例えば処理の輻輳するサーバ装置の負荷を分散することを目的として、特定の宛先を持つデータを強制的に別の宛先にデータの転送先を変更し、本来の宛先であるサーバ装置だけでなく、宛先変更された転送先の端末において処理を分担させて、サーバ装置の負荷を軽減する仕組みに利用される。
【０００７】
また、移動するＩＰ端末が移動先においても従来のＩＰアドレス宛のデータを受信できるようにするため、本来存在しているネットワークから、現在の移動先に対してＩＰパケットを転送する「モバイルＩＰ」と呼ばれる技術でも使用されている。
【０００８】
このようなＩＰデータに対して同一プロトコルであるＩＰヘッダを用いてトンネリングを実現する従来の方式は非特許文献１に示されている。この非特許文献１で示されている方式は、トンネルに対し入力された各ＩＰパケットに対し、全て独立したカプセル化プロトコル・ヘッダを付与してカプセル化しトンネルに送信することを特徴としている。
【０００９】
【非特許文献１】ＲＦＣ１８５３ ＩＰ ｉｎ ＩＰ Ｔｕｎｎｅｌｉｎｇ
【発明の開示】
【発明が解決しようとする課題】
【００１０】
前述の従来技術に基づくデータのカプセル化の方式に従った場合の問題点について、以下では図に基づき説明する。
【００１１】
図１はトンネルの両端にネットワーク・トンネリング装置が接続され、ネットワーク同士をトンネルで接続する一般的なトンネリングを使用したネットワーク構成を示した図であり、図２はトンネルの一方の端点には端末が直接収容される形のネットワーク構成を示している。
【００１２】
図１において符号１、２はネットワークに接続された端末、符号３、４はネットワークとトンネルとを接続するネットワーク・トンネリング装置、符号５、６はトンネルにより接続されるネットワーク、符号７はネットワーク５とネットワーク６とを接続するトンネルである。
【００１３】
図２において、端末２は直接トンネルを終端する機能を持つことが特徴であり、ネットワーク・トンネリング装置４と接続対象であったネットワーク６が省略された構成である。
【００１４】
図３は既にフラグメントによる分割が行われた２つのフラグメント・パケット１１、１２を示しており、それぞれのフラグメント・パケット１１、１２はヘッダ１３、１５とデータ１４、１６により構成される。
【００１５】
図４および図５は本発明が解決しようとする問題点について、図２のネットワーク構成でのフラグメント・パケットの処理について、図３で示したフラグメント・パケットに基づき説明したものである。図４は図２のネットワーク構成におけるネットワーク・トンネリング装置３でのフラグメント・パケットに対するカプセル化動作について従来動作を説明したものである。
【００１６】
図４において、まず、ネットワーク・トンネリング装置３は、接続されたネットワーク５から入力されたフラグメント・パケット１１、１２を受信すると、この受信したフラグメント・パケット１１、１２に対してそれぞれ独立にカプセル化処理を行う。
【００１７】
このとき、ネットワーク・トンネリング装置３では、フラグメント・パケット１１、１２のそれぞれに対応するカプセル化プロトコル・ヘッダ２３、２４を生成し、受信したフラグメント・パケット１１、１２の先頭にこのカプセル化プロトコル・ヘッダ２３、２４を付加してカプセル化データ２１、２２を生成する。その後、このカプセル化データ２１、２２のそれぞれをトンネル７に対して転送することでカプセル化処理を行っている。
【００１８】
図５は図４で説明したカプセル化動作を行うネットワーク・トンネリング装置３により生成されたカプセル化データ２１、２２を、図２に示したトンネル７を直接終端する端末２において受信した際の端末２におけるデータ受信動作を示している。
【００１９】
端末２がカプセル化データ２１、２２を受信した場合には、まず端末２に実装されているＩＰスタックにて、トンネル７の転送用に使用されたカプセル化プロトコル・ヘッダ２３、２４が処理され、カプセル化プロトコル・ヘッダ２３、２４が削除された状態で、アプリケーションにフラグメント・パケット１１、１２が転送される。
【００２０】
端末２のアプリケーションでは、受信したこれらのフラグメント・パケット１１、１２の組み立てを行い、本来の転送目的であるデータ１４、１６を抽出して処理に使用する必要がある。
【００２１】
このような動作に基づき、図２に示したトンネル構成を持つシステムにおける、ネットワーク・トンネリング装置３でのカプセル化動作によると、トンネル７のもう一方の終端である端末２においては、アプリケーションにおいてフラグメント・パケット１１、１２を個別に受信することになるため、これら２つのパケットのフラグメントによる組み立てを再度アプリケーション・レベルで実施することが必要になり、ＩＰスタックが本来持っている分割されたパケットの組み立て機能を、アプリケーション・レベルでも別途実装することが必要となる。
【００２２】
以上で説明したとおり、従来のネットワーク・トンネリング装置３におけるカプセル化動作を使用したシステムでは、端末２においてアプリケーション部分に対して、ＩＰスタックの持つフラグメント機能を実装することが必要となることから、端末２に対する機能を実装するための開発量が増加することと、端末２において必要とされる処理も２度のＩＰスタックでの処理に相当する処理と同等になることから、処理時間の増加を招くことの大きく２つの問題が存在している。
【００２３】
本発明は、このような背景の下に行われたものであって、図２に示すような端末２が直接トンネル７を終端するようなトンネリングを用いたネットワーク構成におけるネットワーク・トンネリング装置３において、本発明が示すフラグメント・パケットに対するカプセル化動作を実装することで、端末２のアプリケーションに対する機能実装を軽減し、図２の構成によるトンネリングが容易に実現可能であることを目的としている。
【課題を解決するための手段】
【００２４】
本発明は、ＩＰネットワークを介してデータを転送するデータ通信システムで使用され、受信した転送データに対して新たなプロトコル・ヘッダを追加してネットワーク内に転送するカプセル化手段と、このカプセル化手段により追加されたプロトコル・ヘッダを除去するデカプセル化手段とを備えたネットワーク・トンネリング装置である。
【００２５】
ここで、本発明の特徴とするところは、カプセル化対象データの送信元アドレス、宛先アドレス、識別子の情報と、カプセル化プロトコル・ヘッダの識別子の情報との組を記憶するカプセル化データ・ベースが設けられ、前記カプセル化手段は、フラグメント・データの処理の際に、受信したパケットの送信元アドレス、宛先アドレス、識別子と一致した前記カプセル化データ・ベースのエントリが存在しない場合には、新たにカプセル化プロトコル・ヘッダの識別子を決定した後、カプセル化対象データの送信元アドレス、宛先アドレス、識別子の情報と、新たに決定したカプセル化プロトコル・ヘッダの識別子の情報とを前記カプセル化データ・ベースに登録し、このカプセル化データ・ベースに登録された前記送信元アドレス、前記宛先アドレス、前記カプセル化プロトコル・ヘッダの識別子を含むカプセル化プロトコル・ヘッダを生成しカプセル化処理を行い、受信したパケットの送信元アドレス、宛先アドレス、識別子と一致した前記カプセル化データ・ベースのエントリが既に存在する場合には、一致する前記カプセル化データ・ベースのエントリに含まれる前記送信元アドレス、前記宛先アドレス、前記カプセル化プロトコル・ヘッダの識別子を含むカプセル化プロトコル・ヘッダを生成しカプセル化処理を行う手段と、カプセル化以前におけるフラグメントの先頭データ以外のデータに対してのカプセル化処理では、受信したパケットの送信元アドレス、宛先アドレス、識別子と一致する前記カプセル化データ・ベースのエントリに含まれる前記送信元アドレス、前記宛先アドレス、前記カプセル化プロトコル・ヘッダの識別子を含むカプセル化プロトコル・ヘッダを生成し、このカプセル化プロトコル・ヘッダを受信パケットのプロトコル・ヘッダと置き換える手段とを備えたところにある。
【００２６】
このようにして、本発明では、カプセル化以前のフラグメントの状態を、カプセル化後においても保持することができる。すなわち、従来は、一連のフラグメントされたデータであっても、あるいは、単独なデータであっても、全て一律に独立したカプセル化が行われてしまうため、デカプセル化後でなければ、カプセル化以前のフラグメントの状態を認識することができなかったが、本発明では、カプセル化以前のフラグメントの状態を反映させてカプセル化を行うことができるため、デカプセル化する以前に、カプセル化以前のフラグメントの状態を認識することができ、受信端末におけるフラグメント・アセンブル処理を従来と比較して簡単化することができる。
【００２７】
本発明のカプセル化を実現するために用いられるのが、カプセル化データ・ベースであり、同一の送信元アドレス、宛先アドレス、識別子を有するデータに対し一意に定まるカプセル化プロトコル・ヘッダの識別子を対応させ、これらの情報をカプセル化データ・ベースに登録しておき、受信した被カプセル化パケットのヘッダに書き込まれた送信元アドレス、宛先アドレス、識別子を読み出し、カプセル化データ・ベースに登録されている送信元アドレス、宛先アドレス、識別子と比較することにより、当該被カプセル化パケットが含むデータが一連のフラグメントされたデータを構成するデータであるか否かを識別し、一連のフラグメントされたデータを含むパケットであることがわかれば、当該一連のフラグメントされたデータに対応するカプセル化プロトコル・ヘッダの識別子を含むヘッダ情報を当該被カプセル化パケットに付与してカプセル化を行うことにより、カプセル化された後でもカプセル化以前のフラグメントの状態を保持することができる。
【００２８】
この際に、単に、被カプセル化パケットが一連のフラグメントされたデータを含むパケットであるか否かだけでなく、一連のフラグメントされたデータの先頭パケットであるか、あるいは、末尾のパケットであるか、あるいは、その中間のパケットであるかといった情報も併せてカプセル化プロトコル・ヘッダに搭載することができる。
【００２９】
ここで識別子とは、カプセル化対象データおよびカプセル化プロトコル・ヘッダが付加されたデータの双方が、それぞれフラグメント・データとして処理される際にそのデータが一連のものであることを識別するためのものである。よって、カプセル化対象データの識別子とカプセル化プロトコル・ヘッダの識別子とは実質的に同種のものと考えてよい。すなわち、前者は、カプセル化以前のデータに対してその連続性を識別するための識別子であり、後者は、カプセル化以後のデータに対してその連続性を識別するための識別子であり、いずれの場合もその役割は同じである。
【００３０】
また、本発明のネットワーク・トンネリング装置は、デカプセル化対象となるデータのカプセル化プロトコル・ヘッダの識別子の情報と、デカプセル化後に抽出されるプロトコル・ヘッダの送信元アドレス、宛先アドレス、識別子の情報の組とを記憶するデカプセル化データ・ベースが設けられ、前記デカプセル化手段は、フラグメントの先頭データに対する処理の際に、カプセル化プロトコル・ヘッダの識別子と、デカプセル化処理後抽出されるデータの送信元アドレス、宛先アドレス、識別子の情報とを前記デカプセル化データ・ベースに登録し、フラグメントの先頭以外のデータに対する処理の際に、受信したデータのカプセル化プロトコル・ヘッダを、当該カプセル化プロトコル・ヘッダの識別子に対応する前記デカプセル化データ・ベースの既存のエントリに基づく情報で生成した前記送信元アドレス、前記宛先アドレス、前記識別子を含む新たなプロトコル・ヘッダにより置き換えを行う手段を備えたことを特徴とする。
【００３１】
これにより、前述したように本発明のカプセル化が施されたカプセル化パケットに対するデカプセル化を行うことができる。すなわち、本発明では、カプセル化後であっても、フラグメントの先頭データとそれ以外のデータとが識別可能であるため、当該先頭データのデカプセル化処理を行う際に、デカプセル化後のパケットのヘッダに搭載する各種情報を抽出しておき、この各種情報をデカプセル化データ・ベースに登録しておくことにより、先頭以外のデータのデカプセル化処理では、このデカプセル化データ・ベースに登録されている各種情報に基づきデカプセル化後のヘッダ情報を生成することができるため、デカプセル化処理を簡単化することができる。
【００３２】
また、前記カプセル化およびデカプセル化データ・ベースに、カプセル化プロトコル・ヘッダの追加または除去によるデータ量の増減値を記憶し、この増減値に基づきフラグメント・オフセットの値の計算を行う手段を備えることができる。
【００３３】
これにより、カプセル化プロトコル・ヘッダのフラグメント・オフセットの情報を修正することができるため、カプセル化プロトコル・ヘッダ長が可変になる場合にも対応可能となり、柔軟なネットワーク・トンネリング・システムの構成が可能となる。
【００３４】
また、本発明をネットワーク・トンネリング方法の観点から捉えることができる。すなわち、本発明は、ＩＰネットワークを介してデータを転送するデータ通信システムで使用され、受信した転送データに対して新たなプロトコル・ヘッダを追加することによりカプセル化してネットワーク内に転送し、カプセル化された転送データを受信したときには、前記追加されたプロトコル・ヘッダを除去することによりデカプセル化してカプセル化以前の転送データを取り出すネットワーク・トンネリング装置が実行するネットワーク・トンネリング方法である。
【００３５】
ここで、本発明の特徴とするところは、カプセル化以前におけるカプセル化対象データのフラグメントの状態をカプセル化データ・ベースにより記憶するステップと、この記憶内容に基づいてカプセル化以前におけるカプセル化対象データのフラグメントの状態をカプセル化後のカプセル化プロトコル・ヘッダの情報に反映させるステップとを実行するところにある。
【００３６】
また、本発明のネットワーク・トンネリング方法におけるカプセル化データのデカプセル化におけるフラグメントの先頭データに対するデカプセル化処理の際に、当該先頭データからデカプセル化処理後抽出されるデータのプロトコル・ヘッダの情報を取り込んでデカプセル化データ・ベースにより記憶するステップと、デカプセル化におけるフラグメントの先頭以外のデータに対するデカプセル化処理の際に、前記記憶内容に基づいてデカプセル化処理後の新たなプロトコル・ヘッダの情報を生成して当該データのカプセル化プロトコル・ヘッダと置き換えるステップとを実行することを特徴とする。
【発明の効果】
【００３７】
本発明によれば、端末が直接トンネルを終端するようなトンネリングを用いたネットワーク構成において、端末のアプリケーションに対する機能実装を軽減し、トンネリングが容易に実現可能である。また、本発明によるカプセル化を用いることにより、従来と比較してデカプセル化処理を簡単化することができる。
【発明を実施するための最良の形態】
【００３８】
本発明における実施例について以下で説明する。なお、本実施例におけるカプセル化プロトコル・ヘッダは、ＵＤＰ／ＩＰを用いることとして説明を行う。また、ネットワーク上を転送されているカプセル化対象データもＵＤＰ／ＩＰであるとして説明を行う。
【００３９】
本実施例におけるネットワーク構成は図２と同じである。図６は端末１が送信したフラグメントされたＩＰデータ６０１、６０２を示している。ＩＰデータ６０１はＵＤＰ／ＩＰのデータであるため、ＩＰヘッダ６０６とＵＤＰヘッダ６０５とデータ６０３とから構成されている。
【００４０】
ＩＰデータ６０２はＩＰヘッダ６０７とデータ６０４とから構成されている。ＩＰパケット６０２はフラグメントにより２分割された、先頭以外の部分にあたるデータであるため、ＵＤＰヘッダの情報は含まれない。
【００４１】
図７は図６に示したＩＰデータ６０１、６０２のＩＰヘッダ部分の情報に関するＩＰヘッダ６０６、６０７の情報を示す表７０１である。
【００４２】
ＳｒｃＩＰ７０３はパケットの送信元ＩＰアドレスの情報を、ＤｓｔＩＰ７０４は宛先ＩＰアドレスの情報を、ＴＬ７０５はＴｏｔａｌ
Ｌｅｎｇｔｈの情報を、ＩＤ７０６は識別子(Identifier)の情報を、ＤＦ７０７はフラグメント禁止ｂｉｔ(Don't
Fragment)の設定を、ＭＦ７０８は追加フラグメント・パケット有りｂｉｔ(More Fragment)の設定を、ＦＯ７０９はフラグメント・オフセットの情報をそれぞれ示すものである。また、ＩＤ７０６は、請求項において表現されている識別子を示すものである。
【００４３】
ＩＰデータ６０１のＳｒｃＩＰ７０３はＸであり、これは端末１のＩＰアドレスを示している。また、ＩＰデータ６０１のＤｓｔＩＰ７０４はＹが設定されており、これは端末２と異なるアドレスである。ＩＰデータ６０１、６０２のＴＬ７０５はそれぞれ２００、１００が設定されており、ＩＤ７０６には両データ共に１が設定されている。ＤＦ７０７は両データ共にＮｏが設定されており、フラグメント動作を許容する設定が行われている。ＭＦ７０８はＩＰデータ６０１ではＹｅｓ、ＩＰデータ６０２ではＮｏであり、ＩＰデータ６０１はフラグメント・データとして以降に続くデータがあることを示しており、ＩＰデータ６０２ではフラグメント・データとして最終のデータであることが示されている。ＦＯ７０９はＩＰデータ６０１では０、ＩＰパケット６０２では１８０となり、ＭＦ７０８の値と合わせてＩＰデータ６０１がフラグメントの先頭データ、ＩＰデータ６０２がフラグメントの最終データであることが判定できる。
【００４４】
図８は本発明に関わるフラグメント・データに対するカプセル化機能を実装するネットワーク・トンネリング装置３の機能ブロック構成について示したものである。
【００４５】
ネットワーク・トンネリング装置３は、カプセル化によるトンネルを構成するために、カプセル化処理部８０１とデカプセル化処理部８０３とを持ち、それぞれの処理はカプセル化プロトコル・ヘッダの生成または除去時に使用するための情報を持つ、カプセル化データ・ベース８０２とデカプセル化データ・ベース８０４とをそれぞれ管理している。
【００４６】
ＩＰデータ送受信部８０５はネットワークからＩＰデータを受信してそれぞれカプセル化処理部８０１もしくはデカプセル化処理部８０３に転送し、その処理結果を再びネットワーク上に転送する機能を持つ。
【００４７】
図９は図８で示したカプセル化データ・ベース８０２の構成について示した図である。カプセル化データ・ベース８０２は、複数のカプセル化データ・ベース・エントリの集まりとして構成され、その１つのエントリも複数の情報要素から構成されている。
【００４８】
各エントリはカプセル化対象となった受信側のネットワーク５でのＩＰヘッダである元ＩＰヘッダ９０１とカプセル化プロトコル・ヘッダ９０２とに関する情報の組で構成され、それぞれ元ＩＰヘッダ９０１の情報として送信元ＩＰアドレスの情報を示すＳｒｃＩＰ９０３、宛先ＩＰアドレスの情報を示すＤｓｔＩＰ９０４、識別子の情報を示すＩＤ９０５が存在する。トンネル７で使用されるカプセル化プロトコル・ヘッダ９０２の情報はカプセル化プロトコル・ヘッダの識別子の情報を示すＩＤ９０６から構成される。また、ＩＤ９０５は、請求項において表現されているカプセル化対象データの識別子を、ＩＤ９０６は、請求項において表現されているカプセル化プロトコル・ヘッダの識別子をそれぞれ示すものである。
【００４９】
図１０は本発明に関わるネットワーク・トンネリング装置３におけるカプセル化処理部８０１において実施される、カプセル化処理の処理フローについて示した図である。
【００５０】
カプセル化処理開始Ｓ１は、本処理フローの開始位置を示しておりカプセル化データがＩＰデータ送受信部８０５からカプセル化処理部８０１に転送されたタイミングで処理が開始される。ＩＰヘッダ情報取得Ｓ２は、処理対象であるＩＰデータからＩＰヘッダに設定されている情報を取得するための処理である。判定Ｓ３は、処理Ｓ２により取得したＩＰヘッダ情報を基にして「ＭＦフラグの値が１」もしくは「ＦＯフラグの値が０」のいずれかの条件を満たす場合について判定を行い、この判定によりフラグメントが行われているＩＰパケットであるかどうかを判断する。
【００５１】
フラグメントが実施されたＩＰデータに対するカプセル化処理は、まず、処理Ｓ４によりカプセル化データ・ベース８０２の中から、処理Ｓ２で取得したＩＰヘッダの情報と一致する条件のエントリを検索する。
【００５２】
処理Ｓ５ではエントリ検索の結果を確認し、既存エントリが存在する場合には、処理Ｓ６に示したとおり、検索にて抽出されたエントリのカプセル化プロトコル・ヘッダ９０２のＩＤ９０６を記憶しておく。既存エントリが存在しない場合には、処理Ｓ７に示したとおり、現在使用されているカプセル化プロトコル・ヘッダのＩＤと重複しないカプセル化プロトコル・ヘッダのＩＤを取得し、処理Ｓ２で取得された元ＩＰヘッダ９０１の情報と共にカプセル化データ・ベース８０２に登録する。
【００５３】
処理Ｓ８はフラグメント・オフセットの設定値により、フラグメント・データの内、先頭データがどうか判定している。
【００５４】
先頭データであると判断された場合には、処理Ｓ９においてはＭＦ＝１、ＦＯ＝０、ＩＤ＝元ＩＰヘッダのＩＤ９０５としてカプセル化プロトコル・ヘッダを定義し、元ＩＰヘッダのＭＦ情報を０に設定してカプセル化データを生成する。
【００５５】
先頭データではないと判断された場合には、今度は処理Ｓ１０においてフラグメントの最終データであるかどうかの判定を行う。最終データでない場合には、処理Ｓ１１において、ＭＦ＝１、ＦＯ＝０＋カプセル化プロトコル・ヘッダのサイズ、ＩＤ＝ＩＤ９０６（カプセル化プロトコル・ヘッダの識別子）としてカプセル化プロトコル・ヘッダを定義したカプセル化データを定義し、カプセル化プロトコル・ヘッダの付け替えが実施される。先頭データに対する処理であるＳ９との違いは、フラグメント・オフセットにカプセル化プロトコル・ヘッダを追加した分のサイズの調整が必要なことと、カプセル化データを付与するのではなく、元ＩＰヘッダをカプセル化プロトコル・ヘッダに付け替えを行うことが特徴である。
【００５６】
処理Ｓ１０において、フラグメントの最終データであると判断された場合には、処理Ｓ１２において、ＭＦ＝０、ＦＯ＝０＋カプセル化プロトコル・ヘッダのサイズ、ＩＤ＝ＩＤ９０６としてカプセル化プロトコル・ヘッダを定義し、元ＩＰヘッダをカプセル化プロトコル・ヘッダに付け替える。
【００５７】
図１１は図１０における処理Ｓ９にあたるフラグメントの先頭パケットのカプセル化処理に関わる動作を示した図である。図６で示したフラグメントの先頭データであるＩＰデータ６０１からカプセル化データ１１０１へのカプセル化動作を行い、その後、再度フラグメントを行う様子を示している。
【００５８】
符号１１０１はカプセル化データを示しており、符号１１０２および１１０３はそれぞれカプセル化データに対するフラグメントされたＩＰデータを示している。符号１１０４および１１０５はフラグメントにより分割されたデータであり、符号１１０６はカプセル化のために使用されるＵＤＰヘッダであるカプセル化プロトコル・ヘッダ（ＴＵＤＰ＃１）、符号１１０７はカプセル化のために使用されるＩＰヘッダであるカプセル化プロトコル・ヘッダ（ＴＩＰ＃１）であり、符号１１０８および１１０９はそれぞれカプセル化プロトコル・ヘッダ（ＴＩＰ＃１）１１０７をフラグメントしたカプセル化プロトコル・ヘッダ（ＴＩＰ＃１−１、ＴＩＰ＃１−２）である。
【００５９】
ここで、カプセル化データ１１０１を、カプセル化データ１１０２、１１０３にフラグメントにより２分割した理由は、カプセル化データ１１０１のＴＬがカプセル化によってカプセル化以前のＩＰデータ６０１のＴＬ＝２００を越えてしまうことを回避するためである。
【００６０】
図１２は図１１で示したカプセル化データ１１０２とカプセル化データ１１０３に付加されるカプセル化プロトコル・ヘッダ（ＴＩＰ＃１−１、ＴＩＰ＃１−２）の内容について示しており、カプセル化データ１１０２およびカプセル化データ１１０３はカプセル化データ１１０１をフラグメントしたものであり、ここではＩＤ７０６（カプセル化プロトコル・ヘッダの識別子）は１００として設定されている。また、カプセル化データ１１０３のＦＯ７０９は１８０となっている。
【００６１】
カプセル化データ１１０１からカプセル化データ１１０２とカプセル化データ１１０３へのフラグメント処理について、図１０における処理フローではこの処理は記載されていないが、これはネットワーク・トンネリング装置３におけるＩＰデータ送受信部８０５に実装されることとしているためである。
【００６２】
図１３は図１０における処理Ｓ１２にあたる、フラグメントの最終データに対するカプセル化の動作について示している。ＩＰデータ６０２は図６に示したフラグメントの最終パケットである。カプセル化データ１３０１は図１０の処理Ｓ１２を実施することで、ＩＰヘッダ６０７をカプセル化対応のＩＰヘッダであるカプセル化プロトコル・ヘッダ（ＴＩＰ＃１−３）１３０２に置き換えをする。
【００６３】
図１４は図１３で示したカプセル化データ１３０１のカプセル化プロトコル・ヘッダ（ＴＩＰ＃１−３）１３０２に関わる情報を示している。
【００６４】
このようにして、本実施例におけるネットワーク・トンネリング装置３は、ＩＰデータ６０１、６０２を受信して、カプセル化処理部８０１およびＩＰデータ送受信部８０５の機能によりカプセル化データ１１０２、１１０３、１３０１として、トンネル７に対して転送し、端末２に到達し受信される。端末２では通常のＩＰスタックの処理において、これら３つのデータを１つのＩＰデータに組み立て可能であり、ＩＰデータ６０１、６０２の２つのデータにフラグメントされる前の形でのデータを受信することが可能になる。
【００６５】
これらの処理により、端末２では特別な処理の実装を必要とせずに、端末２に実装されている通常のＩＰスタックを使用することで、デカプセル化後のフラグメント・パケット組み立て処理を独自に実施することなく、フラグメントの元データを受信することを可能にする。
【００６６】
以下では、本実施例に関わるネットワーク・トンネリング装置３におけるデカプセル化動作について示す。
【００６７】
本実施例では図１５に示した端末２が送信したフラグメント済みのカプセル化データ１５０１および１５０２に対し、このパケットをそれぞれ受信したネットワーク・トンネリング装置３のデカプセル化処理部８０３における処理の流れに基づいて説明する。
【００６８】
図１６は図１５に示したカプセル化データ１５０１、１５０２のそれぞれのカプセル化プロトコル・ヘッダ（ＴＩＰ＃１−１、ＴＩＰ＃１−２）の情報について示した表である。この実施例におけるカプセル化データ１５０１、１５０２はカプセル化後フラグメントされているため、カプセル化データ１５０２はＵＤＰのヘッダを持たない。
【００６９】
図１７のデカプセル化データ・ベース８０４は、ネットワーク・トンネリング装置３のデカプセル化処理部８０３により使用されるデータ・ベースであり、被カプセル化ＩＰヘッダ１７０１のＳｒｃＩＰ１７０３、ＤｓｔＩＰ１７０４、ＩＤ１７０５とカプセル化プロトコル・ヘッダ１７０２におけるＩＤ１７０６の情報の組を１つのエントリとして管理する。
【００７０】
図１８はネットワーク・トンネリング装置３のデカプセル化処理部８０３におけるデカプセル化処理の流れについて説明したフローチャートである。
【００７１】
ネットワーク・トンネリング装置３がカプセル化データのフラグメントにおける先頭データであるカプセル化データ１５０１を受信した場合には、デカプセル化処理を行うためにデカプセル化処理部８０３にこのデータが転送されてデカプセル化処理が開始される（Ｓ２１）。その後、処理Ｓ２２によりカプセル化プロトコル・ヘッダの情報を取得された後、処理Ｓ２３によりフラグメントが行われているデータかどうかの判定が行われるが、図１６に示すとおりＭＦ＝１であることから処理Ｓ２４に進み、フラグメントの先頭データかどうかの判断を行う。これも図１６に示すとおりＦＯ＝０ということから処理Ｓ２５へ進む。
【００７２】
処理Ｓ２５では、図１９に示すように入力されたカプセル化データ１５０１のカプセル化プロトコル・ヘッダ（ＴＩＰ＃１−１）１５０７に設定されたＩＤ情報を、カプセル化プロトコル・ヘッダ１７０２のＩＤ１７０６とし、同時に被カプセル化ＩＰヘッダ１５０５の情報を、被カプセル化ＩＰヘッダ１７０１のＳｒｃＩＰ１７０３、ＤｓｔＩＰ１７０４、ＩＤ１７０５として設定しデカプセル化データ・ベース８０４に登録し、その後、受信したカプセル化データ１５０１からカプセル化プロトコル・ヘッダ（ＴＩＰ＃１−１）１５０７、（ＴＵＤＰ＃１）１５０６を除去し、被カプセル化ＩＰヘッダ１５０５の情報に対して、ＭＦ７０８をＹＥＳ（１）として設定し、ＴＬ７０５を新しいＩＰデータのサイズとして設定しデカプセル化処理を終了する。デカプセル化処理部８０３からＩＰデータ送受信部８０５にデータを転送した後、ＩＰデータ送受信部８０５からネットワーク５に対してデータが転送される。
【００７３】
次に、ネットワーク・トンネリング装置３がカプセル化データのフラグメントにおける先頭以外のカプセル化データ１５０２を受信した場合には、デカプセル化処理部８０３の処理Ｓ２２によりカプセル化プロトコル・ヘッダの情報が取得された後、処理Ｓ２３によりフラグメントが行われているデータかどうかの判定が行われるが、図１６に示すとおりＭＦ＝０であるが、ＦＯ＝１８０であることから処理Ｓ２４に進み、フラグメントの先頭データかどうかの判断を行う。この結果、図１６に示すとおりＦＯ＝１８０であるため処理Ｓ２６へ進む。
【００７４】
処理Ｓ２６では、図２１に示すように入力されたカプセル化データ１５０２のカプセル化プロトコル・ヘッダ（ＴＩＰ＃１−２）１５０９に設定されたＩＤ情報を、カプセル化プロトコル・ヘッダ１７０２のＩＤ１７０６とし、一致する情報をデカプセル化データ・ベース８０４から検索して、該当するデータ・ベースのエントリを選択する。
【００７５】
その後、選択したデータ・ベース・エントリのＳｒｃＩＰ１７０３、ＤｓｔＩＰ１７０４、ＩＤ１７０５の情報を使用して被カプセル化ＩＰヘッダ２１０２を生成する。また、被カプセル化ＩＰヘッダのＦＯ７０９はカプセル化ＩＰヘッダ１５０９のＦＯである１８０から、カプセル化データ１５０１から削除したカプセル化プロトコル・ヘッダ（ＴＩＰ＃１−１）１５０７のサイズとカプセル化プロトコル・ヘッダ（ＴＵＤＰ＃１）１５０６のサイズの合計である２８を減算し、ＦＯ＝１５２を設定する。
【００７６】
このデータ２１０１もデカプセル化処理部８０３からＩＰデータ送受信部８０５にデータを転送した後、ＩＰデータ送受信部８０５からネットワーク５に対してデータが転送される。
【００７７】
これらの動作によりネットワーク・トンネリング装置３の転送したフラグメント・データであるデカプセル化データ１９０１、２１０１を受信した端末は、端末のＩＰスタックによりＩＰフラグメントを組み立てることが可能になる。
【００７８】
これらの動作に基づき、本発明を適用したネットワーク・トンネリング装置においては、端末が直接トンネルを終端するようなネットワーク構成においても、端末側のアプリケーションに対し、フラグメント処理を行う機能の実装を必要としないことで、端末側の開発量を軽減することが可能であり、これによりシステム構築を低コストで行うことが可能になる。
【００７９】
また、本実施例では、本発明の効果を顕著に示すために、図２に示すように、端末が直接トンネルを終端するようなネットワーク構成を例にとって説明を行ったが、図１に示すネットワーク構成においてもネットワーク・トンネリング装置３または４が送信したフラグメント済みのカプセル化データに対し、このカプセル化データを受信したネットワーク・トンネリング装置４または３において、上述した本発明のデカプセル化処理を行うことができるため、従来と比較してネットワーク・トンネリング装置３、４におけるデカプセル化処理を簡単化することができる効果を奏する。
【００８０】
（第二実施例）
以下では、第二実施例についての説明を行う。図２３は第二実施例におけるカプセル化データ・ベース８０２の構成について示した図である。図２３では第一実施例に示したカプセル化データ・ベース８０２の構成に対して、エントリ毎の情報に補正値２３０１が追加になっている。
【００８１】
これにより、まず、カプセル化データ・ベース８０２に対して、エントリを登録する処理Ｓ７（図１０）においては、カプセル化により増加するヘッダサイズの情報を補正値２３０１として登録することが可能になる。
【００８２】
また、処理Ｓ１１およびＳ１２のフラグメント・オフセットの補正処理の際に、該当するカプセル化データ・ベース８０２のエントリに設定された補正値２３０１の値に基づきカプセル化プロトコル・ヘッダのフラグメント・オフセットの情報を修正することで、カプセル化プロトコル・ヘッダ長が可変になる場合にも対応可能となる。
【００８３】
図２４は、第二実施例におけるデカプセル化データ・ベース８０４の構成について示した図である。図２４では、第一実施例に示したデカプセル化データ・ベース８０４の構成に対して、エントリ毎の情報に補正値２０４１が追加になっている。
【００８４】
これにより、まず、デカプセル化データ・ベース８０４に対して、エントリを登録する処理Ｓ２５（図１８）においては、デカプセル化により、減少するヘッダサイズの情報を補正値２４０１として登録することが可能になる。
【００８５】
また、処理Ｓ２６（図１８）のフラグメント・オフセットの補正処理の際に、該当するデカプセル化データ・ベース８０４のエントリに設定された補正値２４０１の値に基づき被カプセル化プロトコル・ヘッダのフラグメント・オフセットの情報を修正することで、被カプセル化プロトコル・ヘッダ長が可変になる場合にも対応可能となる。
【００８６】
これにより、さらに柔軟なネットワーク・トンネリング・システムの構成が可能になる。
【産業上の利用可能性】
【００８７】
本発明によれば、端末が直接トンネルを終端するようなトンネリングを用いたネットワーク構成において、端末のアプリケーションに対する機能実装を軽減し、トンネリングが容易に実現可能である。また、本発明によるカプセル化を用いることにより、従来と比較してデカプセル化処理を簡単化することができる。
【図面の簡単な説明】
【００８８】
【図１】ネットワーク・トンネリング装置を使用した一般的なネットワーク構成を示す図。
【図２】本発明に関わるネットワーク構成を示す図。
【図３】従来例におけるフラグメント・パケットを示す図。
【図４】従来例におけるネットワーク・トンネリング装置のカプセル化動作を説明する図。
【図５】従来例における端末でのデータ受信動作を説明する図。
【図６】第一実施例のカプセル化動作を説明するためのフラグメントされた元データを示す図。
【図７】図６で示したデータのＩＰヘッダ情報を示す図。
【図８】第一実施例のネットワーク・トンネリング装置の機能構成を示す図。
【図９】カプセル化データ・ベースを説明する図。
【図１０】カプセル化処理部におけるカプセル化処理の流れを説明するフローチャート。
【図１１】図６で示した先頭データがカプセル化されて転送される様子を示した図。
【図１２】図１１で示したデータのＩＰヘッダ情報を示す図。
【図１３】図６で示した先頭以外のデータがヘッダ付替えされ転送される様子を示す図。
【図１４】図１３で示したデータのＩＰヘッダ情報を示す図。
【図１５】第一実施例のデカプセル化動作を説明するためのフラグメントされたカプセル化データを示す図。
【図１６】図１５で示したデータのカプセル化プロトコル・ヘッダ情報を示す図。
【図１７】デカプセル化データ・ベースを説明する図。
【図１８】デカプセル化処理部におけるデカプセル化処理の流れを説明するフローチャート。
【図１９】図１５で示した先頭データがデカプセル化されて転送される様子を示す図。
【図２０】図１９で示したデータのＩＰヘッダ情報を示す図。
【図２１】図１５で示した先頭以外のデータがデカプセル化されて転送される様子を示す図。
【図２２】図２１で示したデータのＩＰヘッダ情報を示す図。
【図２３】第二実施例に関わるカプセル化データ・ベースの構成例を示した図。
【図２４】第二実施例に関わるデカプセル化データ・ベースの構成例を示した図。
【符号の説明】
【００８９】
１、２  端末
３、４  ネットワーク・トンネリング装置
５、６  ネットワーク
７  トンネル
１１、１２  フラグメント・パケット
１３、１５  ヘッダ
１４、１６  データ
２１、２２、１１０１〜１１０３、１３０１、１５０１、１５０２  カプセル化データ
２３、２４、９０２、１１０６、１１０７、１１０８、１１０９、１３０２、１５０６、１５０７、１５０９、１７０２  カプセル化プロトコル・ヘッダ
６０１、６０２  ＩＰデータ
６０３、６０４、１１０４、１１０５、１５０３、１５０８  データ
６０５、１５０４、  ＵＤＰヘッダ
６０６、６０７、１５０５、１９０２、２１０２  ＩＰヘッダ
７０１  表
７０２  パケット
７０３、９０３、１７０３  ＳｒｃＩＰ
７０４、９０４、１７０４  ＤｓｔＩＰ
７０５  ＴＬ
７０６、９０５、９０６、１７０５、１７０６  ＩＤ
７０７  ＤＦ
７０８  ＭＦ
７０９  ＦＯ
８０１  カプセル化処理部
８０２  カプセル化データ・ベース
８０３  デカプセル化処理部
８０４  デカプセル化データ・ベース
８０５  ＩＰデータ送受信部
９０１  元ＩＰヘッダ
１７０１  被カプセル化ＩＰヘッダ
１９０１、２１０１  デカプセル化データ
２３０１、２４０１  補正値
【図１】
2007158672.tif 000003
【図２】
2007158672.tif 000004
【図３】
2007158672.tif 000005
【図４】
2007158672.tif 000006
【図５】
2007158672.tif 000007
【図６】
2007158672.tif 000008
【図７】
2007158672.tif 000009
【図８】
2007158672.tif 000010
【図９】
2007158672.tif 000011
【図１０】
2007158672.tif 000012
【図１１】
2007158672.tif 000013
【図１２】
2007158672.tif 000014
【図１３】
2007158672.tif 000015
【図１４】
2007158672.tif 000016
【図１５】
2007158672.tif 000017
【図１６】
2007158672.tif 000018
【図１７】
2007158672.tif 000019
【図１８】
2007158672.tif 000020
【図１９】
2007158672.tif 000021
【図２０】
2007158672.tif 000022
【図２１】
2007158672.tif 000023
【図２２】
2007158672.tif 000024
【図２３】
2007158672.tif 000025
【図２４】
2007158672.tif 000026