(57)【要約】【課題】メモリコピーを行わずにフラグメント処理を行い、ＣＰＵに対する負荷を軽減する。【解決手段】通信装置は、受信したフラグメントパケットを格納するメモリ部１２と、受信したフラグメントパケットのオリジナルフレームの識別子と、オリジナルフレームのどの位置にあったフレームであるかとを認識するフレーム位置認識部１３と、ヘッダおよび送信用フラグメントパケットを他方の通信ネットワークに送出する送出部１６と、ハードウェア回路で形成され、送信用フラグメントパケットに付加されるヘッダを送出部１６に出力するヘッダ出力部１４と、フレーム位置認識部１３の認識結果を参照し、送信先のＭＴＵのサイズに合わせて、メモリ部１２に格納されているデータを送出部１６にＤＭＡ転送するフレーム送信用ＤＭＡコントローラ１５とを備える。【選択図】図５
2012049883.tif 000002
【特許請求の範囲】
【請求項１】
一方の通信ネットワークを介して受信したフラグメントパケットを格納するメモリ部と、
ヘッダおよび送信用フラグメントパケットを他方の通信ネットワークに送出する送出部と、
前記受信したフラグメントヘッダの識別子フィールドに設定されている識別子の値およびオフセットフィールドに設定されているオフセットの値に基づいて、フラグメントパケットのオリジナルフレームの識別子と、オリジナルフレームのどの位置にあったフレームであるかとを認識するフレーム位置認識部と、
ハードウェア回路で形成され、送信用フラグメントパケットに付加されるヘッダを前記送出部に出力するヘッダ出力部と、
前記フレーム位置認識部の認識結果を参照し、送信先のＭＴＵのサイズに合わせて、前記メモリ部に格納されているデータを前記送出部にＤＭＡ転送するフレーム送信用ＤＭＡコントローラと
を備えたことを特徴とする通信装置。
【請求項２】
送信用ＤＭＡコントローラは、送信先のＭＴＵに合うサイズの送信用フラグメントパケットにするためにペイロードのサイズを算出し、メモリ部から、算出したサイズのペイロードのＤＭＡ転送を行う
請求項１記載の通信装置。
【請求項３】
新規のオリジナルフレームを元とするフラグメントパケットを受信した場合に、当該フラグメントパケットを受信してからの経過時間を計測するタイマと、
前記タイマにあらかじめ設定された所定のタイマ時間が経過しても後続のフラグメントパケットの受信が完了しなかった場合には、それまでに受信した当該オリジナルフレームを元とするフラグメントパケットを廃棄する処理を行うパケット廃棄処理部とを備えた
請求項１または請求項２記載の通信装置。
【請求項４】
パケットを送信するときに新たにヘッダを付加する場合に必要となるデータがあらかじめ格納された送信フレーム情報格納部を備え、
ヘッダ出力部は、前記送信フレーム情報格納部に格納されているデータを参照して送信用フラグメントパケットのためのフラグメントヘッダを作成する
請求項１から請求項３のうちのいずれか１項に記載の通信装置。
【請求項５】
ヘッダ出力部は、送信フレーム情報格納部に格納されているデータを参照してＰＰＰｏＥヘッダを作成する
請求項４記載の通信装置。
【請求項６】
一方の通信ネットワークを介して受信したフラグメントパケットをメモリ部に格納し、
前記受信したフラグメントヘッダの識別子フィールドに設定されている識別子の値およびオフセットフィールドに設定されているオフセットの値に基づいて、フラグメントパケットのオリジナルフレームの識別子と、オリジナルフレームのどの位置にあったフレームであるかとを認識し、
送信用フラグメントパケットに付加されるヘッダを、ハードウェア回路を用いて、ヘッダおよび送信用フラグメントパケットを他方の通信ネットワークに送出する送出部に出力し、
フラグメントパケットのオリジナルフレームの識別子とオリジナルフレームのどの位置にあったフレームであるかとを認識した結果を参照し、送信先のＭＴＵのサイズに合わせて、前記メモリ部に格納されているデータを前記送出部にＤＭＡ転送する
ことを特徴とするパケット処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ネットワークを介して受信したパケットを他の通信ネットワークに転送する通信装置、および通信装置で実行されるパケット処理方法に関する。
【背景技術】
【０００２】
近年、ホームゲートウェイ機器などのネットワーク機器は、ギガｂｐｓオーダの転送速度を備えた転送能力を有し、さまざまなアプリケーションプログラムを搭載している。これらのアプリケーションプログラムを制御または処理するために、ネットワーク機器におけるＣＰＵの負荷や装置内部のバスの負荷は増大している。なかでも、フラグメント処理によってフラグメント化されたフラグメントパケットに対する処理は、高い頻度でメモリにアクセスする必要があるなど、ＣＰＵやバスにとって負荷のかかる処理の１つである。
【０００３】
図６は、一般的なＩＰパケット終端装置の構成例を示すブロック図である。図６に示すＩＰパケット終端装置３００は、ＬＡＮ（Local Area Network）またはＷＡＮ（Wide Area Network ）を介して受信したＩＰパケットを他のＬＡＮまたはＷＡＮに出力する。ＩＰパケット終端装置３００は、受信パケット用メモリ空間１０１を含むメモリ１０２、ＣＰＵ３０１、および送信ＦＩＦＯ（First In First Out）１０７を備える。
【０００４】
メモリ１０２は、ＬＡＮまたはＷＡＮを介してＩＰパケット終端装置３００が受信したデータを格納する。送信先の装置が属している通信ネットワークにおけるＭＴＵ（Maximum Transmission Unit ）を超えるサイズのＩＰパケットを送信する場合には、送信元の装置は、ＩＰパケットを分割して送信する。ＩＰパケット終端装置３００は、分割されたフラグメントパケットを受信する。受信されたフラグメントパケットは、メモリ１０２内の受信パケット用メモリ空間１０１に格納される。
【０００５】
ＣＰＵ３０１は、ある通信ネットワークを介して受信したＩＰパケットを他の通信ネットワークに送出する場合には、送信先の通信ネットワークにおけるＭＴＵを超えないサイズのフラグメントパケットを再構築する。ＣＰＵ３０１は、受信したフラグメントパケットを他の通信ネットワークに送出するために、受信したフラグメントパケットをメモリ内でコピーする。すなわち、メモリコピーが行われる。
【０００６】
図７は、図６に示すＩＰパケット終端装置において構築される送信用フラグメントパケットの構成例を示す説明図である。図７に示す送信用フラグメントパケット４０２には、ＰＰＰ（Point to Point Protocol ）ヘッダが付加されている。ＣＰＵ３０１がソフトウェア処理によってＭＴＵに合わせたサイズのフラグメントパケットを再構築するときには、メモリ上で元のフラグメントパケット４０１をコピーする。ＣＰＵ３０１は、フラグメントパケット４０１のコピーを行った後に、フラグメントパケット４０１にＰＰＰヘッダを付加し、送信先のＭＴＵのサイズに合わせてペイロードのサイズを調整し、送信用フラグメントパケット４０２を構築する。
【０００７】
ＣＰＵ３０１がフラグメントパケットを再構築すると、送信ＦＩＦＯ１７は、再構築されフラグメントパケットを他の通信ネットワークであるＷＡＮまたはＬＡＮに送出する。このようなＩＰパケット終端装置３００では、受信したフラグメントパケットから送信用のフラグメントパケットを再構築し、送信先に送信することができる。
【０００８】
特許文献１には、メモリの使用効率を向上させる通信システムが記載されている。特許文献１に記載された通信システムでは、ネットワークアダプタが受信したフラグメントパケットの本体データの位置情報と再構成ヘッダとがホストコンピュータの受信バッファに格納され、複数のフラグメントパケットに対応する位置情報がホストコンピュータに通知される。そして、ホストコンピュータによる制御に従ってフラグメントパケットの本体データのＤＭＡ（Direct Memory Access）転送が行われる。その結果、特許文献１に記載された通信システムでは、メモリコピーを行うことなく、送信用のフラグメントパケットを再構築することができる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００６−３０２２４６号公報（段落００３０〜００３５，段落００６６）
【発明の概要】
【発明が解決しようとする課題】
【００１０】
図６に示すＩＰパケット終端装置３００では、送信用のフラグメントパケットの再構築するフラグメントパケット処理において、ＣＰＵは、高い頻度でメモリアクセスを行うので、バスやＣＰＵに対する負荷は大きい。フラグメントパケット処理におけるＣＰＵの負荷の問題を解決するために、処理速度の速いＣＰＵを使用し、高速なソフトウェア処理を行う方法が考えられる。しかし、処理速度の速いＣＰＵは高価であり、採用するＣＰＵに合わせてソフトウェアを開発することは、開発工数を増大させる。
【００１１】
また、特許文献１に記載された通信システムでは、フラグメントパケット処理においてメモリコピーの過程をなくすことによって、メモリの使用効率を向上させることはできるが、ホストコンピュータがフラグメントパケット処理を制御しているので、ホストコンピュータのＣＰＵに対するソフトウェア処理の負荷を軽減することはできない。
【００１２】
そこで、本発明は、メモリコピーを行わずにフラグメント処理を行い、ＣＰＵの負荷を軽減することができる通信装置およびパケット処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明による通信装置は、一方の通信ネットワークを介して受信したフラグメントパケットを受信パケット用メモリ空間に格納するメモリ部と、ヘッダおよび送信用フラグメントパケットを他方の通信ネットワークに送出する送出部と、受信したフラグメントヘッダの識別子フィールドに設定されている識別子の値およびオフセットフィールドに設定されているオフセットの値に基づいて、フラグメントパケットのオリジナルフレームの識別子と、オリジナルフレームのどの位置にあったフレームであるかとを認識するフレーム位置認識部と、ハードウェア回路で形成され、送信用フラグメントパケットに付加されるヘッダを送出部に出力するヘッダ出力部と、フレーム位置認識部の認識結果を参照し、送信先のＭＴＵのサイズに合わせて、メモリ部の受信パケット用メモリ空間に格納されているデータを送出部にＤＭＡ転送するフレーム送信用ＤＭＡコントローラとを備えたことを特徴とする。
【００１４】
本発明によるパケット処理方法は、一方の通信ネットワークを介して受信したフラグメントパケットを受信パケット用メモリ空間に格納し、受信したフラグメントヘッダの識別子フィールドに設定されている識別子の値およびオフセットフィールドに設定されているオフセットの値に基づいて、フラグメントパケットのオリジナルフレームの識別子と、オリジナルフレームのどの位置にあったフレームであるかとを認識し、送信用フラグメントパケットに付加されるヘッダを、ハードウェア回路を用いて、ヘッダおよび送信用フラグメントパケットを他方の通信ネットワークに送出する送出部に出力し、フラグメントパケットのオリジナルフレームの識別子とオリジナルフレームのどの位置にあったフレームであるかとを認識した結果を参照し、送信先のＭＴＵのサイズに合わせて、受信パケット用メモリ空間に格納されているデータを送出部にＤＭＡ転送することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、メモリコピーを行わずにフラグメント処理を行い、ＣＰＵに対する負荷を軽減することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明による通信装置の第１の実施形態であるＩＰパケット終端装置の構成を示すブロック図である。
【図２】図１に示すＩＰパケット終端装置におけるフラグメント処理を示すフローチャートである。
【図３】フレーム位置認識部が格納する情報例を示す説明図である。
【図４】受信したフラグメントパケットから送信用のフラグメントパケットを作成する処理を説明するための説明図である。
【図５】本発明による通信装置の主要部を示すブロック図である。
【図６】一般的なＩＰパケット終端装置の構成例を示すブロック図である。
【図７】図６に示すＩＰパケット終端装置において構築される送信用フラグメントパケットの構成例を示す説明図である。
【発明を実施するための形態】
【００１７】
実施形態１．
図１は、本発明による通信装置の第１の実施形態（実施形態１）であるＩＰパケット終端装置の構成を示すブロック図である。図１を参照して、ＩＰパケット終端装置の構成を説明する。
【００１８】
ＩＰパケット終端装置１００は、受信パケット用メモリ空間１０１を含むメモリ１０２、フレーム位置認識部１０３、送信フレーム情報格納部１０４、フラグメントヘッダ構築部１０５、フレーム送信用ＤＭＡコントローラ１０６、送信ＦＩＦＯ１０７、ＣＰＵ１０８、およびＰＰＰｏＥヘッダ出力部１０９を備える。
【００１９】
メモリ１０２は、一方の通信ネットワークであるＬＡＮまたはＷＡＮを介してＩＰパケット終端装置１００が受信したフラグメントパケットを、受信パケット用メモリ空間１０１に格納する。
【００２０】
フレーム位置認識部１０３は、フラグメントヘッダのフラグメントオフセットのフィールドに設定されているオフセットの値および識別子の値を検知する。フレーム位置認識部１０３は、検知した識別子のフィールドに設定されている識別子の値およびオフセットの値に基づいて、フラグメントパケットのオリジナルフレームの識別子と、オリジナルフレームのどの位置にあったフレームであるかとを認識する。フレーム位置認識部１０３は、認識した情報を格納する。また、フレーム位置認識部１０３は、受信パケット用メモリ空間１０１に格納された当該フラグメントパケットの格納位置（メモリ上の位置）を示す情報も格納する。フレーム位置認識部１０３は、後続のフラグメントパケットについても、同様にメモリ上の位置を示す情報を格納する。
【００２１】
送信フレーム情報格納部１０４には、あらかじめ、ＩＰパケット終端装置１００からパケットを送信するときに新たにヘッダを付加する場合に必要となるデータが格納される。なお、例えば、ＰＰＰｏＥ（PPP over Ethernet ，Ethernet：登録商標）では、Ethernetフレームを送信するときに、ＰＰＰｏＥヘッダがパケットに付加される。
【００２２】
ＰＰＰｏＥヘッダ出力部１０９は、送信用フラグメントパケットに付加されるＰＰＰｏＥヘッダを出力する。フラグメントヘッダ構築部１０５は、送信フレーム情報格納部１０４に格納されているデータを参照して、ＩＰパケット終端装置１００から送信される送信用フラグメントパケットのためのフラグメントヘッダを作成する。
【００２３】
なお、フレーム位置情報部１０３は、実際には、ＣＰＵ１０８とソフトウェアとで実現されている。また、フラグメントヘッダ構築部１０５およびＰＰＰｏＥヘッダ出力部１０９は、ハードウェア回路で構成されている。
【００２４】
フレーム送信用ＤＭＡコントローラ１０６は、送信先のＭＴＵのサイズに合わせて受信パケット用メモリ空間１０１のデータを送信ＦＩＦＯにＤＭＡ転送する。
【００２５】
送信ＦＩＦＯ１０７は、ＰＰＰｏＥヘッダ出力部１０９、フラグメントヘッダ構築部１０５およびフレーム送信用ＤＭＡコントローラ１０６から出力されたデータを、他の通信ネットワークであるＬＡＮまたはＷＡＮに送出する。
【００２６】
図２は、図１に示すＩＰパケット終端装置におけるフラグメント処理を示すフローチャートである。図１および図２を参照して、図１に示すＩＰパケット終端装置１００におけるフラグメント処理について説明する。
【００２７】
図１に示すＩＰパケット終端装置１００が、ＬＡＮを介して受信した連続したデータにフラグメント処理を行い、再構築したフラグメントパケットをＷＡＮを介して送信する場合を例にする。なお、ＷＡＮを介して受信し、ＬＡＮを介して送信する場合なども同様である。また、ＬＡＮ側のネットワークで利用されるプロトコルをＩＰｖ４とし、ＷＡＮ側のネットワークで利用されるプロトコルをＰＰＰｏＥとする。ＬＡＮ側から受信したパケットをＷＡＮ側に送信するときには、ＰＰＰｏＥヘッダが付加され、受信したＩＰパケットのフレーム長に対して、フレーム長が変更されるとする。新たに付加されるＰＰＰｏＥヘッダなどの情報は、送信フレーム情報格納部１０４にあらかじめ格納されている。
【００２８】
ＩＰパケット終端装置１００は、ＬＡＮを介してフラグメントパケットを受信する（ステップＳ１１）。例えば、フラグメントパケット２０１，２０３，２０２の順番に受信するとする。なお、フラグメントパケット２０１，２０２，２０３は、元は１つのオリジナルフレームであって、３つに分割されて送信されたパケットである。オリジナルフレームにおける位置は、先頭からフラグメントパケット２０１，２０２，２０３の順であったとする。
【００２９】
次に、ＣＰＵ１０８は、ＩＰパケット終端装置１００において、受信されたフラグメントパケットは、メモリ１０２における受信パケット用メモリ空間１０１に格納する（ステップＳ１２）。例えば、フラグメントパケット２０１を、受信パケット用メモリ空間１０１の１０００番地のアドレスに格納する。また、フラグメントパケット２０３を、受信パケット用メモリ空間１０１の２０００番地のアドレスに格納し、フラグメントパケット２０２を、受信パケット用メモリ空間１０１の３０００番地のアドレスに格納する。
【００３０】
フレーム位置認識部１０３は、フラグメントパケットのフラグメントヘッダの識別子フィールドに設定されている識別子の値およびオフセットフィールドに設定されているオフセットの値に基づいて、当該フラグメントパケットのオリジナルフレームの識別子、および、オリジナルフレームのどの位置にあったフレームであるかを判断し、判断結果を示す情報を格納する（ステップＳ１３）。なお、１つのオリジナルフレームがフラグメント化された各フラグメントパケットには、同じ識別子が付加されている。また、フレーム位置認識部１０３は、受信パケット用メモリ空間１０１に格納された当該フラグメントパケットの格納位置（メモリ上の位置）を示す情報も格納する。
【００３１】
図３は、フレーム位置認識部が格納する情報例を示す説明図である。フレーム位置認識部１０３は、例えば、図３に示すように、ディスクリプタ管理によって情報を管理する。フレーム位置認識部１０３は、受信フレーム（フラグメントパケット２０１，２０３，２０２）ごとに、メモリ上アドレス、オリジナルフレーム位置およびオリジナルフレーム識別子を組として管理する。図５において、受信フレームＡ，Ｂ，Ｃは同じオリジナルフレームからフラグメント化されたフレームであり、その識別子はＸＸであるとする。
【００３２】
ＰＰＰｏＥヘッダ出力部１０９は、ＣＰＵ１０８の指示に応じて、送信フレーム情報格納部１０４に格納されているデータを参照してＰＰＰｏＥヘッダを作成し、作成したＰＰＰｏＥヘッダを送信ＦＩＦＯ１０７に出力する。一例として、送信フレーム情報格納部１０４にＰＰＰｏＥヘッダが格納されている場合には、ＰＰＰｏＥヘッダ出力部１０９は、格納されているＰＰＰｏＥヘッダを読み出し、読み出したＰＰＰｏＥヘッダを送信ＦＩＦＯ１０７に出力する。
【００３３】
なお、本実施形態では、ＰＰＰｏＥヘッダ出力部１０９が、送信フレーム情報格納部１０４に格納されているデータを送信ＦＩＦＯ１０７に出力したが、フレーム送信用ＤＭＡコントローラ１０６が、送信フレーム情報格納部１０４に格納されているデータを送信ＦＩＦＯ１０７に出力してもよい。
【００３４】
フラグメントヘッダ構築部１０５は、ＣＰＵ１０８の指示に応じて送信フレーム情報格納部１０４に格納されているデータを参照して、ＩＰパケット終端装置１００から送信する送信用フラグメントパケットのフラグメントヘッダを作成し、フラグメントヘッダを送信ＦＩＦＯ１０７に出力する（ステップＳ１４）。一例として、送信フレーム情報格納部１０４にフラグメントヘッダが格納されている場合には、格納されているフラグメントヘッダを読み出し、読み出したフラグメントヘッダを送信ＦＩＦＯ１０７に出力する。
【００３５】
次いで、フレーム送信用ＤＭＡコントローラ１０６は、ＣＰＵ１０８の指示に応じて、送信先のＭＴＵのサイズに合わせて、受信パケット用メモリ空間１０１に格納されているペイロードのデータを送信ＦＩＦＯ１０７にＤＭＡ転送する（ステップＳ１５）。
【００３６】
図４は、受信したフラグメントパケットから送信用のフラグメントパケットを作成する処理を説明するための説明図である。メモリ１０２の受信パケット用メモリ空間１０１に格納されたフラグメントパケット２０１，２０３，２０２は、ペイロードとフラグメントヘッダを含む。
【００３７】
図４に示すＰＰＰｏＥヘッダおよび２１２新フラグメントヘッダ２１１は、ステップＳ１４の処理でＰＰＰｏＥヘッダ出力部１０９およびフラグメントヘッダ構築部１０５によって作成されたＰＰＰｏＥヘッダおよび送信用フラグメントパケットのフラグメントヘッダである。
【００３８】
ステップＳ１５において、フレーム送信用ＤＭＡコントローラ１０６は、送信先のＭＴＵに合うサイズの送信用フラグメントパケットにするために、ペイロードのサイズを算出し、受信パケット用メモリ空間１０１から、算出したサイズのペイロードのＤＭＡ転送を行う。フレーム送信用ＤＭＡコントローラ１０６は、フレーム位置認識部１０３によって認識され格納されている情報（例えば、図３に示すメモリアドレスおよびオリジナルフレーム位置）を参照することによって、受信したフラグメントパケット２０１，２０２，２０３のＤＭＡ転送の最初の先頭アドレスになるメモリ上アドレスやオリジナルフレーム位置を知ることができるので、必要なペイロードのサイズ分だけ、オリジナルフレームにおける並び順にＤＭＡ転送を行うことができる。
【００３９】
具体的には、例えば、図４において、ＰＰＰｏＥヘッダ２１２のヘッダ長を８バイトであるとする。また、新フラグメントヘッダ２１１のヘッダ長は２０バイトであるとする。このとき、フレーム送信用ＤＭＡコントローラ１０６は、送信用フラグメントパケット２２１〜２２４の、ＭＴＵのサイズからＰＰＰｏＥヘッダ２１２のヘッダ長（８バイト）および新フラグメントヘッダ２１１のヘッダ長（２０バイト）を差し引いたフレーム長をペイロードのサイズとして算出する。フレーム送信用ＤＭＡコントローラ１０６は、受信パケット用メモリ空間１０１に格納されているフラグメントパケット２０１，２０３，２０２のペイロードから、算出したペイロードのサイズ分だけＤＭＡ転送を行う。ＤＭＡ転送を行うときに、オリジナルフレームにおける並び順（すなわち、フラグメントパケット２０１，２０２，２０３の順番）に従って、ＤＭＡ転送の対象にする。
【００４０】
なお、この実施の形態では、フレーム送信用ＤＭＡコントローラ１０６がペイロードのサイズを算出するが、ＣＰＵ１０８がペイロードのサイズを算出してもよい。
【００４１】
送信ＦＩＦＯ１０７は、ＰＰＰｏＥヘッダ出力部１０９、フラグメントヘッダ構築部１０５およびフレーム送信用ＤＭＡコントローラ１０６によって構築された送信用フラグメントパケットを、ＷＡＮを介して送信する（ステップＳ１６）。
【００４２】
このようなＩＰパケット終端装置１００では、ＰＰＰｏＥヘッダ出力部１０９、フラグメントヘッダ構築部１０５およびフレーム送信用ＤＭＡコントローラ１０６が、ＰＰＰｏＥヘッダなどのヘッダ、フラグメントヘッダおよびペイロード部分を送信ＦＩＦＯ１０７に出力することによって送信用のフラグメントパケットを再構築するので、メモリ１０２上でのコピーを行う必要がない。したがって、フラグメントパケット処理において、ＣＰＵ１０８の負荷を軽減することができる。
【００４３】
実施形態２．
本発明によるフラグメントパケット処理装置の第２の実施形態（実施形態２）であるＩＰパケット終端装置の構成を説明する。第２の実施形態であるＩＰパケット終端装置は、図１に示すＩＰパケット終端装置１００の構成に加えてタイマが設けられる。
【００４４】
タイマは、ＩＰパケット終端装置１００がフラグメントパケットを受信してからの経過時間を計測する。タイマには、あらかじめ所定のタイマ時間が設定される。タイマ時間は、任意に設定できるとする。
【００４５】
タイマは、ＩＰパケット終端装置１００が受信したフラグメントパケットのヘッダ内の識別子がそれまでに受信したフラグメントパケットのヘッダ内の識別子と異なっていた場合、すなわち、新規のオリジナルフレームを元とするフラグメントパケットを受信した場合に、計測を開始する。あらかじめ設定された所定のタイマ時間が経過しても（具体的には、タイマの値が０になっても）後続のフラグメントパケット（結合用のフレーム）の受信が完了しなかった場合には、ＣＰＵ１０８は、それまでに受信した当該オリジナルフレームを元とするフラグメントパケットを廃棄する処理を行う。
【００４６】
このようなＩＰパケット終端装置では、送信用のフラグメントパケットに用いられる結合用のフレームが、何らかの理由によってそろわないような場合には、当該フレームを廃棄する処理を行うので、無駄な待ち時間を発生させることなく、その他のフレームに対するフラグメントパケット処理を円滑に行うことができる。
【００４７】
図５は、本発明による通信装置の主要部を示すブロック図である。図５に示すように、通信装置１０（例えば、図１に示すＩＰパケット終端装置１００に相当）は、一方の通信ネットワークを介して受信したフラグメントパケットを格納するメモリ部１２（例えば、図１に示すメモリ１０２に相当）と、ヘッダおよび送信用フラグメントパケットを他方の通信ネットワークに送出する送出部１６（例えば、図１に示す送信ＦＩＦＯ１０７に相当）と、受信したフラグメントヘッダの識別子フィールドに設定されている識別子の値およびオフセットフィールドに設定されているオフセットの値に基づいて、フラグメントパケットのオリジナルフレームの識別子と、オリジナルフレームのどの位置にあったフレームであるかとを認識するフレーム位置認識部１３（例えば、図１に示すフレーム位置認識部１０３に相当）と、ハードウェア回路で形成され、送信用フラグメントパケットに付加されるヘッダを送出部１６に出力するヘッダ出力部１４（例えば、図１に示すＰＰＰｏＥヘッダ出力部１０９およびフラグメントヘッダ構築部１０５に相当）と、フレーム位置認識部１３の認識結果を参照し、送信先のＭＴＵのサイズに合わせて、メモリ部１２に格納されているデータを送出部にＤＭＡ転送するフレーム送信用ＤＭＡコントローラ（例えば、図１に示すフレーム送信用ＤＭＡコントローラ１０６に相当）とを備えている。
【００４８】
また、上記の各実施形態のＩＰパケット終端装置では、以下の（１）〜（４）に示すような通信装置も開示されている。
【００４９】
（１）送信用ＤＭＡコントローラ１５は、送信先のＭＴＵに合うサイズの送信用フラグメントパケットにするためにペイロードのサイズを算出し（例えば、第１の実施形態において、フレーム送信用ＤＭＡコントローラ１０６が、送信先のＭＴＵのサイズからＰＰＰｏＥヘッダ２１２のヘッダ長および新フラグメントヘッダ２１１のヘッダ長を差し引いたフレーム長をペイロードのサイズとして算出する処理に相当）、メモリ部１２から、算出したサイズのペイロードのＤＭＡ転送を行う（例えば、図２のステップＳ１５に示す動作によって実現される。）通信装置。
【００５０】
（２）新規のオリジナルフレームを元とするフラグメントパケットを受信した場合に、当該フラグメントパケットを受信してからの経過時間を計測するタイマと、タイマにあらかじめ設定された所定のタイマ時間が経過しても後続のフラグメントパケットの受信が完了しなかった場合には、それまでに受信した当該オリジナルフレームを元とするフラグメントパケットを廃棄する処理を行うパケット廃棄処理部（例えば、ＣＰＵ１０８に相当）とを備えた通信装置（例えば、第２の実施形態のＩＰパケット終端装置によって実現される。）。
【００５１】
（３）パケットを送信するときに新たにヘッダを付加する場合に必要となるデータがあらかじめ格納された送信フレーム情報格納部（例えば、図１に示す送信フレーム情報格納部１０４に相当）を備え、ヘッダ出力部１４は、送信フレーム情報格納部に格納されているデータを参照して送信用フラグメントパケットのためのフラグメントヘッダ（例えば、図４に示す新フラグメントヘッダ２１１に相当）を作成する通信装置。
【００５２】
（４）ヘッダ出力部１４は、送信フレーム情報格納部に格納されているデータを参照してＰＰＰｏＥヘッダ（例えば、図４に示すＰＰＰｏＥヘッダ２１２に相当）を作成する通信装置。
【産業上の利用可能性】
【００５３】
本発明を、ホームゲートウェイ装置などのＩＰパケットを終端するネットワーク機器に適用できる。
【符号の説明】
【００５４】
１０    通信装置
１２    メモリ部
１３    フレーム位置認識部
１４    ヘッダ出力部
１５    フレーム送信用ＤＭＡコントローラ
１６    送出部
１００，３００  ＩＰパケット終端装置
１０１  受信パケット用メモリ空間
１０２  メモリ
１０３  フレーム位置認識部
１０４  送信フレーム情報格納部
１０５  フラグメントヘッダ構築部
１０６  フレーム送信用ＤＭＡコントローラ
１０７  送信ＦＩＦＯ
１０８，３０１  ＣＰＵ
１０９  ＰＰＰｏＥヘッダ出力部
２０１，２０２，２０３，４０１  フラグメントパケット
２１１  新フラグメントヘッダ
２１２  ＰＰＰｏＥヘッダ
２２１，２２２，２２３，２２４，４０２  送信用フラグメントパケット
【図１】
2012049883.tif 000003
【図２】
2012049883.tif 000004
【図３】
2012049883.tif 000005
【図４】
2012049883.tif 000006
【図５】
2012049883.tif 000007
【図６】
2012049883.tif 000008
【図７】
2012049883.tif 000009