送信順に応じた大きさのシーケンス番号が付随されたパケットの受信側に設けられ、今回受信したパケットである対象パケットのシーケンス番号を含むパケット情報が入力される整列回路であって、前記パケット情報を書き込むための領域を複数順次配列してなる整列バッファと、前記整列バッファの複数の領域のうちの1つを示す選択信号が入力され、該選択信号に応じて、前記対象パケットの前記パケット情報を前記整列バッファへ書き込む書込回路と、前記対象パケットについて、前記選択信号を生成して前記書込回路に供する制御回路とを備え、前記制御回路は、前記整列バッファの先頭の領域が前記パケット情報を書き込まれていない未書込領域であるときに、前記先頭の領域を示す前記選択信号を生成し、前記整列バッファの先頭の領域が前記パケット情報を書き込まれた書込済領域であるときに、前記対象パケットの前記パケット情報から該対象パケットのシーケンス番号を取得すると共に、取得したシーケンス番号より大きいシーケンス番号を含む前記パケット情報が書き込まれた各書込済領域のうちの先頭の領域となる境界領域の検索を、前記整列バッファの先頭から末尾に向かう順で、該書込済領域に書き込まれた前記パケット情報に含まれるシーケンス番号と前記対象パケットのシーケンス番号との比較を順次行うことにより実行し、前記検索により前記境界領域を検出できたときに、該境界領域を示す前記選択信号を生成する一方、末尾の書込済領域まで前記検索を行っても前記境界領域を検出できなかったときに、最後の書込済領域の次の領域を示す前記選択信号を生成し、前記書込回路は、前記選択信号により示される領域を起点にして、前記整列バッファの末尾に向かう方向に、各領域に夫々格納されているデータを1領域分シフトすると共に、前記対象パケットの前記パケット情報を前記選択信号により示される領域に書き込むことを特徴とする整列回路。前記書込回路は、前記整列バッファの複数の領域毎に設けられ、段階的に順次接続された複数の選択回路を有し、前記複数の選択回路のうちの、前記選択信号により示される領域より前の領域に対応する各選択回路は、何もせず、前記選択信号により示される領域より後の領域に対応する各選択回路は、自身に対応する領域に、前段の選択回路に対応する領域に格納されているデータをシフトし、前記選択信号により示される領域に対応する選択回路は、前記対象パケットの前記パケット情報を該領域に書き込むことを特徴とする請求項2に記載の整列回路。各パケットに付随されたシーケンス番号は、該パケットの1つ前に送信されたパケットのシーケンス番号とペイロード長とを加算して得た加算値であり、前記パケット情報は、当該パケットのペイロード長または該ペイロード長を算出可能な値と、該パケットの前記加算値とのいずれか一方をさらに含み、前記制御回路は、前記整列バッファの先頭の領域が書込済領域であるときに行う前記境界領域の検索に際して、検索対象領域の判定をすると共に、検索対象領域に判定した各領域のみを前記検索の対象とし、前記検索対象領域は、前記整列バッファにおける各連続グループの先頭の領域となるグループ先頭領域であり、前記連続グループは、前記整列バッファの先頭の領域以外であり、かつ、1つ前の連続グループの末尾の領域の次の領域である書込済領域と、前記整列バッファの先頭の領域とのいずれか一方に該当する領域を前記グループ先頭領域とし、前記グループ先頭領域のみ、または、前記グループ先頭領域を起点にして配列順が連続する複数の書込済領域であって、該複数の書込済領域の2つ目の領域からの各領域に夫々書き込まれた前記パケット情報に含まれるシーケンス番号が、該領域の1つ前の領域に書き込まれた前記パケット情報から得られる前記加算値に一致する前記複数の書込済領域により構成されることを特徴とする請求項1または2に記載の整列回路。前記制御回路は、一致すると一致しないのいずれかを示す連続ビットを前記対象パケットの前記パケット情報に付加してから前記書込回路に出力し、前記検索対象領域を判定する際に、一致しないを示す前記連続ビットを含む前記パケット情報が書き込まれた各書込済領域を前記検索対象領域に判定し、前記対象パケットの前記パケット情報に前記連続ビットを付加する際に、前記選択信号により示される領域が前記整列バッファの先頭の領域以外であり、かつ、前記対象パケットのシーケンス番号が、前記選択信号により示される領域の1つ前の領域に書き込まれた前記パケット情報から得られる前記加算値に一致する場合において、一致するを示す値を前記連続ビットに付与し、他の場合において、一致しないを示す値を前記連続ビットに付与することを特徴とする請求項3に記載の整列回路。前記制御回路により生成された1つ以上のポインタを記憶するポインタ記憶回路をさらに有し、前記制御回路は、前記検索対象領域を判定する際に、前記ポインタ記憶回路に記憶された各ポインタにより夫々示される書込済領域を前記検索対象領域に判定し、前記選択信号により示される領域が未書込領域である第1の場合において、該領域が前記整列バッファの先頭の領域以外であり、かつ、前記対象パケットのシーケンス番号が、前記選択信号により示される領域の1つ前の領域に書き込まれた前記パケット情報から得られる前記加算値に一致する第1Aの場合に、ポインタを生成せず、前記第1Aの場合に該当しない第1Bの場合に、前記選択信号により示される領域を示すポインタを生成し、前記選択信号により示される領域が書込済領域である第2の場合において、該領域からのいずれかの領域を示す全てのポインタを、現在示している領域の次の領域を示すように変更し、前記選択信号により示される領域が前記整列バッファの先頭の領域以外であり、かつ、前記対象パケットのシーケンス番号が、前記選択信号により示される領域の1つ前の領域に書き込まれた前記パケット情報から得られる前記加算値に一致する第2Aの場合に、ポインタを生成せず、前記第2Aの場合に該当しない第2Bの場合に、前記選択信号により示される領域を示すポインタを生成することを特徴とする請求項3に記載の整列回路。前記制御回路は、前記第2Aの場合において、前記選択信号により示される領域に書き込まれた前記パケット情報に含まれるシーケンス番号が、前記対象パケットの前記加算値に一致するときにのみ、前記選択信号により示される領域の次の領域を示すポインタを削除し、前記第2Bの場合において、前記選択信号により示される領域に書き込まれた前記パケット情報に含まれるシーケンス番号が、前記対象パケットの前記加算値に一致するときにのみ、ポンタを生成する代わりに、前記選択信号により示される領域の次の領域を示すポインタを、前記選択信号により示される領域を示すように変更することを特徴とする請求項4に記載の整列回路。送信順に応じた大きさのシーケンス番号が付随されたパケットを受信した際に、該パケットを対象パケットとして、シーケンス番号を含むパケット情報を生成するパケット情報生成部と、整列回路と、DMADirectMemoryAccessコントローラと、整列回路とを備える受信装置であって、前記整列回路は、前記パケット情報を書き込むための領域を複数順次配列してなる整列バッファと、前記整列バッファの複数の領域のうちの1つを示す選択信号が入力され、該選択信号に応じて、前記対象パケットの前記パケット情報を前記整列バッファへ書き込む書込回路と、前記対象パケットについて、前記選択信号を生成して前記書込回路に供する制御回路とを備え、前記制御回路は、前記整列バッファの先頭の領域が前記パケット情報を書き込まれていない未書込領域であるときに、前記先頭の領域を示す前記選択信号を生成し、前記整列バッファの先頭の領域が前記パケット情報を書き込まれた書込済領域であるときに、前記対象パケットの前記パケット情報から該対象パケットのシーケンス番号を取得すると共に、取得したシーケンス番号より大きいシーケンス番号を含む前記パケット情報が書き込まれた各書込済領域のうちの先頭の領域となる境界領域の検索を、前記整列バッファの先頭から末尾に向かう順で、該書込済領域に書き込まれた前記パケット情報に含まれるシーケンス番号と前記対象パケットのシーケンス番号との比較を順次行うことにより実行し、前記検索により前記境界領域を検出できたときに、該境界領域を示す前記選択信号を生成する一方、末尾の書込済領域まで前記検索を行っても前記境界領域を検出できなかったときに、最後の書込済領域の次の領域を示す前記選択信号を生成し、前記書込回路は、前記選択信号により示される領域を起点にして、前記整列バッファの末尾に向かう方向に、各領域に夫々格納されているデータを1領域分シフトすると共に、前記対象パケットの前記パケット情報を前記選択信号により示される領域に書き込み、前記DMAコントローラは、前記整列バッファに書き込まれた複数の前記パケット情報をDMA転送することを特徴とする受信装置。前記書込回路は、前記整列バッファの複数の領域毎に設けられ、段階的に順次接続された複数の選択回路を有し、前記複数の選択回路のうちの、前記選択信号により示される領域より前の領域に対応する各選択回路は、何もせず、前記選択信号により示される領域より後の領域に対応する各選択回路は、自身に対応する領域に、前段の選択回路に対応する領域に格納されているデータをシフトし、前記選択信号により示される領域に対応する選択回路は、前記対象パケットの前記パケット情報を該領域に書き込むことを特徴とする請求項7に記載の受信装置。各パケットに付随されたシーケンス番号は、該パケットの1つ前に送信されたパケットのシーケンス番号とペイロード長とを加算して得た加算値であり、前記パケット情報生成部は、前記対象パケットのペイロード長または該ペイロード長を算出可能な値と、該パケットの前記加算値とのいずれか一方をさらに含む前記パケット情報を生成し、前記制御回路は、前記整列バッファの先頭の領域が書込済領域であるときに行う前記境界領域の検索に際して、検索対象領域の判定をすると共に、検索対象領域に判定した各領域のみを前記検索の対象とし、前記検索対象領域は、前記整列バッファにおける各連続グループの先頭の領域となるグループ先頭領域であり、前記連続グループは、前記整列バッファの先頭の領域以外であり、かつ、1つ前の連続グループの末尾の領域の次の領域である書込済領域と、前記整列バッファの先頭の領域とのいずれか一方に該当する領域を前記グループ先頭領域とし、前記グループ先頭領域のみ、または、前記グループ先頭領域を起点にして配列順が連続する複数の書込済領域であって、該複数の書込済領域の2つ目の領域からの各領域に夫々書き込まれた前記パケット情報に含まれるシーケンス番号が、該領域の1つ前の領域に書き込まれた前記パケット情報から得られる前記加算値に一致する前記複数の書込済領域により構成されることを特徴とする請求項7または8に記載の受信装置。前記制御回路は、前記パケット情報生成部により生成された前記パケット情報に、一致すると一致しないのいずれかを示す連続ビットを付加してから前記書込回路に出力し、前記検索対象領域を判定する際に、一致しないを示す前記連続ビットを含む前記パケット情報が書き込まれた各書込済領域を前記検索対象領域に判定し、前記対象パケットの前記パケット情報に前記連続ビットを付加する際に、前記選択信号により示される領域が前記整列バッファの先頭の領域以外であり、かつ、前記対象パケットのシーケンス番号が、前記選択信号により示される領域の1つ前の領域に書き込まれた前記パケット情報から得られる前記加算値に一致する場合において、一致するを示す値を前記連続ビットに付与し、他の場合において、一致しないを示す値を前記連続ビットに付与することを特徴とする請求項9に記載の受信装置。前記整列回路は、前記制御回路により生成された1つ以上のポインタを記憶するポインタ記憶回路をさらに有し、前記制御回路は、前記検索対象領域を判定する際に、前記ポインタ記憶回路に記憶された各ポインタにより夫々示される書込済領域を前記検索対象領域に判定し、前記選択信号により示される領域が未書込領域である第1の場合において、該領域が前記整列バッファの先頭の領域以外であり、かつ、前記対象パケットのシーケンス番号が、前記選択信号により示される領域の1つ前の領域に書き込まれた前記パケット情報から得られる前記加算値に一致する第1Aの場合に、ポインタを生成せず、前記第1Aの場合に該当しない第1Bの場合に、前記選択信号により示される領域を示すポインタを生成し、前記選択信号により示される領域が書込済領域である第2の場合において、該領域からのいずれかの領域を示す全てのポインタを、現在示している領域の次の領域を示すように変更し、前記選択信号により示される領域が前記整列バッファの先頭の領域以外であり、かつ、前記対象パケットのシーケンス番号が、前記選択信号により示される領域の1つ前の領域に書き込まれた前記パケット情報から得られる前記加算値に一致する第2Aの場合に、ポインタを生成せず、前記第2Aの場合に該当しない第2Bの場合に、前記選択信号により示される領域を示すポインタを生成することを特徴とする請求項9に記載の受信装置。前記制御回路は、前記第2Aの場合において、前記選択信号により示される領域に書き込まれた前記パケット情報に含まれるシーケンス番号が、前記対象パケットの前記加算値に一致するときにのみ、前記選択信号により示される領域の次の領域を示すポインタを削除し、前記第2Bの場合において、前記選択信号により示される領域に書き込まれた前記パケット情報に含まれるシーケンス番号が、前記対象パケットの前記加算値に一致するときにのみ、ポンタを生成する代わりに、前記選択信号により示される領域の次の領域を示すポインタを、前記選択信号により示される領域を示すように変更することを特徴とする請求項10に記載の受信装置。前記DMAコントローラは、さらに、前記対象パケットを受信する度に該対象パケットをDMA転送することを特徴とする請求項7から12のいずれか1項に記載の受信装置。前記整列バッファは、前記パケット情報生成部により生成された前記パケット情報と、該パケット情報に対応する前記対象パケットとが入力され、前記書込回路は、前記パケット情報と前記対象パケットを前記整列バッファの同一の領域に書き込み、前記DMAコントローラは、前記整列バッファに書き込まれた複数の前記パケット情報と前記対象パケットをDMA転送することを特徴とする請求項7から12のいずれか1項に記載の受信装置。IEEE802.3規格に準拠した通信装置においては、TCP/IPTransmissionControlProtocol/InternetProtocolやUDP/IPUserDatagramProtocol/InternetProtocol等の通信プロトコルが用いられている。例えば、TCP/IPの場合には、パケットのシーケンス番号は、送信順が後になるほど大きな値を有するが、送信順に応じて1ずつインクリメントする値ではない。これについて、図34~図36を参照して、TCP/IPパケットの構成から説明する。図34は、TCP/IPパケットのフォーマットを示す。図示のように、TCP/IPパケット50は、IPヘッダ60と、TCPヘッダ70と、アプリケーションデータとなるペイロード90を含む。IPヘッダ60は、OSIOpenSystemInterconnection参照モデルのネットワーク層に位置するものであり、ネットワークに接続されている装置のアドレッシングや、相互に接続された複数のネットワーク内での通信経路の選定のなどのための情報である。図35に示すように、IPヘッダ60は、パケット長などの情報を示すIPパケット情報61と、送信元IPアドレス62と、宛先IPアドレス63を含む。TCPヘッダ70は、OSI参照モデルのトランスポート層に位置するものであり、転送されるペイロード90をどの処理に渡せばいいかなどの情報が含まれている。図36に示すように、TCPヘッダ70は、送信元のプログラムを識別するための送信元ポート番号71、宛先のプログラムを識別するための宛先ポート番号72、送信順を示すシーケンス番号73、次に受信すべきシーケンス番号を示すアクノリッジメント番号74、TCPヘッダ長を示すオフセット75、将来の拡張のための予備フィールド76、制御ビットを示すTCPフラグ77、受信側において受信可能なデータサイズを示すウインドウ78、ペイロード90のチェックサムを示すチェックサム79、緊急を要するデータの格納場所を示すアージェントポイント80を含む。シーケンス番号73は、送信装置間の接続確立時に乱数により初期値1つ目のパケットのシーケンス番号が決定される。その後、現在に送信するパケットには、1つ前に送信したパケットのシーケンス番号73とペイロード長との和であるシーケンス番号が付与される。なお、ペイロード長は、当該パケットのTCPヘッダ70のペイロード90のデータ長である。アクノリッジメント番号74は、シーケンス番号73とペイロード長との和である。すなわち、アクノリッジメント番号74は、次に送信されるパケットのシーケンス番号であり、現在に受信したパケットのシーケンス番号73が、1つ前に受信したパケットのアクノリッジメント番号74と一致すれば、現在に受信したパケットは、1つ前に受信したパケットに連続して送信されたパケットである。TCP/IPパケットの送信装置は、送信時に、図34~図36に示す構成のパケットを生成して送信する。すなわち、受信側で受信されたパケットは、分割されて送信されたパケット以下分割パケットともいうであれば、そのTCPヘッダには、該パケットのシーケンス番号73が含まれている。なお、TCPプロトコルでは、ペイロード90の最大長MSSMaximumSegmentSizeは定められており、アプリケーションデータは、該MSS以下のサイズに分割されて送信される。TCPヘッダ70中のウインドウ78は、送信先のバッファサイズを示している。送信装置は、MSS以下に分割されて送信されるデータの個数がウインドウ78により示されるウィンドウサイズとなるまで連続してパケットを送出可能であり、ウィンドウサイズに到達した場合は、送信装置は、パケットの送出を一時停止し、受信側からの受信応答検出後、再度、パケットの送信を開始する事となる。以上の説明から分かるように、TCP/IPの場合、シーケンス番号は、送信順が後になるほど大きい値になるが、送信順に応じて1ずつインクリメントする値ではない。また、ペイロードの最大長MSSが決まっているものの、ペイロード長が固定値ではないため、シーケンス番号の増分値も固定値ではない。ここで、特許文献1と特許文献2に開示された技術をTCP/IPの受信装置に適用した場合を考える。特許文献1に開示された技術は、並替えバッファ4にパケットを書き込む際に、シーケンス番号に応じて書込ポインタを生成し、書込ポインタが示す番地にパケットを書き込む。例えば、図30に示す並替えバッファ4に対して155番地までパケットが書き込まれており、156番地からパケットが書き込まれていないと仮定した場合に、新たに受信したパケットのシーケンス番号が155に書き込まれたパケットのシーケンス番号に1を加算した値ではない場合に、新たに受信したパケットを、156以降のいずれかの番地に書き込むかを決定する必要がある。シーケンス番号が1ずつインクリメントする場合には、新たに受信したパケットのシーケンス番号と、155番地に書き込まれたシーケンス番号との差分の分だけ155から後に位置する番地に新たに受信したパケットを書き込めばよいが、TCP/IPパケットの場合、シーケンス番号が送信順に応じて1ずつインクリメントするわけではなく、また、増分値も固定ではないため、新たに受信したパケットの書き込むべき位置を決定することができず、適切な書込ポインタをそもそも生成することができない。そのため、特許文献1に開示された技術は、シーケンス番号が送信順に応じて1ずつインクリメントすることを前提としている技術であり、該技術をTCP/IPの受信装置に適用すると、本来連続して送信されたパケット同士も、並替えバッファ4上で間隔をおいて書き込まれることになる。この場合、間隔となった番地に書き込むべきパケットが無いため、特許文献1の技術によれば、読出し時には、パケットロスの判断がなされ、読出しポインタの強制的なインクリメントが行われる。これでは、並替えバッファ4の有効利用ができない。さらに、一般的に、パケットロスが生じるとCPUへの割込みが生じるため、割込みが多発し、受信装置の処理効率の低下を引き起こしてしまう。特許文献2に開示された技術も、シーケンス番号が送信順に1ずつインクリメントすることを前提にしたものであり、新たに受信したパケットのシーケンス番号と、過去に受信したパケットのうちの最大なシーケンス番号とが連続しない場合に、この2つのシーケンス番号間の各数値を、今後受信するパケットのシーケンス番号と予測してリスト27に登録している図30におけるS15:No、S21~。TCP/IPの場合、このような予測がそもそも適正にできない。そのため、特許文献2の技術をTCP/IPの受信装置に適用すると、存在しないシーケンス番号がリスト27に多数登録されることになり、タイマ26によるこれらのシーケンス番号に対応する計時、及び計時結果に応じたタイムアウトの判断などの無駄な処理が発生し、受信装置の処理効率が低下してしまう。本発明の1つの態様は、送信順に応じた大きさのシーケンス番号が付随されたパケットの受信側における整列回路である。該整列回路は、今回受信したパケットである対象パケットのシーケンス番号を含むパケット情報が入力され、整列バッファと、書込回路と、制御回路を備える。整列バッファは、パケット情報を書き込むための領域を複数順次配列してなる。書込回路は、整列バッファの複数の領域のうちの1つを示す選択信号が入力され、該選択信号に応じて、対象パケットのパケット情報を整列バッファへ書き込む。制御回路は、対象パケットについて、選択信号を生成して書込回路に供する。具体的には、制御回路は、整列バッファの先頭の領域がパケット情報を書き込まれていない未書込領域であるときに、該先頭の領域を示す選択信号を生成する。また、制御回路は、整列バッファの先頭の領域がパケット情報を書き込まれた書込済領域であるときに、対象パケットのパケット情報から該対象パケットのシーケンス番号を取得すると共に、取得したシーケンス番号より大きいシーケンス番号を含むパケット情報が書き込まれた各書込済領域のうちの先頭の領域となる境界領域の検索を、整列バッファの先頭から末尾に向かう順で、該書込済領域に書き込まれたパケット情報に含まれるシーケンス番号と対象パケットのシーケンス番号との比較を順次行うことにより実行する。そして、制御回路は、該検索により境界領域を検出できたときに、該境界領域を示す選択信号を生成する一方、末尾の書込済領域まで検索を行っても境界領域を検出できなかったときに、最後の書込済領域の次の領域を示す選択信号を生成する。書込回路は、選択信号により示される領域を起点にして、整列バッファの末尾に向かう方向に、各領域に夫々格納されているデータを1領域分シフトすると共に、対象パケットのパケット情報を選択信号により示される領域に書き込む。なお、上記態様の整列回路を装置やシステムに置き換えて表現したもの、該整列回路を備えた受信装置、該受信装置を備えた通信システムなども、本発明の態様としては有効である。本発明にかかる技術によれば、受信順序が保証されず、かつ、シーケンス番号が送信順に応じて1ずつインクリメントする値ではないパケットの受信装置においても、CPUの代わりに、受信したパケットを送信順に並び替え、受信装置の効率向上を図ることができる。以下、図面を参照して本発明の実施の形態について説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。なお、以下の説明において、各整列回路は、パケットの受信装置に設けられたものである。また、受信装置に関して、受信時におけるパケットの並替えについてのみを説明するが、受信装置は、受信時にパケットの並替えのみを行うことではなく、受信機能のみを有するものとも限らない。本発明の具体的な実施の形態の前に、まず、本発明にかかる技術の原理を説明する。図1に示す整列回路100は、パケットの受信装置に設けられ、送信順にパケットを並び替えるためのものである。図示のように、該整列回路100は、今回受信したパケット以下対象パケットというのパケット情報PIが入力され、整列バッファ110、書込回路200、制御回路300を備える。なお、パケット情報PIには、対象パケットのシーケンス番号SNが少なくとも含まれている。整列バッファ110は、複数N1個の領域が先頭の領域領域0から末尾の領域領域Nに向かう配列順で配列してなる。これらの領域には、書込回路200に対象パケットのパケット情報PIを書き込まれる。なお、整列バッファ110の複数の領域は、1つのバッファ内の複数の領域であってもよいし、図示の配列順と同様に配列された複数のバッファであってもよい。書込回路200は、制御回路300からから、整列バッファ110の複数の領域のうちの1つを示す選択信号SELが入力され、選択信号SELに応じて、対象パケットのパケット情報PIを整列バッファ110書き込む。制御回路300は、下記のように選択信号SELを生成する。整列バッファ110の先頭の領域領域0にパケット情報が書き込まれていない場合には、制御回路300は、該先頭の領域を示す選択信号SELを生成する。なお、以下において、パケット情報が書き込まれていない領域を未書込領域という。対して、パケット情報が既に書き込まれた領域を書込済領域という。整列バッファの先頭の領域が書込済領域であるときには、制御回路300は、対象パケットのパケット情報PIからシーケンス番号SNを抽出して、境界領域の検索を行う。境界領域とは、対象パケットのシーケンス番号より大きいシーケンス番号を含むパケット情報が書き込まれた各書込済領域のうちの先頭の領域である。制御回路300は、整列バッファ110の先頭から末尾に向かう順で、該書込済領域に書き込まれたパケット情報に含まれるシーケンス番号と対象パケットのシーケンス番号との比較を順次行うことにより境界領域の検索を実行する。そして、制御回路300は、該検索により境界領域を検出できたときに、該境界領域を示す選択信号SELを生成する。一方、最後の書込済領域まで検索を行っても境界領域を検出できなかったときに、制御回路300は、最後の書込済領域の次の領域を示す選択信号SELを生成する。書込回路200は、選択信号SELにより示される領域を起点にして、整列バッファ110の末尾に向かう方向に、各領域に夫々格納されているデータを1領域分シフトすると共に、対象パケットのパケット情報PIを起点の済領域に書き込む。なお、整列バッファ110の領域が書込済領域であるか未書込領域であるかの判断は、従来知られている種々の手法を適用することができる。例えば、各領域内に、該領域にパケット情報PIが書き込まれているか否かを示すストアフラグを設け、該領域内にパケット情報PIが書き込まれたときに、ストアフラグが立つようにする。そして、制御回路300は、当該領域内のストアフラグを確認することにより該領域が書込済領域か未書込領域かを判断すればよい。図2を参照して、図1に示す整列回路100において、パケットの受信に伴った整列バッファ110の状態の遷移の例を説明する。図2において、整列バッファ110の各領域を示す四角形の枠のうちの、黒い枠は書込済領域を示し、白い枠が未書込領域を示す。また、整列バッファ110の下の数字は、該領域の配列順を示し、数字が小さい領域ほど、先頭に近い領域である。また、書込済領域内の文字は、該領域に書き込まれたパケット情報PIを示す。また、時間軸は、パケットの受信順を示し、時間が後になるほど受信順も後になる。時間軸の左側の数字は、対象パケットの受信タイミングを示し、時間軸の右側の文字は、該タイミングにおいて受信したパケット対象パケットのシーケンス番号SNと、該対象パケットに対して制御回路300が生成した選択信号SELを示す。これらについて、以降の各同種の図面においても同様である。図2に示すように、タイミングt1において、整列バッファ110の全ての領域が未書込領域である。このときに、シーケンス番号SNが5であるパケットが受信され、そのシーケンス番号SNが含まれるパケット情報PIは、整列回路100に入力される。制御回路300は、整列バッファ110の先頭となる領域0が未書込領域であるため、領域0を示す選択信号SELを生成して書込回路200に出力する。書込回路200は、選択信号SELを示す領域0を起点にして、整列バッファ110の末尾の領域に向かう方向に1領域分のシフトをすると共に、対象パケットのパケット情報PIここではシーケンス番号SNを示す5を領域0に書き込む。なお、シフトのときに、いずれの領域にもパケット情報が書き込まれていないため、空のデータがシフトされることになる。タイミングt2において、シーケンス番号SNが11である次のパケットが受信され、そのパケット情報PIが整列回路100に入力される。図示のように、このときに、整列バッファ110の領域0に、パケット情報PIシーケンス番号SN=5が書き込まれており、領域0が書込済領域である。そのため、制御回路300は、まず、整列バッファ110の先頭から末尾に向かう順で、各書込済領域に書き込まれたシーケンス番号SNと、対象パケットのシーケンス番号SNとの比較を順次行うことにより境界領域の検索を行う。このときに、書込済領域が領域0のみである、領域0に書き込まれたシーケンス番号SNが対象パケットのシーケンス番号SN11より小さいため、境界領域が検出できず、制御回路300は、対象パケットに対して、最後の書込済領域ここでは領域0の次の領域領域1を示す選択信号SELを生成する。書込回路200は、対象パケットのパケット情報PIシーケンス番号SNを示す11を、選択信号SELにより示される領域1に書き込む。タイミングt3において、シーケンス番号SNが1である次のパケットが受信され、そのパケット情報PIが整列回路100に入力される。図示のように、このときに、整列バッファ110の領域0と領域1に、パケット情報PIシーケンス番号SN=5とパケット情報PIシーケンス番号SN=11が夫々書き込まれており、領域0が書込済領域である。そのため、制御回路300は、まず、境界領域の検索を行う。検索の結果、領域0が境界領域として検出できたため、制御回路300は、境界領域である領域0を示す選択信号SELを生成する書込回路200は、領域0を起点にし、整列バッファ110の末尾に向かう方向に、各領域に夫々格納されているデータを1領域分シフトすると共に、対象パケットのパケット情報PIシーケンス番号SN=1を起点の書込済領域ここでは領域0に書き込む。タイミングt4において、シーケンス番号SNが9である次のパケットが受信され、そのパケット情報PIが整列回路100に入力される。図示のように、このときに、整列バッファ110の領域0、領域1、領域2に、パケット情報PIシーケンス番号SN=1、パケット情報PIシーケンス番号SN=5、パケット情報PISN=11が夫々書き込まれており、領域0が書込済領域である。そのため、制御回路300は、まず、境界領域の検索を行う。検索の結果、領域2が境界領域として検索されたため、制御回路300は、境界領域である領域2を示す選択信号SELを生成する書込回路200は、領域2を起点にし、整列バッファ110の末尾に向かう方向に、各領域に夫々格納されているデータを1領域分シフトすると共に、対象パケットのパケット情報PIシーケンス番号SN=5を起点の書込済領域ここでは領域2に書き込む。その結果、整列バッファ110の領域0~領域3に、パケット情報PIシーケンス番号SN=1、パケット情報PIシーケンス番号SN=5、パケット情報PIシーケンス番号SN=9、パケット情報PISN=11が夫々格納される。図3は、整列回路100の処理を示すフローチャートであり、対象パケットのパケット情報PIの受信から該対象パケットのパケット情報PIが整列バッファ110に書き込まれるまでの流れを示す。図3において、ステップS102~ステップS150までは、制御回路300が行う処理であり、ステップS160は、書込回路200が行う処理である。パケット情報を受信するとS100、制御回路300は、受信したパケット情報からシーケンス番号SNを抽出するS102。そして、制御回路300は、整列バッファ110の先頭の領域0が書込済領域なのか未書込領域なのかを確認するS104。領域0が未書込領域であればS104:No、制御回路300は、領域0を示す選択信号SELを生成して、書込回路200に出力するS110、S150。ステップS104における確認の結果、領域0が書込済領域であればS104:Yes、制御回路300は、境界領域の検索を行うS120。境界領域があり、ステップS120の検索により検出できたときにS122:Yes、制御回路300は、該境界領域を示す選択信号SELを生成して書込回路200に出力するS130、S150。境界領域が無く、ステップS120における検索を最後の書込済領域まで行っても境界領域を検出できなかった場合にS122:No、制御回路300は、最後の書込済領域の次の領域を示す選択信号SELを生成して書込回路200に出力するS140、S150。書込回路200は、制御回路300からのパケット情報PIと選択信号SELを受信して、書込処理を行うS160。図4は、図3におけるステップS160の書込処理を示すフローチャートである。書込回路200は、まず、選択信号SELにより示される領域を起点にして、整列バッファ110の末尾に向かう方向に、各領域に格納されたデータを1領域分シフトするS162。そして、書込回路200は、選択信号SELにより示される領域に、対象パケットのパケット情報PIを書き込むS164。以上の説明から分かるように、整列回路100において、受信された各パケットのパケット情報PIが整列バッファ110の先頭の領域から、間隔が開かずに、かつ、シーケンス番号の小さい順に格納される。そのため、整列回路100を備えた受信装置において、受信されたパケットの読出し時に、整列バッファ110の先頭の領域から1つずつインクリメントしながら、該領域に書き込まれたパケット情報に対応するパケットを順次読み出すようにすれば、パケットの読出順は、送信順と同一になる。なお、受信されたパケットの読出しに関しては、種々な態様が考えられる。例えば、整列回路100における整列バッファ110を受信バッファとして使用し、受信したパケットそのものをパケット情報PIとして整列回路100の該当する領域に格納し、読出しに際しては、整列バッファ110の先頭領域からパケットを読み出すようにすることができる。この場合、パケット情報PIがパケットそのものになるため、制御回路300は、新たな対象パケットを格納する領域を示す選択信号SELを生成する度に、既に整列バッファ110に格納されたパケットのヘッダを解析してシーケンス番号を抽出する必要がある。従って、対象パケットのシーケンス番号を含むパケット情報PIと、該パケットのペイロードと共に、整列バッファ110の該当する領域に格納することも考えられる。こうすることにより、新たな対象パケットに対して選択信号SELを生成する際に、既に整列バッファ110に格納されたパケットに対しては、ヘッダの解析をする必要がなく、効率向上を図ることができる。または、例えば、整列バッファ110とは別途に、パケットを一時的に記憶する受信バッファを設け、DMADirectMemoryAccessにより、受信バッファに格納されたパケットをアプリケーションが使用するRAMRandomAccessMemoryなどのメモリに一括転送するようにしてもよい。DMA転送時には、整列バッファ110を参照して、整列バッファ110の先頭の領域から1つインクリメントしながら、該領域に書き込まれたパケット情報に対応するパケットを受信バッファから順次出力するようにすればよい。このように、図1に示す整列回路100によれば、受信順序が保証されず、かつ、シーケンス番号が送信順に応じて1ずつインクリメントする値ではないパケットの受信装置においても、CPUの代わりに、受信したパケットを送信順に並び替え、受信装置の効率向上を図ることができる。図5を参照して、図1に示す整列回路100における書込回路200の1つの構成例を説明する。図5に示す例では、書込回路200は、整列バッファ110の領域毎に設けられ、段階的に順次接続されたN個の選択回路選択回路210~選択回路21Nを有する。パケット情報PIと選択信号SELは、これらの各選択回路に入力される。各選択回路選択回路210~選択回路21Nは、自身に対応する領域と、選択信号SELにより示される領域の前後関係に応じて異なる動作をする。具体的には、選択信号SELにより示される領域より前の領域に対応する各選択回路は、何もしない。また、選択信号により示される領域より後の領域に対応する各選択回路は、自身に対応する領域に、前段の選択回路に対応する領域に格納されているデータをシフトして格納する。また、選択信号により示される領域に対応する選択回路は、対象パケットのパケット情報PIを該領域に書き込む。図5に示す書込回路200は、図1に示す書込回路200の処理を簡単に実現できる一例であり、勿論、該書込回路200を備えた整列回路100は、図1に示す整列回路100のときに説明した効果を得ることができる。本願発明者は、鋭意研究模索結果、さらに、制御回路300が行う境界領域の検索図3におけるステップS120を効率よくできる手法を確立した。例えば、整列バッファ110の先頭の領域領域0から、別の領域MM≧1までの各領域に、送信順が連続する複数のパケットのパケット情報PIが夫々格納されている場合、新たな対象パケットのパケット情報PIの書き込まれる領域は、領域0、または領域M以降のいずれかの領域領域Mを含むになるはずであり、領域1から、領域M-1までの各領域になるはずが無い。そのため、まず、領域0を検索対象領域に判定して、領域0を検索対象にして境界領域の検索をし、すなわち、領域0に書き込まれたパケット情報PIに含まれるシーケンス番号SNと、対象パケットのシーケンス番号SNの比較を行うことにより領域0が境界領域であるか否かの判定をする。領域0が境界領域ではないと判定したときに、領域Mを検索対象領域に判定して、領域Mを検索対象にして境界領域の検索を行うようにすれば、領域1から領域M-1までの各領域を検索対象とした検索をスキップすることができる。前述したように、例えばTCP/IPパケットの場合、各パケットに付随されたシーケンス番号は、該パケットの1つ前に送信されやパケットのシーケンス番号とペイロード長とを加算して得た加算値以下Wで表記するである。すなわち、過去に受信した各パケットについて、そのパケットのシーケンス番号とペイロード長から、該パケットの次に送信されるパケットのシーケンス番号上記加算値Wを算出することができる。なお、TCP/IPパケットのヘッダには、該パケットの全長を示す情報図35におけるパケット長が含まれており、TCPヘッダのヘッダ長が固定長であるため、TCP/IPパケットのヘッダからIPヘッダ長図35におけるレングスとシーケンス番号とパケット長を取得すれば、下記の式1に従って該パケットの次に送信されるパケットのシーケンス番号を算出できる。加算値W=パケットのシーケンス番号パケット長-IPヘッダ長-TCPヘッダ長=次に送信されるパケットのシーケンス番号1さらに、図36のときに説明したように、TCPヘッダ70には、上記加算値Wに該当するアクノリッジメント番号74が含まれている。上記のことに着目して、境界領域の検索を効率よく行うために本願発明者が確立した手法は、下記のように、パケット情報PIと選択信号SELの生成、及び検索対象領域の判定を行う。なお、分かりやすいように、図1に示す整列回路100を利用して説明する。まず、パケット情報PIは、シーケンス番号SNに加え、当該パケットのペイロード長または該ペイロード長を算出可能な値と、該パケットの上記加算値Wとのいずれか一方を含む必要がある。パケット情報PIに上記加算値Wを加える場合には、式1に従って加算値Wを算出するようにしてもよく、上記加算値Wと同値であるアクノリッジメント番号74をヘッダから読み出してそのまま用いてもよい。ペイロード長をパケット情報PIに加える場合には、式2に従ってペイロード長を算出すればよい。ペイロード長=パケット長-IPヘッダ長-TCPヘッダ長2この場合、後に、既に整列バッファ110にパケット情報PIが格納されたパケットの加算値Wが必要なときに、該パケットのシーケンス番号とペイロード長とを加算すればよい。ペイロード長以外の、ペイロード長を算出可能な値をパケット情報PIに加える場合には、例えばパケット長とIPヘッダ長を利用すればよい。TCPヘッダ長が固定であるため、この場合、後に、既に整列バッファ110にパケット情報PIが格納されたパケットの加算値Wが必要なときに、該パケットのシーケンス番号とパケット長とIPヘッダ長を読み出して、式1に従って加算値Wを算出すればよい。このように、既に整列バッファ110に書き込まれた各パケット情報PIには、該パケットのシーケンス番号SNと、加算値Wそのものまたは加算値Wを算出可能な値とが含まれるようになる。制御回路300は、整列バッファ110の整列バッファの先頭の領域が書込済領域であるときに行う境界領域の検索に際して、検索対象領域の判定をすると共に、検索対象領域に判定した各領域のみを検索対象とする。検索対象領域は、整列バッファ110における各連続グループの先頭の領域となるグループ先頭領域である。また、グループ先頭領域は、整列バッファ110の先頭の領域以外であり、かつ、1つ前の連続グループの末尾の領域の次の領域である書込済領域と、整列バッファ110の先頭の領域とのいずれか一方に該当する領域である。各連続グループは、グループ先頭領域のみ、または、グループ先頭領域を起点にして配列順が連続する複数の書込済領域であって、該複数の書込済領域の2つ目の領域からの各領域に夫々書き込まれたパケット情報PIに含まれるシーケンス番号SNが、領域の1つ前の領域に書き込まれたパケット情報PIから得られる加算値Wに一致する上記複数の書込済領域により構成される。なお、全ての検索対象領域について、境界領域の検索が行われる訳ではない。例えば、ある検索対象領域領域Bより前の検索対象領域領域Aを対象とした検索の結果、領域Aが境界領域であると判定されたときに、境界領域の検索が終了するため、領域Bを対象とする検索が行われない。前に例挙したように、整列バッファ110の先頭の領域領域0から、別の領域MM≧1までの各領域に、送信順が連続する複数のパケットのパケット情報PIが夫々格納されている場合、領域1から領域Mまでの各領域に書き込まれたパケット情報PIに含まれるシーケンス番号SNが、1つ前の領域に書き込まれたパケット情報PIから得られる加算値Wに一致する。この場合、制御回路300は、領域0から領域Mまでの各領域を1つの連続グループとし、まず、グループ先頭領域領域0を検索対象にして境界領域を検索する。検索の結果、領域0が境界領域であると判定したときに、境界領域の検索を終了する。この場合、領域0が対象パケットを書き込むべき領域に判定される。一方、領域0が境界領域ではないと判定したときに、制御回路300は、領域M1が書込済領域であるか否かを確認する。該領域が未書込領域であるときには、境界領域が無いと判定する。この場合においても、領域0が対象パケットを書き込むべき領域に判定される。領域M1が書込済領域である場合、すなわち、該領域が次の連続グループの先頭の領域である場合、制御回路300は、グループ先頭領域領域M1を検索対象にして境界領域を検索する。その後の処理に関しては、領域0を検索対象にして境界領域を検索する場合と同様である。このように。本願発明者が確立した手法によれば、各連続グループの先頭の領域のみを検索対象領域に判定し、判定した検索対象領域のみを検索対象とするため、対象パケットとシーケンス番号SNを比較される領域の数を減らすことができ、境界領域の検索を効率良く実現する。上述した検索対象領域の判定を実現する具体的な手法は、様々考えられる。ここで、連続ビットに基づいた手法第1の手法、ポインタに基づいた手法第2の手法を説明する。ここも、図1に示す整列回路100の機能ブロックを利用して説明する。また、パケット情報PIには、加算値Wが含まれているとする。<第1の手法:連続ビットに基づいた手法>この手法では、制御回路300は、対象パケットのパケット情報PIシーケンス番号SN加算値Wに、連続ビットCBを付加してから書込回路200に出力する。連続ビットCBは、一致すると一致しないのいずれを示す値を有し、例として、1が一致するを示し、0が一致しないと示すとする。制御回路300は、検索対象領域を判定する際に、一致しないを示す、すなわち値が0である連続ビットCBを含むパケット情報PIが書き込まれた各書込済領域を検索対象領域に判定する。また、対象パケットのパケット情報PIに連続ビットCBを付加する際に、制御回路300は、選択信号SELにより示される領域が整列バッファ110の先頭の領域以外であり、かつ、対象パケットのシーケンス番号SNが、選択信号SELにより示される領域の1つ前の領域に書き込まれたパケット情報PIから得られる加算値Wに一致する場合において、一致するを示す値1を連続ビットCBに付与する。他の場合においては、0を連続ビットCBに付与する。図6は、第1の手法を適用した場合の整列回路100の処理を示すフローチャートであり、対象パケットの受信から該対象パケットのパケット情報PIが整列バッファ110に書き込まれるまでの流れを示す。図6において、ステップS202~ステップS280までは、制御回路300が行う処理であり、ステップS160は、図4に示される、書込回路200が行う書込処理である。図6に示すように、パケットが受信され、該パケットのパケット情報PIが整列回路100に入力されるとS200、制御回路300は、パケット情報PIからシーケンス番号SNを抽出するS202。そして、制御回路300は、整列バッファ110の先頭の領域0が書込済領域なのか未書込領域なのかを確認するS204、S210。領域0が未書込領域であればS210:No、制御回路300は、領域0を示す選択信号SELを生成するS240。そして、対象パケットの連続ビットCBに0を付与しS250:Yes、S270、該連続ビットCBと、ステップS202で取得したシーケンス番号SNと加算値Wを含むパケット情報PI、及びステップS220で生成した選択信号SELを書込回路200に出力するS280。ステップS210における確認の結果、領域0が書込済領域であればS204、S210:Yes、制御回路300は、境界領域の検索を開始する。具体的には、まず、領域0が検索対象領域であるか否かを判定するS220。具体的には、領域0に書き込まれたパケット情報PIに含まれる連続ビットCBが1と0のいずれであるかを確認する。なお、後の説明で分かるが、領域0に書き込まれるパケット情報PIに含まれる連続ビットCBが常に0であるため、制御回路300は、領域0が検索対象領域であるとし、対象パケットのシーケンス番号SNと領域0に書き込まれたパケット情報に含まれるシーケンス番号SN0を比較するS220:Yes、S230。対象パケットのシーケンス番号SNがSN0より小さければS230:Yes、制御回路300は、領域0が境界領域であるとして、領域0を示す選択信号SELを生成するS240。そして、対象パケットの連続ビットCBに0を付与しS250:Yes、S270、パケット情報PIと選択信号SELを書込回路200に出力するS280。ステップS230における比較の結果、対象パケットのシーケンス番号SNがSN0より大きいときにS230:No、制御回路300は、領域0が境界領域ではないと判定して、次の領域領域1について、ステップS210からの処理を行うS232、S210~。領域1について、制御回路300は、まず、該領域が書込済領域であるか否かを確認するS210。領域1が未書込領域であればS210:No、制御回路300は、領域1を示す選択信号SELを生成しS240、さらに、対象パケットのシーケンス番号SNが、領域0に書き込まれたパケット情報PIに含まれる加算値W0に一致するか否かを確認するS250:No、S260。一致すれば、制御回路300は、対象パケットの連続ビットCBに1を付与しS260:Yes、S262、パケット情報PIと選択信号SELを書込回路200に出力するS280。なお、ステップS260における確認の結果、一致しない場合にS260:No、制御回路300は、対象パケットの連続ビットCBに0を付与しS270、パケット情報PIと選択信号SELを書込回路200に出力するS280。ステップS210に戻り、領域1が書込済領域である場合S210:Yesを説明する。この場合に、制御回路300は、まず、領域1に書き込まれたパケット情報PIに含まれる連続ビットCBに基づいて領域1が検索対象領域であるか否かを確認するS220。領域1が検索対象領域である場合、以降の処理は、領域0のときと同様であるS220:Yes、S230~領域1に書き込まれたパケット情報PIに含まれる連続ビットCBが0である場合に、制御回路300は、領域1が境界領域ではないと判定して、次の領域領域2について、ステップS210からの処理を行うS220:No、S232、S210~。このように、境界領域が検出されるまで、または、全ての検索対象領域を検索対象とした検索が完了するまで、検索対象領域の判定と、検索対象領域に判定した領域を検索対象とした検索が繰り返される。そして、境界領域が検出されれば、該境界領域を示す選択信号SELの生成と、対象パケットのパケット情報PIに含まれる連続ビットCBに1または0の付与がなされる。また、全ての検索対象領域を検索対象とした検索が完了しても境界領域が検出されなかった場合に、最後の書込済領域の次の領域を示す選択信号SELの生成と、対象パケットのパケット情報PIに含まれる連続ビットCBに1または0の付与がなされる。図7~図9を参照して、第1の手法を適用した整列回路100による処理の具体例を説明する。これらの図において、星印は、境界領域の検索が最後に実行された領域を示す。該例において、シーケンス番号が夫々1、5、9、11、17、20、24、30である8つのパケットが送信されたとする。送信順は、小さいシーケンス番号からである。しかし、到着順のシーケンス番号は、5、1、9、11、24、20、17、30となっている。図7に示すように、まず、タイミングt1において、シーケンス番号SNが5であるパケットが受信され、そのパケット情報PIが整列回路100に入力される。制御回路300は、パケット情報PIから該パケットのシーケンス番号SNを抽出する。整列バッファ110の領域0が未書込領域であるため、制御回路300は、領域0を示す選択信号SELを生成すると共に、該パケットの連続ビットCBに0を付与する。その結果、タイミングt2において、次のパケットシーケンス番号SN:1が到着したときに、整列バッファ110の領域0に、パケット情報PIに含まれるシーケンス番号SN、加算値W、連続ビットCBとして、夫々5、9、0が書き込まれている。このとき、検索対象領域が領域0のみであり、また、領域0に書き込まれたシーケンス番号SNが対象パケットのシーケンス番号SNの1より大きいため、制御回路300は、領域0が境界領域であると判定し、領域0を示す選択信号SELを生成する。また、対象パケットの連続ビットCBに0を付与する。その結果、タイミングt3において、シーケンス番号SNが9であるパケットが到着したときに、シーケンス番号SN、加算値W、連続ビットCBとして、整列バッファ110の領域0には、夫々1、5、0が書き込まれており、領域1には、5、9、0が書き込まれている。このとき、領域0と領域1の両方とも検索対象領域である。制御回路300は、境界領域の検索の結果、境界領域が無いと判定し、領域2を示す選択信号SELを生成する。また、対象パケットのシーケンス番号SNの9が、領域1に書き込まれた加算値Wの9に一致するため、制御回路300は、対象パケットの連続ビットCBに1を付与する。その結果、図8に示すように、タイミングt4において、シーケンス番号SNが11であるパケットが到着したときに、シーケンス番号SN、加算値W、連続ビットCBとして、整列バッファ110の領域0には、夫々1、5、0が書き込まれており、領域1には、5、9、0が書き込まれており、領域2には、9、11、1が書き込まれている。このとき、領域0と領域1のみが検索対象領域である。制御回路300は、境界領域の検索の結果、境界領域が無いと判定し、領域3を示す選択信号SELを生成する。また、対象パケットのシーケンス番号SNの11が、領域2に書き込まれた加算値Wの11に一致するため、制御回路300は、対象パケットの連続ビットCBに1を付与する。その結果、タイミングt5において、シーケンス番号SNが24であるパケットが到着したときに、シーケンス番号SN、加算値W、連続ビットCBとして、さらに、整列バッファ110の領域3に、11、17、1が書き込まれている。このときも、領域0と領域1のみが検索対象領域である。制御回路300は、境界領域の検索の結果、境界領域が無いと判定し、領域4を示す選択信号SELを生成する。また、対象パケットのシーケンス番号SNの24が、領域3に書き込まれた加算値Wの17に一致しないため、制御回路300は、対象パケットの連続ビットCBに0を付与する。その結果、タイミングt6において、シーケンス番号SNが20であるパケットが到着したときに、シーケンス番号SN、加算値W、連続ビットCBとして、さらに、整列バッファ110の領域4に、24、30、0が書き込まれている。このとき、領域0、領域1、領域4のみが検索対象領域である。制御回路300は、境界領域の検索の結果、領域4が境界領域であると判定し、領域4を示す選択信号SELを生成する。また、対象パケットのシーケンス番号SNの20が、領域4に書き込まれた加算値Wの17に一致しないため、制御回路300は、対象パケットの連続ビットCBに0を付与する。その結果、図9に示すように、タイミングt7において、シーケンス番号SNが17であるパケットが到着したときに、シーケンス番号SN、加算値W、連続ビットCBとして整列バッファ110の領域4に書き込まれていた24、30、0が領域5にシフトされており、領域4には、シーケンス番号SN、加算値W、連続ビットCBとして、20、24、0が書き込まれている。このとき、領域0、領域1、領域4、領域5が検索対象領域である。制御回路300は、領域4まで境界領域の検索を行った結果、領域4が境界領域であると判定し、領域4を示す選択信号SELを生成する。また、対象パケットのシーケンス番号SNの17が、領域3に書き込まれた加算値Wの17に一致するため、制御回路300は、対象パケットの連続ビットCBに1を付与する。その結果、タイミングt8において、シーケンス番号SNが30であるパケットが到着したときに、シーケンス番号SN、加算値W、連続ビットCBとして整列バッファ110の領域4と領域5に書き込まれていた情報が夫々領域5、領域6にシフトされており、領域4には、シーケンス番号SN、加算値W、連続ビットCBとして、17、20、1が書き込まれている。このとき、領域0、領域1、領域4、領域5、領域6が検索対象領域である。制御回路300は、領域6まで境界領域の検索を行った結果、境界領域が無いと判定し、領域7を示す選択信号SELを生成する。また、対象パケットのシーケンス番号SNの30が、領域6に書き込まれた加算値Wの30に一致するため、制御回路300は、対象パケットの連続ビットCBに1を付与する。例えば、図8に示すタイミングt6において、整列バッファ110の領域0~領域4が書込済領域であるが、境界領域の検索、すなわち、それに書き込まれたシーケンス番号SNと対象パケットのシーケンス番号SNとの比較がなされたのは、領域0、領域1、領域4のみであり、領域2と領域3がスキップされている。このように、本第1の手法によれば、境界領域の検索に際して、夫々の書込済領域について、該領域に書き込まれたパケット情報PIに含まれる連続ビットに基づいて該領域が検索対象領域であるか否かを判定し、検索対象領域に判定した領域のみを検索対象とする。その結果、境界領域の検索が効率良くなる。<第2の手法:ポインタに基づいた手法>この手法では、制御回路により生成された1つ以上のポインタPを記憶するポインタ記憶回路図示せずをさらに有する。制御回路300は、検索対象領域を判定する際に、ポインタ記憶回路に記憶された各ポインタPにより夫々示される書込済領域を検索対象領域に判定する。また、制御回路300は、対象パケットについて、パケット情報PIに連続ビットCBを付加する代わりに、ポインタ生成/変更処理を行う。制御回路300が行うポインタ生成/変更処理は、具体的には、下記のような処理である。<<第1の場合:選択信号SELにより示される領域が未書込領域である>>この第1の場合において、制御回路300は、選択信号SELにより示される領域が整列バッファ110の先頭の領域以外であり、かつ、対象パケットのシーケンス番号SNが、該領域の1つ前の領域に書き込まれたパケット情報PIから得られる加算値Wに一致する第1Aの場合に、ポインタを生成しない。上記第1Aの場合に該当しない第1Bの場合に、制御回路300は、選択信号SELにより示される領域を示すポインタを生成する。<<第2の場合:選択信号SELにより示される領域が書込済領域である>>この第2の場合において、制御回路300は、まず、選択信号SELにより示される領域からのいずれかの領域を示す全てのポインタを、現在示している領域の次の領域を示すように変更シフトする。そして、選択信号SELにより示される領域が整列バッファ110の先頭の領域以外であり、かつ、対象パケットのシーケンス番号SNが、選択信号SELにより示される領域の1つ前の領域に書き込まれたパケット情報PIから得られる加算値Wに一致する第2Aの場合には、ポインタを生成しない。一方、上記第2Aの場合に該当しない第2Bの場合に、選択信号SELにより示される領域を示すポインタを生成する。図10は、第2の手法を適用した場合の整列回路100の処理を示すフローチャートであり、対象パケットの受信から該対象パケットのパケット情報PIが整列バッファ110に書き込まれるまでの流れを示す。図10において、ステップS202~ステップS320までは、制御回路300が行う処理であり、ステップS160は、図4に示される、書込回路200が行う書込処理である。図10に示すように、図6に示すフローチャートにおけるステップS222の処理連続ビットCBに基づいた検索対象領域の判定は、ステップS300になっている。ステップS300において、制御回路300は、領域iを示すポインタがあるか否かに基づいて領域iが検索対象領域であるか否かを判定する。また、パケット情報PIは、制御回路300を経由せずに書込回路200に出力されるため、ステップS310において、制御回路300は、選択信号SELのみを書込回路200に出力する。また、図6のフローチャートにおける連続ビットCBの付与処理はステップS250~S270は、図10において、ステップS320のポインタ生成/変更処理に変っている。他の点に関しては、図6のフローチャートと同様である。図11のフローチャートを参照して、図10のステップS320におけるポインタ生成/変更処理を説明する。制御回路300は、ポインタ生成/変更処理に際して、まず、選択信号SELにより示される領域領域iが書込済領域であるか否かを確認するS322。領域iが未書込領域である場合S322:No、すなわち上述した第1の場合においては、下記のように処理を行う。領域iが整列バッファ110の先頭の領域以外であり、かつ、対象パケットのシーケンス番号SNが、領域iの1つ前の領域に書き込まれたパケット情報PIから得られる加算値WWi-1に一致する場合第1Aの場合S324:No、S330:Yesには、ポインタを生成しない。一方、他の場合第1Bの場合S324:Yes、またはS324:No、S330:Noにおいては、制御回路300は、領域iを示すポインタを生成するS326。領域iが書込済領域である場合S322:Yes、すなわち上述した第2の場合においては、制御回路300は、下記のように処理を行う。制御回路300は、まず、領域iからのいずれかの領域を示す全てのポインタを、現在示している領域の次の領域を示すようにシフトするS340。そして、領域iが整列バッファ110の先頭の領域以外であり、かつ、対象パケットのシーケンス番号SNが、領域iの1つ前の領域に書き込まれたパケット情報PIから得られる加算値WWi-1に一致する場合第2Aの場合S342:No、S350:Yesには、ポインタを生成しない。一方、他の場合第2Bの場合S342:Yes、またはS342:No、S350:Noにおいては、領域iを示すポインタを生成するS326。この第2の手法も、境界領域が検出されるまで、または、全ての検索対象領域を検索対象とした検索が完了するまで、検索対象領域の判定と、検索対象領域に判定した領域を検索対象とした検索が繰り返される。そして、境界領域が検出されれば、該境界領域を示す選択信号SELの生成と、ポインタ生成/変更処理が行われる。また、全ての検索対象領域を検索対象とした検索が完了しても境界領域が検出されなかった場合に、最後の書込済領域の次の領域を示す選択信号SELの生成と、ポインタ生成/変更処理がなされる。図12~図14を参照して、第2の手法を適用した整列回路100による処理の具体例を説明する。該例においても、シーケンス番号が夫々1、5、9、11、17、20、24、30である8つのパケットは送信され、到着順のシーケンス番号は、5、1、9、11、24、20、17、30となっている。図12に示すように、まず、タイミングt1において、シーケンス番号SNが5であるパケットが受信され、そのパケット情報PIが整列回路100に入力される。制御回路300は、該パケットのシーケンス番号SNを抽出する。整列バッファ110の領域0が未書込領域であるため、制御回路300は、領域0を示す選択信号SELを生成すると共に、領域0を示すポインタポインタP1を生成してポインタ記憶回路に格納する。その結果、タイミングt2において、シーケンス番号SNが1であるパケットが到着したときに、整列バッファ110の領域0に、パケット情報PIに含まれるシーケンス番号SN、加算値Wとして、夫々5、9が書き込まれている。また、領域0を示すポインタP1がポインタ記憶回路に記憶されている。このとき、検索対象領域がポインタP1により示される領域0のみであり、また、領域0に書き込まれたシーケンス番号SNが対象パケットのシーケンス番号SNの1より大きいため、制御回路300は、領域0が境界領域であると判定し、領域0を示す選択信号SELを生成すると共に、領域1を示すようにポインタP1をシフトすると共に、領域0を示す新たなポインタポインタP2を生成する。その結果、タイミングt3において、シーケンス番号SNが9であるパケットが到着したときに、シーケンス番号SN、加算値Wとして、整列バッファ110の領域0には、1、5が書き込まれており、領域1には、5、9が書き込まれている。また、ポインタ記憶回路には、領域0と領域1を夫々示すポインタP2とポインタP1が記憶されている。このとき、領域0と領域1の両方とも検索対象領域である。制御回路300は、境界領域の検索の結果、境界領域が無いと判定し、領域2を示す選択信号SELを生成する。また、対象パケットのシーケンス番号SNの9が、領域1に書き込まれた加算値Wの9に一致するため、制御回路300は、既にあるポインタの変更も、新たなポインタの生成もしない。その結果、図12に示すように、タイミングt4において、シーケンス番号SNが11であるパケットが到着したときに、シーケンス番号SN、加算値Wとして、整列バッファ110の領域0には、1、5が書き込まれており、領域1には、5、9が書き込まれており、領域2には、9、11が書き込まれている。また、ポインタ記憶回路には、領域0と領域1を夫々示すポインタP2とポインタP1が記憶されている。このとき、領域0と領域1のみが検索対象領域である。制御回路300は、境界領域の検索の結果、境界領域が無いと判定し、領域3を示す選択信号SELを生成する。また、対象パケットのシーケンス番号SNの11が、領域2に書き込まれた加算値Wの11に一致するため、制御回路300は、既にあるポインタの変更も、新たなポインタの生成もしない。その結果、タイミングt5において、シーケンス番号SNが24であるパケットが到着したときに、シーケンス番号SN、加算値Wとして、さらに、整列バッファ110の領域3に、11、17が書き込まれており、ポインタ記憶回路には、相変わらず、領域0と領域1を夫々示すポインタP2とポインタP1が記憶されている。このときも、領域0と領域1のみが検索対象領域である。制御回路300は、境界領域の検索の結果、境界領域が無いと判定し、領域4を示す選択信号SELを生成する。また、対象パケットのシーケンス番号SNの24が、領域3に書き込まれた加算値Wの17に一致しないため、制御回路300は、領域4を示す新たなポインタポインタP3を生成してポインタ記憶回路に格納する。その結果、タイミングt6において、シーケンス番号SNが20であるパケットが到着したときに、シーケンス番号SN、加算値Wとして、さらに、整列バッファ110の領域4に、24、30が書き込まれており、ポインタ記憶回路には、領域4を示すポインタP3が追加されている。このとき、領域0、領域1、領域4のみが検索対象領域である。制御回路300は、境界領域の検索の結果、領域4が境界領域であると判定し、領域4を示す選択信号SELを生成する。また、対象パケットのシーケンス番号SNの20が、領域4に書き込まれた加算値Wの17に一致しないため、制御回路300は、領域4を示していたポインタP3を、領域5を示すようにシフトすると共に、領域4を示す新たなポインタポインタP4を生成してポインタ記憶回路に格納する。その結果、図14に示すように、タイミングt7において、シーケンス番号SNが17であるパケットが到着したときに、シーケンス番号SN、加算値Wとして整列バッファ110の領域4に書き込まれていた24、30が領域5にシフトされており、領域4には、シーケンス番号SN、加算値Wとして、20、24が書き込まれている。また、ポインタ記憶回路には、領域0、領域1、領域4、領域5を夫々示すポインタP2、ポインタP1、ポインタP4、ポインタP3が格納されている。このとき、領域0、領域1、領域4、領域5が検索対象領域である。制御回路300は、領域4まで境界領域の検索を行った結果、領域4が境界領域であると判定し、領域4を示す選択信号SELを生成する。また、対象パケットのシーケンス番号SNの17が、領域3に書き込まれた加算値Wの17に一致するため、制御回路300は、領域4と領域5を示しいていたポインタP4とポインタP3を、領域5と領域6を夫々示すようにシフトする。この場合、制御回路300は、新たなポインタの生成をしない。その結果、タイミングt8において、シーケンス番号SNが30であるパケットが到着したときに、シーケンス番号SN、加算値Wとして整列バッファ110の領域4と領域5に書き込まれていた情報が夫々領域5、領域6にシフトされており、領域4には、シーケンス番号SN、加算値Wとして、17、20が書き込まれている。また、ポインタ記憶回路には、領域0、領域1、領域5、領域6を夫々示すポインタP2、ポインタP1、ポインタP4、ポインタP3が格納されている。このとき、領域0、領域1、領域5、領域6が検索対象領域である。制御回路300は、領域6まで境界領域の検索を行った結果、境界領域が無いと判定し、領域7を示す選択信号SELを生成する。また、対象パケットのシーケンス番号SNの30が、領域6に書き込まれた加算値Wの30に一致するため、制御回路300は、既にあるポインタの変更も、新たなポインタの生成もしない。ポインタに基づいた本第2の手法も、連続ビットに基づいた第1の手法と同様の効果を得ることができる。ところで、図7と図12のタイミングt3において、領域1に格納されたパケット情報PIに含まれるシーケンス番号SNが、領域0に格納されたパケット情報PIに含まれる加算値Wに一致するにも関わらず、領域1が、領域0と別の連続グループと判定され、領域0と領域1のいずれも検索対象領域になっている。この状況は、後の全てのタイミングにおいて同様であり、検索の対象にするべきではない領域1がずっと検索対象領域に判定されている。また、図7と図12のタイミングt7における領域5、タイミングt8における領域5と領域6についても同様である。この問題を解決し、境界領域の検索をより効率良くするために、本願発明者は、下記の手法を想到した。この手法は、ポインタに基づいた第2の手法を改良したものであり、以下第3の手法という。該第3の手法は、ポインタ生成/変更処理が上述した第2の手法と異なる点以外、第2の手法と同様である。ここで、該第3の手法におけるポインタ生成/変更処理を説明する。図15は、第3の手法におけるポインタ生成/変更処理を示すフローチャートであり、図11に示すポインタ生成/変更処理の代わりに、図10のステップS320で行われるポインタ生成/変更処理の流れである。なお、図15において、図11におけるステップと同様のものについては、同様のステップ番号を付与しており、これらのステップについての説明を省略する。図15に示すように、該第3の手法によるポインタ生成/変更処理では、選択信号SELにより示される領域領域iが整列バッファ110の先頭の領域以外の書込済領域であり、かつ、対象パケットのシーケンス番号SNが、領域iの1つ前の領域に書き込まれたパケット情報PIから得られる加算値WWi-1に一致する場合第2Aの場合S322:Yes、S340、S342:No、S350:Yesにおいて、さらに、領域iに書き込まれたパケット情報PIに含まれるシーケンス番号SNが、対象パケットの加算値Wに一致するか否かを確認するS352。そして、一致する場合にのみS352:Yes、選択信号SELにより示される領域の次の領域を示すポインタPi1を削除するS354。一致しない場合にはS352:No、第2の手法のときと同様に、既にあるポインタに対するこれ以上の変更や、新たなポインタの生成をしない。なお、ステップS354において削除されるポインタPi1は、領域iを示していたものであり、ステップS340において、領域i1を示すようにシフトされている。さらに、該第3の手法は、第2Bの場合S322:Yes、S340、S342:Yes、またはS322:Yes、S340、S342:No、S350:Noにおいても、制御回路300は、さらに、領域iに書き込まれたパケット情報PIに含まれるシーケンス番号SNが、対象パケットの加算値Wに一致するか否かを確認するS344。そして、一致する場合にのみS344:Yes、選択信号SELにより示される領域の次の領域を示すポインタPi1を、領域iを示すように変更するS346。一致しない場合にはS344:No、第2の手法のときと同様に、領域iを示すポインタを生成する。この場合も、ステップS346において変更されたポインタPi1は、領域iを示していたものであり、ステップS340において、領域i1を示すようにシフトされている。図16~図17を参照して、第3の手法を適用した整列回路100による処理の具体例を説明する。該例においても、シーケンス番号が夫々1、5、9、11、17、20、24、30である8つのパケットは送信され、到着順のシーケンス番号は、5、1、9、11、24、20、17、30となっている。図16に示すように、まず、タイミングt1において、シーケンス番号SNが5であるパケットが受信され、そのパケット情報PIが整列回路100に入力される。制御回路300は、該パケットのシーケンス番号SNと加算値Wを取得する。整列バッファ110の領域0が未書込領域であるため、制御回路300は、領域0を示す選択信号SELを生成すると共に、領域0を示すポインタポインタP1を生成するポインタ記憶回路に格納する。その結果、タイミングt2において、シーケンス番号SNが1であるパケットが到着したときに、整列バッファ110の領域0に、パケット情報PIに含まれるシーケンス番号SN、加算値Wとして、夫々5、9が書き込まれている。また、領域0を示すポインタP1がポインタ記憶回路に記憶されている。このとき、検索対象領域がポインタP1により示される領域0のみであり、また、領域0に書き込まれたシーケンス番号SNが対象パケットのシーケンス番号SNの1より大きいため、制御回路300は、領域0が境界領域であると判定し、領域0を示す選択信号SELを生成する。このとき、制御回路300は、領域1を示すようにポインタP1をシフトするものの、領域0に書き込まれているシーケンス番号SNの5が対象パケットの加算値Wの5に一致するため、制御回路300は、ポインタP1を、領域0を示すように戻す。その結果、タイミングt3において、シーケンス番号SNが9であるパケットが到着したときに、シーケンス番号SN、加算値Wとして、整列バッファ110の領域0には、1、5が書き込まれており、領域1には、5、9が書き込まれている。また、ポインタ記憶回路には、領域0を夫々示すポインタP1のみが記憶されている。そのため、領域0のみが検索対象領域である。制御回路300は、境界領域の検索の結果、境界領域が無いと判定し、最後の書込済領域領域1の次の領域2を示す選択信号SELを生成する。また、対象パケットのシーケンス番号SNの9が、領域1に書き込まれた加算値Wの9に一致するため、制御回路300は、既にあるポインタの変更も、新たなポインタの生成もしない。その結果、図17に示すように、タイミングt4において、シーケンス番号SNが11であるパケットが到着したときに、シーケンス番号SN、加算値Wとして、整列バッファ110の領域0には、1、5が書き込まれており、領域1には、5、9が書き込まれており、領域2には、9、11が書き込まれている。また、ポインタ記憶回路には、相変わらず、領域0示すポインタP1のみが記憶されている。そのため、領域0のみが検索対象領域である。制御回路300は、境界領域の検索の結果、境界領域が無いと判定し、領域3を示す選択信号SELを生成する。また、対象パケットのシーケンス番号SNの11が、領域2に書き込まれた加算値Wの11に一致するため、制御回路300は、既にあるポインタの変更も、新たなポインタの生成もしない。その結果、タイミングt5において、シーケンス番号SNが24であるパケットが到着したときに、シーケンス番号SN、加算値Wとして、さらに、整列バッファ110の領域3に、11、17が書き込まれており、ポインタ記憶回路には、相変わらず、領域0を示すポインタP1のみが記憶されている。このときも、領域0のみが検索対象領域である。制御回路300は、境界領域の検索の結果、境界領域が無いと判定し、領域4を示す選択信号SELを生成する。また、対象パケットのシーケンス番号SNの24が、領域3に書き込まれた加算値Wの17に一致しないため、制御回路300は、領域4を示す新たなポインタポインタP2を生成してポインタ記憶回路に格納する。その結果、タイミングt6において、シーケンス番号SNが20であるパケットが到着したときに、シーケンス番号SN、加算値Wとして、さらに、整列バッファ110の領域4に、24、30が書き込まれており、ポインタ記憶回路には、領域0を示すポインタP1と、領域4を示すポインタP2が格納されている。そのため、領域0、領域4が検索対象領域である。制御回路300は、境界領域の検索の結果、領域4が境界領域であると判定し、領域4を示す選択信号SELを生成する。また、対象パケットのシーケンス番号SNの20が、領域4に書き込まれた加算値Wの17に一致しないものの、領域5に書き込まれたシーケンス番号が、対象パケットの加算値Wに一致する。従って、制御回路300は、ポインタP2を、一旦領域5を示すようにシフトするものの、領域4を示すように戻す。その結果、図18に示すように、タイミングt7において、シーケンス番号SNが17であるパケットが到着したときに、シーケンス番号SN、加算値Wとして整列バッファ110の領域4に書き込まれていた24、30が領域5にシフトされており、領域4には、シーケンス番号SN、加算値Wとして、20、24が書き込まれている。また、ポインタ記憶回路には、領域0、領域4を夫々示すポインタP1、ポインタP2が格納されている。このとき、領域0、領域4が検索対象領域である。制御回路300は、領域0に続いて領域4を対象に境界領域の検索を行った結果、領域4が境界領域であると判定し、領域4を示す選択信号SELを生成する。また、対象パケットのシーケンス番号SNの17が、領域3に書き込まれた加算値Wの17に一致し、さらに、領域4に書き込まれたシーケンス番号SNが対象パケットの加算値Wに一致するため、制御回路300は、ポインタP2を、領域5を示すようにシフトした後に削除する。その結果、タイミングt8において、シーケンス番号SNが30であるパケットが到着したときに、シーケンス番号SN、加算値Wとして整列バッファ110の領域4と領域5に書き込まれていた情報が夫々領域5、領域6にシフトされており、領域4には、シーケンス番号SN、加算値Wとして、17、20が書き込まれている。また、ポインタ記憶回路には、領域0を示すポインタP1のみが格納されている。そのため、領域0のみが検索対象領域である。制御回路300は、領域0を対象にして境界領域の検索を行った結果、境界領域が無いと判定し、最後の書込済領域の次の領域7を示す選択信号SELを生成する。また、対象パケットのシーケンス番号SNの30が、領域6に書き込まれた加算値Wの30に一致するため、制御回路300は、既にあるポインタの変更も、新たなポインタの生成もしない。以上の説明から分かるように、本第3の手法によれば、制御回路300は、ポインタ生成/変更処理をする際に、選択信号SELにより示される領域に書き込まれていたシーケンス番号SNと対象パケットの加算値Wとの比較をさらに行い、比較の結果に応じてポインタのシフトや生成などを行う行わないことも含むため、第1の手法と第2の手法より、検索対象領域をより絞ることができ、ひいては、境界領域の検索処理の効率を一層向上させることができる。本第3の手法の技術思想を、第1の手法に適用することもできる。この場合、既に整列バッファ110に書き込まれたパケット情報PIに含まれる連続ビットCBを変更する必要がある。以上に説明した本発明の技術的原理を踏まえて、本発明にかかる実施の形態を説明する。<第1の実施の形態>図19は、本発明の第1の実施の形態にかかる受信装置400を示す図である。受信装置400は、受信ブロック402、FIFOFirstInFirstOut404、ヘッダ解析部410、トレーステーブル420、計時部422、DMAC430、パケット情報生成部440、バス450、CPU460、メモリ470、整列回路500を備える。受信ブロック402は、現在到着したパケット対象パケットを受信し、FIFO404へ転送する。FIFO404は、受信バッファであり、受信ブロック402からの対象パケットを一時的に格納して、ヘッダ解析部410、DMAC430、パケット情報生成部440へ出力する。ヘッダ解析部410は、FIFO404に格納されているパケットに対して逐次ヘッダの抽出を行うと共に、抽出したヘッダをパケット情報生成部440に出力する。また、ヘッダ解析部410は、抽出したヘッダにシーケンス番号があるか否かを確認し、確認の結果もパケット情報生成部440に出力する。さらに、ヘッダ解析部410は、対象パケットのヘッダにシーケンス番号が含まれている場合に、該ヘッダに含まれるコネクション情報後述するがトレーステーブル420に格納されているか否かを判定し、判定の結果、格納されていない場合には、対象パケットのコネクション情報をトレーステーブル420に出力する。トレーステーブル420は、対応するコネクション数分のコネクション情報を格納するエリアを備えており、コネクション毎にコネクションを管理する。図20は、トレーステーブル420に格納されているコネクション情報の例を示す。図示のように、トレーステーブル420には、コネクション毎に、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号がコネクション情報として格納されている。トレーステーブル420は、ヘッダ解析部410から転送されてきたコネクション情報に一致するコネクション情報が格納されていないときに、該コネクション情報を新たなコネクション情報として蓄積すると共に、計時部422に、該コネクションに対応するタイマ図示せずの起動要求を出力する。また、トレーステーブル420は、計時部422からタイマ満了信号を受信すると、該タイマ満了信号に対応するコネクション情報をトレーステーブル420から削除する。計時部422は、トレーステーブル420により管理されているコネクション情報毎にタイマ及び受信データ数カウンタ図示せずを有する。トレーステーブル420から起動要求を受信すると、当該タイマと受信データ数カウンタのカウントを開始する。そして、タイマまたは受信データ数カウンタのカウント値が予め設定された閾値に達したときに、対応するコネクションについて、トレーステーブル420の満了信号を出力すると共に、当該タイマまたは受信データ数カウンタを初期化する。パケット情報生成部440は、ヘッダ解析部410からのヘッダ情報から、シーケンス番号SNを含むパケット情報PIを生成する。また、パケット情報生成部440は、シーケンス番号の有無を示すヘッダ解析部410の確認結果に基づいて、シーケンス番号が無い場合には、該対象パケットが分割パケットではないと判定して、作成したパケット情報PIをDMAC430に出力する。一方、シーケンス番号がある場合には、パケット情報生成部440は、作成したパケット情報PIを整列回路500に出力する。整列回路500は、対応するコネクションの数分搭載されている。分かりやすいように、1つのみを図示及び説明する。整列回路500は、対応するコネクションのパケット情報PIをパケット情報生成部440から入力され、シーケンス番号の小さい順にパケット情報PIを並び替えて一時的に保管する。また、計時部422から、当該コネクションに関するタイマ満了信号が整列回路500にも入力される。整列回路500は、この信号を受信すると、一時保管中の全てのパケット情報PIをDMAC430に出力すると共に、保管中の全てのパケット情報PIを初期化する。整列回路500については、後に詳細に説明する。DMAC430は、DMA転送を担うDMAコントローラであり、FIFO404からの各パケットを、バス450を介してメモリ470に転送する。また、DMAC430は、パケット情報生成部440により生成された、シーケンス番号が無いパケットのパケット情報PIも、バス450を介してメモリ470に転送する。さらに、DMAC430は、整列回路500からのパケット情報PIも、バス450を介してメモリ470に転送する。バス450は、DMAC430及びCPU460によるメモリ470のアクセスを中継する。CPU460は、受信装置400全体の制御を行う中央処理装置であり、バス450を介してバス450とDMAC430に接続されている。CPU460、DMAC430、メモリ470間のデータのやりとりは、通常の情報処理装置における同種のものと同様であり、ここで詳細な説明を省略する。メモリ470は、例えばRAMRadomAccessMemoryであり、バス450を介してDMAC430とCPU460によりアクセスされる。メモリ470は、パケット情報エリア472と、パケットエリア474を備える。DMAC430から転送されてきたパケット情報PIは、パケットエリア474に格納され、パケットエリア474には、DMAC430から転送されたパケットを格納する図21を参照して、整列回路500を説明する。図21に示すように、整列回路500は、シーケンス番号抽出回路510、比較器520、選択信号生成回路530、書込回路200、整列バッファ540、情報抽出部550、セレクタ570を備える。整列回路500において、書込回路200と整列バッファ540を除いた他のブロックは、制御回路を構成する。パケット情報生成部440からのパケット情報PIは、シーケンス番号抽出回路510、書込回路200に入力される。シーケンス番号抽出回路510は、パケット情報PIから対象パケットのシーケンス番号SNを抽出して比較器520に出力する。選択信号生成回路530は、第1の選択信号SEL1を生成してセレクタ570に出力し、第2の選択信号SEL2を生成して書込回路200に出力する。第1の選択信号L1と第2の選択信号SEL2は、整列バッファ540内の複数のバッファバッファ0~バッファNのいずれかを示す信号である。さらに、第2の選択信号SEL2は、初期化を示すこともできる。書込回路200は、本発明の原理のときに説明した書込回路200図5であり、第2の選択信号L2に応じて、パケット情報PIを整列バッファ540への書込みを行う。なお、初期化を示す第2の選択信号SEL2を受信した際に、書込回路200は、全ての格納データを初期化する。整列バッファ540は、書込回路200内の各選択回路に夫々対応するバッファを含み、対応する選択回路と、後述の情報抽出部550における相対応の情報抽出回路とに接続されている。情報抽出部550は、整列バッファ540内の各バッファに夫々対応する情報抽出回路情報抽出回路560~情報抽出回路56Nを有する。各情報抽出回路は、対応するバッファにパケット情報PIが書き込まれたとき更新されたときも含むに、該バッファに書き込まれたパケット情報PIを読み出して、シーケンス番号SNと、後述するストアフラグSFを抽出すると共に、次に該バッファにパケット情報PIが書き込まれるまで、または初期化されるときまで保持する。セレクタ570は、情報抽出部550の各情報抽出回路と接続されており、選択信号生成回路530からの第1の選択信号SEL1が示すバッファに対応する情報抽出回路により抽出されたシーケンス番号SNとストアフラグSFを選択して比較器520と選択信号生成回路530に夫々出力する。比較器520は、セレクタ570からのシーケンス番号SNと、シーケンス番号抽出回路510からのシーケンス番号SN対象パケットのシーケンス番号との大小関係を比較し、結果を選択信号生成回路530に出力する。選択信号生成回路530は、比較器520からの比較結果に基づいて、前回の第1の選択信号SEL1が示すバッファの次のバッファを示す第1の選択信号SEL1を生成してセレクタ570に出力するか、第2の選択信号SEL2を生成して書込回路200に出力する。図22は、整列バッファ540内の各バッファ、メモリ470のパケット情報エリア472におけるパケット情報PIの格納態様の例を示す図である。図示のように、パケット情報エリア472と各バッファ内に、パケット情報の有無を示すストアフラグと、パケットエリア474において、該パケット情報に対応するパケットを格納するアドレスと、シーケンス番号SNとをパケット情報PIとして格納されている。なお、将来的な機能拡張の為の機能拡張用フィールドも備えられている。整列バッファ540の各バッファは、このようなパケット情報PIを1つのみ格納し、パケット情報エリア472は、複数のパケット情報PIを格納する。図23は、受信装置400におけるヘッダ解析部410、トレーステーブル420、DMAC430、パケット情報生成部440、整列回路500による処理の流れを示すフローチャートである。計時部422から当該コネクションのタイマ満了信号を受信しておらず、対象パケットを受信するとS400:No、S402:Yes、ヘッダ解析部410は、FIFO404からの該対象パケットのヘッダを解析し、シーケンス番号SNの有無に基づいて分割パケットであるか否かを判定するS404。なお、タイマ満了信号は、当該コネクションに対応する整列バッファ540におけるパケット情報PIの滞留時間がタイムアウトしたとき、または、データ滞留数がオーバーフローしているときに計時部422から出力される。ヘッダ解析部410は、ステップS404における判定の結果と、ヘッダをパケット情報生成部440に出力する。対象パケットが分割パケットではない場合にS404:No、パケット情報生成部440は、ヘッダ解析部410からのヘッダに基づいてパケット情報PIを生成してDMAC430に出力し、DMAC430は、該パケット情報PIに対応するパケットをパケットエリア474にDMA転送すると共に、該パケット情報PIをパケット情報エリア472にDMA転送するS406、S408、S410。一方、対象パケットが分割パケットである場合にS404:Yes、ヘッダ解析部410は、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号を含むコネクション情報と生成し、パケット情報生成部440は、パケット情報PIを生成して整列回路500に出力するS412、S414。ヘッダ解析部410は、ステップS412で生成したコネクション情報と、トレーステーブル420に格納された各コネクション情報とを比較するS416。トレーステーブル420に対象パケットのコネクション情報があればS420:Yes、ヘッダ解析部410は、該対象パケットについての処理を終了する。一方、トレーステーブル420に対象パケットのコネクション情報がなければS420:No、ヘッダ解析部410は、ステップ412で生成したコネクション情報をトレーステーブル420に出力する。これにより、トレーステーブル420は、新しいコネクションのパケットが受信されたとして、該コネクションに対応するタイマを計時部422に起動させるS424。整列回路500は、パケット情報生成部440からパケット情報PIを受信すると、並替処理を行うS430。また、DMAC430は、当該パケットをパケットエリア474にDMA転送するS470。計時部422からタイマ満了信号が出されるとS400:Yes、DMAC430は、整列回路500の整列バッファ540内の全てのパケット情報PIをパケット情報エリア472にDMA転送するS480。また、トレーステーブル420は、該コネクションに対応するコネクション情報とタイマを初期化するS482。図24は、図23におけるステップS430の並替処理を示すフローチャートである。タイマ満了信号を受信しておらず、パケット情報生成部440からパケット情報PIを受信するとS432:No、S434:Yes、シーケンス番号抽出回路510は、パケット情報PIからシーケンス番号SNを生成して比較器520に出力しS436、選択信号生成回路530は、バッファ0を示す第1の選択信号SEL1を生成してセレクタ570に出力するS438、S440。セレクタ570は、情報抽出部550のうちの、バッファ0に対応する情報抽出回路560に保持されたシーケンス番号SN0とストアフラグSF0を選択して比較器520と選択信号生成回路530に夫々出力する。ストアフラグSF0が0であり、すなわちバッファ0が未書込バッファ以下未書込領域ともいうであるときにS442:No選択信号生成回路530は、バッファ0を示す第2の選択信号SEL2を生成して書込回路200に出力するS454。これを受けて、書込回路200は、ステップS160の書込処理をする。ステップS160の書込処理は、図4に示す通りである。ここで、対象パケットのパケット情報PIは、バッファ0に書き込まれる。一方、ステップS442において、ストアフラグSF0が1であり、すなわちバッファ0が書込済バッファ以下書込済領域ともいうであるときにS442:Yes、選択信号生成回路530は、境界となるバッファ境界領域の検索を開始し、比較器520によるバッファ0に格納されているシーケンス番号SN0と、シーケンス番号抽出回路510が得た対象パケットのシーケンス番号SNとの比較結果を確認するS450。バッファ0に書き込まれたシーケンス番号SN0が対象パケットのシーケンス番号SNより大きいときに、選択信号生成回路530は、バッファ0が境界領域であると判定し、バッファ0を示す第2の選択信号SEL2を生成して書込回路200に出力するS450:Yes、S454。これに応じて、書込回路200によるパケット情報PIの書込処理がなされる。このとき、バッファ0からの各バッファに格納されたデータは次のバッファにシフトされ、バッファ0には、対象パケットのパケット情報PIが書き込まれる。また、情報抽出部550の各情報抽出回路は、対応するバッファ内のパケット情報PIを読み出してシーケンス番号SNとストアフラグSFを抽出して、保持していたものを更新する。ステップS450において、バッファ0に書き込まれたシーケンス番号SN0が対象パケットのシーケンス番号SNより小さいときには、選択信号生成回路530は、バッファ0が境界領域ではないと判定し、次のバッファバッファ1を示す第1の選択信号SEL1を生成してセレクタ570に出力するS450:No、S452、S440。そして、領域1を検索対象とした境界領域の検索が行われるS442~。このような処理は、境界領域が検出されるまで、最後の書込済領域を検索対象とした検索がなされるまで繰り返され、パケット情報PIは、整列バッファ540内の未書込領域か、いずれかの書込済領域に書き込まれる。未書込領域に書き込まれる場合には、該未書込領域が整列バッファ540の先頭のバッファか、最後の書込済領域の次の領域である。また、書込済領域に書き込まれた場合には、該書込済領域に格納されていたシーケンス番号SNが必ず対象パケットのシーケンス番号SNより大きい。また、対象パケットのパケット情報PIを書き込まれた領域の1つ前の領域には、必ず対象パケットのシーケンス番号SNより小さいシーケンス番号SNが書き込まれている。なお、タイマ満了信号を受信した際にS432:Yes、選択信号生成回路530は、整列バッファ540内に書き込まれた全てのパケット情報PIのDMA転送の完了後に、整列バッファ540内の各バッファの初期化を指示する第2の選択信号SEL2を書込回路200に出力する。これにより、整列バッファ540内の各バッファ、及び情報抽出部550内の各情報抽出回路は、初期化されるS460。本実施の形態の整列回路100は、本発明の原理を具現化したものであり、本発明の原理のときに説明した効果を得ることができる。<第2の実施の形態>本発明の第2の実施の形態も、受信装置である。この受信装置は、図19に示す受信装置400と比べ、パケット情報生成部440が作成したパケット情報PIには、加算値W次に送信されたパケットのシーケンス番号が含まれる点と、図21に示す整列回路500の代わりに、図25に示す整列回路600が設けられた点とを除き、受信装置400と同様であるので、ここで、整列回路600についてのみ説明する。なお、整列回路600について、整列回路500と同様の機能を担う回路に関しては、図21と同様の符号を付与しており、これらの回路に関しては、説明を省略する。整列回路600は、境界領域の検索を効率良く行うための、連続ビットCBに基づいた第1の手法を適用したものである。図25に示すように、整列回路600は、選択信号生成回路630、情報抽出部650、セレクタ670が整列回路500における選択信号生成回路530、情報抽出部550、セレクタ570と夫々異なる点、結合部610と比較器620がさらに設けられた点以外、整列回路500と同様である。結合部610は、パケット情報生成部440からのパケット情報PIと、比較器620からの連続ビットCBとを結合してパケット情報PIAを得て書込回路200に出力する。そのため、本第2の実施の形態において、整列バッファ540、メモリ470のパケット情報エリア472におけるパケット情報の格納態様は、図26に示すようになる。図26に示すように、パケット情報PIAには、ストアフラグ、シーケンス番号SNに加え、さらに連続ビットCBと加算値Wが含まれている。なお、加算値Wは、前述したように、パケット情報生成部440によりパケット情報PIに盛り込んだものである。図25に戻って説明する。情報抽出部650は、各情報抽出回路が、対応するバッファに書き込まれたパケット情報PIAから、シーケンス番号SNとストアフラグSFに加え、さらに、加算値Wと連続ビットCBを抽出する。それ以外は、情報抽出部550と同様である。セレクタ670は、第1の選択信号SEL1により示されるバッファに対応する情報抽出回路が抽出したシーケンス番号SNとストアフラグSFを比較器520と選択信号生成回路630に夫々出力すると共に、さらに、第1の選択信号SEL1により示されるバッファに対応する情報抽出回路が抽出した連続ビットCBを選択信号生成回路630に出力し、第1の選択信号SEL1により示されるバッファの1つ前のバッファに対応する情報抽出回路が抽出した加算値Wを比較器620に出力する。選択信号生成回路630は、境界領域の検索に際して、セレクタ670からの連続ビットCBが0であるときにのみ検索を実行し、連続ビットCBが1である場合には該領域についての検索をスキップする。また、選択信号生成回路630は、第2の選択信号SEL2を出力する際に、第2の選択信号SEL2により示されるバッファが整列バッファ540の先頭のバッファバッファ0以外であるときに、比較指示を示す比較制御信号ctrを比較器620に出力する。他の点に関しては、選択信号生成回路530と同様である。比較器620は、選択信号生成回路630から比較制御信号ctrを受信すると、対象パケットのシーケンス番号SNが、セレクタ670からの加算値Wに一致するか否かを比較し、一致するときにのみ連続ビットCBに1を出力する。なお、このとき、セレクタ670からの加算値Wは、対象パケットが書き込まれるバッファの1つ前のバッファに格納されている加算値Wである。結合部610は、比較器620から連続ビットCBを受信すると、該連続ビットCBをパケット情報PIに結合してパケット情報PIAを生成する。なお、比較器620から連続ビットCBの出力がなく、すなわち連続ビットCBが0であるときには、連続ビットCBが0であるとしてパケット情報PIに結合する。連続ビットCBに基づいて境界領域の効率化を図る第1の手法は、上記にて詳しく説明したため、ここでは、さらなる詳細な説明を省略する。勿論、本第2の実施の形態の受信装置における整列回路600は、第1の手法を具現化したものであるため、第1の手法により得られる効果を得ることができる。<第3の実施の形態>本発明の第3の実施の形態も、受信装置である。この受信装置は、図19に示す受信装置400と比べ、パケット情報生成部440が作成したパケット情報PIには、加算値W次に送信されたパケットのシーケンス番号が含まれる点と、図21に示す整列回路500の代わりに、図27に示す整列回路700が設けられた点とを除き、受信装置400と同様であるので、ここで、整列回路700についてのみ説明する。なお、整列回路700について、整列回路500と同様の機能を担う回路に関しては、図21と同様の符号を付与しており、これらの回路に関しては、説明を省略する。整列回路700は、境界領域の検索を効率良く行うための、ポインタに基づいた第3の手法を適用したものである。図27に示すように、整列回路700は、比較器722、比較器724、ポインタ記憶回路726をさらに備えた点、抽出回路710、選択信号生成回路730、情報抽出部750、セレクタ770が整列回路500における選択信号生成回路530、情報抽出部550、セレクタ570と夫々異なる点を除き、整列回路500と同様である。図28は、本第3の実施の形態において、整列バッファ540、メモリ470のパケット情報エリア472におけるパケット情報の格納態様の例を示す。図28に示すように、パケット情報PIには、ストアフラグ、シーケンス番号SNに加え、さらに加算値Wが含まれている。なお、加算値Wは、前述したように、パケット情報生成部440によりパケット情報PIに盛り込んだものである。図27に戻って説明する。抽出回路710は、パケット情報生成部440からのパケット情報PIからシーケンス番号SNを抽出して比較器520と比較器724に出力する。さらに、抽出回路710は、パケット情報PIから加算値Wを抽出して比較器722に出力する。情報抽出部750は、各情報抽出回路が、対応するバッファに書き込まれたパケット情報PIから、シーケンス番号SNとストアフラグSFに加え、さらに、加算値Wを抽出する。それ以外は、情報抽出部550と同様である。セレクタ770は、第1の選択信号SEL1により示されるバッファに対応する情報抽出回路が抽出したシーケンス番号SNとストアフラグSFを比較器520と選択信号生成回路630に夫々出力すると共に、さらに、第1の選択信号SEL1により示されるバッファの1つ前のバッファに対応する情報抽出回路が抽出した加算値Wを比較器620に出力する。また、セレクタ770は、比較器520に出力したシーケンス番号SNを比較器722にも出力する。選択信号生成回路730は、境界領域の検索に際して、ポインタ記憶回路726に記憶された各ポインタにより夫々示されるバッファのみを検索対象領域にし、ポインタにより示されていないバッファについての検索をスキップする。また、選択信号生成回路730は、第2の選択信号SEL2を出力する際に、第2の選択信号SEL2により示されるバッファが整列バッファ540の先頭のバッファバッファ0以外であるときに、比較指示を示す比較制御信号を比較器724に出力し、第2の選択信号SEL2により示されるバッファが書込済領域であるときに、比較指示を示す比較制御信号を比較器724に出力する。また、比較器722と比較器724の比較結果に応じてポインタ生成/変更処理ポインタを生成してポインタ記憶回路726への格納、既にあるポインタのシフトなどを行う。他に関しては、選択信号生成回路530と同様である。比較器724は、選択信号生成回路730から比較制御信号を受信すると、対象パケットのシーケンス番号SNが、セレクタ770からの加算値Wに一致するか否かを比較し、比較の結果選択信号生成回路730に返送する。なお、このとき、セレクタ770からの加算値Wは、対象パケットが書き込まれるバッファの1つ前のバッファに格納されている加算値Wである。すなわち、比較器724の比較結果は、対象パケットのパケット情報PIを書き込まれるバッファの1つ前のバッファに書き込まれたパケット情報PIが、対象パケットの1つ前に送信されたパケットのパケット情報PIであるか否かを示す。比較器722は、選択信号生成回路730から比較制御信号を受信すると、セレクタ770からのシーケンス番号SNと、抽出回路710からの加算値Wを比較し、比較の結果を選択信号生成回路730に返送する。なお、このとき、抽出回路710からの加算値Wは、対象パケットの次に送信されたパケットのシーケンス番号に該当し、セレクタ770からのシーケンス番号SNは、第2の選択信号SEL2により示される領域に書き込まれていたシーケンス番号であり、対象パケットのパケット情報PIを書き込まれた後には、パケット情報PIを書き込まれたバッファの次のバッファに格納されている。すなわち、比較器722の比較結果は、対象パケットのパケット情報PIが書き込まれた後に、当該バッファの次のバッファに格納されているパケット情報PIが、対象パケットの1つ後に送信されたパケットのパケット情報PIであるか否かを示す。比較器722と比較器724の比較結果に応じたポインタ生成/変更処理は、第3の手法のときに詳しく説明したので、ここでは、さらなる詳細な説明を省略する。勿論、本第3の実施の形態の受信装置における整列回路700は、第3の手法を具現化したものであるため、第3の手法により得られる効果を得ることができる。なお、ポインタに基づいた第2の手法に関しては、上記の説明から簡単に具現化できるため、ここで第2の手法の具体的な実施例を省略する。以上、実施の形態をもとに本発明を説明した。実施の形態は例示であり、本発明の主旨から逸脱しない限り、上述した各実施の形態に対してさまざまな変更、増減、組合せを行ってもよい。これらの変更、増減、組合せが行われた変形例も本発明の範囲にあることは当業者に理解されるところである。例えば、第2の実施の形態と第3の実施の形態において、加算値Wを直接パケット情報PIに加えているが、加算値Wを算出可能であれば、ペイロード長やパケット長などの値であってもよい。また、上述した各実施の形態の受信装置は、整列回路500によりパケット情報の並替えを行い、パケット情報とパケットを別々にDMA転送しているが、例えば、整列回路500における整列バッファ540を受信バッファとして使用し、パケットそのものの格納順を送信順に並び替えると共に、並替え後に各パケットをメモリ470にDMA転送をするようにしてもよい。