(57)【要約】      （修正有）【課題】２ノード間で転送されるパケットのヘッダの情報を減らす。【解決手段】パケット中継装置30（ルータ装置）は、送信元20（情報処理端末）から受信した第１のパケットのフロー情報が記憶されていないとき、第１のヘッダ情報の所定部分とフロー識別子を対応づけて記憶し、登録要求情報とフロー識別子を含むカプセル化ヘッダ情報でカプセル化された第２のパケットを別の中継装置32へ転送する第１の転送と、送信元から受信した第２のパケット104のフロー情報がフロー識別子を含むフロー情報として記憶されているとき、第２のパケット104から第２のヘッダ情報1042の所定部分を削除した第３のヘッダ情報1062を含む第３のパケット106を生成し、削除を示す改変情報とフロー識別子を含むカプセル化ヘッダ情報126でカプセル化された第３のパケット136を別の中継装置へ転送する第２の転送とを行う。【選択図】図４Ｂ
2016019066.tif 000002
【特許請求の範囲】
【請求項１】
第１のパケット転送装置および第２のパケット転送装置を含むパケット中継システムであって、
前記第１のパケット転送装置は、
送信元から受信した第１のパケットのフロー情報が記憶されていないとき、前記第１のパケットの第１のヘッダ情報の所定部分とフロー識別子とを対応づけて記憶し、前記所定部分の登録要求を示す登録要求情報と前記フロー識別子とを含むカプセル化ヘッダ情報でカプセル化された前記第１のパケットを前記第２のパケット転送装置へ転送し、
前記送信元から受信した第２のパケットのフロー情報が前記フロー識別子を含むフロー情報として記憶されているとき、前記第２のパケットから、前記第２のパケットの第２のヘッダ情報の前記所定部分を削除した第３のヘッダ情報を含む第３のパケットを生成し、前記所定部分の削除を示す改変情報と前記フロー識別子とを含むカプセル化ヘッダ情報でカプセル化された前記第３のパケットを前記第２のパケット転送装置へ転送し、
前記第２のパケット転送装置は、
前記第１のパケット転送装置から、カプセル化された前記第１のパケットを受信したとき、デカプセル化された前記第１のパケットの前記第１のヘッダ情報の前記所定部分と前記フロー識別子とを対応付けて記憶し、デカプセル化された前記第１のパケットを所定の方路に転送し、
前記第１のパケット転送装置から、カプセル化された前記第３のパケットを受信したとき、前記第３のパケットから、記憶された前記所定部分に基づいて復元された前記第２のパケットを、前記所定の方路に転送するものである
ことを特徴とするパケット中継システム。
【請求項２】
送信元から受信した第１のパケットのフロー情報が記憶されていないとき、前記第１のパケットの第１のヘッダ情報の所定部分とフロー識別子とを対応づけて記憶し、前記所定部分の登録要求を示す登録要求情報と前記フロー識別子とを含むカプセル化ヘッダ情報でカプセル化された前記第１のパケットを別のパケット中継装置へ転送する第１の転送部と、
前記送信元から受信した第２のパケットのフロー情報が前記フロー識別子を含むフロー情報として記憶されているとき、前記第２のパケットから、前記第２のパケットの第２のヘッダ情報の前記所定部分を削除した第３のヘッダ情報を含む第３のパケットを生成し、前記所定部分の削除を示す改変情報と前記フロー識別子とを含むカプセル化ヘッダ情報でカプセル化された前記第３のパケットを前記別のパケット中継装置へ転送する第２の転送部と、
を含むことを特徴とするパケット中継装置。
【請求項３】
さらに、前記別のパケット中継装置から前記フロー識別子および前記所定部分の要求を示す情報を含むパケットを受信したとき、前記フロー識別子および記憶されている前記所定部分を含むパケットを生成して前記別のパケット中継装置へ送信する処理部を含むことを特徴とする、請求項２に記載のパケット中継装置。
【請求項４】
さらに、記憶された前記フロー識別子を含むフロー情報のパケットが閾値より長い時間受信されないとき、記憶された前記フロー識別子を削除し、前記フロー識別子に関する削除要求情報を含むパケットを生成して前記別のパケット中継装置へ送信する処理部を含むことを特徴とする、請求項２または３に記載のパケット中継装置。
【請求項５】
別のパケット中継装置から受信したカプセル化された第１のパケットのカプセル化ヘッダ情報に登録要求情報およびフロー識別子が含まれているとき、デカプセル化された前記第１のパケットのヘッダ情報の所定部分と前記フロー識別子とを対応付けて記憶し、デカプセル化された前記第１のパケットを所定の方路に転送する第１の転送部と、
前記別のパケット中継装置から受信したカプセル化された第２のパケットのカプセル化ヘッダ情報にパケット改変情報および前記フロー識別子が含まれているとき、デカプセル化された前記第２のパケットのヘッダ情報に、記憶された前記所定部分を挿入して得たヘッダ情報を含む、デカプセル化された前記第２のパケットを、前記所定の方路に転送する第２の転送部と、
を含むことを特徴とするパケット中継装置。
【請求項６】
前記別のパケット中継装置から受信したカプセル化された第３のパケットのカプセル化ヘッダ情報にパケット改変情報および或るフロー識別子が含まれているが、前記第３のパケットのフロー情報が記憶されていないとき、前記或るフロー識別子に対応する所定部分の要求を示す情報を含むパケットを生成して前記別のパケット中継装置に送信する処理部を含むことを特徴とする、請求項５に記載のパケット中継装置。
【請求項７】
パケット中継装置が、
送信元から受信した第１のパケットのフロー情報が記憶されていないとき、前記第１のパケットの第１のヘッダ情報の所定部分とフロー識別子とを対応づけて記憶し、前記所定部分の登録要求を示す登録要求情報と前記フロー識別子とを含むカプセル化ヘッダ情報でカプセル化された前記第１のパケットを別のパケット中継装置へ転送し、
前記送信元から受信した第２のパケットのフロー情報が前記フロー識別子を含むフロー情報として記憶されているとき、前記第２のパケットから、前記第２のパケットの第２のヘッダ情報の前記所定部分を削除した第３のヘッダ情報を含む第３のパケットを生成し、前記所定部分の削除を示す改変情報と前記フロー識別子とを含むカプセル化ヘッダ情報でカプセル化された前記第３のパケットを前記別のパケット中継装置へ転送する
処理を実行することを特徴とするパケット中継方法。
【請求項８】
パケット中継装置が、
別のパケット中継装置から受信したカプセル化された第１のパケットのカプセル化ヘッダ情報に登録要求情報およびフロー識別子が含まれているとき、デカプセル化された前記第１のパケットのヘッダ情報の所定部分と前記フロー識別子とを対応付けて記憶し、デカプセル化された前記第１のパケットを所定の方路に転送し、
前記別のパケット中継装置から受信したカプセル化された第２のパケットのカプセル化ヘッダ情報にパケット改変情報および前記フロー識別子が含まれているとき、デカプセル化された前記第２のパケットのヘッダ情報に、記憶された前記所定部分を挿入して得たヘッダ情報を含む、デカプセル化された前記第２のパケットを、前記所定の方路に転送する
処理を実行することを特徴とするパケット中継方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケットの転送に関する。
【背景技術】
【０００２】
例えばＩＥＴＦ（Internet Engineering Task Force）の規格ＲＦＣ（Request for Comments）１７０１およびＲＦＣ２７８４で規定されているトンネリング・プロトコルは、ＩＰ（Internet Protocol）パケットをカプセル化して伝送するために使用される。例えばＷＡＮ（Wide Area Network）上の始端ノードと終端ノードの間の通信において、例えばＧＲＥ（Generic Routing Encapsulation）プロトコルは、ＯＳＩ（Open Systems Interconnection）参照モデルのレイヤ３のプロトコルをトンネリングすることができる。それによって、始端ノードと終端ノードの間が仮想的に内部ネットワークで直接接続されているものとしてパケット通信を行うことが可能である。
【０００３】
既知のパケット通信システムにおいて、送信用セキュリティポリシ・データベースでは、送信用セキュリティポリシとして、送信パケットをカプセル化する際に付加されるヘッダ情報を省略することが、設定される。また、ヘッダ情報省略部が、カプセル化された送信パケットのヘッダ情報を省略する。また、パケット送信処理部が、ヘッダ情報が省略されたパケットに対して、セキュリティヘッダおよびトンネル通信時のヘッダを付加して送信する。また、受信用セキュリティポリシ・データベースでは、受信用セキュリティポリシとして、ヘッダ情報が省略されていることが、設定される。ヘッダ情報復元部が、受信パケットのセキュリティポリシを、受信用セキュリティポリシ・データベースから検索し、ヘッダ情報が省略されている対象パケットであると認識した場合に、ヘッダ情報を復元する。それによって、ネットワーク資源の有効活用およびネットワーク運用性の向上が図られる。
【０００４】
既知のネットワーク・トンネリング装置では、同一の送信元アドレス、宛先アドレス、識別子を有するパケットに対して、一意的に定まるカプセル化プロトコル・ヘッダの識別子を対応させたデータベースが設けられる。また、そのネットワーク・トンネリング装置では、一連のフラグメント・パケットに対するカプセル化に際して、同一識別子が付与される。これにより、カプセル化以前のフラグメントの状態がカプセル化後でも保持されるので、受信端末におけるフラグメント・アセンブルが容易になる。それによって、端末が直接トンネルを終端する際に、端末のアプリケーションに対する機能実装が軽減され、トンネリングが容易に実現可能である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−２０８８５５号公報
【特許文献２】特開２００７−１５８６７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
例えば、ネットワーク上の２つのノードの間でトンネリング・プロトコルを使用してパケットが転送される場合、カプセル化オーバヘッドがパケットの先頭に付加されるので、カプセル化されたパケットのサイズが大きくなる。従って、カプセル化されたパケットは、フラグメンテーション（分割または断片化）を受ける可能性が高くなる。従って、ネットワーク上のノード間で、パケットのフラグメンテーションおよびデフラグメンテーション（分割の解除）の処理遅延、並びに分割パケットの転送遅延が生じる可能性が高くなる。
【０００７】
発明者たちは、始端ノードが、受信したパケットのヘッダの所定部分を削除し、そのパケットをトンネリング用のプロトコルでカプセル化して、終端ノードへ転送すれば、ネットワーク上でフラグメンテーションを受ける可能性が低くなる、と認識した。
【０００８】
１つの観点では、本発明の目的は、２つのノードの間で転送されるパケットのヘッダの情報量を減らして２つのノード間のトラフィックを減らすことである。
【課題を解決するための手段】
【０００９】
本発明の一観点によれば、送信元から受信した第１のパケットのフロー情報が記憶されていないとき、第１のパケットの第１のヘッダ情報の所定部分とフロー識別子とを対応づけて記憶し、所定部分の登録要求を示す登録要求情報とフロー識別子とを含むカプセル化ヘッダ情報でカプセル化された第１のパケットを別のパケット中継装置へ転送する第１の転送部と、送信元から受信した第２のパケットのフロー情報がフロー識別子を含むフロー情報として記憶されているとき、第２のパケットから、第２のパケットの第２のヘッダ情報の所定部分を削除した第３のヘッダ情報を含む第３のパケットを生成し、所定部分の削除を示す改変情報とフロー識別子とを含むカプセル化ヘッダ情報でカプセル化された第３のパケットを別のパケット中継装置へ転送する第２の転送部と、を含むことを特徴とするパケット中継装置が提供される。
【発明の効果】
【００１０】
本発明の一観点によれば、２つのノードの間で転送されるパケットのヘッダの情報量を減らして２つのノード間のトラフィックを減らすことができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施形態が適用できる、ネットワーク上のルータ装置を含むパケット中継システムの例を示している。
【図２】図２は、ルータ装置の概略的な構成（configuration）の例を示している。
【図３】図３は、ルータ装置のプロセッサの概略的な構成（configuration）の例を示している。
【図４Ａ】図４Ａは、ルータ装置から別のルータ装置への１つのフローの最初のパケットを、トンネリング用のＧＲＥプロトコルによってカプセル化して転送する場合の例を示している。
【図４Ｂ】図４Ｂは、図４Ａのパケット転送の後における、ルータ装置から別のルータ装置への同じフローの後続のパケットを、トンネリング用のＧＲＥプロトコルによってカプセル化して転送する場合の例を示している。
【図５】図５Ａは、情報処理端末から受信されるパケットにおけるレイヤ３のＩＰｖ４ヘッダの構造の例を示している。図５Ｂは、そのパケットにおけるレイヤ４のＴＣＰヘッダの構造の例を示している。図５Ｃは、そのパケットにおけるレイヤ４のＵＤＰヘッダの構造の例を示している。
【図６】図６Ａは、定型的なフィールドの削除前または挿入後の、パケットのレイヤ３のＩＰｖ４ヘッダと、レイヤ４のＴＣＰヘッダとの組合せの構造の例を示している。図６Ｂは、定型的なフィールドを削除した後の、パケットのレイヤ３のＩＰｖ４ヘッダと、レイヤ４のＴＣＰヘッダとを組合せた構造の例を示している。
【図７】図７Ａは、定型的なフィールドの削除前または挿入後の、パケットのレイヤ３のＩＰｖ４ヘッダとレイヤ４のＵＤＰヘッダの組合せの構造の例を示している。図７Ｂは、定型的なフィールドを削除した後の、パケットのレイヤ３のＩＰｖ４ヘッダとレイヤ４のＵＤＰヘッダの組合せの構造の例を示している。
【図８】図８Ａは、ＧＲＥプロトコルに従ってカプセル化のためにパケットの先頭に付加されるＧＲＥオーバヘッドのＧＲＥヘッダの構造の例を示している。図８Ｂは、ＧＲＥヘッダ中のキー・フィールドの構造の例を示している。
【図９Ａ】図９Ａおよび９Ｂは、ルータ装置によって実行される、図４Ａの２つのルータ装置の間での１つのフローの最初のパケットのトンネリング転送のための処理のフローチャートの例を示している。
【図９Ｂ】(図9Aで説明)
【図１０Ａ】図１０Ａおよび１０Ｂは、ルータ装置によって実行される、図４Ｂの２つのルータ装置の間での同じフローの後続のパケットのトンネリング転送のための処理のフローチャートの例を示している。
【図１０Ｂ】(図10Aで説明)
【図１１】図１１は、ルータ装置によって実行される、フロー情報の保守のために送信用フローテーブルと受信用フローテーブルから不使用のフロー情報を削除する処理のフローチャートの例を示している。
【図１２Ａ】図１２Ａおよび１２Ｂは、ルータ装置によって実行される、改変された受信パケットのフロー情報が受信用フローテーブルにない場合にルータ装置から別のルータ装置へフロー情報を要求するための処理のフローチャートの例を示している。
【図１２Ｂ】(図12Aで説明)
【発明を実施するための形態】
【００１２】
発明の目的および利点は、請求の範囲に具体的に記載された構成要素および組み合わせによって実現され達成される。
前述の一般的な説明および以下の詳細な説明は、典型例および説明のためのものであって、本発明を限定するためのものではない、と理解される。
【００１３】
本発明の非限定的な実施形態を、図面を参照して説明する。図面において、同様のコンポーネントおよび要素には同じ参照番号が付されている。
【００１４】
例えば、ネットワーク上の始端ルータと終端ルータの間でトンネリング用のＧＲＥプロトコルでパケットがカプセル化されて転送される場合、カプセル化されたパケットは、カプセル化用のヘッダまたはオーバヘッドが先頭に付加されるので、サイズが大きくなる。従って、カプセル化されたパケットは、ネットワーク上でＩＰ（Internet Protocol）フラグメンテーションを受ける可能性が高くなり、従ってネットワーク上の始端ルータと終端ルータの間でトラフィックの増大およびパケットの転送遅延が生じる可能性が高くなる。
【００１５】
発明者たちは、始端ルータが、受信したパケットのヘッダの定型部分を削除し、そのパケットをトンネリング用のプロトコルでカプセル化して、終端ルータへ転送すれば、ネットワーク上でＩＰフラグメンテーションを受ける可能性が低くなる、と認識した。また、発明者たちは、終端ルータが、始端ルータから転送されたパケットをデカプセル化（カプセル化解除）し、削除された定型部分をそのヘッダに挿入すれば、送信元から受信したパケットを復元することができる、と認識した。
【００１６】
実施形態の目的は、２つのルータの間で転送されるパケットのヘッダの情報量を減らして２つのルータの間で転送されるカプセル化パケットのサイズを小さくし、それによって２つのルータの間のトラフィックを減らし、パケットの転送遅延を減らすことである。この目的は、実施形態によって達成することができる。
【００１７】
図１は、実施形態が適用できる、ネットワーク５上のルータ装置３０および３２を含むパケット中継システムの例を示している。
【００１８】
ネットワーク５は、例えば、インターネット、ＩＳＤＮ、パケット網、専用ネットワーク、等を含んでいてもよい。ルータ装置３０は、パケット転送装置またはパケット中継装置のような、パケットを転送する通信装置であってもよい。ルータ装置３０は、例えば、情報処理端末２０に、または情報処理端末２０および／またはサーバ装置等が接続された内部ネットワークに、隣接のリンクまたは方路５６を介して接続されてもよい。ルータ装置３２は、パケット転送装置またはパケット中継装置のような、パケットを転送する通信装置であってもよい。ルータ装置３２は、例えば、情報処理端末２２に、または情報処理端末２２および／またはサーバ装置等が接続された別の内部ネットワークに、隣接のリンクまたは方路５８を介して接続されてもよい。ルータ装置３０および３２の各々は、情報処理端末２０から情報処理端末２２までの間、および／または情報処理端末２２から情報処理端末２０までの間での、パケット転送の始端ルータおよび／または終端ルータであってもよい。
【００１９】
以下では、パケットが、情報処理端末２０からネットワーク５上でルータ装置３０、他のノードまたはルータ４０、およびルータ装置３２を介して、情報処理端末２２へ転送される例が説明される。この場合、ルータ装置３０は、情報処理端末２０からのパケットをルータ装置３２へ転送する始端ルータとして機能し、ルータ装置３２は、ルータ装置３０からのパケットを情報処理端末２２へ転送する終端ルータとして機能する。パケットは、情報処理端末２０が接続された内部ネットワークから、ネットワーク５上のルータ装置３０および３２を介して、情報処理端末２２が接続された内部ネットワークへ転送されてもよい。但し、パケットが、情報処理端末２２からネットワーク５上でルータ装置３２および３０を介して情報処理端末２０へ、逆方向にも転送されてもよい。その際、パケットは、情報処理端末２２が接続された内部ネットワークから、ネットワーク５上のルータ装置３２および３０を介して、情報処理端末２０が接続された内部ネットワークへ転送されてもよい。
【００２０】
図２は、ルータ装置３０および３２の各々の概略的な構成（configuration）の例を示している。
【００２１】
ルータ装置３０および３２の各々は、例えば、内部バスを介して接続された、プロセッサ３０２、記憶部３０４、通信部３１２、および入出力インタフェース（Ｉ／Ｏ）３１６を含んでいる。
【００２２】
プロセッサ３０２は、コンピュータ用のＣＰＵ（Central Processing Unit）であってもよい。記憶部３０４は、主記憶装置および補助記憶装置を含んでいる。主記憶装置は、半導体メモリ等の記憶装置を含んでいる。補助記憶装置は、例えば、フラッシュ・メモリのような半導体メモリを含んでいてもよい。プロセッサ３０２は、例えば集積回路として実装された専用のプロセッサであってもよい。また、プロセッサ３０２は、記憶部３０４に格納された通信用のアプリケーション・プログラムに従って動作するものであってもよい。
【００２３】
入出力インタフェース３１６は、例えば、それぞれの入出力端子３１８を介して、液晶表示装置のような表示装置、キーボードおよびポインティング・デバイスのような入力装置、等に接続することができる。通信部３１２には、複数の通信ポート３１４が設けられている。通信部３１２は、それぞれの通信ポート３１４を介して、情報処理端末２０または２２、ノード装置、ルータ装置、および／またはその他のネットワーク通信装置に接続することができる。
【００２４】
図３は、ルータ装置３０または３２のプロセッサ３０２の概略的な構成（configuration）の例を示している。
【００２５】
プロセッサ３０２は、例えば、制御部３０２０、カプセル化パケット転送部３０３０、デカプセル化パケット転送部３０４０、およびその他の処理部３０５０を含んでいる。カプセル化パケット転送部３０３０は、パケット判定部３０３１、フロー登録転送部３０３２、パケット改変転送部３０３４、フロー情報保守部３０３６、およびフロー情報整合部３０３８を含んでいてもよい。デカプセル化パケット転送部３０４０は、パケット判定部３０４１、フロー登録転送部３０４２、パケット復元転送部３０４４、フロー情報保守部３０４６、およびフロー情報整合部３０４８を含んでいてもよい。制御部３０２０は、カプセル化パケット転送部３０３０、デカプセル化パケット転送部３０４０、および処理部３０５０に制御信号を供給して、これらの要素の動作を制御してもよい。
【００２６】
ルータ装置３０の記憶部３０４は、送信用フローテーブル３４２および受信用フローテーブル３４４を格納している。ルータ装置３２の記憶部３０４は、送信用フローテーブル３５２および受信用フローテーブル３５４を格納している。
【００２７】
次は、プロセッサ３０２のカプセル化パケット転送部３０３０およびデカプセル化パケット転送部３０４０の各部の概略的な動作を説明する。
【００２８】
始端側のルータ装置３０において、カプセル化パケット転送部３０３０は、送信元から隣接のリンク５６を介してカプセル化前のパケットを受信する。カプセル化パケット転送部３０３０のパケット判定部３０３１は、受信したカプセル化前のパケットのフロー情報が、送信用フローテーブル３４２に登録または保存されているかどうかを、パケットのヘッダに基づいて判定する。
【００２９】
ルータ装置３０において、受信したパケットのフロー情報が送信用フローテーブル３４２に登録または保存されていない場合、フロー登録転送部３０３２は、登録されていないフローに対して、例えばフロー識別番号のようなフロー識別子を割り当てる。同じフローの各パケットは、同じ送信元と同じ宛先の組合せを含み、例えば、同じ送信元アドレスおよびポート番号および宛先アドレスおよびポート番号を含んでいる。次いで、フロー登録転送部３０３２は、パケットのヘッダの定型部分とフロー識別子とを対応づけてフロー情報として送信用フローテーブル３４２に保存して登録する。次いで、フロー登録転送部３０３２は、トンネリング・プロトコルにより、定型部分の登録要求およびフロー識別子を含むカプセル化ヘッダでパケットをカプセル化して、次の隣接のリンク５２を介して終端側のルータ装置３２へ転送する。登録要求は、命令種別の一種であり、パケットのヘッダの定型部分をフロー情報として受信用フローテーブル３５４に保存して登録することを要求するものである。
【００３０】
一方、受信したパケットのフロー情報が送信用フローテーブル３４２に登録または保存されている場合、パケット改変転送部３０３４は、受信したパケットから、ヘッダの定型部分を削除したヘッダを含む改変されたパケットを生成する。次いで、パケット改変転送部３０３４は、トンネリング・プロトコルにより、定型部分の改変情報または挿入要求およびフロー識別子を含むカプセル化ヘッダでパケットをカプセル化して、隣接のリンク５２を介して終端側のルータ装置３２へ転送する。改変情報または挿入要求は、命令種別の一種であり、定型部分の削除によってヘッダが改変されたことを表す情報であっても、または、ヘッダの変換または定型部分の挿入またはヘッダの復元を要求するものであってもよい。
【００３１】
次いで、終端側のルータ装置３２において、デカプセル化パケット転送部３０４０は、ルータ装置３０から隣接のリンク（５２）を介してカプセル化されたパケットを受信する。デカプセル化パケット転送部３０４０のパケット判定部３０４１は、カプセル化されたパケットのカプセル化ヘッダ中の命令種別を判定する。カプセル化ヘッダ中の命令種別は、例えば、定型部分の登録要求、または定型部分の挿入の要求を表す改変情報もしくは挿入要求であってもよい。
【００３２】
パケットのカプセル化ヘッダに登録要求が含まれている場合、フロー登録転送部３０４２は、受信したパケットをデカプセル化する。また、フロー登録転送部３０４２は、パケットのヘッダの定型部分とフロー識別子とを対応付けてフロー情報として受信用フローテーブル３５４に保存して登録する。次いで、フロー登録転送部３０４２は、デカプセル化したパケットを、隣接のリンク５８を介して宛先へ転送する。
【００３３】
一方、カプセル化されたパケットのカプセル化ヘッダに改変情報が含まれている場合、パケット復元転送部３０４４は、受信したパケットをデカプセル化する。また、パケット復元転送部３０４４は、パケットのヘッダを、受信用フローテーブル３５４中の同じフロー識別子の定型部分を所定の位置に挿入することによって復元する。次いで、パケット復元転送部３０４４は、復元されたヘッダ含むデカプセル化されたパケットを、隣接のリンク５８を介して宛先へ転送する。
【００３４】
ルータ装置３０のフロー情報保守部３０３６とルータ装置３２のフロー情報保守部３０４６は、ルータ装置３０と３２の間で、フロー情報が整合するように送信用フローテーブル３４２と受信用フローテーブル３５４を保守する。
【００３５】
終端側のルータ装置３２において、改変情報を含む受信パケットのフロー情報が受信用フローテーブル３５４に登録または保存されていない場合、フロー情報整合部３０４８は、始端側のルータ装置３０にフロー情報を問合せまたは要求する。その問合せまたは要求を受けた始端側のルータ装置３０において、フロー情報整合部３０３８は、問合せまたは要求されたフロー情報について、送信用フローテーブル３４２に保存されているフロー情報をルータ装置３２に応答送信する。終端側のルータ装置３２において、フロー情報整合部３０４８は、フロー情報を受信して受信用フローテーブル３５４に保存して登録する。
【００３６】
一方、ルータ装置３２が始端側で、ルータ装置３０が終端側である場合、ルータ装置３２のカプセル化パケット転送部３０３０と、ルータ装置３０のデカプセル化パケット転送部３０４０とは、それぞれ上述のルータ装置３０および３２の場合と同様に動作する。
【００３７】
次は、ルータ装置３０からルータ装置３２への１つのフローの最初のパケットとその後続のパケットの転送について説明する。
【００３８】
図４Ａは、ルータ装置３０から別のルータ装置３２への１つのフローの最初のパケット１０２を、トンネリング用のＧＲＥプロトコルによってカプセル化して転送する場合の例を示している。
【００３９】
図４Ａにおいて、ルータ装置３０は、情報処理端末２０の或るアプリケーションから、情報処理端末２２の同じ種類のまたは対応するアプリケーション宛ての１つのフローの最初のパケット１０２を受信する。次いで、ルータ装置３０は、パケット１０２の受信に応答して、ＧＲＥオーバヘッド１２２を生成して、パケット１０２の先頭にＧＲＥオーバヘッド１２２を付加して、パケット１０２をカプセル化したパケット１３２を生成する。即ち、パケット１３２は、ＧＲＥオーバヘッド１２２でカプセル化されたパケット１０２である。ここで、ＧＲＥオーバヘッド１２２は、ＧＲＥヘッダおよびＧＲＥ用のレイヤ３ヘッダを含んでいる。ＧＲＥオーバヘッド１２２は、ＧＲＥトンネリング用のカプセル化ヘッダである。
【００４０】
次いで、ルータ装置３０は、パケット１０２のレイヤ３およびレイヤ４のヘッダ１０２２中の所定の定型的なフィールドの位置を判定する。次いで、ルータ装置３０は、レイヤ３およびレイヤ４のヘッダ１０２２中の所定の定型的なフィールドを読み出して、送信用フローテーブル３４２に各フロー別に保存する。送信用フローテーブル３４２に保存された定型的なフィールドは、同じフローの後続のパケットに対して使用される。次いで、ルータ装置３０は、カプセル化されたパケット１３２をルータ装置３２へ転送する。カプセル化されたパケット１３２は、通信部３１２を介して、ルータ装置３０と３２の間の経路上のノードまたはルータ４０を通る仮想的なトンネル５４を通して転送される。
【００４１】
ＧＲＥオーバヘッド１２２を含むカプセル化されたパケット１３２は、カプセル化前のパケット１０２よりも、ＧＲＥオーバヘッド１２２の分だけサイズが大きい。従って、カプセル化されたパケット１３２は、ルータ装置３０と３２の間でＩＰフラグメンテーションを受ける可能性が高くなる。
【００４２】
一方、ルータ装置３２は、ルータ装置３０から、１つのフローの最初のカプセル化されたパケット１３２を受信する。ルータ装置３２は、カプセル化されたパケット１３２の受信に応答して、ＧＲＥオーバヘッド１２２を削除して、それによってパケット１３２をデカプセル化して、デカプセル化されたパケット１０２を取り出す。次いで、ルータ装置３２は、デカプセル化されたパケット１０２のレイヤ３およびレイヤ４のヘッダ１０２２中の所定の定型的なフィールドの位置を判定する。次いで、ルータ装置３２は、パケット１０２のレイヤ３およびレイヤ４のヘッダ１０２２中の所定の定型的なフィールドを読み出して、受信用フローテーブル３５４に各フロー別に保存する。受信用フローテーブル３５４に保存された定型的なフィールドは、同じフローの後続のパケットに対して使用される。次いで、ルータ装置３２は、デカプセル化されたパケット１０２を情報処理端末２２のアプリケーションへ転送する。それによって、情報処理端末２０と情報処理端末２２が、ルータ装置３０と３２の間でトンネル５４を通して仮想的に内部ネットワークで直接接続されているかのようにパケット通信を行うことが可能である。
【００４３】
図４Ｂは、図４Ａのパケット転送の後における、ルータ装置３０からルータ装置３２への同じフローの後続のパケット１０４を、トンネリング用のＧＲＥプロトコルによってカプセル化して転送する場合の例を示している。
【００４４】
図４Ｂにおいて、その後、ルータ装置３０は、情報処理端末２０の前回と同じアプリケーションから、情報処理端末２２の前回と同じ種類のまたは対応するアプリケーション宛ての後続のパケット１０４を受信する。次いで、ルータ装置３０は、パケット１０４の受信に応答して、ＧＲＥヘッダおよびＧＲＥ用のレイヤ３ヘッダを含むＧＲＥオーバヘッド１２６を生成して、パケット１０４の先頭にＧＲＥオーバヘッド１２６を付加して、パケット１０４をカプセル化する。
【００４５】
次いで、ルータ装置３０は、パケット１０４のレイヤ３およびレイヤ４の各ヘッダ１０４２中の定型的なフィールドの位置を判定する。次いで、ルータ装置３０は、送信用フローテーブル３４２の同じフローのフロー情報を参照して、パケット１０４から、レイヤ３およびレイヤ４のヘッダ１０４２中の定型的なフィールドを削除したヘッダ１０６２を含む改変されたパケット１０６を形成する。それによって、パケット１０６をＧＲＥオーバヘッド１２６でカプセル化されたパケット１３６が形成される。次いで、ルータ装置３０は、カプセル化されたパケット１３６をルータ装置３２へ転送する。カプセル化されたパケット１３６は、通信部３１２を介して、ルータ装置３０と３２の間の経路上のノードまたはルータ４０を通る仮想的なトンネル５４を通して転送される。
【００４６】
パケット１０６のサイズは、パケット１０４のサイズよりも、削除された定型部分の情報量分だけ小さい。従って、ＧＲＥオーバヘッド１２６を含むカプセル化されたパケット１３６は、ＧＲＥオーバヘッド１２６でカプセル化されたパケット１０４よりも、削除された定型部分の情報量分だけサイズが小さい。従って、カプセル化されたパケット１３６は、ルータ装置３０と３２の間でＩＰフラグメンテーションを受ける可能性が低くなる。
【００４７】
一方、ルータ装置３２は、ルータ装置３０から、同じフローの後続のカプセル化されたパケット１３６を受信する。ルータ装置３２は、カプセル化されたパケット１３６の受信に応答して、ＧＲＥオーバヘッド１２６を削除して、パケット１３６をデカプセル化してパケット１０６を取り出す。次いで、ルータ装置３２は、パケット１０６のレイヤ３およびレイヤ４のヘッダ１０６２中の定型的なフィールドが削除された位置に、受信用フローテーブル３５４に保存された同じフローの定型的なフィールドを挿入する。それによって、パケット１０６から、定型的なフィールドが挿入されて復元されたヘッダ１０４２を含むパケット１０４が復元される。次いで、ルータ装置３２は、復元されたパケット１０４を情報処理端末２２のアプリケーションへ転送する。それによって、情報処理端末２０と情報処理端末２２が、ルータ装置３０と３２の間でトンネル５４を通して仮想的に内部ネットワークで直接接続されているかのようにパケット通信を行うことが可能である。
【００４８】
次は、図５Ａおよび５Ｂにおける、ルータ装置３０および３２によって送受信される各パケットの構造の例について説明する。
【００４９】
図５Ａは、情報処理端末２０から受信されるパケット１０２または１０４におけるレイヤ３のＩＰｖ４ヘッダの構造の例を示している。図５Ｂは、パケット１０２または１０４におけるレイヤ４のＴＣＰヘッダの構造の例を示している。図５Ｃは、パケット１０２または１０４におけるレイヤ４のＵＤＰヘッダの構造の例を示している。
【００５０】
図５Ａにおいて、ＩＰｖ４（Internet Protocol version 4）ヘッダは、レイヤ３の固定長２０バイトの固定フィールドおよび可変長のオプション・フィールドを含んでいる。また、ＩＰｖ４ヘッダは、定型的なフィールドとして、陰影を付けた背景上に示された、バージョン、ヘッダ長、ＴＯＳ（Type Of Service）（サービス種別）、ＴＴＬ(Time To Live)（生存時間）、プロトコル番号、送信元ＩＰｖ４アドレス、及び宛先ＩＰｖ４アドレスの各フィールドを含んでいる。一方、ＩＰｖ４ヘッダは、非定型的または可変なフィールドとして、白い背景上に示された、パケット長、識別番号、フラグ、フラグメントオフセット、ヘッダチェックサム、および可変長のオプション＋パッディングの各フィールドを含んでいる。
【００５１】
図５Ｂにおいて、ＴＣＰ（Transmission Control Protocol）ヘッダは、レイヤ４の固定長２０バイトの固定フィールドおよび可変長のオプション・フィールドを含んでいる。また、ＴＣＰヘッダは、定型的なフィールドとして、陰影を付けた背景上に示された、送信元ポート番号、および宛先ポート番号の各フィールドを含んでいる。一方、ＴＣＰヘッダは、非定型的または可変なフィールドとして、白い背景上に示された、シーケンス番号、確認応答番号、データオフセット、留保、コード・ビット、ウィンドウサイズ、チェックサム、および緊急ポインタの各フィールドを含んでいる。ＴＣＰヘッダは、さらに、可変長のオプション＋パッディングのフィールドを含んでいる。
【００５２】
図５Ｃにおいて、ＵＤＰ（User Datagram Protocol）ヘッダは、レイヤ４の固定長８バイトの固定フィールドを含んでいる。ＵＤＰヘッダは、定型的なフィールドとして、陰影を付けた背景上に示された、送信元ポート番号、および宛先ポート番号の各フィールドを含んでいる。一方、ＵＤＰヘッダは、白い背景上に示された、非定型的または可変なフィールドとして、ＵＤＰ長、およびチェックサムの各フィールドを含んでいる。
【００５３】
図６Ａは、定型的なフィールドの削除前または挿入後の、パケット１０４のレイヤ３のＩＰｖ４ヘッダと、レイヤ４のＴＣＰヘッダとの組合せの構造の例を示している。図６Ｂは、定型的なフィールドを削除した後の、パケット１０６のレイヤ３のＩＰｖ４ヘッダと、レイヤ４のＴＣＰヘッダとの組合せの構造の例を示している。
【００５４】
図６Ａにおいて、パケット１０４のレイヤ３のＩＰｖ４ヘッダは、図５Ａの固定長２０バイトの固定フィールドおよび可変長のオプション・フィールドを含んでいる。また、パケット１０４のレイヤ４のＴＣＰヘッダは、図５Ｂの固定長２０バイトの固定フィールドおよび可変長のオプション・フィールドを含んでいる。
【００５５】
図６Ｂにおいて、パケット１０６のレイヤ３のＩＰｖ４ヘッダは、ルータ装置３０によって図６Ａの定型的なフィールドが削除された後の残りの図６Ａの非定型的なフィールドを含んでいる。また、パケット１０６のレイヤ４のＴＣＰヘッダは、ルータ装置３０によって図６Ａの定型的なフィールドが削除された後の残りの図６Ａの固定長の固定フィールドおよび可変長のオプション・フィールドを含んでいる。従って、図６Ｂのパケット１０６のレイヤ３のＩＰｖ４ヘッダおよびレイヤ４のＴＣＰヘッダは、定型部分が削除されて、圧縮されている。
【００５６】
図６Ｂのパケット１０６のレイヤ３のＩＰｖ４ヘッダおよびレイヤ４のＴＣＰヘッダに、ルータ装置３２で図６Ａの定型的なフィールドが挿入されることによって、図６Ａのパケット１０４のレイヤ３のＩＰｖ４ヘッダおよびレイヤ４のＴＣＰヘッダが復元される。従って、図６Ｂから上向きの矢印の方向に復元された図６Ａのパケット１０４のレイヤ３のＩＰｖ４ヘッダおよびレイヤ４のＴＣＰヘッダは、圧縮された図６Ｂのパケット１０６に対して、定型部分が挿入されて、伸張されている。
【００５７】
図７Ａは、定型的なフィールドの削除前または挿入後の、パケット１０４のレイヤ３のＩＰｖ４ヘッダとレイヤ４のＵＤＰヘッダの組合せの構造の例を示している。図７Ｂは、定型的なフィールドを削除した後の、パケット１０６のレイヤ３のＩＰｖ４ヘッダとレイヤ４のＵＤＰヘッダの組合せの構造の例を示している。
【００５８】
図７Ａにおいて、パケット１０４のレイヤ３のＩＰｖ４ヘッダは、図５Ａの固定長２０バイトの固定フィールドおよび可変長のオプション・フィールドを含んでいる。また、パケット１０４のレイヤ４のＵＤＰヘッダは、図５Ｃの固定長８バイトの固定フィールドを含んでいる。
【００５９】
図７Ｂにおいて、パケット１０６のレイヤ３のＩＰｖ４ヘッダは、ルータ装置３０によって図７Ａの定型的なフィールドが削除された後の残りの図７Ａの非定型的なフィールドを含んでいる。また、パケット１０６のレイヤ４のＵＤＰヘッダは、ルータ装置３０によって図７Ａの定型的なフィールドが削除された後の残りの図７Ａの固定長の固定フィールドを含んでいる。従って、図７Ｂのパケット１０６のレイヤ３のＩＰｖ４ヘッダおよびレイヤ４のＵＤＰヘッダは、図６Ｂのパケット１０４の定型部分が削除されて、圧縮されている。
【００６０】
図７Ｂのパケット１０６のレイヤ３のＩＰｖ４ヘッダおよびレイヤ４のＵＤＰヘッダに、ルータ装置３２によって、図７Ａの定型的なフィールドが挿入されることによって、図７Ａのパケット１０４のレイヤ３のＩＰｖ４ヘッダおよびレイヤ４のＵＤＰヘッダが復元される。従って、図７Ｂから上向きの矢印の方向に復元された図７Ａのパケット１０４のレイヤ３のＩＰｖ４ヘッダおよびレイヤ４のＵＤＰヘッダは、圧縮された図７Ｂのパケット１０６に対して、定型部分が挿入されて、伸張されている。
【００６１】
図８Ａは、ＧＲＥプロトコルに従ってカプセル化のためにパケットの先頭に付加されるＧＲＥオーバヘッド１２２のＧＲＥヘッダの構造の例を示している。図８Ｂは、ＧＲＥヘッダ中のキー（Ｋｅｙ）フィールドの構造の例を示している。
【００６２】
図８ＡのＧＲＥヘッダにおいて、例えば、Ｃ（１ビット）はチェックサムの有無、スペースまたはＲ（１ビット）はルーティングの有無、Ｋ（１ビット）はキーの有無、Ｓ（１ビット）はシーケンス番号の有無を表す。ＧＲＥヘッダは、さらに、留保（Ｒｅｓｅｒｖｅｄ０）、バージョン（Ｖｅｒ）、プロトコルタイプ（Ｐｔｏｔｏｃｏｌ  Ｔｙｐｅ）、チェックサム（Ｃｈｅｃｋｓｕｍ）（オプション）、および留保（Ｒｅｓｅｒｖｅｄ１）の各フィールドを含んでいる。ＧＲＥヘッダは、さらに、キー（Ｋｅｙ）（オプション）、およびシーケンス番号（Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ）（オプション）の各フィールドを含んでいる。
【００６３】
図８Ｂにおいて、キー・フィールドは、命令種別、およびフロー識別番号の各サブフィールドを含んでいる。
【００６４】
図８Ｂにおいて、命令種別の値１は、フロー情報をフローテーブルに保存して登録するよう命令するフロー登録を表す。命令種別の値２は、フロー情報をフローテーブルから削除するよう命令するフロー情報削除またはフロー登録削除を表す。命令種別の値３は、フロー情報またはフロー内容の取得を要求するフロー情報または内容の問合せを表す。命令種別の値４は、フロー情報または内容の問合せに対するフロー情報または内容の回答を表す。命令種別の値２５５は、フロー識別子のフロー情報の保存されている定型的なフィールドをパケットのヘッダに設定し、即ち削除されている定型的なフィールドをヘッダ中の元の位置に挿入してパケットを復元するよう命令するパケット改変またはパケット変換を表す。
【００６５】
次は、図５Ａおよび５Ｂにおけるルータ装置３０および３２によって実行される、より具体的な処理手順の例を説明する。
【００６６】
図９Ａおよび９Ｂは、ルータ装置３０および３２によって実行される、図４Ａの２つのルータ装置３０と３２の間での１つのフローの最初のパケット１０２のトンネリング転送のための処理のフローチャートの例を示している。
【００６７】
ルータ装置３０の通信部３１２は、情報処理端末２０の或るアプリケーションから隣接のリンク５６を介して、情報処理端末２２の同じ種類のまたは対応するアプリケーションを宛先とする１つのフローの最初のパケット１０２を受信する。次いで、図９Ａのフローチャートがルータ装置３０によって実行される。
【００６８】
図９Ａを参照すると、ステップ６０２において、ルータ装置３０のプロセッサ３０２は、受信したパケット１０２の送信元と宛先の組合せに対応するフロー識別番号またはフロー情報が、記憶部３０４の送信用フローテーブル３４２に存在するかどうかを判定する。そのために、プロセッサ３０２は、パケット１０２のヘッダ１０２２中の送信元のＩＰアドレスおよびポート番号と、宛先のＩＰアドレスおよびポート番号との組合せに対するフロー識別番号またはフロー情報を求めて、送信用フローテーブル３４２を検索する。対応するフロー識別番号が送信用フローテーブル３４２中に存在しないと判定された場合、手順はステップ６０４に進む。対応するフロー情報が送信用フローテーブル３４２中に存在すると判定された場合、手順は図１０Ａのステップ６１４に進む。
【００６９】
ステップ６０４において、プロセッサ３０２は、受信したパケット１０２のヘッダ１０２２に基づいてルーティング・テーブルを参照して、パケット１０２を、トンネル５４を通して転送することを決定する。例えば、ルーティング・テーブルにおいてネクストホップがＧＲＥトンネルであることを表している場合に、パケット１０２がＧＲＥトンネルを通して転送されると決定される。次いで、プロセッサ３０２は、ＧＲＥヘッダおよびＧＲＥ用のレイヤ３ヘッダを含むＧＲＥオーバヘッド１２２を生成してパケット１０２の先頭に付加し、それによってパケット１０２をカプセル化する。
【００７０】
ステップ６０６において、プロセッサ３０２は、受信したパケット１０２のヘッダ１０２２中の送信元と宛先の特定の組合せに対して、排他的なフロー識別番号を割当てる。送信元および宛先の各々は、ＩＰアドレスおよびポート番号を含んでいてもよい。次いで、プロセッサ３０２は、送信元および宛先に関する情報と、送信元と宛先の組合せに対して割り当てたフロー識別番号とを、記憶部３０４の送信用フローテーブル３４２に保存して登録する。次いで、プロセッサ３０２は、受信したパケット１０２のレイヤ３およびレイヤ４のヘッダ１０２２中の所定の定型的なフィールドの位置を判定する。次いで、プロセッサ３０２は、パケット１０２のレイヤ３およびレイヤ４のヘッダ１０２２中の定型的なフィールドを読み出してフロー識別番号に対応付けて、フロー情報として送信用フローテーブル３４２に保存し登録する。その際、プロセッサ３０２は、フロー情報の保存の日時を、フロー情報の最新の使用日時またはアクセス日時としてフロー情報に保存してもよい。また、送信用フローテーブル３４２中に空きスペースがない場合、プロセッサ３０２は、送信用フローテーブル３４２中の最も長い時間アクセスされていないフロー情報のスペースに新しいフロー情報を上書きしてもよい。それによって、上書きされたフロー情報は消去される。送信用フローテーブル３４２に保存された定型的なフィールドは、同じフローの後続のパケット（１０４）に対して使用される。
【００７１】
ステップ６０８において、プロセッサ３０２は、ＧＲＥヘッダのキー・フィールドに命令種別およびフロー識別番号を設定する。この場合、ルータ装置３２において受信用フローテーブル３５４に同じフローを登録させるために、例えば、登録要求を表す命令種別の値１が設定される。それによって、パケット１０２をＧＲＥオーバヘッド１２２でカプセル化することによって、ＧＲＥオーバヘッド１２２を含むカプセル化されたパケット１３２が形成される。
【００７２】
但し、ステップ６０４〜６０８の実行の順序は、上述の順序に限定されることなく、任意に変更することができる。例えば、ステップ６０６、６０４および６０８が、この順に実行されてもよい。また、例えば、ステップ６０６と同時に並行してステップ６０４および６０８が実行されてもよい。
【００７３】
ステップ６１０において、プロセッサ３０２は、ＧＲＥオーバヘッド１２２を含むカプセル化されたパケット１３２を、隣接のリンク５２を介してルータ装置３２へ転送する。その際、カプセル化されたパケット１３２は、通信部３１２を介して、ルータ装置３０と３２の間の経路上のルータまたはノード４０を通るトンネル５４を通して転送される。
【００７４】
ステップ６０２は、ルータ装置３０のプロセッサ３０２のカプセル化パケット転送部３０３０のパケット判定部３０３１によって実行されてもよい。また、ステップ６０４〜６１０は、ルータ装置３０のプロセッサ３０２のカプセル化パケット転送部３０３０のフロー登録転送部３０３２によって実行されてもよい。
【００７５】
ルータ装置３２の通信部３１２は、ルータ装置３０からリンク５２を介して、１つのフローの最初のカプセル化されたパケット１３２を受信する。次いで、図９Ｂのフローチャートがルータ装置３２によって実行される。
【００７６】
図９Ｂを参照すると、ステップ７０２において、ルータ装置３２のプロセッサ３０２は、ＧＲＥオーバヘッド１２２を含むパケット１３２の受信に応答して、ＧＲＥヘッダから命令種別およびフロー識別番号を取得して記憶部３０４に保持する。次いで、プロセッサ３０２は、ＧＲＥヘッダ中の命令の種別を判定する。この場合、命令種別は登録要求である。
【００７７】
ステップ７０４において、プロセッサ３０２は、パケット１３２から、ＧＲＥオーバヘッド１２２を削除して、パケット１３２をデカプセル化しまたはそのカプセル化を解除して、デカプセル化されたパケット１０２を取り出す。
【００７８】
ステップ７０６において、プロセッサ３０２は、登録要求を表す命令種別に従って、受信したパケット１０２のレイヤ３およびレイヤ４のヘッダ１０２２中の所定の定型的なフィールドの位置を判定する。次いで、プロセッサ３０２は、パケット１０２のレイヤ３およびレイヤ４のヘッダ１０２２中の定型的なフィールドを読み出して、フロー識別番号に対応付けて、フロー情報として受信用フローテーブル３５４に保存し登録する。また、受信用フローテーブル３５４中に空きスペースがない場合、プロセッサ３０２は、受信用フローテーブル３５４中の最も長い時間アクセスされていないフロー情報のスペースに新しいフロー情報を上書きしてもよい。それによって、上書きされたフロー情報は消去される。受信用フローテーブル３５４に保存された定型的なフィールドは、同じフローの後続のパケットに対して使用される。
【００７９】
ステップ７０４と７０６の実行の順序は、上述の順序に限定されることなく、任意に変更することができる。例えば、ステップ７０６および７０４が、この順に実行されてもよい。また、例えば、ステップ７０６と同時に並行してステップ７０４が実行されてもよい。
【００８０】
ステップ７０８において、プロセッサ３０２は、デカプセル化されたパケット１０２を、隣接のリンク５８を介して情報処理端末２２へ転送する。
【００８１】
ステップ７０２は、ルータ装置３２のプロセッサ３０２のデカプセル化パケット転送部３０４０のパケット判定部３０４１によって実行されてもよい。また、ステップ７０４〜７０８は、ルータ装置３２のプロセッサ３０２のデカプセル化パケット転送部３０４０のフロー登録転送部３０４２によって実行されてもよい。
【００８２】
図１０Ａおよび１０Ｂは、ルータ装置３０および３２によって実行される、図４Ｂの２つのルータ装置３０と３２の間での同じフローの後続のパケット１０４のトンネリング転送のための処理のフローチャートの例を示している。図１０Ａおよび１０Ｂのフローチャートは、図９Ａおよび９Ｂのフローチャートの後で実行される。
【００８３】
ルータ装置３０の通信部３１２は、情報処理端末２０の前回と同じアプリケーションから隣接のリンク５６を介して、情報処理端末２２の前回と同じ種類のまたは対応するアプリケーションを宛先とする前回と同じフローの後続のパケット１０４を受信する。次いで、図１０Ａのフローチャートがルータ装置３０によって実行される。
【００８４】
図１０Ａを参照すると、ステップ６０２は図９Ａのものと同様である。対応するフロー情報が送信用フローテーブル３４２中に存在すると判定された場合は、手順はステップ６１４に進む。対応するフロー識別番号が送信用フローテーブル３４２中に存在しないと判定された場合は、手順は上述のように図９Ａのステップ６０４に進む。
【００８５】
ステップ６１４において、プロセッサ３０２は、受信したパケット１０４のヘッダ１０４２に基づいてルーティング・テーブルを参照して、パケット１０４をＧＲＥトンネルを通して転送すると決定する。次いで、プロセッサ３０２は、ＧＲＥヘッダおよびＧＲＥ用のレイヤ３ヘッダを含むＧＲＥオーバヘッド１２６を生成して、パケット１０４の先頭に付加し、それによってパケット１０４をカプセル化する。
【００８６】
ステップ６１６において、プロセッサ３０２は、受信したパケット１０４のレイヤ３およびレイヤ４のヘッダ１０４２中の所定の定型的なフィールドの位置を判定して、その定型的なフィールドを削除する。その際、プロセッサ３０２は、送信用フローテーブル３４２に先に登録されたフロー識別番号のフロー情報の定型的なフィールドを参照してもよい。それによって、受信したパケット１０４のヘッダ１０４２から定型的なフィールドが削除されたヘッダ１０６２を含むパケット１０６が形成される。また、プロセッサ３０２は、フロー情報へのアクセスの日時を、フロー情報の最新の使用日時またはアクセス日時としてフロー情報に保存してもよい。
【００８７】
ステップ６１８において、プロセッサ３０２は、ＧＲＥヘッダのキー・フィールドに命令種別およびフロー識別番号を設定する。この場合、ルータ装置３２において受信用フローテーブル３５４に登録されたフローの定型的なフィールドを挿入させるために、例えば、パケット改変を表す命令種別の値２５５が設定される。それによって、パケット１０６をＧＲＥオーバヘッド１２６でカプセル化することによって、ＧＲＥオーバヘッド１２６を含むパケット１３６が形成される。
【００８８】
但し、ステップ６１４〜６１８の実行の順序は、上述の順序に限定されることなく、任意に変更することができる。例えば、ステップ６１６、６１４および６１８が、この順に実行されてもよい。また、例えば、ステップ６１６と同時に並行してステップ６１４および６１８が実行されてもよい。
【００８９】
ステップ６２０において、プロセッサ３０２は、ＧＲＥオーバヘッド１２６を含むカプセル化されたパケット１３６を、隣接のリンク５２を介してルータ装置３２へ転送する。その際、カプセル化されたパケット１３６は、通信部３１２を介して、ルータ装置３０と３２の間の経路上のルータまたはノード４０を通るトンネル５４を通して転送される。
【００９０】
ステップ６１４〜６２０は、ルータ装置３０のプロセッサ３０２のカプセル化パケット転送部３０３０のパケット改変転送部３０３４によって実行されてもよい。
【００９１】
ルータ装置３２の通信部３１２は、ルータ装置３０からリンク５２を介して、同じフローの後続のカプセル化されたパケット１３６を受信する。次いで、図１０Ｂのフローチャートがルータ装置３２によって実行される。
【００９２】
図１０Ｂを参照すると、ステップ７１２において、ルータ装置３２のプロセッサ３０２は、ＧＲＥオーバヘッド１２６を含むパケット１３６の受信に応答して、ＧＲＥヘッダから命令種別およびフロー識別番号を取得して記憶部３０４に保持する。次いで、プロセッサ３０２は、ＧＲＥヘッダ中の命令の種別を判定する。この場合、命令種別はパケット改変である。
【００９３】
ステップ７１４において、プロセッサ３０２は、パケット１３６から、ＧＲＥオーバヘッド１２６を削除して、パケット１３６をデカプセル化しまたはそのカプセル化を解除して、デカプセル化されたパケット１０６を取り出す。
【００９４】
ステップ７１６において、プロセッサ３０２は、パケット改変を表す命令種別に従って、受信用フローテーブル３５４から、フロー識別番号に対応するフロー情報の定型的なフィールドを取り出す。
【００９５】
ステップ７１８において、プロセッサ３０２は、デカプセル化されたパケット１０６のレイヤ３およびレイヤ４のヘッダ１０６２中の対応位置に定型的なフィールドを挿入する。それによって、パケット１０６のヘッダ１０６２に定型的なフィールドが挿入されて復元されたヘッダ１０４２、を含むパケット１０４が復元される。
【００９６】
ステップ７１４〜７１８の実行の順序は、上述の順序に限定されることなく、任意に変更することができる。例えば、ステップ７１６、７１４および７１８が、この順に実行されてもよい。また、例えば、ステップ７１６と同時に並行してステップ７１４および７１８が実行されてもよい。
【００９７】
ステップ７２０において、プロセッサ３０２は、デカプセル化されたパケット１０４を、隣接のリンク５８を介して情報処理端末２２へ転送する。
【００９８】
ステップ７１２は、ルータ装置３２のプロセッサ３０２のデカプセル化パケット転送部３０４０のパケット判定部３０４１によって実行されてもよい。また、ステップ７１４〜７１８は、ルータ装置３２のプロセッサ３０２のデカプセル化パケット転送部３０４０のパケット復元転送部３０４４によって実行されてもよい。
【００９９】
次は、ルータ装置３０および３２による送信用フローテーブル３４２と受信用フローテーブル３５４のフロー情報の保守および整合処理のための処理手順の例を説明する。
【０１００】
図１１は、ルータ装置３０および３２によって実行される、フロー情報の保守のために送信用フローテーブル３４２と受信用フローテーブル３５４から不使用のフロー情報を削除する処理のフローチャートの例を示している。
【０１０１】
ルータ装置３０のプロセッサ３０２（またはそのフロー情報保守部３０３６）は、例えば３０分毎のように定期的に、送信用フローテーブル３４２中に、例えば３０分のような閾値より長い時間、使用またはアクセスされていないフロー情報の有無を検出する。使用されていないフロー情報がある場合、ステップ６２２〜６２８がルータ装置３０によって実行される。
【０１０２】
図１１を参照すると、ステップ６２２において、プロセッサ３０２は、その使用されていないフロー情報の検出に応答して、ＧＲＥヘッダおよびＧＲＥ用のレイヤ３ヘッダを含む、フロー情報保守用のＧＲＥパケットを生成する。フロー情報保守用のＧＲＥパケットは、ルータ装置３０と３２の間だけで送受信され、その他のヘッダまたはペイロードを含まなくてよい。
【０１０３】
ステップ６２４において、プロセッサ３０２は、送信用フローテーブル３４２から、検出された不使用のフロー情報をフロー識別番号と共に削除する。代替形態として、プロセッサ３０２は、フロー情報中のフロー識別番号だけを削除し、他のフロー情報が新しい他のフロー情報で上書きされるようにしてもよい。
【０１０４】
ステップ６２６において、プロセッサ３０２は、ＧＲＥヘッダのキー・フィールドに、フロー情報保守用の命令種別およびフロー識別番号を設定する。この場合、受信用フローテーブル３５４に登録された対応するフロー識別番号のフロー情報を削除するために、例えば、フロー情報の削除要求を表す命令種別の値２が設定される。
【０１０５】
ステップ６２２〜６２６の実行の順序は、上述の順序に限定されることなく、任意に変更することができる。例えば、ステップ６２４、６２２および６２６が、この順に実行されてもよい。また、例えば、ステップ７２４と同時に並行してステップ６２２および６２６が実行されてもよい。
【０１０６】
ステップ６２８において、プロセッサ３０２は、フロー情報保守用のＧＲＥパケットを、隣接のリンク５２を介してルータ装置３２へ送信する。その際、ＧＲＥパケットは、通信部３１２を介して、ルータ装置３０と３２の間の経路上のルータまたはノード４０を通るトンネル５４を通して転送される。
【０１０７】
ステップ６２２〜６２８は、ルータ装置３０のプロセッサ３０２のカプセル化パケット転送部３０３０のフロー情報保守部３０３６によって実行されてもよい。
【０１０８】
ルータ装置３２の通信部３１２は、ルータ装置３０からリンク５２を介して、ＧＲＥパケットを受信する。次いで、ステップ７２２〜７２６がルータ装置３２によって実行される。
【０１０９】
ステップ７２２において、ルータ装置３２のプロセッサ３０２は、ルータ装置３０から受信したＧＲＥパケットのＧＲＥヘッダのキー・フィールドから命令種別およびフロー識別番号を取得して、ＧＲＥパケットを破棄する。
【０１１０】
ステップ７２４において、プロセッサ３０２は、命令種別に従って、フロー識別番号を求めて受信用フローテーブル３５４を検索する。
【０１１１】
ステップ７２６において、プロセッサ３０２は、受信用フローテーブル３５４から、対応するフロー情報をそのフロー識別番号と共に削除する。それによって、受信用フローテーブル３５４から閾値より長い時間使用されていないフロー情報が確実に削除される。次いで、プロセッサ３０２は、受信したＧＲＥパケットに応答して、応答ＧＲＥパケットをルータ装置３０に送信してもよい。その際、応答ＧＲＥパケットは、通信部３１２を介して、ルータ装置３２と３０の間の経路上のルータまたはノード４０を通るトンネル５４を通して転送される。
【０１１２】
ステップ７２２〜７２６の実行の順序は、上述の順序に限定されることなく、任意に変更することができる。例えば、ステップ７２４、７２６および７２２が、この順に実行されてもよい。また、例えば、ステップ７２２と同時に並行してステップ７２４および７２６が実行されてもよい。
【０１１３】
ステップ７２２〜７２６は、ルータ装置３２のプロセッサ３０２のデカプセル化パケット転送部３０４０のフロー情報保守部３０４６によって実行されてもよい。
【０１１４】
このようにして、ルータ装置３０は、送信用フローテーブル３４２において、閾値より長い時間使用されてないフロー情報がある場合に、使用されていないフロー情報を削除または整理することができる。また、ルータ装置３０は、送信用フローテーブル３４２において削除されたフロー情報を、ルータ装置３２における受信用フローテーブル３５４から削除または整理して、送信用フローテーブル３４２と受信用フローテーブル３５４とを整合させることができる。それによって、送信用フローテーブル３４２と受信用フローテーブル３５４は、次の新しいフローの登録に備えることができる。
【０１１５】
図１２Ａおよび１２Ｂは、ルータ装置３０および３２によって実行される、改変された受信パケットのフロー情報が受信用フローテーブル３５４にない場合にルータ装置３２からルータ装置３０へフロー情報を要求するための処理のフローチャートの例を示している。
【０１１６】
図１２Ａを参照すると、ステップ６３２において、ルータ装置３０のプロセッサ３０２は、図１０Ａのステップ６０２、および６１４〜６２０を実行して、ＧＲＥオーバヘッド１２６を含むカプセル化されたパケット１３６をルータ装置３２へ転送する。
【０１１７】
ステップ７３２〜７３８はルータ装置３２によって実行される。ステップ７３２において、ルータ装置３２の通信部３１２は、カプセル化されたパケット１３６を受信する。次いで、ルータ装置３２のプロセッサ３０２は、ＧＲＥオーバヘッド１２６が付加されたパケット１３６の受信に応答して、ＧＲＥヘッダから命令種別としての改変情報およびフロー識別番号を取得する。次いで、プロセッサ３０２は、受信したフロー識別番号のフロー情報が受信用フローテーブル３５４中に保存または登録されていないことを検出する。
【０１１８】
ステップ７３４において、プロセッサ３０２は、その登録されていないフロー情報の検出に応答して、ＧＲＥヘッダおよびＧＲＥ用のレイヤ３ヘッダを含むＧＲＥパケットを生成する。ここで、ＧＲＥパケットは、フロー情報を問合せるためのパケットであり、その他のヘッダまたはペイロードを含まなくてよい。
【０１１９】
ステップ７３６において、プロセッサ３０２は、ＧＲＥヘッダのキー・フィールドに、フロー情報問合せ用の命令種別および受信したフロー識別番号を設定する。この場合、ルータ装置３０にフロー情報を問合せまたは要求するために、例えば、フロー情報の問合せまたは要求を表す命令種別の値３が設定される。
【０１２０】
ステップ７３８において、プロセッサ３０２は、ＧＲＥパケットをルータ装置３０へ送信する。ＧＲＥパケットは、通信部３１２を介して、ルータ装置３２と３０の間の経路上のルータまたはノード４０を通るトンネル５４を通して転送される。
【０１２１】
ステップ６３４〜６４２はルータ装置３０によって実行される。ステップ６３４において、ルータ装置３０の通信部３１２は、ルータ装置３２から、ＧＲＥパケットを受信する。
【０１２２】
ステップ６３６において、ルータ装置３０のプロセッサ３０２は、ＧＲＥヘッダから命令種別およびフロー識別番号を取得し、ＧＲＥパケットを破棄する。次いで、プロセッサ３０２は、命令種別に従って、フロー識別番号を求めて送信用フローテーブル３４２を検索して、フロー識別番号のフロー情報における定型的なフィールドを読み取る。
【０１２３】
ステップ６３８において、プロセッサ３０２は、ＧＲＥヘッダおよびＧＲＥ用のレイヤ３ヘッダ、および、ヘッダの後に、送信用フローテーブル３４２から読み出したレイヤ３およびレイヤ４の定型的なフィールドを付加したＧＲＥパケットを生成する。
【０１２４】
ステップ６４０において、プロセッサ３０２は、ＧＲＥヘッダのキー・フィールドに、命令種別およびフロー識別番号を設定して、ＧＲＥパケットを送信する。この場合、フロー情報の問合せに対する回答として、例えば、問合せに対する回答を表す命令種別の値４が設定される。
【０１２５】
ステップ６４２において、プロセッサ３０２は、ＧＲＥパケットをルータ装置３２へ送信する。ＧＲＥパケットは、通信部３１２を介して、ルータ装置３０と３２の間の経路上のルータまたはノード４０を通るトンネル５４を通して転送される。
【０１２６】
ステップ６３４〜６４２は、ルータ装置３０のプロセッサ３０２のカプセル化パケット転送部３０３０のフロー情報整合部３０３８によって実行されてもよい。
【０１２７】
図１２Ｂを参照すると、ステップ７４０〜７４６はルータ装置３２によって実行される。ステップ７４０において、ルータ装置３２の通信部３１２は、ルータ装置３０から、ＧＲＥパケットを受信する。
【０１２８】
ステップ７４２において、ルータ装置３２のプロセッサ３０２は、ＧＲＥパケットの受信に応答して、ＧＲＥパケットのＧＲＥヘッダから命令種別として回答およびフロー識別番号を取得し、ＧＲＥパケットからフロー情報の定型的なフィールドを取得する。次いで、プロセッサ３０２は、ＧＲＥパケットを削除する。
【０１２９】
ステップ７４４において、プロセッサ３０２は、フロー情報の定型的なフィールドをフロー識別番号と共に受信用フローテーブル３５４に保存して登録する。受信用フローテーブル３５４に保存されたフロー情報は、ステップ７３２で受信した同じフローの現在のパケット１３６および後続のパケットに対して使用される。
【０１３０】
ステップ７４６において、ルータ装置３２のプロセッサ３０２は、図１０Ｂのステップ７１２〜７２０を実行して、デカプセル化されたパケット１０６中の対応位置に定型的なフィールドを挿入する。それによって、パケット１０６のヘッダに定型的なフィールドが挿入されたパケット１０４が復元される。次いで、プロセッサ３０２は、デカプセル化されたパケット１０４を、隣接のリンク５８を介して情報処理端末２２へ転送する。
【０１３１】
図１２Ａのステップ７３２のプロセッサ３０２によって実行される部分は、ルータ装置３２のプロセッサ３０２のデカプセル化パケット転送部３０４０のパケット判定部３０４１によって実行されてもよい。図１２Ａのステップ７３４〜７３８、および図１２Ｂのステップ７４０〜７４４は、ルータ装置３２のプロセッサ３０２のデカプセル化パケット転送部３０４０のフロー情報整合部３０４８によって実行されてもよい。
【０１３２】
このようにして、ルータ装置３２において受信用フローテーブル３５４中にフロー識別番号が見つからない場合に、ルータ装置３０からルータ装置３２へフロー情報を転送することができる。それによって、何らかの理由で受信用フローテーブル３５４中のフロー情報が消失した場合にも、ルータ装置３２は、デプセル化されたパケット１０６中の対応位置に定型的なフィールドを挿入することができる。
【０１３３】
ネットワーク５において複数の始端のルータ装置と複数の終端のルータ装置が使用される場合、送信用フローテーブル（３４２または３５２）および受信用フローテーブル（３５４または３４４）は、使用される始端の１つのルータ装置と終端の１つのルータ装置の組合せ毎に設けられる。
【０１３４】
以上の説明では、パケットが、情報処理端末２０からネットワーク５上でルータ装置３０および３２をこの順に介して情報処理端末２２へ転送されるものとして説明した。一方、上述の実施形態は、パケットが、情報処理端末２２からネットワーク５上でルータ装置３２および３０をこの順に介して情報処理端末２０へ、逆方向に転送される場合にも適用できる。この場合、ルータ装置３２および３０のそれぞれのプロセッサの動作は、それぞれルータ装置３０および３２のプロセッサの動作と同様である。また、実施形態のパケットのトンネリングのための処理は、ＧＲＥに限定されることなく、例えばレイヤ３のＩＰｓｅｃ（Security Architecture for Internet Protocol）のような他のトンネリング・プロトコルにも適用できる。また、実施形態のパケットのトンネリングのための処理は、Ｌ２Ｆ（Layer 2 Forwarding）、ＰＰＴＰ（Point-to-Point Tunneling Protocol）またはＬ２ＴＰ（Layer 2 Tunneling Protocol）のようなレイヤ２のノード間でのトンネリング・プロトコルにも適用できる。
【０１３５】
ここで挙げた全ての例および条件的表現は、発明者が技術促進に貢献した発明および概念を読者が理解するのを助けるためのものであり、ここで具体的に挙げたそのような例および条件に限定することなく解釈され、また、明細書におけるそのような例の編成は本発明の優劣を示すこととは関係ない、と理解される。本発明の実施形態を詳細に説明したが、本発明の精神および範囲から逸脱することなく、それに対して種々の変更、置換および変形を施すことができる、と理解される。
【０１３６】
以上の実施例を含む実施形態に関して、さらに以下の付記を開示する。
（付記１）第１のパケット転送装置および第２のパケット転送装置を含むパケット中継システムであって、
前記第１のパケット転送装置は、
送信元から受信した第１のパケットのフロー情報が記憶されていないとき、前記第１のパケットの第１のヘッダ情報の所定部分とフロー識別子とを対応づけて記憶し、前記所定部分の登録要求を示す登録要求情報と前記フロー識別子とを含むカプセル化ヘッダ情報でカプセル化された前記第１のパケットを前記第２のパケット転送装置へ転送し、
前記送信元から受信した第２のパケットのフロー情報が前記フロー識別子を含むフロー情報として記憶されているとき、前記第２のパケットから、前記第２のパケットの第２のヘッダ情報の前記所定部分を削除した第３のヘッダ情報を含む第３のパケットを生成し、前記所定部分の削除を示す改変情報と前記フロー識別子とを含むカプセル化ヘッダ情報でカプセル化された前記第３のパケットを前記第２のパケット転送装置へ転送し、
前記第２のパケット転送装置は、
前記第１のパケット転送装置から、カプセル化された前記第１のパケットを受信したとき、デカプセル化された前記第１のパケットの前記第１のヘッダ情報の前記所定部分と前記フロー識別子とを対応付けて記憶し、デカプセル化された前記第１のパケットを所定の方路に転送し、
前記第１のパケット転送装置から、カプセル化された前記第３のパケットを受信したとき、前記第３のパケットから、記憶された前記所定部分に基づいて復元された前記第２のパケットを、前記所定の方路に転送するものである
ことを特徴とするパケット中継システム。
（付記２）送信元から受信した第１のパケットのフロー情報が記憶されていないとき、前記第１のパケットの第１のヘッダ情報の所定部分とフロー識別子とを対応づけて記憶し、前記所定部分の登録要求を示す登録要求情報と前記フロー識別子とを含むカプセル化ヘッダ情報でカプセル化された前記第１のパケットを別のパケット中継装置へ転送する第１の転送部と、
前記送信元から受信した第２のパケットのフロー情報が前記フロー識別子を含むフロー情報として記憶されているとき、前記第２のパケットから、前記第２のパケットの第２のヘッダ情報の前記所定部分を削除した第３のヘッダ情報を含む第３のパケットを生成し、前記所定部分の削除を示す改変情報と前記フロー識別子とを含むカプセル化ヘッダ情報でカプセル化された前記第３のパケットを前記別のパケット中継装置へ転送する第２の転送部と、
を含むことを特徴とするパケット中継装置。
（付記３）さらに、前記別のパケット中継装置から前記フロー識別子および前記所定部分の要求を示す情報を含むパケットを受信したとき、前記フロー識別子および記憶されている前記所定部分を含むパケットを生成して前記別のパケット中継装置へ送信する処理部を含むことを特徴とする、付記２に記載のパケット中継装置。
（付記４）さらに、記憶された前記フロー識別子を含むフロー情報のパケットが閾値より長い時間受信されないとき、記憶された前記フロー識別子を削除し、前記フロー識別子に関する削除要求情報を含むパケットを生成して前記別のパケット中継装置へ送信する処理部を含むことを特徴とする、付記２または３に記載のパケット中継装置。
（付記５）前記フロー識別子は、特定の送信元情報と特定の宛先情報の組合せに対して排他的に割り当てられるものであることを特徴とする、付記２乃至４のいずれかに記載のパケット中継装置。
（付記６）別のパケット中継装置から受信したカプセル化された第１のパケットのカプセル化ヘッダ情報に登録要求情報およびフロー識別子が含まれているとき、デカプセル化された前記第１のパケットのヘッダ情報の所定部分と前記フロー識別子とを対応付けて記憶し、デカプセル化された前記第１のパケットを所定の方路に転送する第１の転送部と、
前記別のパケット中継装置から受信したカプセル化された第２のパケットのカプセル化ヘッダ情報にパケット改変情報および前記フロー識別子が含まれているとき、デカプセル化された前記第２のパケットのヘッダ情報に、記憶された前記所定部分を挿入して得たヘッダ情報を含む、デカプセル化された前記第２のパケットを、前記所定の方路に転送する第２の転送部と、
を含むことを特徴とするパケット中継装置。
（付記７）前記別のパケット中継装置から受信したカプセル化された第３のパケットのカプセル化ヘッダ情報にパケット改変情報および或るフロー識別子が含まれているが、前記第３のパケットのフロー情報が記憶されていないとき、前記或るフロー識別子に対応する所定部分の要求を示す情報を含むパケットを生成して前記別のパケット中継装置に送信する処理部を含むことを特徴とする、付記６に記載のパケット中継装置。
（付記８）さらに、前記別のパケット中継装置から前記フロー識別子に関する削除要求情報を含むパケットを受信したとき、記憶された前記フロー識別子を削除する処理部を含むことを特徴とする、付記６または７に記載のパケット中継装置。
（付記９）パケット中継装置が、
送信元から受信した第１のパケットのフロー情報が記憶されていないとき、前記第１のパケットの第１のヘッダ情報の所定部分とフロー識別子とを対応づけて記憶し、前記所定部分の登録要求を示す登録要求情報と前記フロー識別子とを含むカプセル化ヘッダ情報でカプセル化された前記第１のパケットを別のパケット中継装置へ転送し、
前記送信元から受信した第２のパケットのフロー情報が前記フロー識別子を含むフロー情報として記憶されているとき、前記第２のパケットから、前記第２のパケットの第２のヘッダ情報の前記所定部分を削除した第３のヘッダ情報を含む第３のパケットを生成し、前記所定部分の削除を示す改変情報と前記フロー識別子とを含むカプセル化ヘッダ情報でカプセル化された前記第３のパケットを前記別のパケット中継装置へ転送する 
処理を実行することを特徴とするパケット中継方法。
（付記１０）パケット中継装置が、
別のパケット中継装置から受信したカプセル化された第１のパケットのカプセル化ヘッダ情報に登録要求情報およびフロー識別子が含まれているとき、デカプセル化された前記第１のパケットのヘッダ情報の所定部分と前記フロー識別子とを対応付けて記憶し、デカプセル化された前記第１のパケットを所定の方路に転送し、
前記別のパケット中継装置から受信したカプセル化された第２のパケットのカプセル化ヘッダ情報にパケット改変情報および前記フロー識別子が含まれているとき、デカプセル化された前記第２のパケットのヘッダ情報に、記憶された前記所定部分を挿入して得たヘッダ情報を含む、デカプセル化された前記第２のパケットを、前記所定の方路に転送する
処理を実行することを特徴とするパケット中継方法。
（付記１１）第１のパケット転送装置が、
送信元から受信した第１のパケットのフロー情報が記憶されていないとき、前記第１のパケットの第１のヘッダ情報の所定部分とフロー識別子とを対応づけて記憶し、前記所定部分の登録要求を示す登録要求情報と前記フロー識別子とを含むカプセル化ヘッダ情報でカプセル化された前記第１のパケットを前記第２のパケット転送装置へ転送し、
前記送信元から受信した第２のパケットのフロー情報が前記フロー識別子を含むフロー情報として記憶されているとき、前記第２のパケットから、前記第２のパケットの第２のヘッダ情報の前記所定部分を削除した第３のヘッダ情報を含む第３のパケットを生成し、前記所定部分の削除を示す改変情報と前記フロー識別子とを含むカプセル化ヘッダ情報でカプセル化された前記第３のパケットを前記第２のパケット転送装置へ転送し、
前記第２のパケット転送装置が、
前記第１のパケット転送装置から、カプセル化された前記第１のパケットを受信したとき、デカプセル化された前記第１のパケットの前記第１のヘッダ情報(1022)の前記所定部分と前記フロー識別子とを対応付けて記憶し、デカプセル化された前記第１のパケットを所定の方路に転送し、
前記第１のパケット転送装置から、カプセル化された前記第３のパケットを受信したとき、前記第３のパケットから、記憶された前記所定部分に基づいて復元された前記第２のパケットを、前記所定の方路に転送する
処理を実行することを特徴とするパケット中継方法。
【符号の説明】
【０１３７】
５  ネットワーク
２０、２２  情報処理端末
３０、３２  ルータ装置
１０２、１０４  パケット
１０６  改変されたパケット
１２２、１２６  ＧＲＥオーバヘッド
１３２、１３６  カプセル化されたパケット
３４２、３５２  送信用フローテーブル
３４４、３５４  受信用フローテーブル
３０２  プロセッサ
３０３０  カプセル化パケット転送部
３０４０  デカプセル化パケット転送部
【図１】
2016019066.tif 000003
【図２】
2016019066.tif 000004
【図３】
2016019066.tif 000005
【図４Ａ】
2016019066.tif 000006
【図４Ｂ】
2016019066.tif 000007
【図５】
2016019066.tif 000008
【図６】
2016019066.tif 000009
【図７】
2016019066.tif 000010
【図８】
2016019066.tif 000011
【図９Ａ】
2016019066.tif 000012
【図９Ｂ】
2016019066.tif 000013
【図１０Ａ】
2016019066.tif 000014
【図１０Ｂ】
2016019066.tif 000015
【図１１】
2016019066.tif 000016
【図１２Ａ】
2016019066.tif 000017
【図１２Ｂ】
2016019066.tif 000018