(57)【要約】【課題】断片パケットのリアセンブルおよびリオーダリングの過程において、無意味な滞留によるバッファメモリのリソースの占有とパケット遅延を防止する。【解決手段】断片パケットをリアセンブルする断片パケットバッファ部（ＭＥＭ−Ｆ）３８へ供給されるパケットの第１断片から呼を識別し（５２）、当該呼について断片パケットが受信されたことをＧＴＰレイヤ終端部（ＧＴＰＬＴ）４４へ通知する。ＧＴＰＬＴ４４のリオーダリングメモリ（ＭＥＭ−Ｒ）５６では、パケットの追い抜きが検出されたとき、当該呼について断片パケットの受信が通知されていれば、追い抜きパケットをバッファに蓄積することによってリオーダリングを行ない、通知されていなければ、蓄積せずに直ちにフォワーディングする。【選択図】　　　図２
2004135076.tif 000002
【特許請求の範囲】
【請求項１】
断片パケットの受信を検出し、検出された断片パケットから元のパケットを再構成するリアセンブル部と、
パケットの第１断片の受信を検出して通知する第１断片検出部と、
リアセンブル部からのパケットから追い抜きパケットを検出し、追い抜きパケットが検出されたとき第１断片検出部から第１断片受信の通知がなければ追い抜きパケットをバッファに蓄積せずにフォワーディングし、第１断片受信の通知があれば追い抜きパケットをバッファに蓄積することによってパケットのリオーダリングを行なうリオーダリング部とを具備する断片パケットのリアセンブルおよびリオーダリング装置。
【請求項２】
前記第１断片検出部は、第１断片からユーザの識別に必要な情報を抽出し、
前記リオーダリング部は、追い抜きパケットと同じユーザに属するパケットの第１断片の受信の通知があるとき追い抜きパケットをバッファに蓄積する請求項１記載の装置。
【請求項３】
前記リオーダリング部は、追い抜きパケットの検出から所定時間経過後に第１断片受信の通知の有無を調べる請求項１または２記載の装置。
【請求項４】
前記リアセンブル部は、同じパケットからの第１断片よりも先に他の断片が受信されるとき、同じパケットからのすべての断片を廃棄する請求項１〜３のいずれか１項記載の装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、断片化されたパケットから断片化前のパケットを復元し、パケット到着順序の逆転を元に戻す、リアセンブルおよびリオーダリング装置、特に、ＧＰＲＳ（Ｇｅｎｅｒａｌ　Ｐａｃｋｅｔ　Ｒａｄｉｏ　Ｓｅｒｖｉｃｅ）のＧＴＰ（ＧＰＲＳ　Ｔｕｎｎｅｌｉｎｇ　Ｐｒｏｔｃｏｌ）トンネル内で断片化されたパケットから断片化前のパケットを復元し、断片化およびリアセンブルによって生じたパケット到着順序の逆転を元に戻す、リアセンブルおよびリオーダリング装置に関する。
【０００２】
【従来の技術】
携帯電話等の移動機のユーザへＩＰネットワークのサービスを提供するＧＰＲＳにおいては、ネットワーク内で移動する移動機との通信を維持するためのプロトコルとして、ＧＴＰが採用されている。すなわち、移動機が属するエリアの基地局に接続されたＲＮＣ（Ｒａｄｉｏ　Ｎｅｔｗｏｒｋ　Ｃｏｎｔｒｏｌｌｅｒ）とＳＧＳＮ（Ｓｅｒｖｉｎｇ　ＧＰＲＳ　Ｓｕｐｐｏｒｔ　Ｎｏｄｅ）との間でトンネルが張られる。移動機が移動して隣のエリアにハンドオーバーするとき、新たなエリアのＲＮＣとの間でトンネルを張り替えることにより通信が維持される。さらに、インターネットまたはイントラネットとの接続点であるＧＧＳＮ（Ｇａｔｅｗａｙ　ＧＰＲＳ　Ｓｕｐｐｏｒｔ　Ｎｏｄｅ）とＳＧＳＮとの間にもトンネルが張られる。移動機が別のＳＧＳＮの配下にあるエリアにリロケーションするとき、ＲＮＣとＳＧＳＮとの間だけでなくＳＧＳＮとＧＧＳＮとの間においてもトンネルの張り替えが行なわれる。
【０００３】
このＧＴＰプロトコルでは、ユーザパケットに新たなヘッダが付加されるため、トンネル内ではその分だけパケットが長くなる。ユーザパケットのＭＴＵ（Ｍａｘｉｍｕｍ　Ｔｒａｎｓｍｉｓｓｉｏｎ　Ｕｎｉｔ）にこの増分を加えた長さのパケットがＧＳＮ（ＧＰＲＳ　Ｓｅｒｖｉｃｅ　Ｎｏｄｅ）間を疎通できない場合（例えばユーザに与えられたＭＴＵとＧＳＮ間のネットワークのＭＴＵが等しい場合）、ボトルネックとなるＧＳＮまたは中継ルータによりそのパケットは断片化される。ＧＳＮホストでは、これら断片化したパケットを再構成（リアセンブル）して断片化前のパケットを復元する。リアセンブルの際には、断片化されたパケットは断片が全て揃うまで待つことになるので、断片化されなかったパケットによる追い抜きが発生してパケットの順序が逆転する場合がある。パケットの到着順序を維持しなければならないサービスに属するパケットについては、リアセンブル後においてパケットに付されたシーケンス番号を参照することにより、断片化のあったパケットを追い越して先に到着したパケットをバッファに一時的に格納して順序の逆転を元に戻す必要がある（リオーダリング）。
【０００４】
【特許文献１】
特開平５−１０３０１６号公報
【０００５】
【発明が解決しようとする課題】
しかしながら、リアセンブル処理の後においては、未到着のパケットがリアセンブルによる順序逆転のために未到着であるのか、どこか途中でパケットが廃棄されるなどにより消失したために未到着であるのかが区別できないので、いずれの場合にもパケット蓄積のためにバッファが使用される。大量のトラフィックを扱うノードではこれが全体として膨大な量となり、不必要なバッファリングのために処理時間も増大する。そのため、従来では、ユーザのＭＴＵを所定値（例えばネットワークのＭＴＵ−増分）以下に制限することによりこの問題を回避していた。
【０００６】
したがって本発明の目的は、ユーザのＭＴＵを制限することなく、必要最小限のリソースを使用することにより、パケットの順序性を維持することが可能な断片パケットのリアセンブルおよびリオーダリング装置を提供することにある。
【０００７】
【課題を解決するための手段】
本発明によれば、断片パケットの受信を検出し、検出された断片パケットから元のパケットを再構成し、リアセンブル部と、パケットの第１断片の受信を検出して通知する第１断片検出部と、リアセンブル部からのパケットから追い抜きパケットを検出し、追い抜きパケットが検出されたとき第１断片検出部から第１断片受信の通知がなければ追い抜きパケットをバッファに蓄積せずにフォワーディングし、第１断片受信の通知があれば追い抜きパケットをバッファに蓄積することによってパケットのリオーダリングを行なうリオーダリング部とを具備する断片パケットのリアセンブルおよびリオーダリング装置が提供される。
【０００８】
前記第１断片検出部は、第１断片からユーザの識別に必要な情報を抽出し、前記リオーダリング部は、追い抜きパケットと同じユーザに属するパケットの第１断片の受信の通知があるとき追い抜きパケットをバッファに蓄積することが好ましい。
【０００９】
【発明の実施の形態】
図１はＧＴＰプロトコルによるオーバーヘッドの増加とそれによって生じるパケットの断片化を説明する図である。図１において、ユーザパケット１０にはＧＴＰヘッダ１２、ＵＤＰヘッダ１４および網ＩＰヘッダ１６が付加される。ユーザに与えられたＭＴＵの値１１に新たに付加されるヘッダの長さを加算したものがネットワークのＭＴＵ１３よりも大であれば、ボトルネックとなるＧＳＮノードまたはＩＰ中継ノードにおいて第１断片１８および第２断片２０に断片化される。ここで、第１断片１８にはＧＴＰヘッダ１２およびＵＤＰヘッダ１４等の断片化前のパケットのヘッダ情報が全て含まれるのに対して、第２断片２０には第１断片に収容されたユーザパケット１０−１の残り１０−２のみが含まれることが注目される。
【００１０】
図２は本発明が適用されたＧＳＮノード装置の構成を示すブロック図である。なお、ＧＰＲＳにおけるＧＳＮノード装置を例にとって本発明を説明するが、それに限らず、断片パケットの再構成およびリオーダリングを行なう装置であれば本発明を同様に適用することが可能であることは言うまでもない。
【００１１】
図２において、Ｌ１／Ｌ２終端部（ＳＡＲ）３２は物理レイヤ（Ｌ１）およびデータリンクレイヤ（Ｌ２）を終端し、ＩＰレイヤ終端部（ＩＰＬＴ）３４はＩＰレイヤを終端する。ＳＡＲ３２とＩＰＬＴ３４の間には、断片パケット検出部（ＦＲＧＣ）３６が設けられる。ＦＲＧＣ３６は断片パケットが検出されたらそれを断片パケットバッファ部（ＭＥＭ−Ｆ）３８へドロップし、ＭＥＭ−Ｆ３８からの再構成パケットを挿入する。ＭＥＭ−Ｆ３８は残断片管理部４０およびバッファメモリ４２を有する。残断片管理部４０は断片パケットを断片パケットの網ＩＰヘッダ１６（図１）から抽出されたフラグメントＩＤ等のパラメータに基いて、断片パケットをフラグメントＩＤごとにバッファメモリ４２に一時的に格納し、必要な断片が揃ったらパケットを再構成する。ＧＴＰレイヤ終端部４４はＧＴＰレイヤを終端するものであり、そこからさらにＩＰレイヤ終端部４６およびＬ１／Ｌ２終端部４８を経て新たなＧＴＰトンネルが開始する。
【００１２】
ＧＴＰＬＴ４４は、ヘッダに含まれるバージョン番号を参照し（５２）、送信先ＩＰアドレス（必要に応じてさらに送信元ＩＰアドレス）およびＧＴＰヘッダに含まれるＴＥＩＤ（図３参照）に基いて、パケットが属する呼（ユーザ）を識別し（５４）、パケットの順序を維持する必要のある呼に属するパケットについてＧＴＰヘッダに含まれるシーケンス番号（図３）を参照して呼ごとにパケットの順序逆転を検出し、必要があれば呼（ユーザ）ごとにパケットをリオーダリングメモリ（ＭＥＭ−Ｒ）５６に格納することによってパケットの順序性を回復する。これの詳細については後述する。
【００１３】
本発明において、ＭＥＭ−Ｆ３８においては断片パケットのリアセンブルの他に、呼識別情報抽出部５２において、パケットの第１断片を抽出し（５４）、ＧＴＰＬＴ４４と同様にしてバージョン番号を参照し（５６）、ＴＥＩＤ等からパケットが属する呼（ユーザ）を識別して（５８）当該呼に属するパケットの第１断片が検出されたことをＧＴＰＬＴ４４のＭＥＭ−Ｒ５６に通知する。なお、呼識別情報抽出部５２においては、必要なパラメータの抽出のみを行ない、それらに基づく呼（ユーザ）の識別はＧＴＰＬＴ４４において行なう様にしても良い。ＭＥＭ−Ｒ５６においては、パケットの順序を維持しなければならない呼に属するパケットについてパケットのシーケンス番号を監視することによってパケットの追い抜きを検出する。パケットの追い抜きが検出されたとき、そのパケットと同一の呼に属するパケットについて第１断片が検出されたことを通知されている場合のみ、リアセンブルされたパケットが到着して順序を回復できるようになるまで、又は、リアセンブルされたパケットが到着するまでの時間を考慮した所定の時間が経過するまで、追い抜きパケットをバッファに蓄積する。
【００１４】
図４〜６を参照して上記の処理を具体的に説明する。図４はシーケンス番号１８および１９のパケットが到着し、バッファに蓄積されることなく出力された状態を示す。このとき、次に到着するパケットに期待されるシーケンス番号は１９から２０に変わる。図４に示したケースでは次に到着するパケットのシーケンス番号は２０であり、これは期待値と一致するのでバッファに蓄積されることなく直ちに出力される。シーケンス番号２１のパケットも同様である。図５に示したケースでは、次シーケンス番号の期待値が２０であるのに対し、シーケンス番号２２のパケットが到着し、かつ、この呼について断片化したパケットが受信されたことをＭＥＭ−Ｆから通知されている。この場合には、シーケンス番号２０のパケットおよびシーケンス番号２１のパケットがＭＥＭ−Ｒに到着するまで、或いはタイマが満了するまで、後続するシーケンス番号２２，２３，２４…のパケットをバッファに蓄積し続ける。シーケンス番号２０のパケットおよびシーケンス番号２１のパケットが受信されたら、当該パケットおよびバッファに蓄積されたパケットを正しい順序でフォワーディングする。シーケンス番号２０のパケットまたはシーケンス番号２１のパケットを受信することなくタイマが満了したら（図示した例ではパケットが１４個バッファに蓄積されたら）、それ以上待たずにバッファ内のパケットをフォワーディングする。図６に示すように、断片化パケットを受信済であることをＭＥＭ−Ｆから通知されていない場合には、後続パケットをバッファに蓄積することなく直ちに出力する。なお、パケットの追い抜きが検出されたとき、一定時間経過するまで後続パケットをバッファに格納し、一定時間経過後に第１断片検出通知の有無を調べ、通知が来ていればパケットの蓄積を続行し、通知が来ていなければ直ちにバッファ内のパケットをフォワーディングするようにしても良い。これより、無意味な滞留によるＭＥＭ−Ｒのリソース占有とパケットの遅延を防ぎ、リオーダリングバッファを効率的に使用することができる。
【００１５】
またＭＥＭ−Ｆ３８においては、受信した断片が第１断片でなく、かつ、現在バッファ４２に滞留している断片と勘合しない場合、ＩＰ中継網の障害またはルーティングテーブルの変更等が発生したものとして、リアセンブルの管理に必要な情報（ＩＰレイヤ上の送信元ＩＰアドレス、ＩＤ、オフセット、フラグ、パケットの全長、および必要があればＵＤＰレイヤ上のチェックサムポート番号）のみをタイマ満了まで保持し、タイマ満了までに到着した第１断片を含む他の断片を一括して廃棄することが望ましい。すなわち、同じパケットからの第１断片よりも先にそれ以外の断片が到着したとき、障害等の発生と判断してその断片およびそれと同じパケットからのすべての断片をバッファに蓄積することなく廃棄する。これにより、不要なバッファ滞留を抑え、ＩＰ中継網の擾乱の影響を抑えることができる。
【００１６】
【発明の効果】
以上説明したように本発明によれば、無意味な滞留によるバッファメモリのリソース占有とパケット遅延を防止することができる。
【図面の簡単な説明】
【図１】ＧＴＰプロトコルによるオーバーヘッドの増加とそれによって生じるパケットの断片化を説明する図である。
【図２】本発明が適用されたＧＳＮノード装置の構成を示すブロック図である。
【図３】ＧＴＰヘッダの詳細を示す図である。
【図４】ＭＥＭ−Ｒの通常動作を説明する図である。
【図５】断片パケット受信時のＭＥＭ−Ｒの動作を説明する図である。
【図６】パケット消失時のＭＥＭ−Ｒの動作を説明する図である。
【図１】
2004135076.tif 000003
【図２】
2004135076.tif 000004
【図３】
2004135076.tif 000005
【図４】
2004135076.tif 000006
【図５】
2004135076.tif 000007
【図６】
2004135076.tif 000008