(57)【要約】  本発明は、パケット転送方法及びネットワーク機器を提供する。当該方法の例示によると、ネットワーク機器は、第１トンネルの宛先機器の前ホップ機器であるときに、第１トンネルの宛先機器からの第１通知メッセージを受信する。第１通知メッセージには、第１トンネルに関する情報が付加されている。当該ネットワーク機器は、転送エントリを構成する。当該転送エントリのマッチフィールドは、第１トンネルに関する情報を含む。カプセル化されたデータパケットを受信した後、当該カプセル化されたデータパケットが当該転送エントリにマッチングした場合に、当該ネットワーク機器は、当該カプセル化されたデータパケットに対してデカプセル化を行ってから第１トンネルの宛先機器へ転送する。【選択図】図１
2019536364.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク機器は第１トンネルの宛先機器からの第１通知メッセージを受信し、前記ネットワーク機器は、前記第１トンネルの宛先機器の前ホップ機器であり、前記第１通知メッセージには、前記第１トンネルに関する情報が付加されることと、
前記ネットワーク機器は転送エントリを構成し、前記転送エントリのマッチフィールドは、前記第１トンネルに関する情報を含むことと、
前記ネットワーク機器が受信したカプセル化されたデータパケットは前記転送エントリにマッチングした場合に、前記ネットワーク機器は前記カプセル化されたデータパケットに対してデカプセル化を行い、デカプセル化されたデータパケットを取得することと、
前記ネットワーク機器は前記デカプセル化されたデータパケットを前記第１トンネルの宛先機器へ転送することと、を含むことを特徴とするパケット転送方法。
【請求項２】
前記ネットワーク機器は、第２トンネルのソース機器によって前記第２トンネルを介して送信されたキープアライブ（ｋｅｅｐａｌｉｖｅ）要求パケットを受信し、前記ネットワーク機器は、前記第２トンネルの宛先機器であることと、
前記ネットワーク機器は、前記ｋｅｅｐａｌｉｖｅ要求パケットを送信した前ホップ機器へ第２通知メッセージを送信し、前記第２通知メッセージには、前記第２トンネルに関する情報が付加されることと、を更に含むことを特徴とする請求項１に記載のパケット転送方法。
【請求項３】
前記ネットワーク機器は、前記第１通知メッセージの受信から所定時間内で前記第１トンネルの宛先機器からの第３通知メッセージを受信したか否かを判断し、前記第３通知メッセージには、前記第１トンネルに関する情報が付加されることと、
前記所定時間内で前記第３通知メッセージを受信しなかった場合に、前記ネットワーク機器は前記転送エントリを削除することと、を更に含むことを特徴とする請求項１に記載のパケット転送方法。
【請求項４】
前記所定時間内で前記第１トンネルの宛先機器からの第３通知メッセージを受信したか否かを判断することは、
前記第１トンネルの宛先機器からの前記第１通知メッセージを受信したときに、前記ネットワーク機器はタイマを起動して計時を開始することと、
前記タイマの計時時間が前記所定時間に達しても前記第３通知メッセージを受信しなかった場合に、前記ネットワーク機器は、前記所定時間内で前記第１トンネルの宛先機器からの前記第３通知メッセージを受信しなかったと特定することとを含むことを特徴とする請求項３に記載のパケット転送方法。
【請求項５】
前記第１通知メッセージおよび前記第２通知メッセージは、生存時間（ＴＴＬ）が１であるｋｅｅｐａｌｉｖｅ応答パケットであることを特徴とする請求項２に記載のパケット転送方法。
【請求項６】
前記第１トンネルに関する情報は、前記第１トンネルの両端の機器のインターネットプロトコル（ＩＰ）アドレスと、前記第１トンネルの所属するプロトコルの識別子（ＩＤ）とを含み、
前記第２トンネルに関する情報は、前記第２トンネルの両端の機器のＩＰアドレスと、前記第２トンネルの所属するプロトコルのＩＤとを含むことを特徴とする請求項２に記載のパケット転送方法。
【請求項７】
ネットワーク機器であって、
プロセッサと、
機器の実行可能な指令を記憶する非一時的な機器読み取り可能な記憶媒体と、を備え、
前記プロセッサは、前記機器の実行可能な指令を実行することにより、
第１トンネルの宛先機器からの第１通知メッセージを受信し、前記ネットワーク機器は、前記第１トンネルの宛先機器の前ホップ機器であり、前記第１通知メッセージには、前記第１トンネルに関する情報が付加されることと、
転送エントリを構成し、前記転送エントリのマッチフィールドは、前記第１トンネルに関する情報を含むことと、
前記ネットワーク機器が受信したカプセル化されたデータパケットは前記転送エントリにマッチングした場合に、前記カプセル化されたデータパケットに対してデカプセル化を行い、デカプセル化されたデータパケットを取得することと、
前記デカプセル化されたデータパケットを前記第１トンネルの宛先機器へ転送することと、を実行させることを特徴とするネットワーク機器。
【請求項８】
前記プロセッサは、更に、前記機器の実行可能な指令により、
第２トンネルのソース機器によって前記第２トンネルを介して送信されたキープアライブ（ｋｅｅｐａｌｉｖｅ）要求パケットを受信し、前記ネットワーク機器は、前記第２トンネルの宛先機器であることと、
前記ｋｅｅｐａｌｉｖｅ要求パケットを送信した前ホップ機器へ第２通知メッセージを送信し、前記第２通知メッセージには、前記第２トンネルに関する情報が付加されることと、を実行させることを特徴とする請求項７に記載のネットワーク機器。
【請求項９】
前記プロセッサは、更に、前記機器の実行可能な指令により、
前記第１通知メッセージの受信から所定時間内で、前記第１トンネルの宛先機器からの第３通知メッセージを受信したか否かを判断し、前記第３通知メッセージには、前記第１トンネルに関する情報が付加されることと、
前記所定時間内で前記第３通知メッセージを受信しなかった場合に、前記転送エントリを削除することと、を実行させることを特徴とする請求項７に記載のネットワーク機器。
【請求項１０】
前記所定時間内で前記第１トンネルの宛先機器からの第３通知メッセージを受信したか否かを判断するときには、前記プロセッサは、更に、前記機器の実行可能な指令により、
前記第１トンネルの宛先機器からの前記第１通知メッセージを受信したときに、タイマを起動して計時を開始することと、
前記タイマの計時時間が前記所定時間に達しても前記第３通知メッセージを受信しなかった場合に、前記所定時間内で前記第１トンネルの宛先機器からの前記第３通知メッセージを受信しなかったと特定することと、を実行させることを特徴とする請求項９に記載のネットワーク機器。
【請求項１１】
前記第１通知メッセージおよび前記第２通知メッセージは、生存時間（ＴＴＬ）が１であるｋｅｅｐａｌｉｖｅ応答パケットであることを特徴とする請求項８に記載のネットワーク機器。
【請求項１２】
前記第１トンネルに関する情報は、前記第１トンネルの両端の機器のインターネットプロトコル（ＩＰ）アドレスと、前記第１トンネルの所属するプロトコルの識別子（ＩＤ）とを含み、
前記第２トンネルに関する情報は、前記第２トンネルの両端の機器のＩＰアドレスと、前記第２トンネルの所属するプロトコルのＩＤとを含むことを特徴とする請求項８に記載のネットワーク機器。
【発明の詳細な説明】
【背景技術】
【０００１】
［関連技術の相互引用］
本願は、出願日が２０１６年１１月１８日であり、出願番号が２０１６１１０３４２１３．１であり、発明名称が「パケット転送方法および装置」である中国特許出願の優先権を主張し、当該出願の全文が引用により本願に組み込まれる。
【０００２】
ＧＲＥ（Ｇｅｎｅｒｉｃ Ｒｏｕｔｉｎｇ Ｅｎｃａｐｓｕｌａｔｉｏｎ、ジェネリックルーティングカプセル化）プロトコルは、あるプロトコル（例えば、ＩＰ（Ｉｎｔｅｒｎｅｔ Ｐｒｏｔｏｃｏｌ、インターネットプロトコル）、ＭＰＬＳ（Ｍｕｌｔｉｐｒｏｔｏｃｏｌ Ｌａｂｅｌ Ｓｗｉｔｃｈｉｎｇ、マルチプロトコルラベルスイッチング）、イーサネット（登録商標）等）のデータパケットに対してカプセル化を行うために用いられる。このように、これらのカプセル化されたデータパケットは、別のネットワーク層プロトコルを利用して伝送され得る。カプセル化されたデータパケットがネットワークに伝送されるパスは、ＧＲＥトンネルと呼称される。ＧＲＥトンネルは、仮想のポイントツーポイント接続であり、その両端に位置する機器は、それぞれデータパケットに対してＧＲＥカプセル化およびデカプセル化を行う。
【図面の簡単な説明】
【０００３】
【図１】本発明の１つの例示的な実施例に示すパケット転送方法のフローチャートである。
【０００４】
【図２】本発明の１つの例示的な実施例に示すネットワーク構造模式図である。
【０００５】
【図３】図２における各機器のインタラクションのフローチャートである。
【０００６】
【図４】本発明の１つの例示的な実施例に示すｋｅｅｐａｌｉｖｅ要求パケットのフォーマットの模式図である。
【０００７】
【図５】本発明の１つの例示的な実施例に示すネットワーク機器の構造模式図である。
【０００８】
【図６】本発明の１つの例示的な実施例に示すネットワーク機器の別の構造模式図である。
【０００９】
【図７】本発明の１つの例示的な実施例に示すネットワーク機器の更に別の構造模式図である。
【発明を実施するための形態】
【００１０】
ここで、例示的な実施例を詳細に説明する。その例示は、図面に示される。以下の記述は、図面に係る際、別途示さない限り、異なる図面における同じ符号が同じ又は類似する要素を示す。以下の例示的な実施例に記述される実施形態が本発明と一致する全ての実施形態を代表するわけではない。逆に、それらは、単に添付する特許請求の範囲に詳細に記述されるような、本発明の幾つかの態様に一致する装置及び方法の例である。
【００１１】
本発明で使用される用語は、単に特定の実施例を記述する目的であり、本発明を制限するためのものではない。本発明及び添付する特許請求の範囲で使用される単数形式の「一種」、「前記」及び「当該」も、文脈から他の意味を明瞭で分かる場合でなければ、複数の形式を含むことを意図する。理解すべきことは、本文で使用される用語「および/または」が、１つまたは複数の関連する列挙項目を含む如何なるまたはいは全ての可能な組み合わせを指す。
【００１２】
理解すべきことは、本発明において第１、第２、第３等という用語を用いて各種の情報を記述するが、これらの情報は、これらの用語に限定されるものではない。これらの用語は、単に同一のタイプの情報同士を区分するために用いられる。例えば、本発明の範囲を逸脱しない限り、第１情報が第２情報と呼称されてもよく、類似的に、第２情報が第１情報と呼称されてもよい。これは、コンテキストに依存する。例えば、ここで使用される言葉「場合」は、「…とき」や「…ときに」あるいは「特定の状況に応じて」として解釈されてもよい。
【００１３】
ＧＲＥカプセル化の過程は、下記のようになる。オリジナルパケットは、１４バイトのレイヤ２ヘッダ、２０バイトの元のＩＰヘッダ、および３０バイトのペイロード（ｐａｙｌｏａｄ）を含む。ＧＲＥカプセル化の過程において、オリジナルパケットに４バイトのＧＲＥヘッダと２０バイトの新たなＩＰヘッダとが追加される。このように、オリジナルパケットに比べると、ＧＲＥカプセル化後のパケットの長さは、２４バイト増加する。そのため、ＧＲＥトンネルでの各リンクのデータ流量が増加し、リンク帯域幅が多く占用される。
【００１４】
本発明の以下の実施例は、パケット転送方法や、当該方法を適用可能なネットワーク機器を提供する。本発明の実施例の方法は、ルータ等のネットワーク機器によって実行され得る。記述の便宜上、以下では、本発明の実施例のパケット転送方法を実行するネットワーク機器は、第１機器と呼称される。
【００１５】
図１に示すように、第１機器で実行されるパケット転送方法は、以下のステップを含む。
【００１６】
ステップＳ１０１では、第１機器は、第１トンネルの宛先機器からの第１通知メッセージを受信する。第１通知メッセージには、第１トンネルに関する情報が付加され、第１機器は、第１トンネルの宛先機器の前ホップ機器である。
【００１７】
第１トンネルに関する情報は、第１トンネルのソース機器のＩＰアドレス、第１トンネルの宛先機器のＩＰアドレスおよび第１トンネルの所属するプロトコルのＩＤ（識別子）を含む。
【００１８】
第１トンネルは、ＧＲＥトンネル、ＰＰＰｏＥ（Ｐｏｉｎｔ−ｔｏ−Ｐｏｉｎｔ Ｐｒｏｔｏｃｏｌ ｏｖｅｒ Ｅｔｈｅｒｎｅｔ（登録商標）、イーサネット（登録商標）におけるポイントツーポイントプロトコル）トンネル、Ｌ２ＴＰ（Ｌａｙｅｒ２ Ｔｕｎｎｅｌｉｎｇ Ｐｒｏｔｏｃｏｌ、レイヤ２トンネルプロトコル）トンネル等であってもよく、本発明の実施例は、これについて限定しない。
【００１９】
ステップＳ１０２では、第１機器は、転送エントリを構成する。ただし、当該転送エントリのマッチフィールドは、第１トンネルに関する情報を含む。
【００２０】
ただし、第１機器は、ソフトウェア面またはハードウェア面で上記転送エントリを構成してもよく、ソフトウェア面で転送エントリのマッチフィールドを構成し、且つハードウェアで動作フィールドを構成してもよく、または、ハードウェア面で転送エントリのマッチフィールドを構成し、且つソフトウェア面で動作フィールドを構成してもよい。本発明の実施例は、これについて限定しない。
【００２１】
１つの実施形態では、第１通知メッセージから第１トンネルに関する情報を取得した後、第１機器は、表１に示す転送エントリを１つ構成する。
【表１】
2019536364.tif 000003
【００２２】
ステップＳ１０３では、第１機器は、カプセル化されたデータパケットを受信した後、当該カプセル化されたデータパケットを、表１に示す転送エントリとマッチングし、マッチングした場合に、当該カプセル化されたデータパケットに対してデカプセル化を行い、デカプセル化されたデータパケットを取得し、その後、デカプセル化のデータパケットを第１トンネルの宛先機器へ転送する。
【００２３】
ステップＳ１０３では、カプセル化されたデータパケットを受信した後、第１機器は、当該カプセル化されたデータパケットを、ソフトウェア面またはハードウェア面での当該転送エントリのマッチフィールドとマッチングし、マッチングした場合に、ソフトウェア面またはハードウェア面での当該転送エントリの動作フィールドに応じて、当該カプセル化されたデータパケットに対してデカプセル化を行ってオリジナルデータパケットを取得し、当該オリジナルデータパケットを第１トンネルの宛先機器へ転送する。
【００２４】
上記実施例の方法において、トンネルの宛先機器は、当該宛先機器の前ホップ機器へ通知メッセージを送信する。当該通知メッセージには、当該トンネルに関する情報が付加されている。当該前ホップ機器は、当該通知メッセージを受信した後、マッチフィールドが当該トンネルに関する情報を含む転送エントリを一つ構成する。その後、当該前ホップ機器はカプセル化されたデータパケットを受信した後、当該カプセル化されたデータパケットが当該転送エントリにマッチングした場合に、当該前ホップ機器は当該カプセル化されたデータパケットに対してデカプセル化を行ってからトンネル宛先機器へ転送する。このように、トンネルの宛先機器の前ホップ機器は、早まってカプセル化されたデータパケットをデカプセル化し、デカプセル化されたオリジナルデータパケットを宛先機器へ転送する。これにより、宛先機器のデカプセル化の処理負担が軽減され、ソース機器と宛先機器の間で複数のトンネルが確立されたとき、一部のトンネルのパケットデカプセル化処理作業を前ホップ機器に分担させる。その一方、前ホップ機器と宛先機器の間のリンクに、オリジナルデータパケットを伝送すればよく、カプセル化されたデータパケットを伝送する必要がないため、リンクのデータ流量が減少され、リンク帯域幅が節約される。
【００２５】
また、転送エントリのためにエージングメカニズムが提供される。具体的に、所定時間内で第１トンネルの宛先機器からの第１通知メッセージを受信しなかった場合に、第１機器は、表１に示す転送エントリを削除する。このように、第１機器は、第１トンネルのソース機器からのカプセル化されたデータパケットを受信した後、当該カプセル化されたデータパケットに対してデカプセル化を行わずに、直接第１トンネルの宛先機器へ転送する。その後、当該宛先機器からの第１通知メッセージを再度受信したときに、第１機器は、図１に示す方法を実行し、転送エントリを改めて構成し、当該転送エントリに基づいて、パケットをデカプセル化した後で第１トンネルの宛先機器へ転送する操作を実行する。
【００２６】
トンネルの宛先機器が当該宛先機器の前ホップ機器へ通知メッセージを送信できるように、本発明の実施例では、トンネルｋｅｅｐａｌｉｖｅ（キープアライブ）メカニズムが利用される。例えば、ＧＲＥトンネルのｋｅｅｐａｌｉｖｅメカニズムでは、ＧＲＥのｋｅｅｐａｌｉｖｅ機能がオンにされた後、ソース機器は、周期的にＧＲＥトンネルを介して宛先機器へｋｅｅｐａｌｉｖｅ要求パケットを送信する。所定数のｋｅｅｐａｌｉｖｅ要求パケットを連続して送信した後、宛先機器からｋｅｅｐａｌｉｖｅ応答パケットをまだ受信しなかった場合に、ソース機器は、ＧＲＥトンネルの状態をｄｏｗｎ（利用不可能）に切り替える。ＧＲＥトンネルの状態がｄｏｗｎであるとき、宛先機器からｋｅｅｐａｌｉｖｅ応答パケットを受信した場合に、ソース機器は、ＧＲＥトンネルの状態をｕｐ（利用可能）に切り替え、そうでなければ、ｄｏｗｎ状態のままにする。同様に、ＰＰＰｏＥトンネルとＬ２ＴＰトンネル等のトンネルにも、類似するｋｅｅｐａｌｉｖｅメカニズムが存在する。
【００２７】
上記トンネルｋｅｅｐａｌｉｖｅメカニズムの利用により、第１トンネルの宛先機器は、ソース機器によって第１トンネルを介して送信されたｋｅｅｐａｌｉｖｅ要求パケットを受信した後、当該ｋｅｅｐａｌｉｖｅ要求パケットを送信した前ホップ機器（即ち、第１機器）へ、第１トンネルに関する情報が付加される第１通知メッセージを送信することにより、第１機器に図１に示す操作ステップを実行させる。実際の実施過程では、命令が構成されてもよく、当該命令に従って、第１機器は、第１トンネルの宛先機器からの第１通知メッセージを受信した後、自機に転送エントリを構成し、または、プロトコル標準において対応する規定を定める。本発明の実施例は、これについて限定しない。
【００２８】
同様に、第１機器は、あるトンネルの宛先機器としてもよい。このように、第１機器は、例えば第２トンネルの宛先機器とするときに、ソース機器によって第２トンネルを介して送信されたｋｅｅｐａｌｉｖｅ要求パケットを受信した後、当該ｋｅｅｐａｌｉｖｅ要求パケットを送信した前ホップ機器へ第２通知メッセージを送信する。第２通知メッセージには、第２トンネルに関する情報が付加されている。第２トンネルに関する情報は、第１機器のＩＰアドレス、当該ソース機器のＩＰアドレス、及び、第２トンネルの所属するプロトコルのＩＤを含む。第２トンネルは、ＧＲＥトンネル、ＰＰＰｏＥトンネル、Ｌ２ＴＰトンネル等であってもよい。本発明の実施例は、これについて限定しない。
【００２９】
本発明の実施例では、上記通知メッセージ（第１通知メッセージと第２通知メッセージを含む）のプロトコルおよびパケットフォーマットが具体的に限定されなく、トンネルに関する情報を付加して通知の役割を果たすということができればよい。ここでは、１種の通知メッセージは、ＴＴＬ（Ｔｉｍｅ Ｔｏ Ｌｉｖｅ、生存時間）が１であるｋｅｅｐａｌｉｖｅ応答パケットである。当該ＴＴＬは、データパケットがネットワークにおいて転送できる最大ホップ数を指示する。具体的に、第１機器は、第２トンネルの宛先機器とするときに、ソース機器からのｋｅｅｐａｌｉｖｅ要求パケットを受信した後、トンネルｋｅｅｐａｌｉｖｅメカニズムに従ってソース機器へｋｅｅｐａｌｉｖｅ応答パケットを返信してもよい。また、第１機器は、当該ｋｅｅｐａｌｉｖｅ要求パケットを送信した前ホップ機器へ、ＴＴＬ＝１のｋｅｅｐａｌｉｖｅ応答パケットを通知メッセージとして送信してもよい。このように、当該前ホップ機器が図１に示す操作ステップを実行することは便利になる。ＴＴＬを１に設定することは、２つの役割を果たせる。１つは、当該ｋｅｅｐａｌｉｖｅ応答パケットが継続転送されずに、当該前ホップ機器に終端する。もう１つは、通知メッセージの識別子とする。即ち、ＴＴＬ＝１は、当該ｋｅｅｐａｌｉｖｅ応答パケットが通知メッセージであることを示すために用いられる。
【００３０】
本発明の実施例では、トンネルｋｅｅｐａｌｉｖｅメカニズムが利用され、トンネル宛先機器は、ｋｅｅｐａｌｉｖｅ要求パケットを受信した後、当該ｋｅｅｐａｌｉｖｅ要求パケットを送信した前ホップ機器へ、ＴＴＬ＝１のｋｅｅｐａｌｉｖｅ応答パケットを別途送信することにより、当該前ホップ機器に転送エントリを構成するよう通知する。このように、後のカプセル化されたデータパケットは、早まって当該前ホップ機器でデカプセル化される。また、ＴＴＬ＝１のｋｅｅｐａｌｉｖｅ応答パケットを通知メッセージとして使用すると、新たなメッセージタイプを定義する必要がなく、ｋｅｅｐａｌｉｖｅ応答パケットのフォーマットを変更する必要もないため、応用範囲は広くなる。
【００３１】
以下では、図２に示す実際のネットワークを例として上記実施例の方法を詳細に説明する。図２に示すように、機器Ｒ_Ａ ２０１と機器Ｒ_Ｄ ２０４の間でＧＲＥトンネルが確立されている。機器Ｒ_Ａ ２０１は、当該ＧＲＥトンネルのソース機器であり、機器Ｒ_Ｄ ２０４は、当該ＧＲＥトンネルの宛先機器であり、機器Ｒ_Ｃ ２０３は、宛先機器の前ホップ機器である。機器Ｒ_Ａ ２０１のＩＰアドレスは、ＩＰ−Ａであり、ＭＡＣアドレスは、ＭＡＣ−Ａであり、機器Ｒ_Ｃ ２０３のＩＰアドレスは、ＩＰ−Ｃであり、ＭＡＣアドレスは、ＭＡＣ−Ｃであり、機器Ｒ_Ｄ ２０４のＩＰアドレスは、ＩＰ−Ｄであり、ＭＡＣアドレスは、ＭＡＣ−Ｄである。
【００３２】
その際のパケット転送方法は、図３に示すように、具体的に、以下のステップを含む。
【００３３】
ステップＳ３０１では、機器Ｒ_Ａ ２０１は、ＧＲＥトンネルを介して機器Ｒ_Ｄ ２０４へｋｅｅｐａｌｉｖｅ要求パケットを送信する。
【００３４】
ｋｅｅｐａｌｉｖｅ要求パケットのフォーマットは、図４に示すように、レイヤ２ヘッダ、外側ＩＰヘッダ、外側ＧＲＥヘッダ、内側ＩＰヘッダ、および内側ＧＲＥヘッダを含む。ステップＳ３０１では、当該ｋｅｅｐａｌｉｖｅ要求パケットの外側ＩＰヘッダにおけるソースＩＰアドレスがＩＰ−Ａであり、宛先ＩＰアドレスがＩＰ−Ｄであり、内側ＩＰヘッダにおけるソースＩＰアドレスがＩＰ−Ｄであり、宛先ＩＰアドレスがＩＰ−Ａである。
【００３５】
ステップＳ３０２では、機器Ｒ_Ｄ ２０４は、当該ｋｅｅｐａｌｉｖｅ要求パケットを受信した後、当該ｋｅｅｐａｌｉｖｅ要求パケットに対してデカプセル化を行い、その後、２つのｋｅｅｐａｌｉｖｅ応答パケット、即ち、ｋｅｅｐａｌｉｖｅ応答パケット１とｋｅｅｐａｌｉｖｅ応答パケット２を構築する。
【００３６】
具体的に、機器Ｒ_Ｄ ２０４は、当該ｋｅｅｐａｌｉｖｅ要求パケットを受信した後、当該ｋｅｅｐａｌｉｖｅ要求パケットの入力ポートをＰｏｒｔ２１と記録し、当該ｋｅｅｐａｌｉｖｅ要求パケットのレイヤ２ヘッダにおけるソースＭＡＣアドレスをＭＡＣ−Ｃ、且つ宛先ＭＡＣアドレスをＭＡＣ−Ｄと解析する。その後、機器Ｒ_Ｄ ２０４は、当該ｋｅｅｐａｌｉｖｅ要求パケットの外側ＩＰヘッダと外側ＧＲＥヘッダを除去し、残りのレイヤ２ヘッダ、即ち、内側ＩＰヘッダ及び内側ＧＲＥヘッダを取得し、これらのヘッダを利用してｋｅｅｐａｌｉｖｅ応答パケット１とｋｅｅｐａｌｉｖｅ応答パケット２を構築する。
【００３７】
ｋｅｅｐａｌｉｖｅ応答パケット１を構築する過程は、ＩＰヘッダにおけるＴＴＬを１に設定し、レイヤ２ヘッダにおけるソースＭＡＣアドレスＭＡＣ−Ｃと宛先ＭＡＣアドレスＭＡＣ−Ｄとを入れ替える（即ち、ＭＡＣ−ＤをソースＭＡＣアドレスとし、ＭＡＣ−Ｃを宛先ＭＡＣアドレスとする）ことである。このように、構築されたｋｅｅｐａｌｉｖｅ応答パケット１のレイヤ２ヘッダにおけるソースＭＡＣアドレスは、ＭＡＣ−Ｄであり、宛先ＭＡＣアドレスは、ＭＡＣ−Ｃであり、ＩＰヘッダにおけるＴＴＬ＝１である。ｋｅｅｐａｌｉｖｅ応答パケット１は、通知メッセージそのものである。
【００３８】
ｋｅｅｐａｌｉｖｅ応答パケット２は、ＴＴＬが１でないｋｅｅｐａｌｉｖｅ応答パケットであり、当該パケットのレイヤ２ヘッダにおけるソースＭＡＣアドレスは、ＭＡＣ−Ｄであり、宛先ＭＡＣアドレスは、ｋｅｅｐａｌｉｖｅ応答パケット２が転送される次ホップ機器のＭＡＣアドレスであり、ＩＰヘッダにおけるＴＴＬ＝２５４である。機器Ｒ_Ａ ２０１のＩＰアドレスＩＰ−Ａに基づいてＩＰルーティングテーブルから対応する次ホップ情報を検索すると、ｋｅｅｐａｌｉｖｅ応答パケット２の出力ポートおよび次ホップ機器のＭＡＣアドレス等の情報は、取得可能である。
【００３９】
ステップＳ３０３では、機器Ｒ_Ｄ ２０４は、Ｐｏｒｔ２１を介してｋｅｅｐａｌｉｖｅ応答パケット１を機器Ｒ_Ｃ ２０３へ送信する。
【００４０】
ＩＰ−Ａに基づいて検索された次ホップ機器が機器Ｒ_Ｃ ２０３でない可能性があるため、ステップＳ３０３において、ＩＰルーティングテーブルから検索された出力ポートを介してｋｅｅｐａｌｉｖｅ応答パケット１を送信するのではなく、ｋｅｅｐａｌｉｖｅ要求パケットの入力ポートＰｏｒｔ２１を介してｋｅｅｐａｌｉｖｅ応答パケット１を送信する。これにより、ｋｅｅｐａｌｉｖｅ応答パケット１を機器Ｒ_Ｃ ２０３へ送信することは、確保可能にする。
【００４１】
ステップＳ３０４では、機器Ｒ_Ｄ ２０４は、ＩＰルーティングテーブルから検索された出力ポートを介して、ｋｅｅｐａｌｉｖｅ応答パケット２を機器Ｒ_Ａ ２０１へ送信する。
【００４２】
ステップＳ３０２〜ステップＳ３０４から分かるように、ｋｅｅｐａｌｉｖｅ応答パケット１とｋｅｅｐａｌｉｖｅ応答パケット２とのＩＰヘッダにおけるＴＴＬ値が異なり、出力ポートを特定する方式も異なる。ｋｅｅｐａｌｉｖｅ応答パケット１のＴＴＬは、２５４ではなく、１に設定される。その目的は、ｋｅｅｐａｌｉｖｅ応答パケット１が１ホップのみ転送され、継続転送されないままで、機器Ｒ_Ｃ ２０３に終端する一方、ＴＴＬ＝１により、ｋｅｅｐａｌｉｖｅ応答パケット１が通知メッセージであることを認識することにある。また、ｋｅｅｐａｌｉｖｅ応答パケット１の出力ポートが、ＩＰ−Ａに基づいて検索された出力ポートではなく、ｋｅｅｐａｌｉｖｅ要求パケットの入力ポートＰｏｒｔ２１であると特定した原因は、下記のようになる。ｋｅｅｐａｌｉｖｅ応答パケット１は、ｋｅｅｐａｌｉｖｅ要求パケットに応答する転送パス（即ち、機器Ｒ_Ａ ２０１→機器Ｒ_Ｂ ２０２→機器Ｒ_Ｃ ２０３→機器Ｒ_Ｄ ２０４）における後ろから２ホップ目の機器、即ち、機器Ｒ_Ｃ ２０３である。このため、ｋｅｅｐａｌｉｖｅ要求パケットの入力ポートから発信されざるを得ない。その一方、ｋｅｅｐａｌｉｖｅ応答パケット２が機器Ｒ_Ａ ２０１へ送信されるため、ＧＲＥトンネルｋｅｅｐａｌｉｖｅメカニズムに従って、機器Ｒ_Ａ ２０１のＩＰアドレスＩＰ−Ａに基づいてＩＰルーティングテーブルから対応する出力ポートを検索し、当該出力ポートを介して機器Ｒ_Ａ ２０１へ転送すればよい。
【００４３】
実際の実施過程に、ｋｅｅｐａｌｉｖｅ応答パケット１とｋｅｅｐａｌｉｖｅ応答パケット２とは、特定の送信前後順を有さない。ｋｅｅｐａｌｉｖｅ応答パケット１は、機器Ｒ_Ｃ ２０３に対して転送エントリを構成するように通知することにより、パケットを早まってデカプセル化する機能を実現するために用いられる通知メッセージであり、ｋｅｅｐａｌｉｖｅ応答パケット２は、キープアライブメンテナンスメッセージである。１つの実施形態では、ステップＳ３０３を実行してからステップＳ３０４を実行してもよい。別の実施形態では、ステップＳ３０４を実行してからステップＳ３０３を実行してもよい。
【００４４】
ステップＳ３０５では、機器Ｒ_Ａ ２０１は、ｋｅｅｐａｌｉｖｅ応答パケット２を受信した後、ＧＲＥトンネルの状態をｕｐに維持する。
【００４５】
その後、機器Ｒ_Ａ ２０１は、所定送信時間間隔に達したときに、ステップＳ３０１を再度実行する。
【００４６】
ステップＳ３０６では、機器Ｒ_Ｃ ２０３は、ｋｅｅｐａｌｉｖｅ応答パケット１を受信した後、ＩＰヘッダにおけるＴＴＬ＝１と解析すると、直接ＣＰＵへ送信して処理させる。ＣＰＵは、当該ｋｅｅｐａｌｉｖｅ応答パケット１のＩＰヘッダからソースＩＰアドレスＩＰ−Ｄ、宛先ＩＰアドレスＩＰ−ＡとプロトコルＩＤを取得し、その後ハードウェア面で表２に示す転送エントリを構成する。
【表２】
2019536364.tif 000004
【００４７】
また、機器Ｒ_Ｃ ２０３は、上記ｋｅｅｐａｌｉｖｅ応答パケット１を受信すると、タイマを起動して０から計時を開始し、その後、ｋｅｅｐａｌｉｖｅ応答パケット１を受信する度に、タイマを再起動することで、タイマに改めて０から計時を開始させ、タイマの計時時間が所定時間Ｔに達し、且つ機器Ｒ_Ｃ ２０３が新たなｋｅｅｐａｌｉｖｅ応答パケット１を受信しなかった場合に、当該転送エントリを削除する。
【００４８】
ステップＳ３０７では、機器Ｒ_Ｃ ２０３は、機器Ｒ_Ａ ２０１からのＧＲＥカプセル化されたデータパケットを受信した後、当該ＧＲＥカプセル化されたデータパケットを表２に示す転送エントリとマッチングし、当該エントリにヒットしたときに、当該転送エントリの動作フィールドに応じて、当該ＧＲＥカプセル化されたデータパケットに対してデカプセル化を行った後で機器Ｒ_Ｄ ２０４へ転送する。
【００４９】
図３に示す方法から分かるように、本発明の実施例の方法では、ＧＲＥトンネルのｋｅｅｐａｌｉｖｅメカニズムが利用され、ＧＲＥトンネルの宛先機器Ｒ_Ｄ ２０４は、ソース機器Ｒ_Ａ ２０１からのｋｅｅｐａｌｉｖｅ要求パケットを受信した後、応答する際に、当該ｋｅｅｐａｌｉｖｅ要求パケットを送信した前ホップ機器Ｒ_Ｃ ２０３へ、ＴＴＬ＝１のｋｅｅｐａｌｉｖｅ応答パケットを１つ別途送信する。このように、機器Ｒ_Ｃ ２０３は、転送エントリを構成でき、当該エントリに基づいて機器Ｒ_Ａ ２０１からのカプセル化されたデータパケットを早まってデカプセル化した後で機器Ｒ_Ｄ ２０４へ転送可能である。これにより、トンネル宛先機器Ｒ_Ｄ ２０４のデカプセル化処理負担が軽減されつつ、ＧＲＥトンネルのリンクのオーバーヘッドが低減される。
【００５０】
また、機器Ｒ_Ｃ ２０３は、表２に示す転送エントリに基づいてカプセル化されたデータパケットに対してデカプセル化を行うとき、トンネルの安全認証処理もサポート可能である。例えば、ＧＲＥトンネルは、識別キーワード（Ｋｅｙ）検証、ピアツーピア検証の２種の安全認証メカニズムをサポートする。
【００５１】
（１）Ｋｅｙ検証
【００５２】
ステップＳ３０６において機器Ｒ_Ｃ ２０３は、機器Ｒ_Ｄ ２０４からのｋｅｅｐａｌｉｖｅ応答パケット１を受信した後、機器Ｒ_Ｄ ２０４からＧＲＥトンネルのＫｅｙを取得して保存し、または、ｋｅｅｐａｌｉｖｅ応答パケット１にＫｅｙが付加され、機器Ｒ_Ｃ ２０３は、直接ｋｅｅｐａｌｉｖｅ応答パケット１からＫｅｙを取得して保存する。
【００５３】
機器Ｒ_Ｃ ２０３は、Ｋｅｙを取得した後、転送エントリを構成する。その際の転送エントリの動作フィールドは、カプセル化されたデータパケットに付加されるＫｅｙがローカルに保存されたＫｅｙに一致すると判断されたときに、当該カプセル化されたデータパケットに対してデカプセル化を行った後で機器Ｒ_Ｄ ２０４へ転送することである。
【００５４】
このように、ステップＳ３０７において、機器Ｒ_Ｃ ２０３は、機器Ｒ_Ａ ２０１からのＧＲＥカプセル化のデータパケットを受信した後、当該ＧＲＥカプセル化のデータパケットを転送エントリとマッチングし、当該エントリにヒットしたときに、当該転送エントリの動作フィールドに応じて、当該ＧＲＥカプセル化されたデータパケットに付加されるＫｅｙがローカルに保存されたＫｅｙに一致するか否かを判断し、一致する場合に、当該ＧＲＥカプセル化されたデータパケットに対してデカプセル化を行った後で機器Ｒ_Ｄ ２０４へ転送する。
【００５５】
（２）ピアツーピア検証
【００５６】
ｋｅｅｐａｌｉｖｅ応答パケット１には、チェック指示子、例えばチェックサム（ｃｈｅｃｋｓｕｍ）が付加されている。ステップＳ３０６において機器Ｒ_Ｃ ２０３がｋｅｅｐａｌｉｖｅ応答パケット１を受信した後、当該チェック指示子に基づいて、転送エントリを構成する。転送エントリの動作フィールドは、カプセル化されたデータパケットのチェックサムを算出し、算出されたチェックサムが当該カプセル化されたデータパケットに付加されるチェックサムに一致すると判断したときに、当該カプセル化されたデータパケットに対してデカプセル化を行った後で機器Ｒ_Ｄ ２０４へ転送することである。
【００５７】
このように、ステップＳ３０７において、機器Ｒ_Ｃ ２０３は、機器Ｒ_Ａ ２０１からのＧＲＥカプセル化されたデータパケットを受信した後、当該ＧＲＥカプセル化されたデータパケットを転送エントリとマッチングし、当該エントリにヒットしたときに、当該転送エントリの動作フィールドに応じて、当該ＧＲＥカプセル化されたデータパケットのチェックサムを算出し、当該チェックサムが当該ＧＲＥカプセル化されたデータパケットに付加されるチェックサムに一致するか否かを判断し、一致する場合に、当該ＧＲＥカプセル化されたデータパケットに対してデカプセル化を行った後で機器Ｒ_Ｄ ２０４へ転送する。
【００５８】
明らかに、図３に示す方法は、ｋｅｅｐａｌｉｖｅメカニズムをサポートする他のトンネル、例えば、ＰＰＰｏＥトンネルとＬ２ＴＰトンネル等にも適用する。本発明の実施例は、これについて限定しない。
【００５９】
上記パケット転送方法の実施例に対応し、本発明は、ネットワーク機器の実施例を更に提供する。
【００６０】
図５を参照すると、本発明の実施例のネットワーク機器は、受信手段５０１、構成手段５０２と送信手段５０３を備える。
【００６１】
受信手段５０１は、第１トンネルの宛先機器からの第１通知メッセージを受信する。前記ネットワーク機器は、前記第１トンネルの宛先機器の前ホップ機器であり、前記第１通知メッセージには、第１トンネルに関する情報が付加されている。
【００６２】
構成手段５０２は、受信手段５０１で第１通知メッセージが受信された後、転送エントリを構成する。転送エントリのマッチフィールドは、第１トンネルに関する情報を含む。
【００６３】
送信手段５０３は、受信手段５０１が第１トンネルを介してカプセル化されたデータパケットを受信された後、カプセル化されたデータパケットが転送エントリにマッチングした場合に、当該カプセル化されたデータパケットに対してデカプセル化を行い、デカプセル化されたデータパケットを取得し、デカプセル化されたデータパケットを第１トンネルの宛先機器へ転送する。
【００６４】
受信手段５０１は、更に、当該ネットワーク機器を第２トンネルの宛先機器とするときに、第２トンネルのソース機器によって第２トンネルを介して送信されたキープアライブ（ｋｅｅｐａｌｉｖｅ）要求パケットを受信する。
【００６５】
送信手段５０３は、更に、受信手段５０１でｋｅｅｐａｌｉｖｅ要求パケットが受信された後、当該ｋｅｅｐａｌｉｖｅ要求パケットを送信した前ホップ機器へ第２通知メッセージを送信する。第２通知メッセージには、第２トンネルに関する情報が付加されている。
【００６６】
また、図６に示すように、上記ネットワーク機器は、削除手段５０４を更に備える。受信手段５０１は、第１通知メッセージの受信から所定時間内で第１トンネルの宛先機器からの第３通知メッセージを受信したか否かを判断する。前記第３通知メッセージには、第１トンネルに関する情報が付加されている。受信手段５０１が所定時間内で第３通知メッセージを受信しなかった場合に、削除手段５０４は、当該ネットワーク機器から転送エントリを削除する。
【００６７】
受信手段５０１は、第１トンネルの宛先機器からの第１通知メッセージを受信したときに、タイマを起動して計時を開始し、タイマの計時時間が所定時間に達しても第３通知メッセージを受信しなかった場合に、所定時間内で第１トンネルの宛先機器からの第３通知メッセージを受信しなかったと特定する。
【００６８】
受信手段５０１で受信された第１通知メッセージと、送信手段５０３から送信された第２通知メッセージとは、ＴＴＬが１のｋｅｅｐａｌｉｖｅ応答パケットである。
【００６９】
上記第１トンネルに関する情報は、第１トンネルの両端の機器のＩＰアドレスと、第１トンネルの所属するプロトコルの識別子（ＩＤ）とを含む。上記第２トンネルに関する情報は、第２トンネルの両端の機器のＩＰアドレスと、第２トンネルの所属するプロトコルの識別子（ＩＤ）とを含む。具体的に、第１トンネルの両端の機器は、第１トンネルのソース機器と宛先機器であり、第２トンネルの両端の機器は、当該ネットワーク機器と第２トンネルのソース機器である。
【００７０】
上記第１トンネルまたは第２トンネルは、ＧＲＥトンネル、ＰＰＰｏＥトンネルおよびＬ２ＴＰトンネルのうちの１つである。
【００７１】
上記装置における各手段の機能及び作用の実現手順は、上記方法の対応ステップの実現手順を詳細に参照すればよいため、ここで繰り返し説明しない。
【００７２】
図７を参照し、図７は、本発明で例示されるネットワーク機器のハードウェアの構造模式図である。当該ネットワーク機器は、プロセッサ７０１と、機器の実行可能な指令を記憶する機器読み取り可能な記憶媒体７０２とを備える。プロセッサ７０１と機器読み取り可能な記憶媒体７０２とは、システムバス７０３を介して互いに通信する。また、プロセッサ７０１は、機器読み取り可能な記憶媒体７０２における機器の実行可能な指令を読み取って実行することにより、上述したパケット転送方法を実行可能である。通常、当該ネットワーク機器の実際の機能に応じて、当該ネットワーク機器は、他のハードウェアを更に備えてもよいが、ここで繰り返し説明しない。
【００７３】
本文で言及される機器読み取り可能な記憶媒体７０２は、如何なる電気的なもの、磁気的なもの、光学的なものまたは他の物理的記憶装置であってもよく、情報（例えば、実行可能な指令、データ等）を含むか記憶可能である。例えば、機器読み取り可能な記憶媒体は、ＲＡＭ（Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ、ランダムアクセスメモリ）、揮発性メモリ、不揮発性メモリ、フラッシュメモリ、記憶ドライバ（例えば、ハードディスクドライバ）、ソリッド・ステート・ディスク、如何なるタイプの記憶ディスクであってもよい。
【００７４】
例えば、プロセッサ７０１が機器読み取り可能な記憶媒体７０２における機器の実行可能な指令を読み取って実行するとき、当該プロセッサ７０１は、
第１トンネルの宛先機器からの第１通知メッセージを受信し、前記ネットワーク機器は、前記第１トンネルの宛先機器の前ホップ機器であり、前記第１通知メッセージには、前記第１トンネルに関する情報が付加されることと、
転送エントリを構成し、前記転送エントリのマッチフィールドは、前記第１トンネルに関する情報を含むことと、
前記ネットワーク機器が受信したカプセル化されたデータパケットは前記転送エントリにマッチングした場合に、前記カプセル化されたデータパケットに対してデカプセル化を行い、デカプセル化されたデータパケットを取得することと、
前記デカプセル化されたデータパケットを前記第１トンネルの宛先機器へ転送することとを実行させる。
【００７５】
１つの例示では、プロセッサ７０１は、更に、前記機器の実行可能な指令により、
第２トンネルのソース機器によって前記第２トンネルを介して送信されたキープアライブ（ｋｅｅｐａｌｉｖｅ）要求パケットを受信し、前記ネットワーク機器は、前記第２トンネルの宛先機器であることと、
前記ｋｅｅｐａｌｉｖｅ要求パケットを送信した前ホップ機器へ第２通知メッセージを送信し、前記第２通知メッセージには、前記第２トンネルに関する情報が付加されることと、を実行させる。
【００７６】
１つの例示では、プロセッサ７０１は、更に、前記機器の実行可能な指令により、
前記第１通知メッセージの受信から所定時間内で、前記第１トンネルの宛先機器からの第３通知メッセージを受信したか否かを判断し、前記第３通知メッセージには、前記第１トンネルに関する情報が付加されることと、
前記所定時間内で前記第３通知メッセージを受信しなかった場合に、前記転送エントリを削除することと、を実行させる。
【００７７】
１つの例示では、プロセッサ７０１は、更に、前記機器の実行可能な指令により、
前記第１トンネルの宛先機器からの前記第１通知メッセージを受信したときに、タイマを起動して計時を開始することと、
前記タイマの計時時間が前記所定時間に達しても前記第３通知メッセージを受信しなかった場合に、前記所定時間内で前記第１トンネルの宛先機器からの前記第３通知メッセージを受信しなかったと特定することと、を実行させる。
【００７８】
１つの例示では、前記第１通知メッセージおよび前記第２通知メッセージは、生存時間（ＴＴＬ）が１であるｋｅｅｐａｌｉｖｅ応答パケットである。
【００７９】
１つの例示では、前記第１トンネルに関する情報は、前記第１トンネルの両端の機器のインターネットプロトコル（ＩＰ）アドレスと、前記第１トンネルの所属するプロトコルの識別子（ＩＤ）とを含み、
前記第２トンネルに関する情報は、前記第２トンネルの両端の機器のインターネットプロトコル（ＩＰ）アドレスと、前記第２トンネルの所属するプロトコルの識別子（ＩＤ）とを含む。
【００８０】
装置実施例は、方法実施例に基本的に対応するため、その関連箇所が方法実施例部分の説明を参照すればよい。上述した装置実施例は、単に例示であり、その中、分離部品として説明される手段が物理的に分離されるものであってもよくでなくてもよい。また、手段として表示される部品は、物理手段であってもでなくてもよい。更に、それらの手段は、１箇所に位置してもよく、複数のネットワークセルに分散してもよい。実際の需要に応じてその中の一部または全部のモジュールを選択して本実施例の目的を果たすことが可能である。当業者は、進歩性に値する労働をせずに、理解して実施可能である。
【００８１】
説明すべきことは、本文に、第１と第２等のような関係用語は、単に１つの実体や操作を別の実体や操作と区分させるために用いられ、これらの実体や操作の間になんらかの実際的な関係や順序が存在するとは必ずしも要求やヒントすることではない。用語「含む」、「備える」またはほかの何れかの同義語が非排他的含有をカバーすることを狙う。このように、一シリーズの要素を有する手順、方法、物品または機器は、それらの要素を有するだけではなく、明確に挙げられていない他の要素も有し、またはこのような手順、方法、物品または機器に固有の要素も有する。更なる制限がない限り、語句「１つの…を含む」で限定される要素は、前記要素を有する手順、方法、物品または機器に他の同じ要素を更に有することをあえて排除しない。
【００８２】
以上では、本発明の実施例に供される方法と装置を詳細に説明した。本文では、具体的な例を用いて本発明の原理及び実施形態を説明したが、以上の実施例の説明が単に本発明の方法およびその要旨を容易に理解するために用いられる。それとともに、当業者であれば、本発明の思想に基づいて具体的な実施形態及び応用範囲を変更可能である。したがって、本明細書の内容は、本発明に対する制限として理解されるべきではない。
【図１】
2019536364.tif 000005
【図２】
2019536364.tif 000006
【図３】
2019536364.tif 000007
【図４】
2019536364.tif 000008
【図５】
2019536364.tif 000009
【図６】
2019536364.tif 000010
【図７】
2019536364.tif 000011
【国際調査報告】
2019536364.tif 000012
2019536364.tif 000013
2019536364.tif 000014
2019536364.tif 000015