JP4340651B2 - ネットワーク・トンネリング装置 - Google Patents

ネットワーク・トンネリング装置 Download PDF

Info

Publication number
JP4340651B2
JP4340651B2 JP2005350591A JP2005350591A JP4340651B2 JP 4340651 B2 JP4340651 B2 JP 4340651B2 JP 2005350591 A JP2005350591 A JP 2005350591A JP 2005350591 A JP2005350591 A JP 2005350591A JP 4340651 B2 JP4340651 B2 JP 4340651B2
Authority
JP
Japan
Prior art keywords
data
encapsulated
encapsulation
protocol header
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2005350591A
Other languages
English (en)
Other versions
JP2007158672A (ja
Inventor
英樹 山内
佳典 高田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Nippon Telegraph and Telephone Corp
Original Assignee
Mitsubishi Electric Corp
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp, Nippon Telegraph and Telephone Corp filed Critical Mitsubishi Electric Corp
Priority to JP2005350591A priority Critical patent/JP4340651B2/ja
Publication of JP2007158672A publication Critical patent/JP2007158672A/ja
Application granted granted Critical
Publication of JP4340651B2 publication Critical patent/JP4340651B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、IPネットワークにおけるトンネリング転送に利用する。
トンネリングとは、データを転送している中継ネットワークに対し、この中継ネットワークで動作しているプロトコルとは異なるプロトコルをサポートする端末から送信されたデータを、この中継ネットワークで使用されているプロトコルでカプセル化することで、この中継ネットワークを転送することを可能にし、転送ネットワーク上に異なるプロトコルを経由した場合にも、相互接続を可能にするための技術である。
Internet Protocol(以下ではIPと記す)と呼ばれるネットワーク・プロトコルは、現在インターネットから企業内ネットワーク等の様々なネットワークのネットワーク・プロトコルとして、幅広く使用されているが、IPによるトンネリングを利用することで、異なるプロトコルを使用したネットワーク間の接続を、インターネットを経由して実現することも可能になる。
例えばIPによるトンネリングでは、IPのバージョンの違いによる相互接続性の問題を解消するために、異なるバージョンのIPをトンネリングにより接続することで、IPネットワーク上に異なるバージョンのIPのデータを転送するために使用されている。
また、同一バージョンのIP同士でのトンネリングについては、同じプロトコルによるカプセル化により、ネットワーク上を転送されているデータの本来のプロトコル・ヘッダに対し、別のプロトコル・ヘッダを付加することで、本来の宛先へのデータ転送とは異なる経路によるデータ転送や、本来の宛先と異なる端末に対してのデータ転送が可能になる。
これは、例えば処理の輻輳するサーバ装置の負荷を分散することを目的として、特定の宛先を持つデータを強制的に別の宛先にデータの転送先を変更し、本来の宛先であるサーバ装置だけでなく、宛先変更された転送先の端末において処理を分担させて、サーバ装置の負荷を軽減する仕組みに利用される。
また、移動するIP端末が移動先においても従来のIPアドレス宛のデータを受信できるようにするため、本来存在しているネットワークから、現在の移動先に対してIPパケットを転送する「モバイルIP」と呼ばれる技術でも使用されている。
このようなIPデータに対して同一プロトコルであるIPヘッダを用いてトンネリングを実現する従来の方式は非特許文献1に示されている。この非特許文献1で示されている方式は、トンネルに対し入力された各IPパケットに対し、全て独立したカプセル化プロトコル・ヘッダを付与してカプセル化しトンネルに送信することを特徴としている。
RFC1853 IP in IP Tunneling
前述の従来技術に基づくデータのカプセル化の方式に従った場合の問題点について、以下では図に基づき説明する。
図1はトンネルの両端にネットワーク・トンネリング装置が接続され、ネットワーク同士をトンネルで接続する一般的なトンネリングを使用したネットワーク構成を示した図であり、図2はトンネルの一方の端点には端末が直接収容される形のネットワーク構成を示している。
図1において符号1、2はネットワークに接続された端末、符号3、4はネットワークとトンネルとを接続するネットワーク・トンネリング装置、符号5、6はトンネルにより接続されるネットワーク、符号7はネットワーク5とネットワーク6とを接続するトンネルである。
図2において、端末2は直接トンネルを終端する機能を持つことが特徴であり、ネットワーク・トンネリング装置4と接続対象であったネットワーク6が省略された構成である。
図3は既にフラグメントによる分割が行われた2つのフラグメント・パケット11、12を示しており、それぞれのフラグメント・パケット11、12はヘッダ13、15とデータ14、16により構成される。
図4および図5は本発明が解決しようとする問題点について、図2のネットワーク構成でのフラグメント・パケットの処理について、図3で示したフラグメント・パケットに基づき説明したものである。図4は図2のネットワーク構成におけるネットワーク・トンネリング装置3でのフラグメント・パケットに対するカプセル化動作について従来動作を説明したものである。
図4において、まず、ネットワーク・トンネリング装置3は、接続されたネットワーク5から入力されたフラグメント・パケット11、12を受信すると、この受信したフラグメント・パケット11、12に対してそれぞれ独立にカプセル化処理を行う。
このとき、ネットワーク・トンネリング装置3では、フラグメント・パケット11、12のそれぞれに対応するカプセル化プロトコル・ヘッダ23、24を生成し、受信したフラグメント・パケット11、12の先頭にこのカプセル化プロトコル・ヘッダ23、24を付加してカプセル化データ21、22を生成する。その後、このカプセル化データ21、22のそれぞれをトンネル7に対して転送することでカプセル化処理を行っている。
図5は図4で説明したカプセル化動作を行うネットワーク・トンネリング装置3により生成されたカプセル化データ21、22を、図2に示したトンネル7を直接終端する端末2において受信した際の端末2におけるデータ受信動作を示している。
端末2がカプセル化データ21、22を受信した場合には、まず端末2に実装されているIPスタックにて、トンネル7の転送用に使用されたカプセル化プロトコル・ヘッダ23、24が処理され、カプセル化プロトコル・ヘッダ23、24が削除された状態で、アプリケーションにフラグメント・パケット11、12が転送される。
端末2のアプリケーションでは、受信したこれらのフラグメント・パケット11、12の組み立てを行い、本来の転送目的であるデータ14、16を抽出して処理に使用する必要がある。
このような動作に基づき、図2に示したトンネル構成を持つシステムにおける、ネットワーク・トンネリング装置3でのカプセル化動作によると、トンネル7のもう一方の終端である端末2においては、アプリケーションにおいてフラグメント・パケット11、12を個別に受信することになるため、これら2つのパケットのフラグメントによる組み立てを再度アプリケーション・レベルで実施することが必要になり、IPスタックが本来持っている分割されたパケットの組み立て機能を、アプリケーション・レベルでも別途実装することが必要となる。
以上で説明したとおり、従来のネットワーク・トンネリング装置3におけるカプセル化動作を使用したシステムでは、端末2においてアプリケーション部分に対して、IPスタックの持つフラグメント機能を実装することが必要となることから、端末2に対する機能を実装するための開発量が増加することと、端末2において必要とされる処理も2度のIPスタックでの処理に相当する処理と同等になることから、処理時間の増加を招くことの大きく2つの問題が存在している。
本発明は、このような背景の下に行われたものであって、図2に示すような端末2が直接トンネル7を終端するようなトンネリングを用いたネットワーク構成におけるネットワーク・トンネリング装置3において、本発明が示すフラグメント・パケットに対するカプセル化動作を実装することで、端末2のアプリケーションに対する機能実装を軽減し、図2の構成によるトンネリングが容易に実現可能であることを目的としている。
本発明は、IPネットワークを介してデータを転送するデータ通信システムで使用され、受信した転送データに対して新たなプロトコル・ヘッダを追加してネットワーク内に転送するカプセル化手段と、このカプセル化手段により追加されたプロトコル・ヘッダを除去するデカプセル化手段とを備えたネットワーク・トンネリング装置である。
ここで、本発明の特徴とするところは、カプセル化対象データの送信元アドレス、宛先アドレス、識別子の情報と、カプセル化プロトコル・ヘッダの識別子の情報との組を記憶するカプセル化データ・ベースが設けられ、前記カプセル化手段は、フラグメント・データの処理の際に、受信したパケットの送信元アドレス、宛先アドレス、識別子と一致した前記カプセル化データ・ベースのエントリが存在しない場合には、新たにカプセル化プロトコル・ヘッダの識別子を決定した後、カプセル化対象データの送信元アドレス、宛先アドレス、識別子の情報と、新たに決定したカプセル化プロトコル・ヘッダの識別子の情報とを前記カプセル化データ・ベースに登録し、このカプセル化データ・ベースに登録された前記送信元アドレス、前記宛先アドレス、前記カプセル化プロトコル・ヘッダの識別子を含むカプセル化プロトコル・ヘッダを生成しカプセル化処理を行い、受信したパケットの送信元アドレス、宛先アドレス、識別子と一致した前記カプセル化データ・ベースのエントリが既に存在する場合には、一致する前記カプセル化データ・ベースのエントリに含まれる前記送信元アドレス、前記宛先アドレス、前記カプセル化プロトコル・ヘッダの識別子を含むカプセル化プロトコル・ヘッダを生成しカプセル化処理を行う手段と、カプセル化以前におけるフラグメントの先頭データ以外のデータに対してのカプセル化処理では、受信したパケットの送信元アドレス、宛先アドレス、識別子と一致する前記カプセル化データ・ベースのエントリに含まれる前記送信元アドレス、前記宛先アドレス、前記カプセル化プロトコル・ヘッダの識別子を含むカプセル化プロトコル・ヘッダを生成し、このカプセル化プロトコル・ヘッダを受信パケットのプロトコル・ヘッダと置き換える手段とを備えたところにある。
このようにして、本発明では、カプセル化以前のフラグメントの状態を、カプセル化後においても保持することができる。すなわち、従来は、一連のフラグメントされたデータであっても、あるいは、単独なデータであっても、全て一律に独立したカプセル化が行われてしまうため、デカプセル化後でなければ、カプセル化以前のフラグメントの状態を認識することができなかったが、本発明では、カプセル化以前のフラグメントの状態を反映させてカプセル化を行うことができるため、デカプセル化する以前に、カプセル化以前のフラグメントの状態を認識することができ、受信端末におけるフラグメント・アセンブル処理を従来と比較して簡単化することができる。
本発明のカプセル化を実現するために用いられるのが、カプセル化データ・ベースであり、同一の送信元アドレス、宛先アドレス、識別子を有するデータに対し一意に定まるカプセル化プロトコル・ヘッダの識別子を対応させ、これらの情報をカプセル化データ・ベースに登録しておき、受信した被カプセル化パケットのヘッダに書き込まれた送信元アドレス、宛先アドレス、識別子を読み出し、カプセル化データ・ベースに登録されている送信元アドレス、宛先アドレス、識別子と比較することにより、当該被カプセル化パケットが含むデータが一連のフラグメントされたデータを構成するデータであるか否かを識別し、一連のフラグメントされたデータを含むパケットであることがわかれば、当該一連のフラグメントされたデータに対応するカプセル化プロトコル・ヘッダの識別子を含むヘッダ情報を当該被カプセル化パケットに付与してカプセル化を行うことにより、カプセル化された後でもカプセル化以前のフラグメントの状態を保持することができる。
この際に、単に、被カプセル化パケットが一連のフラグメントされたデータを含むパケットであるか否かだけでなく、一連のフラグメントされたデータの先頭パケットであるか、あるいは、末尾のパケットであるか、あるいは、その中間のパケットであるかといった情報も併せてカプセル化プロトコル・ヘッダに搭載することができる。
ここで識別子とは、カプセル化対象データおよびカプセル化プロトコル・ヘッダが付加されたデータの双方が、それぞれフラグメント・データとして処理される際にそのデータが一連のものであることを識別するためのものである。よって、カプセル化対象データの識別子とカプセル化プロトコル・ヘッダの識別子とは実質的に同種のものと考えてよい。すなわち、前者は、カプセル化以前のデータに対してその連続性を識別するための識別子であり、後者は、カプセル化以後のデータに対してその連続性を識別するための識別子であり、いずれの場合もその役割は同じである。
また、本発明のネットワーク・トンネリング装置は、デカプセル化対象となるデータのカプセル化プロトコル・ヘッダの識別子の情報と、デカプセル化後に抽出されるプロトコル・ヘッダの送信元アドレス、宛先アドレス、識別子の情報の組とを記憶するデカプセル化データ・ベースが設けられ、前記デカプセル化手段は、フラグメントの先頭データに対する処理の際に、カプセル化プロトコル・ヘッダの識別子と、デカプセル化処理後抽出されるデータの送信元アドレス、宛先アドレス、識別子の情報とを前記デカプセル化データ・ベースに登録し、フラグメントの先頭以外のデータに対する処理の際に、受信したデータのカプセル化プロトコル・ヘッダを、当該カプセル化プロトコル・ヘッダの識別子に対応する前記デカプセル化データ・ベースの既存のエントリに基づく情報で生成した前記送信元アドレス、前記宛先アドレス、前記識別子を含む新たなプロトコル・ヘッダにより置き換えを行う手段を備えたことを特徴とする。
これにより、前述したように本発明のカプセル化が施されたカプセル化パケットに対するデカプセル化を行うことができる。すなわち、本発明では、カプセル化後であっても、フラグメントの先頭データとそれ以外のデータとが識別可能であるため、当該先頭データのデカプセル化処理を行う際に、デカプセル化後のパケットのヘッダに搭載する各種情報を抽出しておき、この各種情報をデカプセル化データ・ベースに登録しておくことにより、先頭以外のデータのデカプセル化処理では、このデカプセル化データ・ベースに登録されている各種情報に基づきデカプセル化後のヘッダ情報を生成することができるため、デカプセル化処理を簡単化することができる。
また、前記カプセル化およびデカプセル化データ・ベースに、カプセル化プロトコル・ヘッダの追加または除去によるデータ量の増減値を記憶し、この増減値に基づきフラグメント・オフセットの値の計算を行う手段を備えることができる。
これにより、カプセル化プロトコル・ヘッダのフラグメント・オフセットの情報を修正することができるため、カプセル化プロトコル・ヘッダ長が可変になる場合にも対応可能となり、柔軟なネットワーク・トンネリング・システムの構成が可能となる。
また、本発明をネットワーク・トンネリング方法の観点から捉えることができる。すなわち、本発明は、IPネットワークを介してデータを転送するデータ通信システムで使用され、受信した転送データに対して新たなプロトコル・ヘッダを追加することによりカプセル化してネットワーク内に転送し、カプセル化された転送データを受信したときには、前記追加されたプロトコル・ヘッダを除去することによりデカプセル化してカプセル化以前の転送データを取り出すネットワーク・トンネリング装置が実行するネットワーク・トンネリング方法である。
ここで、本発明の特徴とするところは、カプセル化以前におけるカプセル化対象データのフラグメントの状態をカプセル化データ・ベースにより記憶するステップと、この記憶内容に基づいてカプセル化以前におけるカプセル化対象データのフラグメントの状態をカプセル化後のカプセル化プロトコル・ヘッダの情報に反映させるステップとを実行するところにある。
また、本発明のネットワーク・トンネリング方法におけるカプセル化データのデカプセル化におけるフラグメントの先頭データに対するデカプセル化処理の際に、当該先頭データからデカプセル化処理後抽出されるデータのプロトコル・ヘッダの情報を取り込んでデカプセル化データ・ベースにより記憶するステップと、デカプセル化におけるフラグメントの先頭以外のデータに対するデカプセル化処理の際に、前記記憶内容に基づいてデカプセル化処理後の新たなプロトコル・ヘッダの情報を生成して当該データのカプセル化プロトコル・ヘッダと置き換えるステップとを実行することを特徴とする。
本発明によれば、端末が直接トンネルを終端するようなトンネリングを用いたネットワーク構成において、端末のアプリケーションに対する機能実装を軽減し、トンネリングが容易に実現可能である。また、本発明によるカプセル化を用いることにより、従来と比較してデカプセル化処理を簡単化することができる。
本発明における実施例について以下で説明する。なお、本実施例におけるカプセル化プロトコル・ヘッダは、UDP/IPを用いることとして説明を行う。また、ネットワーク上を転送されているカプセル化対象データもUDP/IPであるとして説明を行う。
本実施例におけるネットワーク構成は図2と同じである。図6は端末1が送信したフラグメントされたIPデータ601、602を示している。IPデータ601はUDP/IPのデータであるため、IPヘッダ606とUDPヘッダ605とデータ603とから構成されている。
IPデータ602はIPヘッダ607とデータ604とから構成されている。IPパケット602はフラグメントにより2分割された、先頭以外の部分にあたるデータであるため、UDPヘッダの情報は含まれない。
図7は図6に示したIPデータ601、602のIPヘッダ部分の情報に関するIPヘッダ606、607の情報を示す表701である。
SrcIP703はパケットの送信元IPアドレスの情報を、DstIP704は宛先IPアドレスの情報を、TL705はTotal
Lengthの情報を、ID706は識別子(Identifier)の情報を、DF707はフラグメント禁止bit(Don't
Fragment)の設定を、MF708は追加フラグメント・パケット有りbit(More Fragment)の設定を、FO709はフラグメント・オフセットの情報をそれぞれ示すものである。また、ID706は、請求項において表現されている識別子を示すものである。
IPデータ601のSrcIP703はXであり、これは端末1のIPアドレスを示している。また、IPデータ601のDstIP704はYが設定されており、これは端末2と異なるアドレスである。IPデータ601、602のTL705はそれぞれ200、100が設定されており、ID706には両データ共に1が設定されている。DF707は両データ共にNoが設定されており、フラグメント動作を許容する設定が行われている。MF708はIPデータ601ではYes、IPデータ602ではNoであり、IPデータ601はフラグメント・データとして以降に続くデータがあることを示しており、IPデータ602ではフラグメント・データとして最終のデータであることが示されている。FO709はIPデータ601では0、IPパケット602では180となり、MF708の値と合わせてIPデータ601がフラグメントの先頭データ、IPデータ602がフラグメントの最終データであることが判定できる。
図8は本発明に関わるフラグメント・データに対するカプセル化機能を実装するネットワーク・トンネリング装置3の機能ブロック構成について示したものである。
ネットワーク・トンネリング装置3は、カプセル化によるトンネルを構成するために、カプセル化処理部801とデカプセル化処理部803とを持ち、それぞれの処理はカプセル化プロトコル・ヘッダの生成または除去時に使用するための情報を持つ、カプセル化データ・ベース802とデカプセル化データ・ベース804とをそれぞれ管理している。
IPデータ送受信部805はネットワークからIPデータを受信してそれぞれカプセル化処理部801もしくはデカプセル化処理部803に転送し、その処理結果を再びネットワーク上に転送する機能を持つ。
図9は図8で示したカプセル化データ・ベース802の構成について示した図である。カプセル化データ・ベース802は、複数のカプセル化データ・ベース・エントリの集まりとして構成され、その1つのエントリも複数の情報要素から構成されている。
各エントリはカプセル化対象となった受信側のネットワーク5でのIPヘッダである元IPヘッダ901とカプセル化プロトコル・ヘッダ902とに関する情報の組で構成され、それぞれ元IPヘッダ901の情報として送信元IPアドレスの情報を示すSrcIP903、宛先IPアドレスの情報を示すDstIP904、識別子の情報を示すID905が存在する。トンネル7で使用されるカプセル化プロトコル・ヘッダ902の情報はカプセル化プロトコル・ヘッダの識別子の情報を示すID906から構成される。また、ID905は、請求項において表現されているカプセル化対象データの識別子を、ID906は、請求項において表現されているカプセル化プロトコル・ヘッダの識別子をそれぞれ示すものである。
図10は本発明に関わるネットワーク・トンネリング装置3におけるカプセル化処理部801において実施される、カプセル化処理の処理フローについて示した図である。
カプセル化処理開始S1は、本処理フローの開始位置を示しておりカプセル化データがIPデータ送受信部805からカプセル化処理部801に転送されたタイミングで処理が開始される。IPヘッダ情報取得S2は、処理対象であるIPデータからIPヘッダに設定されている情報を取得するための処理である。判定S3は、処理S2により取得したIPヘッダ情報を基にして「MFフラグの値が1」もしくは「FOフラグの値が0」のいずれかの条件を満たす場合について判定を行い、この判定によりフラグメントが行われているIPパケットであるかどうかを判断する。
フラグメントが実施されたIPデータに対するカプセル化処理は、まず、処理S4によりカプセル化データ・ベース802の中から、処理S2で取得したIPヘッダの情報と一致する条件のエントリを検索する。
処理S5ではエントリ検索の結果を確認し、既存エントリが存在する場合には、処理S6に示したとおり、検索にて抽出されたエントリのカプセル化プロトコル・ヘッダ902のID906を記憶しておく。既存エントリが存在しない場合には、処理S7に示したとおり、現在使用されているカプセル化プロトコル・ヘッダのIDと重複しないカプセル化プロトコル・ヘッダのIDを取得し、処理S2で取得された元IPヘッダ901の情報と共にカプセル化データ・ベース802に登録する。
処理S8はフラグメント・オフセットの設定値により、フラグメント・データの内、先頭データがどうか判定している。
先頭データであると判断された場合には、処理S9においてはMF=1、FO=0、ID=元IPヘッダのID905としてカプセル化プロトコル・ヘッダを定義し、元IPヘッダのMF情報を0に設定してカプセル化データを生成する。
先頭データではないと判断された場合には、今度は処理S10においてフラグメントの最終データであるかどうかの判定を行う。最終データでない場合には、処理S11において、MF=1、FO=0+カプセル化プロトコル・ヘッダのサイズ、ID=ID906(カプセル化プロトコル・ヘッダの識別子)としてカプセル化プロトコル・ヘッダを定義したカプセル化データを定義し、カプセル化プロトコル・ヘッダの付け替えが実施される。先頭データに対する処理であるS9との違いは、フラグメント・オフセットにカプセル化プロトコル・ヘッダを追加した分のサイズの調整が必要なことと、カプセル化データを付与するのではなく、元IPヘッダをカプセル化プロトコル・ヘッダに付け替えを行うことが特徴である。
処理S10において、フラグメントの最終データであると判断された場合には、処理S12において、MF=0、FO=0+カプセル化プロトコル・ヘッダのサイズ、ID=ID906としてカプセル化プロトコル・ヘッダを定義し、元IPヘッダをカプセル化プロトコル・ヘッダに付け替える。
図11は図10における処理S9にあたるフラグメントの先頭パケットのカプセル化処理に関わる動作を示した図である。図6で示したフラグメントの先頭データであるIPデータ601からカプセル化データ1101へのカプセル化動作を行い、その後、再度フラグメントを行う様子を示している。
符号1101はカプセル化データを示しており、符号1102および1103はそれぞれカプセル化データに対するフラグメントされたIPデータを示している。符号1104および1105はフラグメントにより分割されたデータであり、符号1106はカプセル化のために使用されるUDPヘッダであるカプセル化プロトコル・ヘッダ(TUDP#1)、符号1107はカプセル化のために使用されるIPヘッダであるカプセル化プロトコル・ヘッダ(TIP#1)であり、符号1108および1109はそれぞれカプセル化プロトコル・ヘッダ(TIP#1)1107をフラグメントしたカプセル化プロトコル・ヘッダ(TIP#1−1、TIP#1−2)である。
ここで、カプセル化データ1101を、カプセル化データ1102、1103にフラグメントにより2分割した理由は、カプセル化データ1101のTLがカプセル化によってカプセル化以前のIPデータ601のTL=200を越えてしまうことを回避するためである。
図12は図11で示したカプセル化データ1102とカプセル化データ1103に付加されるカプセル化プロトコル・ヘッダ(TIP#1−1、TIP#1−2)の内容について示しており、カプセル化データ1102およびカプセル化データ1103はカプセル化データ1101をフラグメントしたものであり、ここではID706(カプセル化プロトコル・ヘッダの識別子)は100として設定されている。また、カプセル化データ1103のFO709は180となっている。
カプセル化データ1101からカプセル化データ1102とカプセル化データ1103へのフラグメント処理について、図10における処理フローではこの処理は記載されていないが、これはネットワーク・トンネリング装置3におけるIPデータ送受信部805に実装されることとしているためである。
図13は図10における処理S12にあたる、フラグメントの最終データに対するカプセル化の動作について示している。IPデータ602は図6に示したフラグメントの最終パケットである。カプセル化データ1301は図10の処理S12を実施することで、IPヘッダ607をカプセル化対応のIPヘッダであるカプセル化プロトコル・ヘッダ(TIP#1−3)1302に置き換えをする。
図14は図13で示したカプセル化データ1301のカプセル化プロトコル・ヘッダ(TIP#1−3)1302に関わる情報を示している。
このようにして、本実施例におけるネットワーク・トンネリング装置3は、IPデータ601、602を受信して、カプセル化処理部801およびIPデータ送受信部805の機能によりカプセル化データ1102、1103、1301として、トンネル7に対して転送し、端末2に到達し受信される。端末2では通常のIPスタックの処理において、これら3つのデータを1つのIPデータに組み立て可能であり、IPデータ601、602の2つのデータにフラグメントされる前の形でのデータを受信することが可能になる。
これらの処理により、端末2では特別な処理の実装を必要とせずに、端末2に実装されている通常のIPスタックを使用することで、デカプセル化後のフラグメント・パケット組み立て処理を独自に実施することなく、フラグメントの元データを受信することを可能にする。
以下では、本実施例に関わるネットワーク・トンネリング装置3におけるデカプセル化動作について示す。
本実施例では図15に示した端末2が送信したフラグメント済みのカプセル化データ1501および1502に対し、このパケットをそれぞれ受信したネットワーク・トンネリング装置3のデカプセル化処理部803における処理の流れに基づいて説明する。
図16は図15に示したカプセル化データ1501、1502のそれぞれのカプセル化プロトコル・ヘッダ(TIP#1−1、TIP#1−2)の情報について示した表である。この実施例におけるカプセル化データ1501、1502はカプセル化後フラグメントされているため、カプセル化データ1502はUDPのヘッダを持たない。
図17のデカプセル化データ・ベース804は、ネットワーク・トンネリング装置3のデカプセル化処理部803により使用されるデータ・ベースであり、被カプセル化IPヘッダ1701のSrcIP1703、DstIP1704、ID1705とカプセル化プロトコル・ヘッダ1702におけるID1706の情報の組を1つのエントリとして管理する。
図18はネットワーク・トンネリング装置3のデカプセル化処理部803におけるデカプセル化処理の流れについて説明したフローチャートである。
ネットワーク・トンネリング装置3がカプセル化データのフラグメントにおける先頭データであるカプセル化データ1501を受信した場合には、デカプセル化処理を行うためにデカプセル化処理部803にこのデータが転送されてデカプセル化処理が開始される(S21)。その後、処理S22によりカプセル化プロトコル・ヘッダの情報を取得された後、処理S23によりフラグメントが行われているデータかどうかの判定が行われるが、図16に示すとおりMF=1であることから処理S24に進み、フラグメントの先頭データかどうかの判断を行う。これも図16に示すとおりFO=0ということから処理S25へ進む。
処理S25では、図19に示すように入力されたカプセル化データ1501のカプセル化プロトコル・ヘッダ(TIP#1−1)1507に設定されたID情報を、カプセル化プロトコル・ヘッダ1702のID1706とし、同時に被カプセル化IPヘッダ1505の情報を、被カプセル化IPヘッダ1701のSrcIP1703、DstIP1704、ID1705として設定しデカプセル化データ・ベース804に登録し、その後、受信したカプセル化データ1501からカプセル化プロトコル・ヘッダ(TIP#1−1)1507、(TUDP#1)1506を除去し、被カプセル化IPヘッダ1505の情報に対して、MF708をYES(1)として設定し、TL705を新しいIPデータのサイズとして設定しデカプセル化処理を終了する。デカプセル化処理部803からIPデータ送受信部805にデータを転送した後、IPデータ送受信部805からネットワーク5に対してデータが転送される。
次に、ネットワーク・トンネリング装置3がカプセル化データのフラグメントにおける先頭以外のカプセル化データ1502を受信した場合には、デカプセル化処理部803の処理S22によりカプセル化プロトコル・ヘッダの情報が取得された後、処理S23によりフラグメントが行われているデータかどうかの判定が行われるが、図16に示すとおりMF=0であるが、FO=180であることから処理S24に進み、フラグメントの先頭データかどうかの判断を行う。この結果、図16に示すとおりFO=180であるため処理S26へ進む。
処理S26では、図21に示すように入力されたカプセル化データ1502のカプセル化プロトコル・ヘッダ(TIP#1−2)1509に設定されたID情報を、カプセル化プロトコル・ヘッダ1702のID1706とし、一致する情報をデカプセル化データ・ベース804から検索して、該当するデータ・ベースのエントリを選択する。
その後、選択したデータ・ベース・エントリのSrcIP1703、DstIP1704、ID1705の情報を使用して被カプセル化IPヘッダ2102を生成する。また、被カプセル化IPヘッダのFO709はカプセル化IPヘッダ1509のFOである180から、カプセル化データ1501から削除したカプセル化プロトコル・ヘッダ(TIP#1−1)1507のサイズとカプセル化プロトコル・ヘッダ(TUDP#1)1506のサイズの合計である28を減算し、FO=152を設定する。
このデータ2101もデカプセル化処理部803からIPデータ送受信部805にデータを転送した後、IPデータ送受信部805からネットワーク5に対してデータが転送される。
これらの動作によりネットワーク・トンネリング装置3の転送したフラグメント・データであるデカプセル化データ1901、2101を受信した端末は、端末のIPスタックによりIPフラグメントを組み立てることが可能になる。
これらの動作に基づき、本発明を適用したネットワーク・トンネリング装置においては、端末が直接トンネルを終端するようなネットワーク構成においても、端末側のアプリケーションに対し、フラグメント処理を行う機能の実装を必要としないことで、端末側の開発量を軽減することが可能であり、これによりシステム構築を低コストで行うことが可能になる。
また、本実施例では、本発明の効果を顕著に示すために、図2に示すように、端末が直接トンネルを終端するようなネットワーク構成を例にとって説明を行ったが、図1に示すネットワーク構成においてもネットワーク・トンネリング装置3または4が送信したフラグメント済みのカプセル化データに対し、このカプセル化データを受信したネットワーク・トンネリング装置4または3において、上述した本発明のデカプセル化処理を行うことができるため、従来と比較してネットワーク・トンネリング装置3、4におけるデカプセル化処理を簡単化することができる効果を奏する。
(第二実施例)
以下では、第二実施例についての説明を行う。図23は第二実施例におけるカプセル化データ・ベース802の構成について示した図である。図23では第一実施例に示したカプセル化データ・ベース802の構成に対して、エントリ毎の情報に補正値2301が追加になっている。
これにより、まず、カプセル化データ・ベース802に対して、エントリを登録する処理S7(図10)においては、カプセル化により増加するヘッダサイズの情報を補正値2301として登録することが可能になる。
また、処理S11およびS12のフラグメント・オフセットの補正処理の際に、該当するカプセル化データ・ベース802のエントリに設定された補正値2301の値に基づきカプセル化プロトコル・ヘッダのフラグメント・オフセットの情報を修正することで、カプセル化プロトコル・ヘッダ長が可変になる場合にも対応可能となる。
図24は、第二実施例におけるデカプセル化データ・ベース804の構成について示した図である。図24では、第一実施例に示したデカプセル化データ・ベース804の構成に対して、エントリ毎の情報に補正値2041が追加になっている。
これにより、まず、デカプセル化データ・ベース804に対して、エントリを登録する処理S25(図18)においては、デカプセル化により、減少するヘッダサイズの情報を補正値2401として登録することが可能になる。
また、処理S26(図18)のフラグメント・オフセットの補正処理の際に、該当するデカプセル化データ・ベース804のエントリに設定された補正値2401の値に基づき被カプセル化プロトコル・ヘッダのフラグメント・オフセットの情報を修正することで、被カプセル化プロトコル・ヘッダ長が可変になる場合にも対応可能となる。
これにより、さらに柔軟なネットワーク・トンネリング・システムの構成が可能になる。
本発明によれば、端末が直接トンネルを終端するようなトンネリングを用いたネットワーク構成において、端末のアプリケーションに対する機能実装を軽減し、トンネリングが容易に実現可能である。また、本発明によるカプセル化を用いることにより、従来と比較してデカプセル化処理を簡単化することができる。
ネットワーク・トンネリング装置を使用した一般的なネットワーク構成を示す図。 本発明に関わるネットワーク構成を示す図。 従来例におけるフラグメント・パケットを示す図。 従来例におけるネットワーク・トンネリング装置のカプセル化動作を説明する図。 従来例における端末でのデータ受信動作を説明する図。 第一実施例のカプセル化動作を説明するためのフラグメントされた元データを示す図。 図6で示したデータのIPヘッダ情報を示す図。 第一実施例のネットワーク・トンネリング装置の機能構成を示す図。 カプセル化データ・ベースを説明する図。 カプセル化処理部におけるカプセル化処理の流れを説明するフローチャート。 図6で示した先頭データがカプセル化されて転送される様子を示した図。 図11で示したデータのIPヘッダ情報を示す図。 図6で示した先頭以外のデータがヘッダ付替えされ転送される様子を示す図。 図13で示したデータのIPヘッダ情報を示す図。 第一実施例のデカプセル化動作を説明するためのフラグメントされたカプセル化データを示す図。 図15で示したデータのカプセル化プロトコル・ヘッダ情報を示す図。 デカプセル化データ・ベースを説明する図。 デカプセル化処理部におけるデカプセル化処理の流れを説明するフローチャート。 図15で示した先頭データがデカプセル化されて転送される様子を示す図。 図19で示したデータのIPヘッダ情報を示す図。 図15で示した先頭以外のデータがデカプセル化されて転送される様子を示す図。 図21で示したデータのIPヘッダ情報を示す図。 第二実施例に関わるカプセル化データ・ベースの構成例を示した図。 第二実施例に関わるデカプセル化データ・ベースの構成例を示した図。
符号の説明
1、2 端末
3、4 ネットワーク・トンネリング装置
5、6 ネットワーク
7 トンネル
11、12 フラグメント・パケット
13、15 ヘッダ
14、16 データ
21、22、1101〜1103、1301、1501、1502 カプセル化データ
23、24、902、1106、1107、1108、1109、1302、1506、1507、1509、1702 カプセル化プロトコル・ヘッダ
601、602 IPデータ
603、604、1104、1105、1503、1508 データ
605、1504、 UDPヘッダ
606、607、1505、1902、2102 IPヘッダ
701 表
702 パケット
703、903、1703 SrcIP
704、904、1704 DstIP
705 TL
706、905、906、1705、1706 ID
707 DF
708 MF
709 FO
801 カプセル化処理部
802 カプセル化データ・ベース
803 デカプセル化処理部
804 デカプセル化データ・ベース
805 IPデータ送受信部
901 元IPヘッダ
1701 被カプセル化IPヘッダ
1901、2101 デカプセル化データ
2301、2401 補正値

Claims (5)

  1. IPネットワークを介してIPデータを転送するデータ通信システムで使用され、
    受信した転送データに対して新たなプロトコル・ヘッダを追加してネットワーク内に転送するカプセル化手段と、
    このカプセル化手段により追加されたプロトコル・ヘッダを除去するデカプセル化手段と
    を備えた、端末が直接トンネルを終端するトンネリングを用いたネットワーク構成におけるネットワーク・トンネリング装置において、
    カプセル化対象データの送信元アドレス、宛先アドレス、識別子の情報と、カプセル化プロトコル・ヘッダの識別子の情報との組を記憶するカプセル化データ・ベースが設けられ、
    前記カプセル化手段は、
    受信したIPフラグメント・データの処理の際に、受信したパケットの送信元アドレス、宛先アドレス、識別子と一致した前記カプセル化データ・ベースのエントリが存在しない場合には、新たにカプセル化プロトコル・ヘッダの識別子を決定した後、カプセル化対象データの送信元アドレス、宛先アドレス、識別子の情報と、新たに決定したカプセル化プロトコル・ヘッダの識別子の情報とを前記カプセル化データ・ベースに登録し、このカプセル化データ・ベースに登録された前記送信元アドレス、前記宛先アドレス、前記カプセル化プロトコル・ヘッダの識別子を含むカプセル化プロトコル・ヘッダを生成しカプセル化処理を行い、受信したパケットの送信元アドレス、宛先アドレス、識別子と一致した前記カプセル化データ・ベースのエントリが既に存在する場合には、一致する前記カプセル化データ・ベースのエントリに含まれる前記送信元アドレス、前記宛先アドレス、前記カプセル化プロトコル・ヘッダの識別子を含むカプセル化プロトコル・ヘッダを生成しカプセル化処理を行う手段と、
    カプセル化以前におけるIPフラグメントの先頭データ以外のデータに対してのカプセル化処理では、受信したパケットの送信元アドレス、宛先アドレス、識別子と一致する前記カプセル化データ・ベースのエントリに含まれる前記送信元アドレス、前記宛先アドレス、前記カプセル化プロトコル・ヘッダの識別子を含むカプセル化プロトコル・ヘッダを生成し、このカプセル化プロトコル・ヘッダを受信パケットのプロトコル・ヘッダと置き換える手段と
    を備えたことを特徴とする、端末が直接トンネルを終端するトンネリングを用いたネットワーク構成におけるネットワーク・トンネリング装置。
  2. IPネットワークを介してIPデータを転送するデータ通信システムで使用され、
    受信した転送データに対して新たなプロトコル・ヘッダを追加してネットワーク内に転送するカプセル化手段と、
    このカプセル化手段により追加されたプロトコル・ヘッダを除去するデカプセル化手段と
    を備えた、端末が直接トンネルを終端するトンネリングを用いたネットワーク構成におけるネットワーク・トンネリング装置において、
    デカプセル化対象となるIPデータのカプセル化プロトコル・ヘッダの識別子の情報と、デカプセル化後に抽出されるプロトコル・ヘッダの送信元アドレス、宛先アドレス、識別子の情報の組とを記憶するデカプセル化データ・ベースが設けられ、
    前記デカプセル化手段は、IPフラグメントの先頭データに対する処理の際に、カプセル化プロトコル・ヘッダの識別子と、デカプセル化処理後抽出されるデータの送信元アドレス、宛先アドレス、識別子の情報とを前記デカプセル化データ・ベースに登録し、受信したIPフラグメントの先頭以外のデータに対する処理の際に、受信したデータのカプセル化プロトコル・ヘッダを、当該カプセル化プロトコル・ヘッダの識別子に対応する前記デカプセル化データ・ベースの既存のエントリに基づく情報で生成した前記送信元アドレス、前記宛先アドレス、前記識別子を含む新たなプロトコル・ヘッダにより置き換えを行う手段を備えた
    ことを特徴とする、端末が直接トンネルを終端するトンネリングを用いたネットワーク構成におけるネットワーク・トンネリング装置。
  3. 前記カプセル化またはデカプセル化データ・ベースに、カプセル化プロトコル・ヘッダの追加または除去によるデータ量の増減値を記憶し、この増減値に基づきフラグメント・オフセットの値の計算を行う手段を備えた請求項1 または2 記載のネットワーク・トンネリング装置。
  4. IPネットワークを介してIPデータを転送するデータ通信システムで使用され、
    受信した転送データに対して新たなプロトコル・ヘッダを追加することによりカプセル化してネットワーク内に転送し、カプセル化された転送データを受信したときには、前記追加されたプロトコル・ヘッダを除去することによりデカプセル化してカプセル化以前の転送データを取り出す、端末が直接トンネルを終端するトンネリングを用いたネットワーク構成におけるネットワーク・トンネリング装置が実行するネットワーク・トンネリング方法において、
    カプセル化以前におけるカプセル化対象データのIPフラグメントの状態をカプセル化データ・ベースにより記憶するステップと、
    この記憶内容に基づいてカプセル化以前におけるカプセル化対象データのIPフラグメントの状態をカプセル化後のカプセル化プロトコル・ヘッダの情報に反映させるステップと
    を実行することを特徴とするネットワーク・トンネリング方法。
  5. IPネットワークを介してIPデータを転送するデータ通信システムで使用され、
    受信した転送データに対して新たなプロトコル・ヘッダを追加することによりカプセル化してネットワーク内に転送し、カプセル化された転送データを受信したときには、前記追加されたプロトコル・ヘッダを除去することによりデカプセル化してカプセル化以前の転送データを取り出す、端末が直接トンネルを終端するトンネリングを用いたネットワーク構成におけるネットワーク・トンネリング装置が実行するネットワーク・トンネリング方法において、
    請求項4 記載のネットワーク・トンネリング方法におけるカプセル化データのデカプセル化におけるIPフラグメントの先頭データに対するデカプセル化処理の際に、当該先頭データからデカプセル化処理後抽出されるデータのプロトコル・ヘッダの情報を取り込んでデカプセル化データ・ベースにより記憶するステップと、
    デカプセル化におけるIPフラグメントの先頭以外のデータに対するデカプセル化処理の際に、前記記憶内容に基づいてデカプセル化処理後の新たなプロトコル・ヘッダの情報を生成して当該データのカプセル化プロトコル・ヘッダと置き換えるステップと
    を実行することを特徴とするネットワーク・トンネリング方法。
JP2005350591A 2005-12-05 2005-12-05 ネットワーク・トンネリング装置 Active JP4340651B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005350591A JP4340651B2 (ja) 2005-12-05 2005-12-05 ネットワーク・トンネリング装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005350591A JP4340651B2 (ja) 2005-12-05 2005-12-05 ネットワーク・トンネリング装置

Publications (2)

Publication Number Publication Date
JP2007158672A JP2007158672A (ja) 2007-06-21
JP4340651B2 true JP4340651B2 (ja) 2009-10-07

Family

ID=38242460

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005350591A Active JP4340651B2 (ja) 2005-12-05 2005-12-05 ネットワーク・トンネリング装置

Country Status (1)

Country Link
JP (1) JP4340651B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5126116B2 (ja) * 2009-02-26 2013-01-23 Kddi株式会社 マークに応じたパケット転送装置およびパケット転送方法
JP2016019066A (ja) * 2014-07-07 2016-02-01 富士通株式会社 パケット中継システム、パケット中継装置、およびパケット中継方法

Also Published As

Publication number Publication date
JP2007158672A (ja) 2007-06-21

Similar Documents

Publication Publication Date Title
US11374848B2 (en) Explicit routing with network function encoding
JP4038223B2 (ja) パケット転送方法及び装置
US9294302B2 (en) Non-fragmented IP packet tunneling in a network
US9894003B2 (en) Method, apparatus and system for processing data packet
US10412008B2 (en) Packet processing method, apparatus, and system
US7606148B2 (en) Packet forwarding apparatus
CN105591982B (zh) 一种报文传输的方法和装置
EP2276204B1 (en) Communication device having VPN accomodation function
US20130058345A1 (en) Apparatus and Method for Establishing Tunnels Between Nodes in a Communication Network
JP5708246B2 (ja) 通信システム、ネットワーク装置、ゲートウエイ装置、コンピュータプログラム、データ送信方法及びデータ転送方法
US8140709B2 (en) Two stage internet protocol header compression
EP3742685B1 (en) Packet processing method and device
EP3965382A1 (en) Method and device for implementing service function processing
EP2533478A1 (en) Method, terminal and gateway for transmitting internet protocol version 6 packets in internet protocol version 4 network
EP4030698A1 (en) Packet processing method, device, system and apparatus as well as storage medium
EP3425860B1 (en) Tunnel type selection methods and apparatuses
CN113055294A (zh) 报文封装、解封装方法、装置、存储介质及电子装置
CN108075991B (zh) 报文转发方法及装置
JP4340651B2 (ja) ネットワーク・トンネリング装置
JP6601256B2 (ja) イーサネットスイッチ装置
US9998376B2 (en) Control device, communication system, control method, and non-transitory recording medium
JP4063814B2 (ja) Atm通信装置およびその通信方法
EP4027592A1 (en) Packet processing method and apparatus
CN105450527B (zh) 处理报文、发送信息、接收信息的方法及装置
JP6256110B2 (ja) パケット処理システム及びパケット処理方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081209

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090310

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090416

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090527

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090616

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090706

R150 Certificate of patent or registration of utility model

Ref document number: 4340651

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120710

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130710

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250