(57)【要約】本発明は、パケット処理への影響を抑えつつ、断片化されたパケットを組み立てるためのメモリ容量の増大を抑制することを目的とする。本発明のパケット処理装置は、断片化された入力パケットを保持した後にパケットを組み立てる断片化パケット組立部と、組み立てた前記パケットを処理して出力パケットを形成するパケット処理部と、前記出力パケットもしくは前記入力パケットを出力するパケット合流部と、前記断片化パケット組立部の保持している前記入力パケットが処理対象のパケットか否かを判定し、処理対象ではないと判定すると、前記断片化パケット組立部が保持している前記入力パケットを前記パケット合流部に送る第１のパケット分配部と、を有する。
2016103568.tif 000002
【特許請求の範囲】
【請求項１】
断片化された入力パケットを保持した後にパケットを組み立てる断片化パケット組立手段と、
組み立てた前記パケットを処理して出力パケットを形成するパケット処理手段と、
前記出力パケットもしくは前記入力パケットを出力するパケット合流手段と、
前記断片化パケット組立手段の保持している前記入力パケットが処理対象のパケットか否かを判定し、処理対象ではないと判定すると、前記断片化パケット組立手段が保持している前記入力パケットを前記パケット合流手段に送る第１のパケット分配手段と、を有するパケット処理装置。
【請求項２】
前記断片化パケット組立手段は、バッファ書込手段と組立バッファとバッファ読出手段とを有し、
前記バッファ書込手段は、前記入力パケットを前記組立バッファに書き込み、
前記組立バッファは、前記入力パケットを保持し、
前記バッファ読出手段は、組み立てに必要な前記入力パケットの全てが前記組立バッファに保持されたことを確認し、前記確認に基づいて前記入力パケットを読み出して組み立て、前記パケット処理手段に送る、請求項１記載のパケット処理装置。
【請求項３】
前記第１のパケット分配手段は、処理対象か否かの判定を、前記組み立てに必要な前記入力パケットの全てが前記断片化パケット組立手段に保持される前に行う、請求項１または２記載のパケット処理装置。
【請求項４】
前記断片化パケット組立手段は、前記第１のパケット分配手段が前記断片化パケット組立手段の保持する前記入力パケットを前記パケット合流手段に送ると、前記組み立てを中止する、請求項１から３の内の１項記載のパケット処理装置。
【請求項５】
第２のパケット分配手段を有し、前記第２のパケット分配手段は、前記断片化パケット組立手段の前段で前記入力パケットが処理対象のパケットであるか否かを判定し、処理対象ではないと判定すると、前記入力パケットを前記パケット合流手段に送る、請求項１から４の内の１項記載のパケット処理装置。
【請求項６】
前記第１のパケット分配手段と前記第２のパケット分配手段とは、処理対象のパケットか否かを判定する異なる基準を有する、請求項５記載のパケット処理装置。
【請求項７】
断片化された入力パケットを保持し、
保持している前記入力パケットの組み立てと、保持している前記入力パケットが処理対象であるか否かの判定と、を行い、
処理対象でないと判定すると、保持している前記入力パケットを出力し、前記入力パケットの組み立てを中止する、パケット処理方法。
【請求項８】
前記入力パケットが処理対象のパケットであるか否かの初期判定をし、前記初期判定で処理対象でないと判定すると前記入力パケットを出力し、処理対象であると判定すると前記入力パケットを保持する、請求項７記載のパケット処理方法。
【請求項９】
断片化された入力パケットを保持する処理と、
保持している前記入力パケットの組み立てと、保持している前記入力パケットが処理対象であるか否かの判定と、を行う処理と、
処理対象でないと判定すると、保持している前記入力パケットを出力し、前記入力パケットの組み立てを中止する処理と、をコンピュータに実行させるパケット処理プログラムを保存する記憶媒体。
【請求項１０】
前記入力パケットが処理対象のパケットであるか否かの初期判定をする処理と、前記初期判定で処理対象でないと判定すると前記入力パケットを出力する処理と、処理対象であると判定すると前記入力パケットを保持する処理と、を前記コンピュータに実行させるパケット処理プログラムを保存する請求項９記載の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを通じて受信したパケットを処理する技術に関する。
【背景技術】
【０００２】
パケット処理装置は、図５に示すパケット処理装置２０のように、パケット処理部２１を有する。パケット処理部２１は、入力パケットを入力し、所定の処理を行い、出力パケットを出力する。図６は、パケット処理装置２０が処理対象とするパケット１００（Ｐ１）の構造を示す。パケット１００（Ｐ１）は、ヘッダ１０００とペイロード１０１０とを有する。【０００３】
ヘッダ１０００の有する情報は、例えば、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）パケットであれば、バージョン、ヘッダ長、サービス種別、パケット全長、識別子、断片化の有無のフラグ、断片位置、生存時間、プロトコル、チェックサム、送信元アドレス、宛先アドレス、拡張情報を含む。ここで、断片化の有無のフラグは、後述するパケットの断片化がなされたときに、これを表すフラグである。また、断片位置は、パケットの断片化がなされたときに、断片化されたパケットの断片化前のパケットにおける位置を表す。【０００４】
ペイロード１０１０の有する情報は、例えば、ＵＤＰ／ＩＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）のパケットであれば、送信元ポート、宛先ポート、ペイロード長、チェックサム、ＵＤＰデータを含む。【０００５】
パケット処理部２１は、例えば、入力されたパケットがＵＤＰ／ＩＰパケットで、かつ、宛先ポートが特定の番号と合致する場合、特定のデータを抽出し、新たなＵＤＰ／ＩＰパケットを作成して、出力パケットとして出力するというように動作する。また、特定のデータを別のデータに置き換えてもよい。また、特定のデータをもとに演算を行い結果のデータに置き換えてもよい。また、特定の条件を満たすときに当該パケットを破棄してもよい。また、特定の条件を満たすときに当該パケットを複製してもよい。【０００６】
図７は、図６のパケット１００（Ｐ１）をＵＤＰ／ＩＰパケットとしたときの具体例を示す。図６のＵＤＰ／ＩＰパケット１００（Ｐ１）は、ＩＰパケットのペイロード１０１０として、送信元ポート１０１１と、宛先ポート１０１２と、ペイロード長１０１３と、チェックサム１０１４と、データＡ１０１５と、データＢ１０１６と、データＣ１０１７と、データＤ１０１８とを有する。なお、ヘッダ１０００（Ｈ１）の詳細は省略している。【０００７】
図５のパケット処理部２１は、例えば、宛先アドレスが１９２．１６８．０．１で、宛先ポートが２０００と合致する場合、データＡとデータＤを抽出し、新たなＵＤＰ／ＩＰパケットを作成して、出力パケットして出力するというように動作する。図８は、前記の処理を行ったパケット処理部２１が出力する新たなパケット２００（Ｐ２）の例を示す。ＵＤＰデータがデータＡ１０１５とデータＤ１０１８のみとなり、ペイロード長１０１９とチェックサム１０２０が更新され、ＩＰパケットヘッダ２０００（Ｈ２）も更新される。なお、ヘッダ２０００（Ｈ２）の詳細は省略している。【０００８】
図６のＵＤＰ／ＩＰパケット１００（Ｐ１）は、たとえばイーサネット（登録商標）によって転送され、図５のパケット処理装置２０へと入力される。イーサネットでは、その最大転送単位（Ｍａｘｉｍｕｍ  Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｕｎｉｔ、ＭＴＵと略す）よりも大きいサイズのパケットは分割されてから送出される。これを、パケットの断片化と呼ぶ。断片化されたパケットは、受信側で再び組み立てられる。【０００９】
図９は、パケット（Ｐ１）を分割した例を示す。パケット（Ｐ１）のペイロード１０１０がＭＴＵに基づいてそれぞれペイロード３１１０、ペイロード３２１０、ペイロード３３１０に分割される。さらに、ヘッダ３１００（Ｈ１１）、ヘッダ３２００（Ｈ１２）、ヘッダ３３００（Ｈ１３）が付記されて、それぞれパケット（Ｐ１１）、パケット（Ｐ１２）、パケット（Ｐ１３）が構成される。なお、図９では省略されているが、ヘッダ３１００（Ｈ１１）、ヘッダ３２００（Ｈ１２）、ヘッダ３３００（Ｈ１３）は、断片化がなされていることを示すフラグと、断片化前のパケットにおける位置を表す情報を有する。【００１０】
図１０は、断片化されたパケットを扱うことのできるパケット処理装置３０を示す。パケット処理装置３０は、断片化パケット組立部３２とパケット処理部３１とを有する。断片化パケット組立部３２は、例えば、図９に示すパケット（Ｐ１１）、パケット（Ｐ１２）、パケット（Ｐ１３）を順不同で受信し、パケット（Ｐ１）へと組み立てて、パケット処理部３１へと出力する。この時、断片化パケット組立部３２は、組み立てに必要な断片化パケットを記憶保持するだけの記憶手段が必要になる。この記憶手段には、例えば、メモリが利用される。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００６−７４７２６号公報
【特許文献２】特開２００７−２６７０５１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
パケット処理装置３０の断片化パケット組立部３２は、図９の断片化パケットを例にすると、順不同に受信されるパケット（Ｐ１１）、パケット（Ｐ１２）、パケット（Ｐ１３）のすべてを保持するだけの記憶容量を必要とする。そのため、受信したすべてのパケットを組み立てるためには、前記メモリはパケットの最大サイズを保持できるだけの容量が必要になり、メモリ容量の増大が課題となっている。例えば、ＩＰパケットの場合、最大サイズは６５５３５バイトである。そのため、断片化パケット組立部３２のメモリとしては６５５３５バイトが必要となる。【００１３】
特許文献１には、このメモリ容量の増大を抑制する技術が開示されている。特許文献１の技術では、ＩＰパケットが２つに分割されることが多いことを利用し、２つに分割されたパケットはハードウェアによる処理で高速に組み立て、３つ以上に分割されたパケットはソフトウェアによる処理で低速に組み立てる。これにより、ハードウェアである組立バッファに必要なメモリの容量を、断片化パケット２つ分、すなわち、ＭＴＵの２倍とすることができ、メモリ容量の増大を抑えることができる。しかしながら、特許文献1の技術では、パケットが３つ以上に断片化されている場合には低速処理になるという課題があった。【００１４】
一方、特許文献２には、断片化されたパケットだけを組み立て処理する回路に入力し、断片化されていないパケットは組み立て処理する回路をバイパスする技術が開示されている。図１１は、特許文献２に開示されたパケット受信回路の構成を示すブロック図である。パケット受信回路４０は、断片化したパケットを組み立てるリアセンブル処理回路４２の前段に、断片化されたパケットと断片化されていないパケットとを選別するセレクタ回路４１を設けている。断片化されたパケットは、リアセンブル処理回路４２で組み立てられた後に、パケット多重回路４３から後段のパケット処理などのモジュールに出力される。一方、断片化されていないパケットは、リアセンブル処理回路４２をバイパスしてパケット多重回路４３に入力され、後段のモジュールに出力される。しかしながら、特許文献２の技術では、依然として、入力パケットの規模に応じたメモリ容量が必要である。【００１５】
本発明は、上記の課題に鑑みてなされたものであり、その目的は、パケット処理への影響を抑えつつ、断片化されたパケットを組み立てるためのメモリ容量の増大を抑制することにある。
【課題を解決するための手段】
【００１６】
本発明のパケット処理装置は、断片化された入力パケットを保持した後にパケットを組み立てる断片化パケット組立部と、組み立てた前記パケットを処理して出力パケットを形成するパケット処理部と、前記出力パケットもしくは前記入力パケットを出力するパケット合流部と、前記断片化パケット組立部の保持している前記入力パケットが処理対象のパケットか否かを判定し、処理対象ではないと判定すると、前記断片化パケット組立部が保持している前記入力パケットを前記パケット合流部に送る第１のパケット分配部と、を有する。【００１７】
本発明のパケット処理方法は、断片化された入力パケットを保持し、保持している前記入力パケットの組み立てと、保持している前記入力パケットが処理対象であるか否かの判定と、を行い、処理対象でないと判定すると、保持している前記入力パケットを出力し、前記入力パケットの組み立てを中止する。【００１８】
本発明のパケット処理プログラムは、断片化された入力パケットを保持する処理と、保持している前記入力パケットの組み立てと、保持している前記入力パケットが処理対象であるか否かの判定と、を行う処理と、処理対象でないと判定すると、保持している前記入力パケットを出力し、前記入力パケットの組み立てを中止する処理と、を実行させる。
【発明の効果】
【００１９】
本発明によれば、パケット処理への影響を抑えつつ、断片化されたパケットを組み立てるためのメモリ容量の増大を抑制することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１の実施形態のパケット処理装置の構成を示すブロック図である。
【図２】本発明の第１の実施形態のパケット処理装置の構成を示すブロック図である。
【図３】本発明の第２の実施形態のパケット処理装置の構成を示すブロック図である。
【図４】本発明の第２の実施形態のパケット処理装置の構成を示すブロック図である。
【図５】パケット処理装置の構成を示すブロック図である。
【図６】パケットの構成を示す図である。
【図７】パケットの構成を示す図である。
【図８】パケットの構成を示す図である。
【図９】パケットの断片化を説明する図である。
【図１０】断片化パケットに対応したパケット処理装置の構成を示すブロック図である。
【図１１】特許文献２に開示されたパケット受信回路の構成を示すブロック図である。
【発明を実施するための形態】
【００２１】
以下、図を参照しながら、本発明の実施形態を詳細に説明する。但し、以下に述べる実施形態には、本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。
（第１の実施形態）
図１は、本発明の第１の実施形態のパケット処理装置の構成を示すブロック図である。本実施形態のパケット処理装置１は、断片化された入力パケットを保持した後にパケットを組み立てる断片化パケット組立部２と、組み立てたパケットを処理して出力パケットを形成するパケット処理部３とを有する。さらに、出力パケットもしくは入力パケットを出力するパケット合流部５を有する。さらに、断片化パケット組立部２の保持している入力パケットが処理対象のパケットか否かを判定し、処理対象ではないと判定すると、断片化パケット組立部２が保持している入力パケットをパケット合流部５に送る第１のパケット分配部を有する。
【００２２】
図２は、本実施形態のパケット処理装置１の構成を示すブロック図であり、断片化パケット組立部２の構成を具体的に示している。断片化パケット組立部２は、バッファ書込部６と組立バッファ７とバッファ読出部８とを有する。バッファ書込部６は、入力パケットを組立バッファ７に書き込む。組立バッファ７は、入力パケットを保持する。バッファ読出部８は、組み立てに必要な入力パケットの全てが組立バッファ７に保持されたことを確認し、この確認に基づいて入力パケットを順次読み出し、組み立てて、一つのパケットに復元してパケット処理部３に送る。
【００２３】
第１のパケット分配部４は、組立バッファ７が保持している入力パケットが、組み立ててパケット処理部３で処理するパケットか否かを判定する。否の判定の場合、第１のパケット分配部４は、組立バッファ７の保持している当該入力パケットをパケット合流部５に送る。これにより、組立バッファに保持されている入力パケットは無くなり、バッファ読出部８によるパケットの組み立ては中止される。一方、パケット処理部３で処理するパケットであるとの判定の場合、当該パケットは元の一つのパケットに復元され、パケット処理部３で処理される。
【００２４】
なお、パケット処理装置１は、入力パケットが断片化されていない単一状態のパケットの場合も、以上と同様に扱うことができる。
【００２５】
本実施形態のパケット処理装置１は、演算資源であるＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と記憶資源であるメモリとを有する演算処理装置（コンピュータ）とすることができる。本実施形態のパケット処理を行うプロクラムをＣＰＵで実行し、メモリを用いることによって、パケット処理装置１を構成する各部を実現することができる。
【００２６】
本実施形態のパケット処理装置１の動作を以下に説明する。
【００２７】
まず、パケット処理装置１は、イーサネットなどのネットワークを通して、断片化された入力パケットを受信する。すなわち、パケット処理装置１は、断片化パケット組立部２で入力パケットを受信すると、バッファ書込部６により入力パケットを組立バッファ７に保持する。バッファ読出部８は、組立バッファ７に保持されている断片化された入力パケットが、断片化前のパケットに組み立てるのに必要な全てが揃ったことを確認すると、この確認に基づいて、入力パケットを順次読み出し、組み立てて、一つのパケットに復元して、パケット処理部３に送る。
【００２８】
このとき、第１のパケット分配部４は、組立バッファ７が保持している入力パケットが、パケット処理部３での処理対象のパケットであるか否かを判定する。すなわち、第１のパケット分配部４は、予めパケット処理部３で処理対象とするパケットの条件を規定しておくことで、この規定に適合する場合は処理するパケットであると、また、適合しない場合は処理しないパケットであると、判定することができる。
【００２９】
この判定は、入力パケットの有するヘッダ情報に基づいて行うことができる。具体的には、ヘッダ情報の有するバージョン、ヘッダ長、サービス種別、パケット全長、識別子、断片化の有無のフラグ、断片位置、生存時間、プロトコル、チェックサム、送信元アドレス、宛先アドレス、拡張情報に基づいて、判定することができる。
【００３０】
この判定は、また、入力パケットの有するデータ情報（ペイロード）に基づいて行うことができる。具体的には、ペイロードの有する送信元ポート、宛先ポート、ペイロード長、チェックサム、ＵＤＰデータに基づいて、判定することができる。あるいは、この判定は、元のパケットが合計いくつの断片に分割されているかに基づいて行うこともできる。
【００３１】
第１のパケット分配部４が、処理対象のパケットでないと判定した場合、第１のパケット分配部４は、組立バッファ７の保持している当該入力パケットをパケット合流部５に送る。これにより、組立バッファが保持している入力パケットは無くなり、バッファ読出部８によるパケットの組み立ては中止される。
【００３２】
一方、第１のパケット分配部４が、処理対象のパケットであると判定した場合、第１のパケット分配部４は、組立バッファ７の保持している当該入力パケットに対しての操作を特には行わない。バッファ読出部８は、組立バッファ７に保持されている断片化された入力パケットが、断片化前のパケットに組み立てるのに必要な全てが揃ったことを確認する。バッファ読出部８は、この確認に基づいて、組立バッファ７に保持されている入力パケットを順次読み出し、組み立てて、一つのパケットに復元して、パケット処理部３に送る。
【００３３】
よって、入力パケットが処理対象であるか否かの判定は、断片化前のパケットに組み立てるのに必要な全ての入力パケットが揃う前に行われることが望ましい。これを可能とするためには、全てのパケットが揃わなくても判定ができる判定基準を、パケットのヘッダやペイロードの有する情報からあらかじめ選定し、第１のパケット分配部４に備えておけばよい。
【００３４】
パケット処理部３は、組み立てられて復元されたパケットの処理を行い、出力パケットを形成する。パケットの処理とは、例えば、入力されたパケットがＵＤＰ／ＩＰパケットで、かつ、宛先ポートが特定の番号と合致する場合、特定のデータを抽出し、新たなＵＤＰ／ＩＰパケットを作成して、出力パケットとして出力するというように動作する。また、特定のデータを別のデータに置き換えてもよい。また、特定のデータをもとに演算を行い結果のデータに置き換えてもよい。また、特定の条件を満たすときに該パケットを破棄してもよい。また、特定の条件を満たすときに該パケットを複製してもよい。
【００３５】
パケット合流部５は、パケット処理部３で形成された出力パケット、もしくは、第１のパケット分配部４から送られた処理対象でない入力パケット、を出力する。
【００３６】
以上のように、パケット処理装置１によれば、パケットを受信し、元のひとつのパケットに組み立て、組み立てたパケットを処理するという一連のパケット処理の動作を妨げることなく、処理対象でない入力パケットをそのまま出力するという動作を実現することができる。なお、パケット処理装置１は、入力パケットが断片化されていない単一状態のパケットの場合も、以上と同様に扱うことができる。
【００３７】
パケット処理装置１の動作例を以下に説明する。
【００３８】
例えば、パケット処理装置１のパケット処理部３は、入力パケットの宛先アドレスが１９２．１６８．０．１で、宛先ポートが２０００と合致する場合、データＡとデータＤを抽出し、新たなＵＤＰ／ＩＰパケットを作成して、出力パケットして出力するというように動作する。
【００３９】
また、例えば、第１のパケット分配部４は、パケット処理部３が処理対象とするパケットの最大サイズを予め４５００バイトと登録しているとする。これに対応して組立バッファ７のメモリ容量を４５００バイトで構成しているとする。また、例えば、ＭＴＵサイズを１５００バイトであるとする。このような設定で、入力された断片化されたＩＰパケットのヘッダに表示された断片位置が６０００であったと仮定する。この場合、第１のパケット分配部４は、当該の入力パケットの組み立て後のサイズが、少なくとも４５００バイトを超えると判断できる。よって、第１のパケット分配部４は、当該の入力パケットはパケット処理装置１の処理対象のパケットではないと判定し、組立バッファ７に保持されている当該入力パケットをパケット合流部５に送る。パケット合流部５は、当該入力パケットをそのまま出力する。
【００４０】
このとき、バッファ読出部８は、組立バッファ７に保持されている断片化パケットが、断片化前のパケットに組み立てるのに必要な全てが揃ったか否かを確認中である場合がある。第１のパケット分配部４は、バッファ読出部８のこの動作に関係なく、当該パケットが処理対象でないパケットであるとの判定に基づいて、組立バッファ７に保持されている当該入力パケットをパケット合流部５に送る。バッファ読出部８は、組立バッファ７に保持されているパケットがなくなるため、動作を中止する。
【００４１】
ＩＰパケットの場合の最大サイズは６５５３５バイトであり、ＩＰパケット全てに対応しようとした場合には組立バッファ７のメモリとしては６５５３５バイトが必要となる。以上の動作例の場合では、組立バッファ７のメモリ容量を４５００バイトに削減できる。
【００４２】
以上のように、第１のパケット分配部４が、入力パケットが処理対象のパケットであるか否かを判定することにより、処理対象でないと判定された入力パケットは、組み立てに必要な断片化された入力パケットの全部が組立バッファに保持される以前に、パケット合流部５から出力されることとなる。よって、処理対象とするパケットの判定基準によってパケットの規模を制限するなどにより、組立バッファ７の記憶容量を抑制することができる。
【００４３】
本実施形態のパケット処理方法は、パケット処理装置１の動作を行う処理方法である。また、本実施形態のパケット処理プログラムは、パケット処理装置１の動作をコンピュータに実行させるプログラムである。
【００４４】
以上のように、本実施形態によれば、パケット処理への影響を抑えつつ、断片化されたパケットを組み立てるためのメモリ容量の増大を抑制することができる。
（第２の実施形態）
図３は、本発明の第２の実施形態のパケット処理装置の構成を示すブロック図である。また、図４は、本実施形態のパケット処理装置１０の構成を示すブロック図であり、断片化パケット組立部２の構成を具体的に示している。
【００４５】
本実施形態のパケット処理装置１０は、第１の実施形態のパケット処理装置１の断片化パケット組立部２の前段に、第２のパケット分配部９を設けることを特徴とする。パケット処理装置１０の動作は、パケット処理装置１の動作に加えて、第２のパケット分配部９の動作を行うことを特徴とする。
【００４６】
第２のパケット分配部９は、断片化パケット組立部２の前段で、入力パケットが処理対象のパケットであるか否かを初期判定し、処理対象のパケットでないと判定した場合には、当該入力パケットをパケット合流部５に送る。一方、入力パケットが処理対象のパケットであると判定した場合には、当該入力パケットを断片化パケット組立部２に送る。
【００４７】
第２のパケット分配部９は、予めパケット処理部３で処理対象とするパケットの条件を規定しておくことで、この規定に適合する場合は処理すると、また、適合しない場合は処理しないと、判定することができる。
【００４８】
第２のパケット分配部９と第１のパケット分配部４とは、次のように組み合わせて動作させることができる。まず、第２のパケット分配部９は、処理対象のパケットか否かを簡単に判定できる場合について初期判定を行う。簡単にとは、例えば、入力パケットのヘッダの情報だけを基準とする判定をいう。この判定で、処理対象でないと判定した入力パケットをパケット合流部５に送り、処理対象であると判定した入力パケットを断片化パケット組立部２に送る。
【００４９】
断片化パケット組立部２に送られた入力パケットは、バッファ書込部６により組立バッファ７に保持される。以降の動作は、第１の実施形態のパケット処理装置１と同様であるが、組立バッファ７に保持される入力パケットは、第２のパケット分配部９で処理対象であると初期判定されたパケットである。第１のパケット分配部４は、第２のパケット分配部９とは異なる基準、例えば、入力パケットのペイロードの情報といった、より詳しい基準により判定する。第１のパケット分配部４は、この判定で、処理対象でないと判定した入力パケットをパケット合流部５に送る。一方、処理対象であると判定された入力パケットは、バッファ読出部８により第１の実施形態と同様に一つのパケットに復元されてパケット処理部３に送られる。
【００５０】
以上のように、本実施形態では、第２パケット分配部９で、限られた情報、例えばヘッダ情報で判定できるものは初期判定することによって、処理対象でないパケットが断片化パケット組立部２に入力される無駄を抑制する。さらに、第２のパケット分配部９では情報が足りずに処理対象外と判定できないパケットは、断片化パケット組立部２での組み立てと並行して、第１のパケット分配部４で、例えばペイロード情報による判定を行うことで、より精度よく処理対象外と判定することができる。
【００５１】
また、パケット処理装置１０では、パケットを受信し、元の単一のパケットに組み立て、組み立てたパケットを処理するという一連のパケット処理の動作を妨げることを抑制することができる。なお、パケット処理装置１０は、入力パケットが断片化されていない単一状態のパケットの場合も、以上と同様に扱うことができる。
【００５２】
本実施形態のパケット処理方法は、パケット処理装置１０の動作を行う処理方法である。また、本実施形態のパケット処理プログラムは、パケット処理装置１０の動作をコンピュータに実行させるプログラムである。
【００５３】
以上のように、本実施形態によれば、パケット処理への影響を抑えつつ、断片化されたパケットを組み立てるためのメモリ容量の増大を抑制することができる。
【００５４】
本発明は上記実施形態に限定されることなく、請求の範囲に記載した発明の範囲内で種々の変形が可能であり、それらも本発明の範囲内に含まれるものである。
【００５５】
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【００５６】
（付記１）
断片化された入力パケットを保持した後にパケットを組み立てる断片化パケット組立部と、
組み立てた前記パケットを処理して出力パケットを形成するパケット処理部と、
前記出力パケットもしくは前記入力パケットを出力するパケット合流部と、
前記断片化パケット組立部の保持している前記入力パケットが処理対象のパケットか否かを判定し、処理対象ではないと判定すると、前記断片化パケット組立部が保持している前記入力パケットを前記パケット合流部に送る第１のパケット分配部と、を有するパケット処理装置。
（付記２）
前記断片化パケット組立部は、バッファ書込部と組立バッファとバッファ読出部とを有し、
前記バッファ書込部は、前記入力パケットを前記組立バッファに書き込み、
前記組立バッファは、前記入力パケットを保持し、
前記バッファ読出部は、組み立てに必要な前記入力パケットの全てが前記組立バッファに保持されたことを確認し、前記確認に基づいて前記入力パケットを読み出して組み立て、前記パケット処理部に送る、付記１記載のパケット処理装置。
（付記３）
前記第１のパケット分配部は、処理対象か否かの判定を、前記組み立てに必要な前記入力パケットの全てが前記断片化パケット組立部に保持される前に行う、付記１または２記載のパケット処理装置。
（付記４）
前記断片化パケット組立部は、前記第１のパケット分配部が前記断片化パケット組立部の保持する前記入力パケットを前記パケット合流部に送ると、前記組み立てを中止する、付記１から３の内の１項記載のパケット処理装置。
（付記５）
第２のパケット分配部を有し、前記第２のパケット分配部は、前記断片化パケット組立部の前段で前記入力パケットが処理対象のパケットであるか否かを判定し、処理対象ではないと判定すると、前記入力パケットを前記パケット合流部に送る、付記１から４の内の１項記載のパケット処理装置。
（付記６）
前記第１のパケット分配部と前記第２のパケット分配部とは、処理対象のパケットか否かを判定する異なる基準を有する、付記５記載のパケット処理装置。
（付記７）
断片化された入力パケットを保持し、
保持している前記入力パケットの組み立てと、保持している前記入力パケットが処理対象であるか否かの判定と、を行い、
処理対象でないと判定すると、保持している前記入力パケットを出力し、前記入力パケットの組み立てを中止する、パケット処理方法。
（付記８）
前記組み立てに必要な前記入力パケットの全てが保持されたことを確認して、前記組み立てを行う、付記７記載のパケット処理方法。
（付記９）
前記処理対象か否かの判定を、前記組み立てに必要な前記入力パケットの全てが保持される前に行う、付記７または８記載のパケット処理方法。
（付記１０）
前記入力パケットが処理対象のパケットであるか否かの初期判定をし、前記初期判定で処理対象でないと判定すると前記入力パケットを出力し、処理対象であると判定すると前記入力パケットを保持する、付記７から９の内の１項記載のパケット処理方法。
（付記１１）
前記初期判定と前記判定の基準が異なる、付記１０記載のパケット処理方法。
（付記１２）
断片化された入力パケットを保持する処理と、
保持している前記入力パケットの組み立てと、保持している前記入力パケットが処理対象であるか否かの判定と、を行う処理と、
処理対象でないと判定すると、保持している前記入力パケットを出力し、前記入力パケットの組み立てを中止する処理と、をコンピュータに実行させるパケット処理プログラム。
（付記１３）
前記組み立てに必要な前記入力パケットの全てが保持されたことを確認して、前記組み立てを行う処理を実行させる、付記１２記載のパケット処理プログラム。
（付記１４）
前記処理対象か否かの判定を、前記組み立てに必要な前記入力パケットの全てが保持される前に行う処理を実行させる、付記１２または１３記載のパケット処理プログラム。
（付記１５）
前記入力パケットが処理対象のパケットであるか否かの初期判定をする処理と、前記初期判定で処理対象でないと判定すると前記入力パケットを出力する処理と、処理対象であると判定すると前記入力パケットを保持する処理と、を実行させる、付記１２から１４の内の１項記載のパケット処理プログラム。
（付記１６）
前記初期判定と前記判定の基準が異なる処理を実行させる、付記１５記載のパケット処理プログラム。
【００５７】
この出願は、２０１４年１２月２６日に出願された日本出願特願２０１４−２６５６８１を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【００５８】
本発明は、ネットワークを通じて受信したパケットを処理する情報処理装置、情報処理端末への利用が可能である。
【符号の説明】
【００５９】
１、１０    パケット処理装置
２    断片化パケット組立部
３    パケット処理部
４    第１のパケット分配部
５    パケット合流部
６    バッファ書込部
７    組立バッファ
８    バッファ読出部
９    第２のパケット分配部
２０、３０    パケット処理装置
２１、３１    パケット処理部
３２    断片化パケット組立部
４０    パケット受信回路
４１    セレクタ回路
４２    リアセンブル処理回路
４３    パケット多重回路
１００、２００    パケット
１０００、２０００、３１００、３２００、３３００    ヘッダ
１０１０、３１１０、３２１０、３３１０    ペイロード
【図１】
2016103568.tif 000003
【図２】
2016103568.tif 000004
【図３】
2016103568.tif 000005
【図４】
2016103568.tif 000006
【図５】
2016103568.tif 000007
【図６】
2016103568.tif 000008
【図７】
2016103568.tif 000009
【図８】
2016103568.tif 000010
【図９】
2016103568.tif 000011
【図１０】
2016103568.tif 000012
【図１１】
2016103568.tif 000013
【手続補正書】
【提出日】平成29年6月15日(2017.6.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
断片化された入力パケットを保持した後にパケットを組み立てる断片化パケット組立手段と、
組み立てた前記パケットを処理して出力パケットを形成するパケット処理手段と、
前記出力パケットもしくは前記入力パケットを出力するパケット合流手段と、
前記断片化パケット組立手段の保持している前記入力パケットが処理対象のパケットか否かを判定し、処理対象ではないと判定すると、前記断片化パケット組立手段が保持している前記入力パケットを前記パケット合流手段に送る第１のパケット分配手段と、を有するパケット処理装置。
【請求項２】
前記断片化パケット組立手段は、バッファ書込手段と組立バッファとバッファ読出手段とを有し、
前記バッファ書込手段は、前記入力パケットを前記組立バッファに書き込み、
前記組立バッファは、前記入力パケットを保持し、
前記バッファ読出手段は、組み立てに必要な前記入力パケットの全てが前記組立バッファに保持されたことを確認し、前記確認に基づいて前記入力パケットを読み出して組み立て、前記パケット処理手段に送る、請求項１記載のパケット処理装置。
【請求項３】
前記第１のパケット分配手段は、処理対象か否かの判定を、前記組み立てに必要な前記入力パケットの全てが前記断片化パケット組立手段に保持される前に行う、請求項１または２記載のパケット処理装置。
【請求項４】
前記断片化パケット組立手段は、前記第１のパケット分配手段が前記断片化パケット組立手段の保持する前記入力パケットを前記パケット合流手段に送ると、前記組み立てを中止する、請求項１から３の内の１項記載のパケット処理装置。
【請求項５】
第２のパケット分配手段を有し、前記第２のパケット分配手段は、前記断片化パケット組立手段の前段で前記入力パケットが処理対象のパケットであるか否かを判定し、処理対象ではないと判定すると、前記入力パケットを前記パケット合流手段に送る、請求項１から４の内の１項記載のパケット処理装置。
【請求項６】
前記第１のパケット分配手段と前記第２のパケット分配手段とは、処理対象のパケットか否かを判定する異なる基準を有する、請求項５記載のパケット処理装置。
【請求項７】
断片化された入力パケットを保持し、
保持している前記入力パケットの組み立てと、保持している前記入力パケットが処理対象であるか否かの判定と、を行い、
処理対象でないと判定すると、保持している前記入力パケットを出力し、前記入力パケットの組み立てを中止する、パケット処理方法。
【請求項８】
前記入力パケットが処理対象のパケットであるか否かの初期判定をし、前記初期判定で処理対象でないと判定すると前記入力パケットを出力し、処理対象であると判定すると前記入力パケットを保持する、請求項７記載のパケット処理方法。
【請求項９】
断片化された入力パケットを保持する処理と、
保持している前記入力パケットの組み立てと、保持している前記入力パケットが処理対象であるか否かの判定と、を行う処理と、
処理対象でないと判定すると、保持している前記入力パケットを出力し、前記入力パケットの組み立てを中止する処理と、をコンピュータに実行させるパケット処理プログラム。
【請求項１０】
前記入力パケットが処理対象のパケットであるか否かの初期判定をする処理と、前記初期判定で処理対象でないと判定すると前記入力パケットを出力する処理と、処理対象であると判定すると前記入力パケットを保持する処理と、を前記コンピュータに実行させる請求項９記載のパケット処理プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００５４
【補正方法】変更
【補正の内容】
【００５４】
本発明は上記実施形態に限定されることなく、特許請求の範囲に記載した発明の範囲内で種々の変形が可能であり、それらも本発明の範囲内に含まれるものである。
【国際調査報告】
2016103568.tif 000014
2016103568.tif 000015