(57)【特許請求の範囲】
【請求項１】
フラグメントパケットを転送する通信装置と転送されたフラグメントパケットを再構築する受信装置とを備える通信システムであって、
複数のフラグメントに分割されて送信されたフラグメントパケットを受信する受信手段と、フラグメントパケットの廃棄状況をフラグメント毎に管理する管理手段と、廃棄状況に基づいて廃棄したフラグメントパケットのフラグメント情報を格納する記憶手段と、新たなフラグメントパケットを受信した際には、受信したフラグメントパケットのフラグメント情報と記憶手段に格納された廃棄したフラグメントパケットのフラグメント情報が一致するか判断する判断手段と、これらのフラグメント情報が一致すると判断した場合には、受信したフラグメントパケットのヘッダフィールドに含まれる情報を更新する更新手段とを有する通信装置と、
前記通信装置から転送されたフラグメントパケットを受信する受信手段と、複数のフラグメントパケットから分割される前のパケットを再構築する制御手段と、受信したフラグメントパケットのヘッダフィールドに含まれる情報に基づいて、再構築を継続するか否か判断する判断手段を有する受信装置と、を備えることを特徴とする通信システム。
【請求項２】
フラグメントパケットのヘッダフィールドに含まれる情報は、フラグの予約ビットに設定された廃棄ビットであって、フラグメントパケットのヘッダフィールドに含まれる廃棄ビットが設定されている場合には、受信装置は再構築を中止することを特徴とする請求項１に記載の通信システム。
【請求項３】
フラグメントパケットの廃棄通知として、ヘッダフィールドにある予約ビットを廃棄ビットとして使用することを特徴とする請求項１に記載の通信システム。
【請求項４】
受信装置は、廃棄ビットが設定されているフラグメントパケットのフラグメント情報を記憶部に格納し、次のフラグメントパケットのフラグメント情報と一致するか判断して、パケット廃棄処理を行うことを特徴とする請求項１から３の何れか一項に記載の通信システム。
【請求項５】
前記通信装置の記憶手段に格納されたフラグメント情報は、所定時間経過後に消去されることを特徴とする請求項１から４の何れか一項に記載の通信システム。
【請求項６】
フラグメントパケットを転送する第１の処理と、転送されたフラグメントパケットを再構築する第２の処理を有する通信方法であって、
前記第１の処理は、複数のフラグメントに分割されて送信されたフラグメントパケットを受信し、フラグメントパケットの廃棄状況をフラグメント毎に管理し、廃棄状況に基づいて廃棄したフラグメントパケットのフラグメント情報を格納し、新たなフラグメントパケットを受信した際には、受信したフラグメントパケットのフラグメント情報と格納された廃棄したフラグメントパケットのフラグメント情報が一致するか判断し、これらのフラグメント情報が一致すると判断した場合には、受信したフラグメントパケットのヘッダフィールドに含まれる情報を更新し、
前記第２の処理は、第１の処理により転送されたフラグメントパケットを受信し、複数のフラグメントパケットから分割される前のパケットを再構築し、受信したフラグメントパケットのヘッダフィールドに含まれる情報に基づいて、再構築を継続するか否か判断することを特徴とする通信方法。
【請求項７】
フラグメントパケットを転送する第１の処理と、転送されたフラグメントパケットを再構築する第２の処理を有する通信プログラムであって、
複数のフラグメントに分割されて送信されたフラグメントパケットを受信する受信処理と、フラグメントパケットの廃棄状況をフラグメント毎に管理する管理処理と、廃棄状況に基づいて廃棄したフラグメントパケットのフラグメント情報を格納する格納処理と、新たなフラグメントパケットを受信した際には、受信したフラグメントパケットのフラグメント情報と格納された廃棄したフラグメントパケットのフラグメント情報が一致するか判断する判断処理と、これらのフラグメント情報が一致すると判断した場合には、受信したフラグメントパケットのヘッダフィールドに含まれる情報を更新する更新処理とを含む第１の処理と、
第１の処理により転送されたフラグメントパケットを受信する受信処理と、複数のフラグメントパケットから分割される前のパケットを再構築する制御処理と、受信したフラグメントパケットのヘッダフィールドに含まれる情報に基づいて、再構築を継続するか否か判断する判断処理とを含む第２の処理とを、コンピュータに実行させることを特徴とする通信プログラム。
【請求項８】
請求項７に記載の通信プログラムを記録したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、通信方法、及び通信プログラムに関し、特に、ＴＣＰ／ＩＰ等の通信プロトコルを用いてパケット通信を行うネットワーク技術に関する。
【背景技術】
【０００２】
ＩＰデータグラム（パケット）の断片化（フラグメント）処理と再構成（リアセンブル）処理の仕様がＲＦＣ７９１に記述されている。この方式では、最大転送単位（ＭＴＵ）が異なるネットワーク同士間の通信であっても、ネットワーク間のＭＴＵの違いを意識せずに通信データの送受信が行える。ネットワーク通信では、パケットを断片化し、断片化されたパケット（フラグメントパケット）を受信装置において再構成する。パケットの断片化と再構成は、通信可能なパケットサイズが小さい経路が通信経路に存在する場合でもサイズの大きなパケットを転送可能にするための処理である。
【０００３】
パケットの断片化は、ルータやインターフェイス機器などで異なるネットワークに中継される場合などに生じる。パケットを断片化してデータを通信し、このフラグメントパケットを再構成する際に、受信済みのフラグメントパケットと未受信のフラグメントパケットを区別する必要がある。また、同じパケットから断片化されたフラグメントパケットの内のいずれかが廃棄された場合には、リアセンブルタイマでタイムアウトした時点で再構築を強制終了させる。
【０００４】
従来の再構築を行う通信装置ではフラグメントパケットの廃棄を知る手段は無く、最初のフラグメントパケットを受信してからある一定時間（例えば３０秒）を経過しても再構築が完了していなければ、フラグメントパケットが廃棄されたものと判断して再構築処理を中止していた。つまりフラグメントパケットが途中で廃棄されると、一定時間必ず再構築処理を継続する必要があった。
【０００５】
ネットワーク処理装置の一例が特許文献１に記載されている。特許文献１のネットワーク処理装置は、フラグメント化されたＩＰデータストリームを再構築処理する際に、使用するリソースの浪費を削減するため、既に再構築処理が完了した場合、或いはタイムアウトしたＩＰデータグラムのフラグメントＩＰデータグラムを受信した場合、当該ＩＰデータグラムに対する再構築処理を行わない構成を開示している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−０４５７６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
フラグメントパケットは１つでも廃棄されると再構築することはできないが、従来のフラグメントパケットを再構築する通信装置は、フラグメントパケットの廃棄を検出する手段が無かった。そのため最初にフラグメントパケットを受信して再構築を開始してからある一定時間（たとえば３０秒等）経過しても再構築が完了できない場合に再構築を中止していた。そのためフラグメントパケットが廃棄されると、再構築はかならずその一定時間の間継続され、再構築に必要なリソースをその間割り当てる必要があった。
【０００８】
また、特許文献１では、プロトコル処理装置におけるリアセンブルタイマがタイムアウトするまで待つ必要があり、直ちに再構築の中止をすることができないという問題があった。
【０００９】
本発明は、転送処理を行う通信装置がフラグメントパケットを廃棄する場合に、再構築を行う通信装置でフラグメントパケットが廃棄されたことを検出できるようにし、再構築を即座に中止できるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
上述の課題に鑑み、本発明の一態様は、フラグメントパケットを転送する通信装置と転送されたフラグメントパケットを再構築する受信装置とを備える通信システムであって、複数のフラグメントに分割されて送信されたフラグメントパケットを受信する受信手段と、フラグメントパケットの廃棄状況をフラグメント毎に管理する管理手段と、廃棄状況に基づいて廃棄したフラグメントパケットのフラグメント情報を格納する記憶手段と、新たなフラグメントパケットを受信した際には、受信したフラグメントパケットのフラグメント情報と記憶手段に格納された廃棄したフラグメントパケットのフラグメント情報が一致するか判断する判断手段と、これらのフラグメント情報が一致すると判断した場合には、受信したフラグメントパケットのヘッダフィールドに含まれる情報を更新する更新手段とを有する通信装置と、前記通信装置から転送されたフラグメントパケットを受信する受信手段と、複数のフラグメントパケットから分割される前のパケットを再構築する制御手段と、受信したフラグメントパケットのヘッダフィールドに含まれる情報に基づいて、再構築を継続するか否か判断する判断手段を有する受信装置と、を備える通信システムに関する。
【００１１】
また、本発明の他の態様は、フラグメントパケットを転送し、転送されたフラグメントパケットを再構築する通信方法であって、複数のフラグメントに分割されて送信されたフラグメントパケットを受信し、フラグメントパケットの廃棄状況をフラグメント毎に管理し、廃棄状況に基づいて廃棄したフラグメントパケットのフラグメント情報を格納し、新たなフラグメントパケットを受信した際には、受信したフラグメントパケットのフラグメント情報と格納された廃棄したフラグメントパケットのフラグメント情報が一致するか判断し、これらのフラグメント情報が一致すると判断した場合には、受信したフラグメントパケットのヘッダフィールドに含まれる情報を更新し、受信したフラグメントパケットのヘッダフィールドに含まれる情報に基づいて、再構築を継続するか否か判断することを特徴とする通信方法。
【００１２】
さらに、本発明の別の態様は、フラグメントパケットを転送し、転送されたフラグメントパケットを再構築する通信プログラムであって、複数のフラグメントに分割されて送信されたフラグメントパケットを受信する受信処理と、フラグメントパケットの廃棄状況をフラグメント毎に管理する管理処理と、廃棄状況に基づいて廃棄したフラグメントパケットのフラグメント情報を格納する格納処理と、新たなフラグメントパケットを受信した際には、受信したフラグメントパケットのフラグメント情報と格納された廃棄したフラグメントパケットのフラグメント情報が一致するか判断する判断処理と、これらのフラグメント情報が一致すると判断した場合には、受信したフラグメントパケットのヘッダフィールドに含まれる情報を更新する更新処理と、転送されたフラグメントパケットを受信する受信処理と、複数のフラグメントパケットから分割される前のパケットを再構築する制御処理と、受信したフラグメントパケットのヘッダフィールドに含まれる情報に基づいて、再構築を継続するか否か判断する判断処理とを、コンピュータに実行させることを特徴とする通信プログラム。
【００１３】
本発明では、ＲＦＣ７９１で規定されているＩＰヘッダにある予約ビットをフラグメントパケットの廃棄を通知するための廃棄ビットとして使用する。フラグメントパケットを廃棄する本発明による通信装置は、その廃棄したフラグメントパケットのフラグメント情報を一定時間記憶する。そのフラグメント情報を記憶している間にそのフラグメント情報に該当するフラグメントパケットを受信すると、そのＩＰヘッダの廃棄ビットを１に書き換える。廃棄ビットを１に書き換えられたフラグメントパケットは、再構築を行う通信装置へ転送される。再構築を行う本発明による通信装置では、受信したフラグメントパケットのＩＰヘッダの廃棄ビットの値が１であれば、再構築に必要なフラグメントパケットのうち少なくとも１つは廃棄されたと判断し、即座に再構築を中止する。
【発明の効果】
【００１４】
本発明によると、フラグフィールドの予約ビットを廃棄ビットとして使用して、実現する可能性の少ない再構築のために割り当てている記憶部のリソースを早く開放できる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態による通信システムの概略構成を説明するための図である。
【図２】本発明の実施形態による通信システムで取り扱うパケットのヘッダを説明するための図である。
【図３】本発明の実施形態による通信システムで取り扱うパケットのヘッダに含まれるフラグフィールドを説明するための図である。
【図４】本発明の実施形態による通信システムで取り扱うパケットのフラグメント情報を説明するための図である。
【図５】本発明の実施形態による通信システムで取り扱うパケットの廃棄フラグメント情報を説明するための図である。
【図６】本発明の実施形態による通信システムを構成する通信装置と受信装置の詳細な構成を説明するための図である。
【図７】本発明の実施形態による通信システムの処理の流れを説明するためのフローチャートである。
【図８】本発明の実施形態による通信システムの通信装置におけるパケット受信処理を説明するためのフローチャートである。
【図９】本発明の実施形態による通信システムの受信装置におけるパケット受信処理を説明するためのフローチャートである。
【図１０】本発明の実施形態による通信システムのパケット廃棄処理を説明するためのフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態について図面を参照しつつ説明する。但し、以下に説明する実施形態によって本発明の技術的範囲は何ら限定解釈されることはない。
【００１７】
図１は、本発明の実施形態に係る通信システムの概略構成を示す図である。本実施形態による通信システムは、例えばルータ等の通信装置や、ネットワークインタフェースを備えたパソコン等の情報処理装置に利用される。
【００１８】
図１を参照すると、通信システムは通信装置１００と受信装置２００とを含む。通信装置１００は、受信したフラグメントパケットをルーティング情報等に従いその宛先に転送する。受信装置２００は、受信したフラグメントパケットをリアセンブル（再構築）する通信装置である。
【００１９】
ここで各フラグメントパケット１〜５は、図１に示すような同一のフラグメント情報を有している。例えば、２つのフラグメントパケットに断片化する場合、パケットは、Ｌ１の長さのデータ１と、Ｌ２の長さのデータ２に分割され、それぞれヘッダが付されて断片化されたフラグメントパケットとなる。図の例では、パケットは５つのフラグメントパケット１〜５に断片化されている。
【００２０】
図２は、本実施形態の通信システムで通信されるパケットのＲＦＣ７９１で規定されるＩＰヘッダの詳細を示す。
【００２１】
図２は、本実施形態による各フラグメントパケットのヘッダの詳細を示している。図２に例示されるように、ヘッダは、バージョン１０ａ（Ｖｅｒｓｉｏｎ）、ヘッダ長１０ｂ（ＩＨＬ）、サービスタイプ１０ｃ（Ｔｙｐｅ  ｏｆ  Ｓｅｒｖｉｃｅ）、全パケット長１０ｄ（Ｔｏｔａｌ Ｌｅｎｇｔｈ）、識別子１０ｅ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）、フラグ１０ｆ（Ｆｒａｇｓ）、フラグメントオフセット１０ｇ（Ｆｒａｇｍｅｎｔ Ｏｆｆｓｅｔ）、生存時間１０ｈ（Ｔｉｍｅ  ｔｏ  Ｌｉｖｅ）、プロトコル１０ｉ（Ｐｒｏｔｏｃｏｌ）、ヘッダチェックサム１０ｊ（Ｈｅａｄｅｒ  Ｃｈｅｃｋｓｕｍ）、送信元アドレス１０ｋ（Ｓｏｕｒｃｅ  Ａｄｄｒｅｓｓ）、宛先アドレス１０ｌ（Ｄｅｓｔｉｎａｔｉｏｎ  Ａｄｄｒｅｓｓ）、オプション１０ｍ（Ｏｐｔｉｏｎ）、パディング１０ｎ（Ｐａｄｄｉｎｇ）の情報で構成されている。
【００２２】
各フラグメントパケットのヘッダに含まれる各情報は、ＲＦＣ７９１に規定される通り既知であるため、本発明の特徴となるフラグ１０ｆ以外の情報についての詳細な説明は省略する。
【００２３】
図３を参照すると、本実施形態によるヘッダフィールドのフラグ１０ｆは、廃棄ビットと、ＤＦ（Ｄｏｎ’ｔ  ｆｒａｇｍｅｎｔ）ビットと、ＭＦ（Ｍｏｒｅ  Ｆｒａｇｍｅｎｔ）ビットとを含む３ビットで構成される。本実施形態では、ヘッダフィールドにおけるフラグの予約ビットを廃棄ビットとして使用している。
【００２４】
ヘッダフィールドのフラグ１０ｆにおいて、廃棄ビット（ビット０）が“０”の場合は廃棄なし、“１”の場合は廃棄ありと規定される。ＤＦビット（ビット１）は、断片化の可否を規定するものであり、“０”の場合は断片化を許可し、“１”の場合は断片化を禁止する。また、ＭＦビット（ビット２）は、後続にフラグメントパケットが続くか否かを規定するものであり、“０”の場合は最終のフラグメントパケットであることを意味し、“１”の場合はフラグメントパケットが継続をすることを意味する。
【００２５】
また、本発明の実施形態による通信システムでは、フラグメントパケットを廃棄する場合に、同じパケットから断片化されたフラグメントパケットを特定するために、図４に示すフラグメント情報を使用する。
【００２６】
フラグメント情報は、識別子、送信元アドレス、宛先アドレス、プロトコルなどを含み、リアセンブル処理対象のＩＰデータグラム（パケット）を特定するために使用される。すなわち、フラグメントパケットのそれぞれが同一のパケットから断片化されたものであるかどうかを特定するためにフラグメント情報は用いられる。
【００２７】
図４に示すフラグメント情報において、識別子１０ｅは、同じパケットから断片化されたフラグメントパケットは全て同じ値を持つことが分かる。そのため、識別子１０ｅを用いてフラグメントパケット同士が同一のパケットから断片化されたものか否か判断することができる。また、正確性を確保するために、送信元アドレス１０ｋ、宛先アドレス１０ｌ、及び/又はプロトコル１０ｉなどのフラグメント情報を用いてフラグメントパケットの一致性を判断することもできる。これらの情報も、同じパケットから断片化されたフラグメントパケットは全て同じ値を持つ。
【００２８】
図５は、上述のフラグメント情報が記憶部１１３、２１４に一定時間保持された廃棄フラグメント情報を示す。パケットの優先制御などの何らかの原因でフラグメントパケットが廃棄されると、このフラグメントパケットのフラグメント情報が廃棄フラグメント情報に登録されているかチェックされる。フラグメントパケットのフラグメント情報が廃棄フラグメント情報に登録されていない場合は、図５に例示するような形式でフラグメント情報が廃棄フラグメント情報として記憶部に格納される。なお、登録されたフラグメント情報は一定時間後に記憶部に格納された廃棄フラグメント情報から削除される。
【００２９】
図６は、本実施形態による通信システムの通信装置１００と受信装置２００の概略構成図である。図６の通信装置１００において、受信部１１１は、元のパケットから複数にフラグメント化されて送信されたフラグメントパケットを受信する。各フラグメントパケットの廃棄状況は、管理部１１２でフラグメント毎に管理されて、この廃棄状況に基づいて廃棄したフラグメントパケットのプロトコルや宛先アドレスなどのフラグメント情報を記憶部１１３に格納する。新たなフラグメントパケットを受信した際に、判断部１１４により、廃棄したフラグメントパケットのフラグメント情報と同一のフラグメント情報を有するフラグメントパケットであると判断されると、更新部１１５は、このフラグメントパケットのフラグフィールドにおける予約ビットに設定された廃棄ビットを“１”に設定更新する。
【００３０】
受信装置２００において、通信装置１００から転送されたフラグメントパケットを受信部２１１で受信し、すべてのフラグメントパケットの受信が完了すると、受信した複数のフラグメントパケットから分割される前のパケットの再構築が制御部２１２により行われる。受信装置２００においても、各フラグメントパケットの廃棄状況を管理部２１３でフラグメント毎に管理してもよく、廃棄状況に基づいて廃棄したフラグメントパケットのフラグメント情報を記憶部２１４に格納する。判断部２１５では、受信したフラグメントパケットのヘッダフィールドに設定された廃棄ビットに基づいて、再構築を継続又は中止するか判断する。
【００３１】
次に、本発明の実施形態による通信システムの動作について詳細に説明する。例として図１に示す受信装置２００で再構築する同じパケットから断片化された５つのフラグメントパケットが、フラグメントパケット１〜５の順序で通信装置１００を経由して受信装置２００に転送され、また通信装置１００でパケットの優先制御などのためにフラグメントパケット３が廃棄される場合の通信システムの動作について説明する。
【００３２】
図７は、本実施形態による通信システムの処理の流れを説明するための図である。本実施形態の通信システムにおいてパケットを受信すると（Ｓ１００）、フラグメントパケットか否か判断される（Ｓ１０１）。フラグメントパケットでないと判断されると（Ｓ１０１、Ｎｏ）、通常の受信処理が行われる（Ｓ１０２）。フラグメントパケットであると判断された場合には（Ｓ１０１、Ｙｅｓ）、該当するフラグメント情報を廃棄フラグメント情報から検索する（Ｓ１０３）。次にフラグメントパケットが自装置で再構築する必要があるか判断される（Ｓ１０４）。再構築が不必要な場合は（Ｓ１０４、Ｎｏ）、パケット受信処理１が実行され（Ｓ１０５）、再構築が必要な場合は（Ｓ１０４、Ｙｅｓ）、パケット受信処理２が実行される（Ｓ１０６）。
【００３３】
次に、図８を参照しつつ通信装置１００のパケット受信処理１を説明する。フラグメントパケット１を受信した通信装置１００は（Ｓ２００）、フラグメントパケット１のフラグメント情報が記憶部に登録されているか確認する（Ｓ２０１）。図１の例では、これらフラグメントパケット１〜５のフラグメント情報１は通信装置１００の廃棄フラグメント情報に登録されていないため（Ｓ２０１、Ｎｏ）、フラグメントパケット１の廃棄ビットは書き換えず通常の受信処理が実行され（Ｓ２０３）、このフラグメントパケット１は受信装置２へ転送される。フラグメントパケット２についても、フラグメントパケット１と同様の処理が行われる。そして、フラグメントパケット３を受信し、通信装置１００が優先制御によりフラグメントパケット３を廃棄すると、図１０に示す廃棄処理が実行される。
【００３４】
図１０のパケット廃棄処理では（Ｓ４００）、フラグメントパケットであるか否か判断され（Ｓ４０１）、フラグメントパケットでない場合は（Ｓ４０１、Ｎｏ）、通常のパケット廃棄処理が行われ（Ｓ４０５）、フラグメントパケットの場合（Ｓ４０１、Ｙｅｓ）、フラグメント情報１を記憶部に格納されている廃棄フラグメント情報から検索する（Ｓ４０２）。通信装置１００における廃棄フラグメント情報に登録されている場合（Ｓ４０３、Ｙｅｓ）、通常のパケット廃棄処理が行われる（Ｓ４０５）。フラグメントパケットのフラグメント情報１が廃棄フラグメント情報に登録されていない場合は（Ｓ４０３、Ｎｏ）、フラグメント情報１を通信装置１００の廃棄フラグメント情報に登録した後（Ｓ４０４）、通常のパケット廃棄処理が行われる（Ｓ４０５）。なお登録されたフラグメント情報１は一定時間後に記憶部に格納された廃棄フラグメント情報から削除する。
【００３５】
続いて、通信装置１００がフラグメントパケット４を受信すると、フラグメント情報１は通信装置１００の記憶部に格納された廃棄フラグメント情報に登録されているため（Ｓ２０１、Ｙｅｓ）、フラグメントパケット４の廃棄ビットを“１”に書き換えた（更新した）後（Ｓ２０２）、通常の受信処理を実行し（Ｓ２０３）、受信装置２００へ転送する。フラグメントパケット５についても、フラグメントパケット４と同様の処理が行われる。
【００３６】
各フラグメントパケット１〜５が通信装置１００から受信装置２００にそれぞれ転送されてきた際の受信装置２００における処理について説明する。受信装置２００は、転送されたフラグメントパケット１を受信すると、上述した図７に示すパケット受信処理を実行する、これらのフラグメントパケット１〜５は受信装置２００で再構築を行うフラグメントパケットであるため（Ｓ１０４、Ｙｅｓ）、図９に示すパケット受信処理２が実行される（Ｓ１０６）。
【００３７】
受信装置２００において、転送されたフラグメントパケットを受信すると（Ｓ３００）、これらのフラグメントパケット１〜５のフラグメント情報１は記憶部に格納された廃棄フラグメント情報に登録されておらず（Ｓ３０１、Ｎｏ）、また、フラグメントパケット１の廃棄ビットは“０”であるため（Ｓ３０２、Ｎｏ）、通常の再構築処理が実行される（Ｓ３０３）。フラグメントパケット２についても、フラグメントパケット１と同様の処理が実行される。次に、フラグメントパケット３は通信装置１００で廃棄されているため転送されず、受信装置２００ではフラグメントパケット３が受信されない。そして、フラグメントパケット４を受信すると、フラグメント情報１は廃棄フラグメント情報に登録されていないが（Ｓ３０１、Ｎｏ）、フラグメントパケット４の廃棄ビットは“１”であるため（Ｓ３０２、Ｙｅｓ）、再構築を中止し（Ｓ３０４）、図１０のパケット廃棄処理を行う（Ｓ３０５）。このパケット廃棄処理でフラグメント情報１を受信装置２００の記憶部に格納された廃棄フラグメント情報に登録した後、通常のパケット廃棄処理が行われる。このフラグメント情報１は、所定時間後に受信装置２００の記憶部から削除される。
【００３８】
最後に、受信装置２００がフラグメントパケット５を受信すると（Ｓ３００）、フラグメント情報１は受信装置２００の記憶部に格納された廃棄フラグメント情報に登録されているため（Ｓ３０１、Ｙｅｓ）、図１０のパケット廃棄処理を行う（Ｓ３０５）。この場合、フラグメントパケット４とは異なり、フラグメント情報１は受信装置２００の記憶部に既に登録されているため、廃棄フラグメント情報の登録は行わず、通常のパケット廃棄処理を行う。
【００３９】
このように、通信装置１００は、いずれかのフラグメントパケットを廃棄してから一定時間内に同じフラグメント情報１を持つフラグメントパケットを受信できれば、そのフラグメント情報１を廃棄フラグメント情報として登録しているため、その廃棄ビットを書き換えてから受信装置２００に転送することができる。受信装置２００は、フラグメントパケットの廃棄ビットを調べることでフラグメントパケットの廃棄を容易に検出することができるため、その廃棄を検出できた時点で再構築を中止できる。また、フラグメント情報１を一定時間、廃棄フラグメント情報として登録しておくことで、同じフラグメント情報を持つフラグメントパケットを受信しても再構築を開始せず、パケットを廃棄することができる。
【００４０】
同一のフラグメント情報を有するフラグメントパケットは、フラグ１０ｆ、全パケット長１０ｄ、フラグメントオフセット１０ｇなどの情報を用いて断片化され分割される前のパケットを再構成する。
【００４１】
以上説明した本発明の実施形態においては、以下に記載するような効果を奏する。
【００４２】
第１の効果は、従来よりも早い段階で、失敗する再構築のために割り当てているメモリ等の記憶部のリソースを開放できることである。その理由は、フラグメントパケットの廃棄を検出し、フラグフィールドの予約ビットを廃棄ビットとして使用しているからである。
【００４３】
第２の効果は、フラグメントパケットの再構築を同時に行える数が実質的に増加したことである。その理由は失敗する再構築を早期に中止して、他のフラグメントパケットの再構築を行えるようにしたからである。
【００４４】
なお、上述の各実施の形態において、実施形態の処理は、プログラム、ソフトウェア、又はコンピュータによって実行されることが可能な命令でコード化された、コンピュータ読み取り可能な記憶媒体によって実行されてもよい。記憶媒体には、光ディスク、フロッピー（登録商標）ディスク、ハードディスク等の可搬型の記録媒体が含まれることはもとより、ネットワークのようにデータを一時的に記録保持するような伝送媒体も含まれる。
【符号の説明】
【００４５】
１００  通信装置
１１１  受信部
１１２  管理部
１１３  記憶部
１１４  判断部
１１５  更新部
２００  受信装置
２１１  受信部
２１２  制御部
２１３  管理部
２１４  記憶部
２１５  判断部
【図１】
0005429902.tif 000002
【図２】
0005429902.tif 000003
【図３】
0005429902.tif 000004
【図４】
0005429902.tif 000005
【図５】
0005429902.tif 000006
【図６】
0005429902.tif 000007
【図７】
0005429902.tif 000008
【図８】
0005429902.tif 000009
【図９】
0005429902.tif 000010
【図１０】
0005429902.tif 000011