(57)【特許請求の範囲】
【請求項１】
ペイロード部に分割されたＩＰ（ internet protocol）パケットが書き込まれた固定長パケットが、該ＩＰパケットの先頭部分を含むものから最終部分を含むものまで順に入力されるフラグメンテーション処理デバイスであって、
前記ＩＰパケットのＩＰパケットヘッダを含む固定長パケットから該ＩＰパケットヘッダに含まれているＩＰパケットのサイズに関する情報を取得し、該ＩＰパケットのサイズとＭＴＵ（ Maximum Transfer Unit）サイズとを比較し、該ＩＰパケットのサイズが該ＭＴＵサイズよりも大きなサイズである場合、前記ＩＰパケットはフラグメンテーション処理を施される必要があるものと判断するフラグメンテーション処理判断手段と、
該フラグメンテーション処理判断手段により前記ＩＰパケットがフラグメンテーション処理を施される必要があるものと判断された場合、前記ＩＰパケットヘッダが含まれている固定長パケットからＩＰパケットヘッダを抽出し、該ＩＰパケットヘッダからフラグメンテーション処理後のＩＰパケットヘッダを作製するＩＰヘッダ処理手段と、
前記フラグメンテーション処理判断手段により前記ＩＰパケットがフラグメンテーション処理を施される必要があるものと判断された場合、前記ＩＰヘッダ処理手段により作製されたＩＰパケットヘッダの後ろに、前記フラグメンテーション処理デバイスに入力された順に前記固定長パケットに含まれたＩＰパケットのＩＰパケットペイロードを付加した前記ＭＴＵサイズよりも小さいサイズのＩＰパケットを複数作製し、該ＩＰパケットを送出し、前記フラグメンテーション処理判断手段により前記ＩＰパケットがフラグメンテーション処理を施される必要がないものと判断された場合、前記フラグメンテーション処理デバイスに入力された順に、前記固定長パケットからＩＰパケットを組み立て、該ＩＰパケットをデバイス外へ送出するＩＰパケット組立手段と、を有し、
更に、前記フラグメンテーション処理判断手段により前記ＩＰパケットがフラグメンテーション処理を施す必要があるものと判断された場合、固定長パケットのペイロードのサイズ（固定長パケットペイロード長）と、前記ＭＴＵのサイズ（ＭＴＵサイズ）と、前記ＩＰパケットヘッダに含まれているＩＰパケットのヘッダのサイズ（ＩＰパケットヘッダ長）とから、
0003557998.tif 000004
によりＮを算出し、該算出されたＮの内一番大きな数字Ｎ'を前記ＩＰパケット組立手段へ通知する固定長パケット組立個数算出手段をさらに有し、
前記ＩＰパケット組立手段は、前記通知を受けた場合、前記ＩＰパケットの先頭部分を含む固定長パケットからＮ'個ずつ固定長パケットに含まれたＩＰパケットペイロードを順に組み立て、該ＩＰパケットペイロードの先頭に前記ＩＰヘッダ処理手段により作製されたＩＰパケットヘッダを付加することでＩＰパケットを作製するものであり、前記ＩＰパケットから作製された固定長パケットの数（固定長パケット数）が前記Ｎ'で割り切ることができず、剰余が生じるものである場合、フラグメンテーション処理デバイスへ先に入力された固定長パケットから、前記ＩＰパケットの最終部分を含む固定長パケットまでの固定長パケットについては、前記剰余の数をＮ'とし、前記Ｎ'個の固定長パケットからＩＰパケットを作製し、該ＩＰパケットをデバイス外へ送出するものであることを特徴とするフラグメンテーション処理デバイス。
【請求項２】
前記ＩＰパケット組立部は、前記Ｎ'個分の固定長パケットを取得した後、順次ＩＰパケットを作製し、するものであることを特徴とする請求項１記載のフラグメンテーション処理デバイス。
【請求項３】
前記固定長パケットはＡＴＭセルであることを特徴とする請求項１または２に記載のフラグメンテーション処理デバイス。
【請求項４】
前記固定長パケットのヘッダ部は、ＩＰパケットが入力された入力回線に関する情報、および固定長パケットの入力ポートに関する情報の内の少なくとも１つが含まれているものであり、
前記ＩＰパケット組立手段は、前記固定長パケットから組み立てたＩＰパケットを、前記ＩＰパケットが書き込まれていた固定長パケットヘッダから入力回線に関する情報、および固定長パケット入力ポートに関する情報の内の少なくとも１つを取得し、該入力回線、およびは前記固定長パケットの入力ポートに対応した出力回線へ前記作製したＩＰパケットを出力するものであることを特徴とする請求項１から３のいずれか１項に記載のフラグメンテーション処理デバイス。
【請求項５】
請求項１から４のいずれか１項に記載のフラグメンテーション処理デバイスを複数有するフラグメンテーション処理装置であって、
各フラグメンテーション処理デバイスは、ＩＰパケットが入力された入力回線と対応付けられ、該対応付けられた入力回線から入力されたＩＰパケットが分割され書き込まれた固定長パケットからＩＰパケットを作製するものであることを特徴とするフラグメンテーション処理装置。
【請求項６】
前記フラグメンテーション処理装置は、固定長パケット分離デバイスをさらに有し、
該固定長パケット分離デバイスは、ＩＰパケットが入力された入力回線、および固定長パケットが入力された入力ポートごとに所定の前記フラグメンテーション処理デバイスへ固定長パケットを入力するものであることを特徴とする請求項５記載のフラグメンテーション処理装置。
【請求項７】
前記フラグメンテーション処理装置は、ＩＰパケット統合デバイスをさらに有し、
前記ＩＰパケット組立手段により組み立てられたＩＰパケットを、前記ＩＰパケットが入力された入力回線、および固定長パケットの入力ポートに対応した出力回線へ出力するものであることを特徴とする請求項５または６に記載のフラグメンテーション処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はフラグメンテーション処理デバイス、およびこれを実装するフラグメンテーション処理装置に関し、特に、多様な回線を収容してＩＰパケットの転送処理を行う場合に、フラグメンテーション処理をハードウェアのみで高速に処理するフラグメンテーション処理デバイス、およびこれを実装するフラグメンテーション処理装置に関する。
【０００２】
【従来の技術】
一般に、ＩＰネットワーク上のルータ等は、収容しているリンクレイヤプロトコルの仕様により、送受信することができるパケットのサイズが決まっている。ここで、送出側における送出することができるＩＰパケットのサイズのことをＭＴＵ（  Ｍａｘｉｍｕｍ  Ｔｒａｎｓｆｅｒ  Ｕｎｉｔ）サイズといい、受信側における受信することができるＩＰパケットのサイズのことをＭＲＵ（  Ｍａｘｉｍｕｍ  Ｒｅｃｅｉｖｅ  Ｕｎｉｔ  ）サイズという。
これらＭＴＵサイズとＭＲＵサイズとは入力回線と出力回線単位に各々別々の値が設定されていても良いため、ＩＰネットワーク上のルータ等の装置は、フラグメンテーション処理を行わなければならない場合がある。より詳しくは、フラグメンテーション処理は、ＭＴＵサイズよりも大きいサイズのＩＰパケットを送出しなければならない場合に必要とされる。例えば、ＩＰパケット長ＡのＩＰパケットをＭＴＵサイズがＢ（Ａ＞Ｂ）である出力回線へ送出する場合、ルータは、このＩＰパケットをＢ以下のサイズに分割しなければ送出することができない。この場合、フラグメンテーション処理が行われ、上記Ａのサイズを有するＩＰパケットは、ＭＴＵサイズ以下のサイズのＩＰパケットに分割され、送出される。このフラグメンテーション処理については、例えばＩＥＴＦ  ＲＦＣ１８１２  Ｒｅｑｕｉｒｅｍｅｎｔｓ  ｆｏｒ  ＩＰ  ｖｅｒｓｉｏｎ  ４  Ｒｏｕｔｅｒｓに記載された処理がある。
しかし、このフラグメンテーション処理は、すべてのルータ等において常に行われる処理ではない。すなわち、ＭＴＵサイズとＭＲＵサイズとが一致するように経路設計された場合等には必要とされないこともある。そのため、従来、フラグメンテーション処理は、ソフトウェアにより行われていた。
【０００３】
【発明が解決しようとする課題】
しかしながら、現在、多種多様な物理回線種別が存在し、物理回線種別ごとにＭＲＵサイズ値が異なる。そのため、異なる物理回線間におけるＩＰパケットの転送を行う際、フラグメンテーション処理は、頻繁に行われている。この場合、前記したようにソフトウェアによりフラグメンテーション処理が行われるため、ＩＰパケット転送処理に多くの時間を要してしまうという問題点が指摘されている。
また、従来のソフトウェアによるフラグメンテーション処理は、ＩＰパケットすべてを受信した後に行っていたため、長いＩＰパケットを受信した場合、フラグメンテーション処理を開始する時間が遅れ、ＩＰパケット転送処理に多くの多くの時間を要してしまうという問題点も指摘されている。
【０００４】
この問題点を解決するために、特開平１１−１６８４９２号公報には、ＩＰネットワーク上におけるＩＰパケットが転送されるルートの最小ＭＴＵサイズサイズを調査する機能を実装したルータ装置に関する従来技術が開示されている。
しかし、ＩＰパケットが転送されるルートは、このネットワークの状態により異なる場合があり、常に１つであるとは限らない。そのため、調査したルートと異なるルートにＩＰパケットが転送される場合、ネットワーク上では、フラグメンテーション処理が生じてしまう。
また、すべてのルータ装置等は、上記従来技術を実装している必要がある。
【０００５】
本発明は、上記問題点に鑑みなされたものであり、ハードウェアであるフラグメンテーション処理デバイスを提供することを目的とする。また、ハードウェアであるフラグメンテーション処理デバイスを実装したルータ等のフラグメンテーション処理装置を提供することを目的とする。
【０００６】
【課題を解決するための手段】
かかる目的を達成するために、請求項１記載のフラグメンテーション処理デバイスの発明は、ペイロード部に分割されたＩＰ（internet protocol）パケットが書き込まれた固定長パケットが、ＩＰパケットの先頭部分を含むものから最終部分を含むものまで順に入力されるフラグメンテーション処理デバイスであって、ＩＰパケットのＩＰパケットヘッダを含む固定長パケットからＩＰパケットヘッダに含まれているＩＰパケットのサイズに関する情報を取得し、ＩＰパケットのサイズとＭＴＵ（ Maximum Transfer Unit）サイズとを比較し、ＩＰパケットのサイズがＭＴＵサイズよりも大きなサイズである場合、ＩＰパケットはフラグメンテーション処理を施される必要があるものと判断するフラグメンテーション処理判断手段と、フラグメンテーション処理判断手段によりＩＰパケットがフラグメンテーション処理を施される必要があるものと判断された場合、ＩＰパケットヘッダが含まれている固定長パケットからＩＰパケットヘッダを抽出し、ＩＰパケットヘッダからフラグメンテーション処理後のＩＰパケットヘッダを作製するＩＰヘッダ処理手段と、フラグメンテーション処理判断手段によりＩＰパケットがフラグメンテーション処理を施される必要があるものと判断された場合、ＩＰヘッダ処理手段により作製されたＩＰパケットヘッダの後ろに、フラグメンテーション処理デバイスに入力された順に固定長パケットに含まれたＩＰパケットのＩＰパケットペイロードを付加したＭＴＵサイズよりも小さいサイズのＩＰパケットを複数作製し、ＩＰパケットを送出し、フラグメンテーション処理判断手段によりＩＰパケットがフラグメンテーション処理を施される必要がないものと判断された場合、フラグメンテーション処理デバイスに入力された順に、固定長パケットからＩＰパケットを組み立て、ＩＰパケットをデバイス外へ送出するＩＰパケット組立手段と、を有し、更に、前記フラグメンテーション処理判断手段により前記ＩＰパケットがフラグメンテーション処理を施す必要があるものと判断された場合、固定長パケットのペイロードのサイズ（固定長パケットペイロード長）と、前記ＭＴＵのサイズ（ＭＴＵサイズ）と、前記ＩＰパケットヘッダに含まれているＩＰパケットのヘッダのサイズ（ＩＰパケットヘッダ長）とから、
0003557998.tif 000002
によりＮを算出し、該算出されたＮの内一番大きな数字Ｎ'を前記ＩＰパケット組立手段へ通知する固定長パケット組立個数算出手段をさらに有し、
前記ＩＰパケット組立手段は、前記通知を受けた場合、前記ＩＰパケットの先頭部分を含む固定長パケットからＮ'個ずつ固定長パケットに含まれたＩＰパケットペイロードを順に組み立て、該ＩＰパケットペイロードの先頭に前記ＩＰヘッダ処理手段により作製されたＩＰパケットヘッダを付加することでＩＰパケットを作製するものであり、前記ＩＰパケットから作製された固定長パケットの数（固定長パケット数）が前記Ｎ'で割り切ることができず、剰余が生じるものである場合、フラグメンテーション処理デバイスへ先に入力された固定長パケットから、前記ＩＰパケットの最終部分を含む固定長パケットまでの固定長パケットについては、前記剰余の数をＮ'とし、前記Ｎ'個の固定長パケットからＩＰパケットを作製し、該ＩＰパケットをデバイス外へ送出するものであることを特徴としている。
【０００８】
請求項２記載の発明は、請求項１のフラグメンテーション処理デバイスにおいて、ＩＰパケット組立部は、Ｎ'個分の固定長パケットを取得した後、順次ＩＰパケットを作製し、するものであることを特徴としている。
【０００９】
請求項３記載の発明は、請求項１または２のフラグメンテーション処理デバイスにおいて、固定長パケットはＡＴＭセルであることを特徴としている。
【００１０】
請求項４記載の発明は、請求項１から３のいずれか１項のフラグメンテーション処理デバイスにおいて、固定長パケットのヘッダ部は、ＩＰパケットが該デバイスに入力された入力回線に関する情報、および／または固定長パケットが入力された該デバイス内の入力ポートに関する情報が含まれているものであり、ＩＰパケット組立手段は、固定長パケットから組み立てたＩＰパケットを、ＩＰパケットが書き込まれていた固定長パケットヘッダから入力回線に関する情報および／または固定長パケットが入力された該デバイス内の入力ポートに関する情報を取得し、該デバイスへの入力回線および／または固定長パケットが入力された該デバイス内の入力ポートに対応した出力回線へ作製したＩＰパケットを出力するものであることを特徴としている。
【００１１】
請求項５記載のフラグメンテーション処理装置の発明は、請求項１から４のいずれか１項に記載のフラグメンテーション処理デバイスを複数有するフラグメンテーション処理装置であって、各フラグメンテーション処理デバイスは、ＩＰパケットが入力された該デバイス内の入力回線と対応付けられ、対応付けられた入力回線から入力されたＩＰパケットが分割され書き込まれた固定長パケットからＩＰパケットを作製するものであることを特徴としている。
【００１２】
請求項６記載の発明は、請求項５のフラグメンテーション装置において、フラグメンテーション処理装置は、固定長パケット分離デバイスをさらに有し、固定長パケット分離デバイスは、ＩＰパケットが該装置に入力された入力回線および／または固定長パケットが入力された該装置内の入力ポートごとに所定のフラグメンテーション処理デバイスへ固定長パケットを入力するものであることを特徴としている。
【００１３】
請求項７記載の発明は、請求項５または６のフラグメンテーション装置において、フラグメンテーション処理装置は、ＩＰパケット統合デバイスをさらに有し、ＩＰパケット組立手段により組み立てられたＩＰパケットを、ＩＰパケットが該装置へ入力された入力回線および／または固定長パケットが入力された該装置内の入力ポートに対応した出力回線へ出力するものであることを特徴としている。
【００１４】
【発明の実施の形態】
以下、本発明の実施の形態を添付図面を参照しながら詳細に説明する。
【００１５】
以下、フラグメンテーション処理デバイス１０、およびこれを含むフラグメンテーション処理装置について詳細に説明する。
フラグメンテーション処理デバイス１０は、ＩＰ  ｏｖｅｒ  ＡＴＭ  回線や、ＰＯＳ（  Ｐａｃｋｅｔ  Ｏｖｅｒ  ＳＯＮＥＴ／ＳＤＨ）回線等、多様な回線を収容し、ＩＰパケットの転送処理を行う装置内に実装される。この装置をフラグメンテーション処理装置と呼ぶ。
【００１６】
＜フラグメンテーション処理デバイス１０＞
フラグメンテーション処理デバイス１０は、入力された固定長パケットを所定の大きさのＩＰパケットに組み立て、このＩＰパケットを送出する。これは、図１に示すように、バッファ２０、ＩＰヘッダ処理部３０、およびＩＰパケット組立部４０とを有する。
フラグメンテーション処理デバイス１０は、まず入力された固定長パケットをバッファ２０により保持し、次いでＩＰヘッダ処理部３０によりフラグメンテーション処理を行うか判断し、この判断結果に基づきＩＰパケット組立部４０でＩＰパケットを組み立てる。
【００１７】
＜バッファ２０＞
バッファ２０は、フラグメンテーション処理デバイス１０に入力された固定長パケットを保持する。なお、固定長パケットの保持方式は、特に限定されないが、好ましくはＦＩＦＯ方式がよい。
【００１８】
また、この固定長パケットは、例えばＡＴＭ（  Ａｓｙｎｃｈｒｏｕｎｏｕｓ  Ｔｒａｎｓｆｅｒ  Ｍｏｄｅ）において用いられるＡＴＭセル等でもよく、図２（ｂ）に示すように、ヘッダ部（以下、固定長パケットヘッダと表記する。）とペイロード部（以下、固定長パケットペイロード部と表記する。）とを有し、以下の条件を満たすものであれば、特に限定されない。
この条件とは、固定長パケットヘッダにＩＰパケットスイッチの入力ポート番号等のＩＰパケットの入力物理回線番号に関する情報が含まれていることである。
なお、この条件を満たさない固定長パケットであっても、フラグメンテーション処理デバイス１０がこの情報を取得することができれば、用いることができる。
なお、この固定長パケットは、フラグメンテーション処理装置がＩＰパケットを受信した場合に作製する。この作製方法は、公知の方法を用いて行う。また、フラグメンテーション処理デバイス１０は、ＩＰパケットを入力されるようにし、ＩＰパケットを入力された際、これを図示しない固定長パケット分割部により固定長パケットへ分割するようにしてもよい。
バッファ２０に保持された固定長パケットは、ＩＰヘッダ処理部３０に読み出される際、消去される。
【００１９】
なお、固定長パケットとして、ＡＡＬ５（  ＡＴＭ  Ａｄａｐｔａｔｉｏｎ  Ｌａｙｅｒ  ）を用いる場合、ＰＴＩフィールドが「００１」または「０１１」のものが最後の固定長パケットと判断され、この次の固定長パケットが先頭の固定長パケットと判断される。
【００２０】
＜ＩＰヘッダ処理部３０＞
ＩＰヘッダ処理部３０は、ＩＰパケットに対しフラグメンテーション処理を施すか判断し、ＩＰフラグメンテーション処理を施すと判断した場合、ＩＰパケットヘッダを作製する。
【００２１】
ＩＰヘッダ処理部３０は、バッファ２０に保持された固定長パケットの内、保持された時間の長いものから順に読み出す。読み出した固定長パケットペイロードの内ＩＰパケットのヘッダ（以下、ＩＰパケットヘッダと表記する。）を含むものから、ＩＰパケットヘッダを抽出する。また、このＩＰパケットヘッダの中から、ＩＰパケットヘッダ長、およびＩＰパケット長を抽出する。なお、この際、ＴＴＬ減算等のＩＰパケットヘッダ処理を行うようにしてもよい。
【００２２】
抽出したＩＰパケットヘッダ長、固定長パケットペイロード長およびＭＴＵサイズとから、下記［式３］を用い、Ｎを算出し、このＮの内、最大の整数をＮとしてＩＰパケット組立部４０へ通知する。このＮは、下記［式４］に示すように、ＩＰパケット組立部４０が組み立てるＩＰパケットのサイズ（フラグメンテーションサイズ）を求めるために用いられる。すなわち、下記［式３］、および［式４］によれば、ＩＰパケット組立部４０がＩＰパケットヘッダとＮ個の固定長パケットペイロードを組み合わせて作製するＩＰパケットは、ＭＴＵサイズよりも小さなものとなる。
0003557998.tif 000003
【００２３】
ＩＰヘッダ処理部３０は、抽出したＩＰパケット長とＭＴＵサイズとを比較し、ＩＰパケット長がＭＴＵサイズを超えるものであるか調べる。ＩＰパケット長がＭＴＵサイズ以下の大きさである場合フラグメンテーション処理を行う必要はなく、ＭＴＵサイズよりも大きい場合フラグメンテーション処理を行う必要が生じる。
なお、ＭＴＵサイズは、フラグメンテーション処理装置がネゴシエーション処理により得たものを取得するようにしてもよく、フラグメンテーション処理デバイス１０がネゴシエーション処理を行うことにより取得してもよく、また予めフラグメンテーション処理装置またはフラグメンテーション処理デバイス１０内に設定されるようにしてもよい。ネゴシエーション処理は、例えば、ＩＥＴＦ  ＲＦＣ１６６１Ｔｈｅ  Ｐｏｉｎｔ−ｔｏ−Ｐｏｉｎｔ  Ｐｒｏｔｏｃｏｌ（ＰＰＰ）  がある。ネゴシエーション処理は、ＩＰパケット送出先の装置のＭＲＵサイズを検知し、このサイズをＭＴＵサイズとするものである。また、複数の物理回線を収容する場合、この物理回線ごとにＭＴＵサイズを設定してもよい。
【００２４】
また、この際、ＩＰヘッダ処理部３０は、出力ポートチェック等の固定長パケットに施す処理を行う。この処理は、公知のものでよい。
【００２５】
ＩＰパケット長がＭＴＵサイズ以下の大きさである場合、ＩＰヘッダ処理部３０は、上記抽出したＩＰパケットのヘッダをＩＰパケット組立部４０へ送出する。また、順次固定長パケットをＩＰパケット組立部４０へ送出する。なお、先頭固定長パケットから最終固定長パケットまでの固定長パケット、または先頭かつ最終固定長パケットをバッファ２０から読み出し、これらをＩＰパケット組立部４０へ出力するようにしてもよい。
【００２６】
上記した固定長パケットには、次の種類がある。
（１）先頭固定長パケット
ＩＰパケットの先頭部分を含む固定長パケットであり、ＩＰパケットのヘッダ部を含む。
（２）最終固定長パケット
ＩＰパケットの最終部分を含む固定長パケットであり、この固定長パケットの次にバッファ２０へ入力された固定長パケットが先頭固定長パケットである。
（３）中間固定長パケット
ＩＰパケットの内、先頭固定長パケットと最終固定長パケットとを除いた固定長パケットである。ＩＰパケットの長さによっては存在しない場合もある。固定長パケットのペイロード部分すべてにデータが書き込まれている。
（４）先頭かつ最終固定長パケット
ＩＰパケットの先頭部分を含み、かつ最終部分をも含む。ＩＰパケットのサイズが固定長パケットのサイズよりも小さい場合に生じる。
なお、ＩＰヘッダ処理部３０は、固定長パケットの種類を、固定長パケットが上記性質を有するか否かにより判断してもよく、また別の方法により判断してもよい。例えば、固定長パケットのヘッダ部には、前記した固定長パケットの種類に関する情報が含まれているものとし、これを解読することにより判断してもよい。
【００２７】
ＩＰパケット長がＭＴＵサイズ以下のサイズである場合、ＩＰヘッダ処理部３０は、バッファ２０から読み出した固定長パケットを、ＩＰパケット組立部４０へ送出する。
なお、この際、先頭固定長パケットから最終固定長パケットまでの固定長パケットの個数をＩＰパケット組立部４０に通知するようにしてもよい。この場合、ＩＰパケット組立部４０は、通知された個数分の固定長パケットを受信した場合、これらからＩＰパケットを組み立てるようにしてもよい。
また、前記したように固定長パケットの個数を通知する代わりに、ＩＰパケット長がＭＴＵサイズ以下のサイズである旨を通知するようにしてもよい。この場合、ＩＰパケット組立部４０は、最終固定長パケットを受信したことを検知した後、これらの固定長パケットからＩＰパケットを組み立てるようにしてもよい。最終固定長パケットであるか否かは、ＩＰパケット組立部４０が前記したように判断してもよく、また、ＩＰヘッダ処理部３０が最終固定長パケットを送出する際に、最終固定長パケットを送出した旨をＩＰパケット組立部４０へ通知し、ＩＰパケット組立部４０がこの通知に基づき判断してもよい。
【００２８】
ＩＰパケット長がＭＴＵサイズを超える大きさである場合、ＩＰヘッダ処理部３０は、ＩＰパケットのヘッダに上記抽出したＩＰパケットヘッダに対し、ＩＰパケットヘッダ処理を施し、新たなＩＰパケットヘッダを生成し、これを保持する。このＩＰパケットヘッダ処理は、フラグメンテーション処理時に必要とされる処理であり、ＩＰパケットの規格により異なるが、例えば、ＩＥＴＦ  ＲＦＣ１８１２  Ｒｅｑｕｉｒｅｍｅｎｔｓ  ｆｏｒ  ＩＰ  ｖｅｒｓｉｏｎ  ４  Ｒｏｕｕｔｅｒｓ  に記載された処理がある。なお、ヘッダチェックサムの再計算等のフラグメンテーション処理に由来しないＩＰパケットヘッダ処理をも行うようにしてもよい。生成されたＩＰパケットヘッダは、先頭固定長パケットのペイロード部に含まれるＩＰパケットヘッダと置き換えられる。この先頭固定長パケットは、ＩＰパケット組立部４０４０へ送出される。
【００２９】
ＩＰヘッダ処理部３０は、バッファ２０から読み出した固定長パケットを順次ＩＰパケット組立部４０へ送出する。なお、先頭固定長パケットを含むＮ個の固定長ＩＰパケットを読み出した後、これらをまとめてＩＰパケット組立部４０へ送出するようにしてもよい。
次いで、上記先頭固定長パケットからＮ＋１個目からＮ＋Ｎ個目までの中間固定長パケットを順次ＩＰパケット組立部４０へ送出する。また、この後、上記抽出したＩＰパケットヘッダから新たなＩＰパケットヘッダを生成し、ＩＰパケット組立部４０へ送出する。この処理を繰り返す。なお、上記Ｎ個の固定長ＩＰパケットを読み出した後、これらをＩＰパケット組立部４０へ送出するようにしてもよい。
【００３０】
バッファ２０から最終固定長パケットを読み出した場合、この後、ＩＰパケットヘッダを生成し、ＩＰパケット組立部４０へ送出する。なお、前記したようにＮ個までの固定長パケットをバッファ２０から読み出した後、これらをＩＰパケット組立部４０へ送出する場合で、Ｎ個の固定長パケットを読み出す前に最終固定長パケットをバッファ２０から読み出した場合、最終固定長パケットまでの固定長パケットをＩＰパケット組立部４０へ送出するようにしてもよい。
【００３１】
なお、ＩＰヘッダ処理部３０は、固定長パケットが下記のシーケンスに従ってバッファ２０に入力されたものであるか調べる。このシーケンスは、下記の（ａ）〜（ｃ）に示すものがある。
（ａ）先頭固定長パケット、１以上の中間固定長パケット、最終固定長パケットの順に固定長パケットが入力された。
（ｂ）先頭固定長パケット、最終固定長パケットの順に固定長パケットが入力された。
（ｃ）先頭かつ最終固定長パケットのみが入力された。
すなわち、上記シーケンスは、ＩＰパケットが固定長パケットに分割された順番にＩＰヘッダ処理部３０へ入力されたか判断するためのものである。これらのシーケンスにより入力された固定長パケットについては、正常シーケンスとして上記処理を施し、入力されなかったものについては、下記に示す異常シーケンスとして取り扱う。
【００３２】
固定長パケットが異常シーケンスによりＩＰヘッダ処理部３０へ入力された場合、ＩＰヘッダ処理部３０は、これらの固定長パケットに対し、予め定められた処理を行う。この予め定められた処理は、どのようなものでもよく、例えば、次の先頭固定長パケットを入力するまでに入力された固定長パケットをすべて破棄するものでもよい。
【００３３】
＜ＩＰパケット組立部４０＞
ＩＰパケット組立部４０は、ＩＰヘッダ処理部３０から入力された固定長パケットを、前記したように入力されたＮ、およびＩＰヘッダとに基づき、ＭＴＵサイズ以下のＩＰパケットに組み立てる。組み立てられたＩＰパケットは、前記した入力物理回線番号、および／または固定長パケットＳＷ入力ポートを基に、公知の方法に従い、所定の送出先へ送出される。この固定長パケットの組立方法は公知の方法出よく、この固定長パケットがデバイスに入力された順につなぎ合わせるものであればよい。
なお、メモリ５０は、フラグメンテーション処理デバイス１０の中にあってもよく、また外部のものを用いてもよい。
【００３４】
＜ＩＰパケット長がＭＴＵサイズ以下の場合＞
ＩＰパケット組立部４０は、ＩＰヘッダ処理部３０から入力された固定長パケットから固定長パケットヘッダを削除し、固定長パケットペイロードをメモリ５０に格納する。最終固定長パケットを受信した場合、メモリ５０に格納した固定長パケットペイロードを読み出し、１つのＩＰパケットを組み立てる。この組み立て方法は、公知の方法を用いることにより行うことができる。なお、最終固定長パケットであるか否かは、前記したように判断する。また、ＩＰヘッダ処理部３０が先頭固定長パケットから最終固定長パケットまでの固定長パケットの個数をＩＰパケット組立部４０へ通知するようにし、この通知に基づき、この個数分の固定長パケットが入力された場合、最終固定長パケットであると判断するようにしてもよい。また、ＩＰヘッダ処理部３０が最終固定長パケットを送出する際、その旨を通知するようにし、この通知に基づき判断するようにしてもよい。メモリ５０に格納された固定長パケットペイロードは、前記のように読み出される際、消去される。
なお、ＩＰパケット処理部は、ＩＰヘッダ処理部３０から入力された固定長パケットをメモリ５０に格納し、固定長パケットをメモリ５０から読み出した後、または読み出す際、固定長パケットヘッダを削除するようにしてもよい。
【００３５】
＜ＩＰパケット長がＭＴＵサイズを超える場合＞
ＩＰパケット組立部４０は、ＩＰヘッダ処理部３０から入力された固定長パケットから固定長パケットヘッダを削除し、固定長パケットペイロードをメモリ５０に格納する。この処理を、Ｎ回繰り返す。この繰り返しは、カウンタを用いて計測してもよい。
ＩＰパケット組立部４０は、Ｎ個の固定長パケットペイロードをメモリ５０に格納した場合、これらの固定長パケットペイロードを読み込み、１つのＩＰパケットに組み立てる。この組み立てたＩＰパケットは、装置外に送出される。なお、この組み立て方法は、公知の方法により行うことができ、例えばＩＥＴＦ  ＲＦＣ１８１２Ｒｅｑｕｉｒｅｍｅｎｔｓ  ｆｏｒ  ＩＰ  ｖｅｒｓｉｏｎ  ４  Ｒｏｕｔｅｒｓに記載されている方法を用いてもよい。この処理は、順次繰り返される。また、メモリ５０に格納された固定長パケットペイロードは、ＩＰパケット組立部４０が読み出す際、消去される。
なお、ＩＰパケット処理部は、ＩＰヘッダ処理部３０から入力された固定長パケットをメモリ５０に格納し、固定長パケットをメモリ５０から読み出した後、または読み出す際、固定長パケットヘッダを削除するようにしてもよい。
【００３６】
＜先頭固定長パケットを含む場合＞
先頭固定長パケットペイロードを含む固定長パケットペイロードからＩＰパケットを組み立てる場合、先頭固定長パケットペイロードから、Ｎ個目までの固定長パケットペイロードを順次メモリ５０から読み出し、ＩＰパケットに組み立てる。
【００３７】
＜中間固定長パケットのみの場合＞
ここで、メモリ５０から読み出した固定長パケットの中に先頭固定長パケットペイロードがなく、中間固定長パケットペイロードのみである場合、ＩＰパケット組立部４０は、メモリ５０に格納した順に中間固定長パケットペイロードを読み込み、この順にＩＰパケットペイロードを組み立てる。また、ＩＰパケットヘッダは、前記したようにＩＰヘッダ処理部３０から入力され、保持しているＩＰパケットヘッダを、ＩＰパケットペイロードの先頭に組み込み、ＩＰパケットを組み立てる。
【００３８】
＜最終固定長パケットを含む場合＞
また、ＩＰヘッダ処理部３０から最終固定長パケットが入力された場合、ＩＰパケット組立部４０は、この固定長パケットペイロードと、メモリ５０に格納されている固定長パケットペイロードとから、前記したようにＩＰパケットペイロードを組み立てる。このＩＰパケットの先頭に、前記のように保持されているＩＰパケットヘッダを組み込み、ＩＰパケットを組み立てる。最終固定長パケットであるか否かの判断は、どのような方法を用いてもよく、例えば、固定長パケットヘッダを用いて判断するようにしてもよく、固定長パケットペイロードに記載されているデータの長さにより判断するようにしてもよく、またＩＰヘッダ処理部３０から通知され、これを基に判断するようにしてもよい。
【００３９】
＜フラグメンテーション処理装置＞
フラグメンテーション処理装置は、図３に示すように、固定長パケット分割デバイス６００、フラグメンテーション処理デバイス１００．．．．１０Ｘ、およびＩＰパケット統合デバイス７００とを有す。
また、前記したように、フラグメンテーション処理装置は、図示しない固定長パケット分割部によりＩＰパケットを分割してもよく、これとは別に、図示しない固定長パケット組み立て装置が固定長パケットを生成してもよい。
【００４０】
固定長パケット分割デバイス６００は、入力された固定長パケットを、複数のフラグメンテーション処理デバイス１００．．．．１０Ｘへ振り分け入力するためのものである。この振り分けは、ＩＰパケットが入力された入力回線ごとに行われる。このＩＰパケットが入力された入力物理回線は、入力回線番号情報、または固定長パケットＳＷポート数に基づき判断される。入力回線番号情報、または固定長パケットＳＷポート数は、どのように取得してもよく、例えば、前記したように固定長パケットヘッダに入力回線番号情報、または固定長パケットＳＷポート数が記載され、これに基づき判断するようにしてもよく、また、図示しない制御線から通知されるようにしてもよい。前記のように、入力回線番号情報、または固定長パケットＳＷポートごとに所定のフラグメンテーション処理デバイス１００へ固定長パケットを振り分ける。
【００４１】
フラグメンテーション処理デバイス１００．．．．１０Ｘは、それぞれ前記したようにバッファ２００．．．．２０Ｘ、ＩＰヘッダ処理部３００．．．．３０Ｘ、およびＩＰパケット組立部４００．．．．４０Ｘを有している。これらは、前記した動作を行い、固定長パケットからＩＰパケットを組み立てる。組み立てられたＩＰパケットは、ＩＰパケット統合デバイスに出力される。
なお、前記したように、メモリ５００は、フラグメンテーション処理デバイス１００．．．．１０Ｘ内に存在していてもよく、フラグメンテーション処理デバイス１００．．．．１０Ｘ外に存在していてもよく、また、フラグメンテーション処理装置外に存在していてもよい。
フラグメンテーション処理デバイス１００．．．．１０Ｘの個数Ｘは、入力物理回線数、または固定長パケットＳＷ入力ポート数と等しく、図３に示すように、それぞれ並列に接続される。
【００４２】
ＩＰパケット統合デバイス７００は、フラグメンテーション処理デバイス１００．．．．１０Ｘから入力された順に、ＩＰパケットを装置外へ送出する。これにより、フラグメンテーション処理デバイス１００．．．．１０Ｘに振り分けられたＩＰパケットが、１つのＩＰパケット流となる。なお、このＩＰパケットの送出先は、前述のように、入力回線番号情報、または固定長パケットＳＷポートごとに対応付けられた所定の出力物理回線である。
【００４３】
なお、フラグメンテーション処理装置は、上記したすべてのデバイスを有する必要はなく、例えば、
固定長パケット分割デバイス６００とフラグメンテーション処理デバイス１００．．．．１０Ｘ、
固定長パケット分割デバイス６００とフラグメンテーション処理デバイス１００．．．．１０Ｘとメモリ５００、
固定長パケット分割デバイス６００とフラグメンテーション処理デバイス１００．．．．１０ＸとＩＰパケット統合デバイス７００、
フラグメンテーション処理デバイス１００．．．．１０ＸとＩＰパケット統合デバイス７００、
フラグメンテーション処理デバイス１００．．．．１０ＸとＩＰパケット統合デバイス７００とメモリ５００、
によりなり、他のデバイスを、外部の装置としてもよい。
【００４４】
＜フラグメンテーション処理の例＞
図２は、本発明によるフラグメンテーション処理デバイスが固定長パケットからＭＴＵサイズ以下のサイズのＩＰパケットを作製する一例を示す。
図２（ａ）に示すＩＰパケットは、フラグメンテーション処理装置に入力されたＩＰパケットである。このＩＰパケットは、フラグメンテーション処理装置内においては、図２（ｂ）に示すように固定長パケットに分割される。ここでは、６つの固定長パケットに分割されている。
図２（ｃ）に示すＭＴＵサイズによると、前記したＮは２となっている。従って、固定長パケットペイロード２つから１つのＩＰパケットを作製することで、図２（ａ）に示すＩＰパケットを（ｃ）に示すＭＴＵサイズ以下のサイズのＩＰパケットへ分割されている。
なお、固定長パケットが７つであった場合、この固定長パケット数は、Ｎで割り切ることができず、余剰１が生じるない。従って、ＩＰパケットの最終部分を固定長パケットペイロードに含む固定長パケットから、余剰１分の固定長パケットについては、Ｎを１としてＩＰパケットを作製する。すなわち、このＩＰパケットの最終部分に、前記したＩＰパケットヘッダを先頭に付加したＩＰパケットが作製される。
【００４５】
【発明の効果】
以上の説明から明らかなように、本発明によるフラグメンテーション処理デバイスによれば、所定の個数の固定長パケットを取得した時点でＩＰパケットを作製することから、フラグメンテーション処理に要する時間が短縮される。また、前記したフラグメンテーション処理判断手段と、ＩＰヘッダ処理手段と、ＩＰパケット組立手段というハードウェアによりフラグメンテーション処理を行うため、フラグメンテーション処理の速度が早くなる。さらには、ハードウェアによりフラグメンテーション処理を行うため、構成する部品を交換するという容易な作業により、処理速度を早くすることが可能となり、保守性も向上する。
【００４６】
また、本発明によるフラグメンテーション処理装置によれば、ＩＰパケットの出力回線側にフラグメンテーション処理デバイスを設ければよく、入力回線側に設ける必要がなくなる。従って、入力回線側の処理を緩和することが可能となる。
【図面の簡単な説明】
【図１】本発明によるフラグメンテーション処理デバイスの内部構造を示すブロック図である。
【図２】本発明によるフラグメンテーション処理を説明するための図である。
【図３】本発明によるフラグメンテーション処理装置の内部構造を示すブロック図である。
【符号の説明】
１０  フラグメンテーション処理デバイス
２０  バッファ
３０  ＩＰヘッダ処理部
４０  ＩＰパケット組立部
５０  メモリ
１００．．．．１０Ｘ  フラグメンテーション処理デバイス
２００．．．．２０Ｘ  バッファ
３００．．．．３０Ｘ  ＩＰヘッダ処理部
４００．．．．４０Ｘ  ＩＰパケット組立部
５００  メモリ
６００  固定長パケット分割デバイス
７００  ＩＰパケット統合デバイス
【図１】
0003557998.tif 000005
【図２】
0003557998.tif 000006
【図３】
0003557998.tif 000007