(57)【特許請求の範囲】
【請求項１】
ＡＣＫの送信を要求するＡＣＫ要求フレームのシーケンス番号を保持する記憶部と、
前記ＡＣＫ要求フレームを送信する送信部と、
前記ＡＣＫ要求フレームを受信した場合に、前記ＡＣＫ要求フレームに含まれるシーケンス番号を含むＡＣＫフレームを生成する生成部と、
前記ＡＣＫフレームと前記ＡＣＫ要求フレームの送信元の端末固有の識別情報との排他的論理和の値を用いて前記ＡＣＫフレームを符号化する符号化部と、
符号化されたＡＣＫフレームを受信する受信部と、
受信した前記符号化されたＡＣＫフレームと自身固有の識別情報との排他的論理和の値を用いて、受信した前記符号化されたＡＣＫフレームを復号化し、復号化されたＡＣＫフレームに含まれるシーケンス番号が前記記憶部に保持されていない場合に前記復号化されたＡＣＫフレームを破棄する復号化部と、
を備える情報処理装置。
【請求項２】
前記生成部は、前記ＡＣＫ要求フレームの送信元の端末固有の識別情報を含めずに、前記ＡＣＫフレームを生成する、
請求項１に記載の情報処理装置。
【請求項３】
前記符号化部は、前記ＡＣＫ要求フレームの送信元の端末固有の識別情報が前記ＡＣＫフレームのフレーム長よりも長い場合に、前記生成部によって生成されたＡＣＫフレームと、前記ＡＣＫ要求フレームの送信元の端末固有の識別情報の一部と、前記ＡＣＫ要求フレームの送信元の端末固有の識別情報の他の一部と、前記生成部によって生成されるＡＣＫフレームに含まれるチェックサムと、の排他的論理和の値を用いて前記ＡＣＫフレームを符号化する
請求項２に記載の情報処理装置。
【請求項４】
前記ＡＣＫ要求フレームの送信元の端末固有の識別情報が前記ＡＣＫフレームのフレーム長よりも長い場合に、前記記憶部は、前記ＡＣＫ要求フレームのシーケンス番号と、該シーケンス番号でＡＣＫフレームを生成した場合のチェックサム値とを保持し、
前記復号化部は、前記受信部によって受信された符号化されたＡＣＫフレームと、前記自身固有の識別情報の一部と、前記自身固有の識別情報の他の一部と、前記記憶部に保持されるチェックサム値と、の排他的論理和の値を用いて前記符号化されたＡＣＫフレームを復号化する
請求項３に記載の情報処理装置。
【請求項５】
前記復号化部は、前記受信部によって受信された符号化されたＡＣＫフレームと、前記自身固有の識別情報の前記一部と、前記記憶部に保持されるチェックサム値と、の排他的論理和の値に対するチェックサム値を求め、該チェックサム値が前記符号化されたフレームのチェックサム値に一致しない場合には、前記符号化されたＡＣＫフレームを破棄し、該チェックサム値が前記符号化されたフレームのチェックサム値に一致する場合には、前記排他的論理和の値と前記自身固有の識別情報の前記他の一部との排他的論理和の値と該排他的論理和の値に対するチェックサム値を求めて前記符号化されたＡＣＫフレームを復号し、前記復号化されたＡＣＫフレームのシーケンス番号とＦＣＳ値との対応付けが前記記憶部に保持されていない場合には、前記復号化されたＡＣＫフレームを破棄する
請求項４に記載の情報処理装置。
【請求項６】
ＡＣＫの送信を要求するＡＣＫ要求フレームを受信する受信部と、
前記ＡＣＫ要求フレームを受信した場合に、前記ＡＣＫ要求フレームに含まれるシーケンス番号を含むＡＣＫフレームを生成する生成部と、
前記ＡＣＫフレームと前記ＡＣＫ要求フレームの送信元の端末固有の識別情報との排他的論理和の値を用いて前記ＡＣＫフレームを符号化する符号化部と、
を備える情報処理装置。
【請求項７】
ＡＣＫの送信を要求するＡＣＫ要求フレームのシーケンス番号を保持する記憶部と、
前記ＡＣＫ要求フレームを送信する送信部と、
符号化されたＡＣＫフレームを受信する受信部と、
受信した前記符号化されたＡＣＫフレームと自身固有の識別情報との排他的論理和の値を用いて、受信した前記符号化されたＡＣＫフレームを復号化し、復号化されたＡＣＫフレームに含まれるシーケンス番号が前記記憶部に保持されていない場合に前記復号化されたＡＣＫフレームを破棄する復号化部と、
を備える情報処理装置。
【請求項８】
情報処理装置が、
ＡＣＫの送信を要求するＡＣＫ要求フレームのシーケンス番号を保持する記憶部に保持し、
前記ＡＣＫ要求フレームを送信し、
前記ＡＣＫ要求フレームを受信した場合に、前記ＡＣＫ要求フレームに含まれるシーケンス番号を含むＡＣＫフレームを生成し、
前記ＡＣＫフレームと前記ＡＣＫ要求フレームの送信元の端末固有の識別情報との排他的論理和の値を用いて前記ＡＣＫフレームを符号化し、
符号化されたＡＣＫフレームを受信し、
受信した前記符号化されたＡＣＫフレームと自身固有の識別情報との排他的論理和の値を用いて、受信した前記符号化されたＡＣＫフレームを復号化し、復号化されたＡＣＫフレームに含まれるシーケンス番号が前記記憶部に保持されていない場合に前記復号化されたＡＣＫフレームを破棄する、
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＡＣＫ応答の送信を行う情報処理装置に関する。
【背景技術】
【０００２】
ＩＥＥＥ８０２．１５．４は、ＰＡＮ（Personal Area Network）と呼ばれる、ＩＥＥ
Ｅが策定中の短距離無線ネットワーク規格である。ＩＥＥＥ８０２．１５．４は、例えば、リモコンのような家電機器の制御やセンサーネットワークにおいて利用されている。ＩＥＥＥ８０２．１５．４は、ＩＥＥＥ８０２．１５．１を使用したブルートゥース（登録商標）等の近距離無線通信に比べると、伝送速度が低い。しかしながら、ＩＥＥＥ８０２．１５．４は、１つのネットワークに多くのデバイスが参加できたり、煩雑な設定なしに機器の追加や削除が行えるアドホックネットワークに対応していたり、低消費電力であるといったメリットがある。
【０００３】
図１は、ＩＥＥＥ８０２．１５．４で規定されるフレームフォーマットを示す図である。ＩＥＥＥ８０２．１５．４のフレームは、フレームコントロール，シーケンス番号，送信先ＰＡＮ識別子，送信先アドレス，送信元ＰＡＮ識別子，送信元アドレス，補助セキュリティヘッダ，フレームペイロード，ＦＣＳ（Frame Check Sequence）のフィールドを含む。各フィールドのサイズは、図１に示される通りである。ＩＥＥＥ８０２．１５．４では、２バイトの短縮アドレス、８バイトのＩＥＥＥ拡長アドレスの２種類のＭＡＣアドレスがある。用いられるＭＡＣアドレスによって、送信先アドレスおよび送信元アドレスのフィールドの長さが変わる。そのため、２バイトの短縮アドレスを用いているのか、８バイトのＩＥＥＥ拡張アドレスを用いているのかは、受信データフレームの送信元アドレスにより判定可能である。また、ＩＥＥＥ拡張アドレスは、ＩＥＥＥ８０２．３やＩＥＥＥ８０２．１１で用いられる６バイトのＭＡＣアドレスの上位３バイトと下位３バイトとの間に「ＦＦＥＥ」（１６進数表記）の２バイトの固定値を挿入して作成される。
【０００４】
また、フィールドの長さに０バイトが含まれているフィールドは、使用されない場合があるフィールドである。シーケンス番号は、ＩＥＥＥ８０２．１５．４のネットワークに参加する各端末がデータフレームを送信する際に、各端末で設定され管理される番号である。
【０００５】
図２は、ＩＥＥＥ８０２．１５．４のフレームのフレームコントロールフィールドの各ビットの構成を示す図である。フレームコントロールフィールドは、２バイト、すなわち、１６ビットで構成される。このうち、０−２ビット目はフレームタイプを示すフィールドである。フレームタイプには、例えば、ビーコン，データ，ＡＣＫ，コマンド等がある。ＡＣＫフレームの場合には、このフレームタイプのフィールドの３ビットが「０１０」になる。３ビット目は、セキュリティの設定の有無を示すセキュリティフィールドである。４ビット目は、ペンディングデータの有無を示す。５ビット目は、ＡＣＫの返信の要求を示すＡＣＫ要求フィールドである。ＡＣＫの返信を要求するデータフレームには、フレームコントロールのＡＣＫ要求フィールドにフラグが立つ。以降、ＡＣＫの返信を要求するデータフレームを、ＡＣＫ要求データフレームと称する。６ビット目は、フレームがＰＡＮ内部での通信であるのか、又は、複数のＰＡＮをまたぐ通信であるのかを示すＰＡＮ内部フィールドである。１０−１１ビット目は、受信アドレスの有無、および、受信アドレスが短縮アドレスであるが６４ビットアドレスであるかを示す受信アドレスモードフィールドである。１４−１５ビット目は、送信アドレスの有無、および、送信アドレスが短縮アドレスであるが６４ビットアドレスであるかを示す送信アドレスモードフィールドである。
【０００６】
図３は、ＩＥＥＥ８０２．１５．４におけるＡＣＫフレームのフォーマットを示す図である。ＩＥＥＥ８０２．１５．４では、ＡＣＫフレームは、２バイトのフレームコントロールと、１バイトのシーケンス番号と、２バイトのＦＣＳと、を含む合計５バイトの固定長のフレームである。ＡＣＫフレームの２バイトのフレームコントロールは、図２で説明されたように、「０１００  ００００  ００００  ００００」となる。
【０００７】
ＡＣＫフレームには、送信元及び送信先のアドレスフィールド等の端末固有の情報を格納するフィールドもなく、また、このようなフィールドを付加することもできない。そのため、ＡＣＫの返信を必要とするデータを送信した端末は、返信されてきたＡＣＫフレームに含まれるシーケンス番号のみの参照により、送信したデータが送信先で正常に受信されたことを判断する。ＩＥＥＥ８０２．１５．４では、端末がＡＣＫの返信を必要とするデータを受信すると、すぐにＡＣＫフレームを返信することが前提となっている。そのため、端末固有の情報がＡＣＫフレームに含まれていなくても、シーケンス番号の参照のみで、ＡＣＫの返信を必要とするデータを送信した端末は、送信したデータが送信先で正常に受信されたことを判断可能である。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−６０８５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、日本において、９５０ＭＨｚ帯においてＩＥＥＥ８０２．１５．４を使用する際には、ＡＲＩＢ  ＳＴＤ−Ｔ９６による制約を受ける。ＡＲＩＢ  ＳＴＤ−Ｔ９６は、９５０ＭＨｚ帯を使用するテレメータ，テレコントロール，データ伝送用の無線設備に関する規格である。ＡＲＩＢ  ＳＴＤ−Ｔ９６では、ＡＣＫにもキャリアセンスが必須とされている。さらに、電波送出後１００ｍｓ以上の休止時間を設けることも規定されている。そのため、端末がＡＣＫの返信が必要なデータを受信してからＡＣＫフレームを返信するまでに、１０ｍｓ〜１００ｍｓ程度の時間を要する可能性がある。
【００１０】
ＡＣＫの返信を要するデータを送信した端末Ａが、送信先の端末ＢからのＡＣＫの返信を待っている間に、他の端末Ｃに対するＡＣＫやデータの送信先の端末Ｂとは異なる端末Ｄから送信されたＡＣＫを受信する場合がある。このとき受信したＡＣＫのシーケンス番号と、端末Ａが返信を待つＡＣＫに含まれるべきシーケンス番号とが同じである場合には、端末Ｂがデータを正常に受信したか否かにかかわらず、端末Ａは端末Ｂが正常にデータを受信したと誤認識してしまうおそれがある。端末Ａが誤認識してしまうと、端末Ｂに正常にデータが送信されず、再送が必要である場合でも、端末Ａによる端末Ｂへのデータの再送が行われなくなってしまう。シーケンス番号が他の端末間の通信と重複することを、以降、シーケンス番号の衝突と称する。
【００１１】
本発明の一態様は、端末固有の識別情報が含まれないＡＣＫフレームが使用されるネットワークにおいて、ＡＣＫフレームの誤受信を防ぐ情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の態様の一つは、情報処理装置である。この情報処理装置は、
ＡＣＫの送信を要求するＡＣＫ要求フレームのシーケンス番号を保持する記憶部と、
前記ＡＣＫ要求フレームを送信する送信部と、
前記ＡＣＫ要求フレームを受信した場合に、ＡＣＫ要求フレームの送信元の端末固有の
識別情報を含まず、前記ＡＣＫ要求フレームに含まれるシーケンス番号を含むＡＣＫフレームを生成する生成部と、
前記ＡＣＫフレームと前記ＡＣＫ要求フレームの送信元の端末固有の識別情報との排他的論理和の値を求めることによって前記ＡＣＫフレームを符号化する符号化部と、
符号化されたＡＣＫフレームを受信する受信部と、
前記符号化されたＡＣＫフレームと自身固有の識別情報との排他的論理和の値を求めることによって、前記符号化されたＡＣＫフレームを復号化し、復号化されたＡＣＫフレームに含まれるシーケンス番号が前記記憶部に保持されていない場合に前記復号化されたＡＣＫフレームを破棄する復号化部と、
を備える。
【００１３】
本発明の他の態様の一つは、上述した情報処理方法である。また、本発明の他の態様は、コンピュータを上記の情報処理装置として機能させる情報処理プログラム、及び当該情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体を含むことができる。コンピュータ等が読み取り可能な記録媒体には、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。コンピュータ等が読取可能な記録媒体には、例えば、ＣＤ（Compact Disc），ＤＶＤ（Digital Versatile Disc）ディスク，ブルーレイディスク，ＵＳＢ（Universal Serial Bus）メモリ等の可搬型記録媒体，フラッシュメモリ等の半導体メモリ，ハードディスク等がある。
【発明の効果】
【００１４】
開示の情報処理装置によれば、端末固有の情報が含まれないＡＣＫフレームが使用されるネットワークにおいて、ＡＣＫフレームの誤受信を防ぐことができる。
【図面の簡単な説明】
【００１５】
【図１】ＩＥＥＥ８０２．１５．４で規定されるフレームフォーマットを示す図である。
【図２】ＩＥＥＥ８０２．１５．４のフレームのフレームコントロールフィールドの各ビットの構成を示す図である。
【図３】ＩＥＥＥ８０２．１５．４におけるＡＣＫフレームのフォーマットを示す図である。
【図４】第１実施形態のネットワーク構成例を示す図である。
【図５】ネットワークにおける端末のハードウェア構成例を示す図である。
【図６】端末の機能ブロックの例を示す図である。
【図７】管理テーブルの一例を示す図である。
【図８】ＡＣＫ受信端末におけるＡＣＫ要求データフレームの送信処理のフローチャートの例である。
【図９】６バイト長のＭＡＣアドレスを管理する場合のＡＣＫフレームの符号化処理について説明するための図である。
【図１０】ＡＣＫ送信端末におけるＡＣＫフレームの送信処理のフローチャートの例である。
【図１１】各端末１において６バイト長でＭＡＣアドレスを管理する場合のＡＣＫフレームの復号化処理について説明するための図である。
【図１２】ＡＣＫ受信端末におけるＡＣＫフレームの受信処理のフローチャートの例である。
【図１３】シーケンス番号１００のＡＣＫ要求データフレームを送信した端末におけるＡＣＫフレームの復号化処理の例を示す図である。
【図１４】シーケンス番号１０３のＡＣＫ要求データフレームを送信した端末におけるＡＣＫフレームの復号化処理の例を示す図である。
【図１５】シーケンス番号１００のＡＣＫ要求データフレームを送信した端末におけるＡＣＫフレームの復号化処理の例を示す図である。
【図１６】シーケンス番号１００のＡＣＫ要求データフレームを送信した端末におけるＡＣＫフレームの復号化処理の例を示す図である。
【図１７】ＦＣＳ値を用いない場合のＡＣＫフレームの符号化処理の例を示す図である。
【図１８】図１７において符号化されたＡＣＫフレームを受信した端末におけるＦＣＳ値を用いない場合の復号化処理の例を示す図である。
【図１９】図１７において符号化されたＡＣＫフレームを受信した端末におけるＦＣＳ値を用いない場合の復号化処理の例を示す図である。
【発明を実施するための形態】
【００１６】
以下、図面に基づいて、本発明の実施の形態を説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
【００１７】
＜第１実施形態＞
図４は、第１実施形態のネットワーク構成例を示す図である。第１実施形態のネットワーク１００は、９５０ＭＨｚ帯のＩＥＥＥ８０２．１５．４によるメッシュ型の無線ネットワークである。図４中の円は、携帯端末，固定端末，無線基地局（ＧＷ）等の情報処理装置を示す。
【００１８】
ＩＥＥＥ８０２．１５．４を用いるネットワーク１００では、図３に示されるように、ＡＣＫフレームの送信先アドレス等の各情報処理装置固有の情報を格納するフィールドが備えられていないＡＣＫフレームが用いられる。そのため、第１実施形態では、情報処理装置は、ＡＣＫフレームを送信する際に、ＡＣＫフレームの送信先となる情報処理装置固有の識別情報とチェックサム値とを用いてＡＣＫフレームを符号化する。これによって、ＡＣＫフレームの送信先となる情報処理装置固有の識別情報をＡＣＫフレームに付加することができる。情報処置装置の固有の識別情報は、例えば、ＭＡＣアドレスである。チェックサム値は、例えば、ＣＲＣ（Cyclic Redundancy Check）値，ＦＣＳ値等である。
【００１９】
この符号化されたＡＣＫフレームを受信した情報処理装置は、自身の固有の識別情報と予め保持していたチェックサム値を用いて、符号化とは逆の順番の処理で復号化する。ＡＣＫフレームの復号化に成功した場合には、受信したＡＣＫフレームが自身に宛てて送信されたことが判明する。また、ＡＣＫフレームの復号化に失敗した場合には、受信したＡＣＫが自身に宛てて送信されたものではないことが判明する。これによって、ＩＥＥＥ８０２．１５．４のネットワークにおける情報処理装置でも、他の情報処理装置宛てのＡＣＫフレームを受信し、受信したＡＣＫフレームのシーケンス番号と自身が受信を待っているＡＣＫフレームのシーケンス番号とが同じ場合でも、自身宛てのＡＣＫでないことが判定できる。
【００２０】
（装置構成）
図５は、ネットワーク１００における端末１のハードウェア構成例を示す図である。端末１は、専用又は汎用のコンピュータである。具体的には、端末１は、例えば、通信機能付きの電力量計や水道メータ，ガスメータ等の計量機（スマートメータ），通信機能付きの家庭電化製品等である。
【００２１】
端末１は、プロセッサ１０１，主記憶装置１０２，入力装置１０３，出力装置１０４，補助記憶装置１０５，アンテナ１０６，ネットワークインタフェース１０７，媒体駆動装置１１０を備え、これらがバス１０９により互いに接続されているコンピュータである。
【００２２】
入力装置１０３は、例えば、入力ボタン，キーボード，マウス等のポインティングデバイス，スキャナ等である。入力装置１０３から入力されたデータは、プロセッサ１０１に出力される。
【００２３】
ネットワークインタフェース１０７は、ネットワークとの情報の入出力を行うインタフェースである。ネットワークインタフェース１０７は、有線のネットワーク、又は、アンテナ１０６を通じて無線のネットワークと接続する。ネットワークインタフェース１０７は、例えば、ＮＩＣ（Network Interface Card），無線ＬＡＮ（Local Area Network）カード等である。ネットワークインタフェース１０７で受信されたデータ等は、プロセッサ１０１に出力される。
【００２４】
主記憶装置１０２は、プロセッサ１０１に、補助記憶装置１０５に格納されているプログラムをロードする記憶領域および作業領域を提供したり、バッファとして用いられたりする。主記憶装置１０２は、例えば、ＲＡＭ（Random Access Memory）のような半導体メモリである。
【００２５】
補助記憶装置１０５は、情報処理プログラム１０５ｐ，各種処理のための様々なプログラム，各プログラムの実行に際してプロセッサ１０１が使用するデータ等を格納する。補助記憶装置１０５は、例えば、ＥＰＲＯＭ（Erasable Programmable ROM）、又はハード
ディスクドライブ（Hard Disc Drive）である。
【００２６】
媒体駆動装置１１０は、リムーバルメディア、すなわち可搬記録媒体１１１を駆動し、可搬記録媒体１１１に記録されたデータを読み出す。リムーバルメディアは、例えば、ＵＳＢフラッシュメモリ，ＣＤ，又はＤＶＤのような記録媒体である。
【００２７】
プロセッサ１０１は、例えば、ＣＰＵ（Central Processing Unit）や、ＤＳＰ（Digital Signal Processor）である。プロセッサ１０１は、補助記憶装置１０５に保持された
ＯＳや様々なアプリケーションプログラムを主記憶装置１０２にロードして実行することによって、様々な処理を実行する。なお、端末１に備えられるプロセッサは１つに限られず、端末１は、複数のプロセッサを備え、複数のプロセッサ間で処理を分散して行ってもよい。
【００２８】
出力装置１０４は、プロセッサ１０１の処理の結果を出力する。出力装置１０４は、ディスプレイ，プリンタ等を含む。
【００２９】
端末１は、携帯可能な端末であっても、固定された端末であってもよい。また、ネットワーク１００には、端末の他に、基地局も含まれる。基地局のハードウェア構成は、図５に示されるハードウェア構成から、入力装置１０３，出力装置１０４等が排除された構成となる。以降、端末間での通信を例に説明するが、端末と基地局間の通信でも同様である。
【００３０】
図６は、端末１の機能ブロックの例を示す図である。端末１では、プロセッサ１０１が、情報処理プログラム１０５ｐを実行することによって、フレーム受信処理部１１，ＡＣＫ生成部１２，ＡＣＫ復号化部１３，ＡＣＫ符号化部１５，データ生成部１６，経路制御部１７，フレーム送信処理部１８，再送処理部１９として処理を実行する。また、主記憶装置１０２の記憶領域には、プロセッサ１０１による情報処理プログラム１０５ｐの実行を通じて、管理テーブル２１が生成される。なお、端末１に複数のプロセッサが備えられている場合には、各プロセッサが、情報処理装置１０５ｐを実行することによって、フレーム受信処理部１１，ＡＣＫ生成部１２，ＡＣＫ復号化部１３，ＡＣＫ符号化部１５，データ生成部１６，経路制御部１７，フレーム送信処理部１８，再送処理部１９のうちの少
なくとも１つとして処理を実行する。
【００３１】
フレーム受信処理部１１は、ネットワークインタフェース１０７を通じて受信されたフレームのヘッダをチェックし、適切な処理部に振り分ける。また、例えば、フレーム受信処理部１１は、受信フレームのＡＣＫ要求フィールドにフラグが立っている場合には（図２参照）、受信フレームがＡＣＫ要求データフレームであることを判定し、ＡＣＫ生成部１２に出力する。例えば、第１実施形態では、フレーム受信処理部１１は、受信フレームのフレーム長が５バイト長である場合には、受信フレームがＡＣＫフレームであると判定し、ＡＣＫ復号化部１３に出力する。
【００３２】
データ生成部１６は、端末１に備えられるアプリケーションからの要求に応じて送信するデータ（フレームのペイロード部分）を生成する。経路制御部１７は、データ生成部１６によって生成されたデータのルーティングを行う。フレーム送信処理部１８は、経路制御部１７によってルーティングされたデータにフレームヘッダを付加してカプセル化して、ネットワークインタフェース１０７を通じて送信する。また、データ生成部１６によって生成されたデータがＡＣＫを必要とするデータである場合には、フレーム送信処理部１８は、フレームヘッダのＡＣＫ要求フィールド（図２参照）にフラグを立てて、フレームをＡＣＫ要求データフレームとして再送処理部１９に出力する。このとき、フレーム送信処理部１８は、送信するＡＣＫ要求データフレームに含まれるシーケンス番号と、このシーケンス番号でＡＣＫフレームを生成した場合のＦＣＳ値とを管理テーブル２１（後述）に保持する。
【００３３】
ＡＣＫ生成部１２は、フレーム受信処理部１１からＡＣＫ要求データフレームを受信すると、このＡＣＫ要求データフレームの返信となるＡＣＫフレームを生成する。ＡＣＫ生成部１２は、ＡＣＫ要求データフレームからシーケンス番号を読み出し、このシーケンス番号を含めてＡＣＫフレームを生成する(図３参照）。ＡＣＫ生成部１２は、生成したＡ
ＣＫフレームをＡＣＫ符号化部１５に出力する。
【００３４】
ＡＣＫ符号化部１５は、ＡＣＫ生成部１２から受信したＡＣＫフレームを符号化する。このＡＣＫの符号化処理の詳細については、後述される。ＡＣＫ符号化部１５は、ネットワークインタフェース１０７（アンテナ１０６）を通じて符号化されたＡＣＫフレームを出力する。
【００３５】
ＡＣＫ復号化部１３は、フレーム受信処理部１１から符号化されたＡＣＫフレームを受信し、ＡＣＫフレームを復号化する。ＡＣＫフレーム復号化処理の詳細については、後述される。ＡＣＫ復号化部１３は、復号化したＡＣＫフレームを再送処理部１９に出力する。
【００３６】
再送処理部１９は、フレームの再送に係る処理を行う。再送処理部１９は、フレーム送信処理部１８からＡＣＫ要求データフレームを受信すると、端末１の主記憶装置１０２の記憶領域内のバッファにＡＣＫ要求データフレームを保持する。再送処理部１９は、このＡＣＫ要求データフレームをネットワークインタフェース１０７を通じて送信するとともに、再送タイマを開始する。再送タイマは、ＡＣＫ要求データフレームに対応するＡＣＫフレームの所定の受信待ち時間を規定したタイマである。再送タイマが満了すると、再送処理部１９は、バッファに保持したＡＣＫ要求データフレームを再送する。所定回数ＡＣＫ要求データフレームを再送してもＡＣＫフレームを受信しない場合には、再送処理部１９は、バッファに保持されたＡＣＫ要求データフレームを削除し、アプリケーションに再送失敗を送信する。ＡＣＫ復号化部１３から復号化されたＡＣＫフレームを受信すると、再送タイマを停止し、受信したＡＣＫフレームに対応するバッファに保持されたＡＣＫ要求データフレームを削除し、再送処理を終了する。
【００３７】
管理テーブル２１は、送信したＡＣＫ要求データフレームに対応して受信するべきＡＣＫフレームのシーケンス番号とＦＣＳ値とを保持するテーブルである。詳細は、後述される。
【００３８】
（動作例）
以下、ＡＣＫフレームを送信する端末をＡＣＫ送信端末，ＡＣＫフレームを受信する端末をＡＣＫ受信端末と称する。なお、ＡＣＫ送信端末及びＡＣＫ受信端末の装置構成は、図５、図６において示される端末１の装置構成と同様である。すなわち、図５及び図６に示される端末１は、ＡＣＫ受信端末としても、ＡＣＫ送信端末としても動作する。
【００３９】
ＡＣＫの送受信に係る処理は、次の３つに分けられる。
（１）ＡＣＫ受信端末におけるＡＣＫ要求データフレームの送信処理
（２）ＡＣＫ送信端末におけるＡＣＫフレームの送信処理
（３）ＡＣＫ受信端末におけるＡＣＫフレームの受信処理
以下、これら３つの処理について、具体的に説明する。
【００４０】
（１）ＡＣＫ受信端末におけるＡＣＫ要求データフレームの送信処理
上述の説明のように、ＡＣＫ受信端末は、ＡＣＫ要求データフレームを送信する際に、フレームコントロールのＡＣＫ要求フィールドにフラグを立てて送信する。８バイトのＩＥＥＥ拡張アドレス又は６バイトのアドレスが用いられる場合には、ＡＣＫ受信端末は、ＡＣＫ要求データフレームに含まれるシーケンス番号でＡＣＫフレームを生成した場合に生成されるＦＣＳ値を算出し、このシーケンス番号とＦＣＳ値とを対応付けて管理テーブル２１に格納する。
【００４１】
図７は、管理テーブル２１の一例を示す図である。管理テーブル２１は、ＡＣＫ要求データフレームに含まれるシーケンス番号と、返信として受信すべきＡＣＫフレームのＦＣＳ値とが対応付けられて保持される。ＡＣＫフレームのフレームコントロールフィールドの値は、０１００  ００００  ００００  ００００の固定値である。また、図３に示されるように、ＡＣＫフレームは、フレームコントロール、シーケンス番号、ＦＣＳのフィールドしか持たない。そのため、シーケンス番号が決まれば、ＡＣＫ受信端末は、ＡＣＫ要求データフレームの返信として受信すべきＡＣＫフレームのＦＣＳ値を求めることができる。なお、ＩＥＥＥ８０２．１５．４においてＦＣＥ値は、ＣＲＣ１６−ＣＣＩＴＴに基づき生成されることが規定されている。
【００４２】
２バイトの短縮アドレスが用いられる場合には、管理テーブル２１に、ＡＣＫ要求データフレームに含まれるシーケンス番号と、返信として受信すべきＡＣＫフレームのＦＣＳ値とは保持されない。ただし、これに限られず、２バイトの短縮アドレスが用いられる場合でも、管理テーブル２１に、ＡＣＫ要求データフレームに含まれるシーケンス番号と、返信として受信すべきＡＣＫフレームのＦＣＳ値とが保持されてもよい。
【００４３】
図８は、ＡＣＫ受信端末におけるＡＣＫ要求データフレームの送信処理のフローチャートの例である。図８に示されるフローチャートは、アプリケーションからＡＣＫの返信を必要とするデータの送信が指示されると開始される。また、図８に示されるフローチャートは、ＡＣＫ受信端末のプロセッサ１０１が情報処理プログラム１０５ｐを実行することで行われる処理の一部である。
【００４４】
ＯＰ１では、プロセッサ１０１は、シーケンス番号を取得する。このとき取得されるシーケンス番号は、データの送信を指示するアプリケーションにおいて初回のデータ送信である場合には、「０〜２５５」でランダムな値が設定される。シーケンス番号は、初回の
データ送信以降は、データ送信の度に１つずつ加算（インクリメント）された値となる。次に、処理がＯＰ２に進む。
【００４５】
ＯＰ２では、プロセッサ１０１は、使用するＭＡＣアドレスが２バイトであるか否かを判定する。この判定は、例えば、データの送信を指示するアプリケーションの設定又はネットワーク１００のシステム構成の設定により判定される。使用するＭＡＣアドレスが２バイトの短縮アドレスである場合には（ＯＰ２：Ｙｅｓ）、処理がＯＰ５に進む。使用するＭＡＣアドレスが２バイトの短縮アドレスでない、すなわち、８バイトの拡張アドレスである場合には（ＯＰ２：Ｎｏ）、処理がＯＰ３に進む。
【００４６】
ＯＰ３では、プロセッサ１０１は、ＯＰ２において取得したシーケンス番号でＡＣＫフレームを作成した場合のＦＣＳ値を求める。具体的には、プロセッサ１０１は、ＡＣＫフレームのフレームコントロール（０１００  ００００  ００００  ００００）と、ＯＰ２において取得したシーケンス番号とで、ＩＥＥＥ８０２．１５．４のＣＲＣ１６−ＣＣＩＴＴに基づきＦＣＳ値を求める。次に処理がＯＰ４に進む。
【００４７】
ＯＰ４では、プロセッサ１０１は、ＯＰ２おいて取得したシーケンス番号と、ＯＰ３で求めたＦＣＳ値とを対応付けて、管理テーブル２１に登録する。次に処理がＯＰ５に進む。
【００４８】
ＯＰ５では、プロセッサ１０１は、ＯＰ２において取得したシーケンス番号を用い、フレームコントロールフィールドのＡＣＫ要求フィールドにフラグを立てて、ＡＣＫ要求データフレームを生成する。次に処理がＯＰ６に進む。
【００４９】
ＯＰ６では、プロセッサ１０１は、ＯＰ５において生成したＡＣＫ要求データフレームを、ネットワークインタフェース１０７（アンテナ１０６）を通じて送信する。ＡＣＫ要求データフレームを送信すると、図８に示されるフローチャートが終了する。ＯＰ１−ＯＰ６の処理は、フレーム送信処理部１８に相当する。
【００５０】
なお、ＡＣＫ要求データフレームを送信すると、ＡＣＫ受信端末は、再送制御を開始する。具体的には、再送制御では、ＡＣＫ受信端末のプロセッサ１０１は、再送タイマを開始し、再送タイマ満了前にＡＣＫフレームを受信しない場合には、ＡＣＫ要求データフレームを再送する。再送時には、ＡＣＫ受信端末のプロセッサ１０１は、図８のフローチャートを実行するのではなく、バッファに保持されたＡＣＫ要求データフレームを送信する。所定回数ＡＣＫ要求データフレームを再送してもＡＣＫフレームを受信しない場合には、ＡＣＫ受信端末のプロセッサ１０１は、データ送信の失敗を判定する。
【００５１】
（２）ＡＣＫ送信端末におけるＡＣＫフレームの送信処理
ＡＣＫフレームの送信処理は、ＡＣＫ送信端末がＡＣＫ要求データフレームを受信してから、このＡＣＫ要求データフレームに対するＡＣＫフレームを送信するまでの処理である。ＡＣＫ送信端末は、ＡＣＫ要求データフレームを受信すると、このＡＣＫ要求データフレームに対するＡＣＫフレームを生成する。さらに、ＡＣＫ送信端末は、生成したＡＣＫフレームを符号化して送信する。
【００５２】
上述のように、ＩＥＥＥ８０２．１５．４では、２バイトの短縮アドレスと、８バイトの拡張アドレスとが用いられる。また、８バイトの拡張アドレスは、６バイトのＭＡＣアドレスの上位３バイトと下位３バイトとの間に「ＦＦＦＥ」（１６進数表記）の２バイトの固定値を挿入することによって作成される。したがって、第１実施形態では、端末１は、ＭＡＣアドレスを６バイトのまま管理することも可能である。ただし、６バイトのままでＭＡＣアドレスを管理する場合には、システム間で予め６バイトのままでＭＡＣアドレ
スを管理するという設定を行う。
【００５３】
ＡＣＫフレームの符号化処理は、ネットワーク１００内の端末１において管理されるＭＡＣアドレス長（２バイト、６バイト、８バイト）によって異なる。ネットワーク１００内の端末１において、６バイトのＭＡＣアドレスを管理する場合を中心に、以下説明を行う。
【００５４】
図９は、６バイト長のＭＡＣアドレスを管理する場合のＡＣＫフレームの符号化処理について説明するための図である。図９では、ＭＡＣアドレス００：１１：２２：３３：４４：５５（１６進数表記）のＡＣＫ受信端末からシーケンス番号１００のＡＣＫ要求データフレームを受信したＡＣＫ送信端末におけるＡＣＫフレームの符号化処理の例を示す。
【００５５】
ＡＣＫ送信端末のＡＣＫ符号化部１５は、まず、ＡＣＫ生成部１２によって生成されたＡＣＫフレームの上位３バイト（フレームコントロールとシーケンス番号）とＡＣＫ要求データフレームの送信元ＭＡＣアドレスの上位３バイトとで排他的論理和の演算を行う。これによって、ＡＣＫ符号化部１５は、排他的論理和の演算値０１００  ００００  ０００１  ０００１  ０１００  ０１１０を得る。この処理を符号化処理１とする。また、ＡＣＫ生成部１２によって生成されたＡＣＫフレームを、正規ＡＣＫフレームと称する。また、正規ＡＣＫフレームに含まれるＦＣＳ値を正規ＦＣＳ値と称する。
【００５６】
次に、ＡＣＫ符号化部１５は、符号化処理１で求めた排他的論理和の演算値（３バイト）に対してＣＲＣ１６−ＣＣＩＴＴに基づいてＦＣＳ値１０１１  ０１００  ０００１  １０１１を求め、ＡＣＫフレームを生成する。このＡＣＫフレーム(５バイト)は、上位３バイトに符号化処理１で求めた演算値と、下位２バイトに符号化処理１で求めた演算値に対するＦＣＳ値とを含む。このＡＣＫフレームを符号化ＡＣＫフレーム１と称する。
【００５７】
次に、ＡＣＫ符号化部１５は、符号化ＡＣＫフレーム１(５バイト)と、ＡＣＫ要求データフレームの送信元ＭＡＣアドレスの下位３バイトと、バッファされた正規ＦＣＳ値（２バイト）とで、上位ビットから排他的論理和の演算を行う。この２つ目の処理を符号化処理２とする。また、符号化処理２で求めた排他的論理和の演算値（５バイト）を、符号化ＡＣＫフレーム２と称する。ＡＣＫ符号化部１５は、符号化ＡＣＫフレーム２をＡＣＫフレームとして送信する。
【００５８】
上述のように、第１実施形態では、ＭＡＣアドレスが６バイトの場合には、ＡＣＫフレーム長（５バイト）よりも大きいため、ＭＡＣアドレスを上位３バイトと下位３バイトに分割し、２回に分けてＡＣＫフレームの符号化を行う。このとき、ＡＣＫ受信端末のＭＡＣアドレスを用いることによって、ＡＣＫフレームにＡＣＫ受信端末固有の識別情報を付加することができる。
【００５９】
各端末において８バイトの拡張アドレスでＭＡＣアドレスが管理される場合には、符号化処理２において、ＡＣＫ符号化部１５は、送信元ＭＡＣアドレスの下位５バイトと、符号化ＡＣＫフレーム１と、正規ＦＣＳ値と、で上位ビットから排他的論理和の演算を行う。この排他的論理和の演算値（５バイト）が符号化ＡＣＫフレーム２として求められる。符号化処理１については、ＭＡＣアドレスが６バイトで管理される場合と同様である。
【００６０】
２バイトの短縮アドレスが用いられる場合には、ＡＣＫフレーム長よりもＭＡＣアドレス長が短いため、正規ＡＣＫフレームとＭＡＣアドレスとの上位ビットからの排他的論理和の演算値が求められて、ＡＣＫフレームが符号化される。この符号化処理では、シーケンス番号は符号化されず、正規ＡＣＫフレームのシーケンス番号が維持されるため、ＭＡＣアドレスが２バイトの短縮アドレスである場合には、これ以上の処理は行われない。
【００６１】
図１０は、ＡＣＫ送信端末におけるＡＣＫフレームの送信処理のフローチャートの例である。図１０に示されるフローチャートは、ＡＣＫ送信端末がＡＣＫ要求データフレームを受信すると開始される。ＡＣＫ要求データフレームの受信は、フレームコントロールフィールドのＡＣＫ要求フィールドにフラグが立っていることで判定可能である。また、図１０に示されるフローチャートは、ＡＣＫ送信端末のプロセッサ１０１が情報処理プログラム１０５ｐを実行することで行われる処理の一部である。
【００６２】
ＯＰ１１では、プロセッサ１０１は、受信したＡＣＫ要求データフレームに対応するＡＣＫフレームを生成する。具体的には、プロセッサ１０１は、受信したＡＣＫ要求データフレームに含まれるシーケンス番号を読み出し、このシーケンス番号を含むＡＣＫフレーム（図３参照）を生成する。このＡＣＫフレームが正規ＡＣＫフレームである。プロセッサ１０１は、正規ＡＣＫフレームをバッファに保持する。次に処理がＯＰ１２に進む。
【００６３】
ＯＰ１２では、プロセッサ１０１は、受信したＡＣＫ要求データフレームの送信元アドレスが２バイトの短縮アドレスであるか否かを判定する。受信したＡＣＫ要求データフレームの送信元アドレスが２バイトの短縮アドレスである場合には（ＯＰ１２：Ｙｅｓ）、処理がＯＰ１３に進む。受信したＡＣＫ要求データフレームの送信元アドレスが２バイトの短縮アドレスでない、すなわち、８バイトの拡張アドレスである場合には（ＯＰ１２：Ｎｏ）、処理がＯＰ１４に進む。
【００６４】
ＯＰ１３では、プロセッサ１０１は、バッファに保持される正規ＡＣＫフレームと、ＡＣＫ要求データフレームの送信元ＭＡＣアドレス（２バイト）とを読み出し、これらの排他的論理和を求める。次に処理がＯＰ１９に進む。
【００６５】
ＯＰ１４では、プロセッサ１０１は、バッファに保持される正規ＡＣＫフレームの上位３バイトと、受信したＡＣＫ要求データフレームの送信元ＭＡＣアドレスの上位３バイトとを読み出し、これらの排他的論理和の演算値（３バイト）を求める（符号化処理１）。次に、処理がＯＰ１５に進む。
【００６６】
ＯＰ１５では、プロセッサ１０１は、ＯＰ１４において求めた演算値に対するＦＣＳ値を求め、これらを含むＡＣＫフレームを生成する。このＡＣＫフレームが符号化ＡＣＫフレーム１である。プロセッサ１０１は、生成した符号化ＡＣＫフレーム１をバッファに保持する。次に処理がＯＰ１６に進む。
【００６７】
ＯＰ１６では、プロセッサ１０１は、ネットワーク１００内の各端末において、管理するＭＡＣアドレスとして、８バイトの拡張アドレスを使用しているか否かを判定する。この判定は、ＡＣＫ送信端末の設定によって判定される。管理するＭＡＣアドレスとして、８バイトの拡張アドレスを使用している場合には（ＯＰ１６：Ｙｅｓ）、処理がＯＰ１８に進む。管理するＭＡＣアドレスとして、８バイトの拡張アドレスを使用していない、すなわち、６バイトのＭＡＣアドレスを使用している場合には（ＯＰ１６：Ｎｏ）、処理がＯＰ１７に進む。
【００６８】
ＯＰ１７では、プロセッサ１０１は、符号化ＡＣＫフレーム１，受信したＡＣＫ要求データフレームの送信元ＭＡＣアドレス（６バイト）の下位３バイト，正規ＦＣＳ値を読み出し、これらの上位ビットからの排他的論理和の演算値を求める。この演算値が、符号化ＡＣＫフレーム２である。次に処理がＯＰ１９に進む。
【００６９】
ＯＰ１８では、プロセッサ１０１は、符号化ＡＣＫフレーム１，受信したＡＣＫ要求データフレームの送信元ＭＡＣアドレス（８バイト）の下位５バイト，正規ＦＣＳ値を読み
出し、これらの上位ビットからの排他的論理和の演算値を求める。この演算値が符号？ｋＡＣＫフレーム２である。次に処理がＯＰ１９に進む。
【００７０】
ＯＰ１９では、プロセッサ１０１は、ＯＰ１３，ＯＰ１７，又はＯＰ１８のいずれかにおいて求めた排他的論理和の演算値をＡＣＫフレームとして送信する。その後、図１０に示されるフローチャートが終了する。なお、図１０に示されるフローチャートが終了すると、バッファに保持された情報（正規ＦＣＳ値，符号化ＡＣＫフレーム１等）は削除される。
【００７１】
ＡＣＫ要求データフレームの受信に係る処理は、フレーム受信処理部１１に相当する。ＯＰ１１に係る処理は、ＡＣＫ生成部１２に相当する。ＯＰ１２−ＯＰ１９に係る処理は、ＡＣＫ符号化部１５に相当する。
【００７２】
（３）ＡＣＫ受信端末におけるＡＣＫフレームの受信処理
ＡＣＫ受信端末は、プリアンブルから、５バイト長のフレームの受信を検出する。この５バイト長のフレームが符号化されたＡＣＫフレームである。ＡＣＫ受信端末は、符号化されたＡＣＫフレームを復号化し、自身が送信したＡＣＫ要求データフレームに対するＡＣＫであるか否かを判定する。
【００７３】
ＡＣＫフレームの復号化処理も、ネットワーク１００内の端末１において管理されるＭＡＣアドレス長（２バイト、６バイト、８バイト）によって異なる。ネットワーク１００内の端末１において、６バイトのＭＡＣアドレスを管理する場合を中心に、以下説明を行う。
【００７４】
図１１は、各端末１において６バイト長でＭＡＣアドレスを管理する場合のＡＣＫフレームの復号化処理について説明するための図である。図１１は、図９に対応している。すなわち、図１１の例のＡＣＫ受信端末は、図９の例におけるＡＣＫ要求データフレームの送信元端末であり、図１１は、図９において生成された符号化ＡＣＫフレーム２を受信した場合のＡＣＫフレームの復号化処理の例を示す。
【００７５】
したがって、図１１におけるＡＣＫ受信端末のＭＡＣアドレス（００：１１：２２：３３：４４：５５、１６進数表記）は、図９におけるＡＣＫ要求データフレームの送信元端末のＭＡＣアドレスと一致する。また、図１１におけるＡＣＫ要求端末の管理テーブル２１に登録されるシーケンス番号（１００）とＦＣＳ値（０１１０  １１００  １１００  １０１０）とは、図９におけるＡＣＫ要求データフレーム及び正規ＡＣＫフレームのシーケンス番号と正規ＦＣＳ値とに一致する。
【００７６】
ＡＣＫ受信端末のＡＣＫ復号化部１３は、受信フレーム（５バイト）と、自身のＭＡＣアドレスの下位３バイトと、管理テーブル２１に保持するＦＣＳ値（２バイト）とで、上位ビットから排他的論理和の演算を行う。この処理を復号化処理１と称する。ＡＣＫ復号化部１３は、復号化処理１によって求めた排他的論理和の演算値の上位３バイトに対するＦＣＳ値（２バイト）を求める。ＡＣＫ復号化部１３は、復号化処理１において求めた排他的論理和の演算値の上位３バイトに対するＦＣＳ値が受信フレームの下位２バイト（ＦＣＳフィールドに相当）の値と一致するか否かを判定する。
【００７７】
図１１に示される例では、ＡＣＫ受信端末は、受信したフレーム（図９における符号化ＡＣＫフレーム２）の正当な受信者である。図９の符号化処理２において受信したフレーム（符号化ＡＣＫフレーム２）の生成に用いられた正規ＦＣＳ値と、図１１の復号化処理１において用いられたＡＣＫ受信端末の管理テーブル２１に保持されるＦＣＳ値とは、一致する。また、図９の符号化処理２において符号化ＡＣＫフレーム２の生成に用いられた
ＡＣＫ要求データフレームの送信元ＭＡＣアドレスの下位３バイトと、図１１の復号化処理１において用いられたＡＣＫ受信端末のＭＡＣアドレスの下位３バイトとは、一致する。したがって、図１１の復号化処理１によって、図９の符号化処理２が打ち消されることになる。そのため、受信したフレームは、図９の符号化処理２が実行される前の状態、すなわち、符号化ＡＣＫフレーム１と同じ状態になる。また、図９の符号化ＡＣＫフレーム１と符号化ＡＣＫフレーム２の下位２バイト（ＦＣＳ値）は同じである。そのため、図１１において、復号化処理１において求められた演算値の上位３バイトに対するＦＣＳ値は、受信フレーム（符号化ＡＣＫフレーム２）の下位２バイト（ＦＣＳフィールドに相当）の値に一致する。一致しない場合には、ＡＣＫ復号化部１３は、受信フレームは自身が送信したＡＣＫ要求データフレームの返信としてのＡＣＫフレームではないことを判定し、受信フレームを破棄する。
【００７８】
次に、ＡＣＫ復号化部１３は、復号化処理１において求めた演算値の上位３バイトと、ＡＣＫ受信端末のＭＡＣアドレスの上位３バイトとで排他的論理和の演算を行う。この処理を、復号化処理２とする。ＡＣＫ復号化部１３は、復号化処理２において求められた排他的論理和の演算値に対するＦＣＳ値を求める。ＡＣＫ復号化部１３は、復号化処理２において求められた排他的論理和の演算値とこれに対するＦＣＳ値とを組み合わせることによって、ＡＣＫフレームを復号化する。ＡＣＫ復号化部１３は、復号化されたＡＣＫフレームのシーケンス番号とＦＣＳ値とが、管理テーブル２１に登録されているか否か、及び、復号化されたＡＣＫフレームのフレームコントロールがＡＣＫを示すビット列であるか否かを判定する。
【００７９】
上述の通り、図１１の復号化処理１において求められた演算値の上位３バイトと、図９の符号化処理１において求められた演算値とは一致する。また、図９の符号化処理１において用いられたＡＣＫ要求データフレームの送信元ＭＡＣアドレスの上位３バイトと、図１１の復号化処理において用いられるＡＣＫ受信端末のＭＡＣアドレスの上位３バイトとは一致する。したがって、図１１の復号化処理２によって、図９の符号化処理１が打ち消され、受信フレームは、図９における正規ＡＣＫフレームと同じ状態になる。管理テーブル２１には、ＡＣＫ受信端末が送信したＡＣＫ要求データフレームのシーケンス番号と、このシーケンス番号でＡＣＫフレームが生成された場合のＦＣＳ値、すなわち、正規ＡＣＫフレームのシーケンス値とＦＣＳ値とが登録されている。そのため、図１１において、復号化処理１及び復号化処理２によって復号化されたＡＣＫフレームのシーケンス番号とＦＣＳ値とは、管理テーブル２１に登録されていることになる。復号化されたＡＣＫフレームのシーケンス番号とＦＣＳ値とが、管理テーブル２１に登録されていない場合には、ＡＣＫ復号化部１３は、受信フレームを破棄する。また、図１１において、復号化されたＡＣＫフレームのフレームコントロールは、０１００  ００００  ００００  ００００であって、ＡＣＫを示すビット列である。このため、図１１の例では、受信フレームのＡＣＫフレームへの復号化は成功し、復号化されたＡＣＫフレームは、処理される。復号化されたＡＣＫフレームのフレームコントロールが、０１００  ００００  ００００  ００００でない場合には、ＡＣＫ復号化部１３は、受信フレームは自身が送信したＡＣＫ要求データフレームの返信としてのＡＣＫフレームではないと判定する。すなわち、ＡＣＫ復号化部１３は、受信フレームのＡＣＫフレームへの復号化は失敗したと判定し、復号化されたフレーム及び受信フレームを破棄する。
【００８０】
上述のようにして、ＡＣＫ受信端末は、ＡＣＫ符号化処理とは逆の処理を行うことによって符号化されたＡＣＫフレームを復号化する。また、管理テーブル２１には、送信したＡＣＫ要求データフレームのシーケンス番号と、このシーケンス番号を用いてＡＣＫを生成した場合のＦＣＳ値とが登録されている。したがって、復号化されたＡＣＫフレームに含まれるシーケンス番号とＦＣＳ値とが管理テーブル２１に登録されていない場合には、ＡＣＫ復号化部１３は、受信フレームが送信したＡＣＫ要求データフレームに対応するＡ
ＣＫフレームではないことを判定する。これによって、ＡＣＫ受信端末は、ＡＣＫフレームの誤受信を防ぐことができる。
【００８１】
各端末において８バイトの拡張アドレスでＭＡＣアドレスが管理される場合には、復号化処理１において、ＡＣＫ復号化部１３は、受信したフレームと、自身のＭＡＣアドレスの下位５バイトと、管理テーブル２１に保持されるＦＣＳ値と、で上位ビットから排他的論理和の演算を行う。復号化処理１以降の処理については、上述のＭＡＣアドレスが６バイトで管理される場合と同様である。
【００８２】
２バイトの短縮アドレスが用いられる場合には、受信した符号化されたＡＣＫフレームは、正規ＡＣＫフレームとＡＣＫ要求データフレームの送信元端末のＭＡＣアドレス（２バイト）との排他的論理和の演算値である。そのため、ＡＣＫ復号化部１３は、受信したフレームとＡＣＫ受信端末のＭＡＣアドレス（２バイト）とで上位ビットから排他的論理和の演算を行うことで、ＡＣＫフレームの復号化を行う。ＡＣＫ復号化部１３は、復号化されたＡＣＫフレームのフレームコントロールフィールドがＡＣＫを示すビット列になっているか否かを判定する。復号化されたＡＣＫフレームのフレームコントロールフィールドがＡＣＫを示すビット列になっている場合には、ＡＣＫ復号化部１３は、ＡＣＫフレームの復号化の成功を判定する。復号化されたＡＣＫフレームのフレームコントロールフィールドがＡＣＫを示すビット列になっていない場合には、ＡＣＫ復号化部１３は、ＡＣＫフレームの復号化の失敗を判定し、受信フレーム及び復号化されたＡＣＫフレームを破棄する。また、ＡＣＫ要求データフレームの送信処理の際に、管理テーブル２１にシーケンス番号とＦＣＳ値とを保持している場合には、ＡＣＫ復号化部１３は、復号化されたＡＣＫフレームのシーケンス番号とＦＣＳ値とが管理テーブル２１に保持されているか否かについても判定する。
【００８３】
図１２は、ＡＣＫ受信端末におけるＡＣＫフレームの受信処理のフローチャートの例である。図１２に示されるフローチャートは、ＡＣＫ受信端末が５バイト長のフレームを受信すると開始される。５バイト長のフレームの受信は、プリアンブルに含まれるフレーム長フィールドによって判定可能である。この５バイト長のフレームは、符号化されたＡＣＫフレームである。また、図１２に示されるフローチャートは、ＡＣＫ受信端末のプロセッサ１０１が情報処理プログラム１０５ｐを実行することで行われる処理の一部である。
【００８４】
ＯＰ３１では、プロセッサ１０１は、使用するＭＡＣアドレス（または管理するアドレス）が２バイト，６バイト，８バイトのいずれであるかを判定する。２バイトの短縮アドレスを使用する場合には、処理がＯＰ３４に進む。６バイトのアドレスで管理している場合には、処理がＯＰ３２に進む。８バイトの拡張アドレスで管理している場合には、処理がＯＰ３３に進む。
【００８５】
ＯＰ３２では、プロセッサ１０１は、自身のＭＡＣアドレス（６バイト）の下位３バイトと、管理テーブル２１に保持されるＦＣＳ値とを読みだす。次に処理がＯＰ３５に進む。
【００８６】
ＯＰ３３では、プロセッサ１０１は、自身のＭＡＣアドレス（８バイト）の下位５バイトと、管理テーブル２１に保持されるＦＣＳ値とを読みだす。次に処理がＯＰ３５に進む。
【００８７】
ＯＰ３４では、プロセッサ１０１は、自身のＭＡＣアドレス（２バイト）を読みだす。次に処理がＯＰ３５に進む。
【００８８】
ＯＰ３５では、プロセッサ１０１は、ＯＰ３２，ＯＰ３３，ＯＰ３４のいずれかにおい
て読みだした値と受信フレームとで上位ビットから排他的論理和の演算を行う。使用するＭＡＣアドレスが２バイトである場合には、プロセッサ１０１は、自身のＭＡＣアドレスと受信フレームとで上位ビットから排他的論理和の演算を行う。６バイトのＭＡＣアドレスで管理する場合には、プロセッサ１０１は、自身のＭＡＣアドレスの下位３バイトと、管理テーブル２１に保持されるＦＣＳ値と、受信フレームとで上位ビットから排他的論理和の演算を行う。８バイトのＭＡＣアドレスで管理する場合には、自身のＭＡＣアドレスの下位５バイトと、管理テーブル２１に保持されるＦＣＳ値と、受信フレームとで上位ビットから排他的論理和の演算を行う。次に処理がＯＰ３６に進む。
【００８９】
ＯＰ３６では、プロセッサ１０１は、２バイトの短縮アドレスを使用しているか否かを判定する。２バイトの短縮アドレスを使用している場合には（ＯＰ３６：Ｙｅｓ）、処理がＯＰ３９に進む。２バイトの短縮アドレスを使用していない、すなわち、６バイトのＭＡＣアドレスまたは８バイトのＭＡＣアドレスで管理している場合には（ＯＰ３６：Ｎｏ）、処理がＯＰ３７に進む。
【００９０】
ＯＰ３７では、プロセッサ１０１は、ＯＰ３５において取得した排他的論理和の演算値の上位３バイトに対するＦＣＳ値を求め、このＦＣＳ値と受信フレームの下位２バイトとが一致するか否かを判定する。ＯＰ３５において取得した排他的論理和の演算値の上位３バイトに対するＦＣＳ値と、受信フレームの下位２バイトと、が一致しない場合には、ＦＣＳエラーと判定される。ＦＣＳエラーの場合には（ＯＰ３７：Ｙｅｓ）、処理がＯＰ４１に進む。ＦＣＳエラーでない場合には（ＯＰ３７：Ｎｏ）、処理がＯＰ３８に進む。
【００９１】
ＯＰ３８では、プロセッサ１０１は、ＯＰ３５において求めた演算値の上位３バイトと自身のＭＡＣアドレスの上位３バイトとで排他的論理和の演算を行う。次に処理がＯＰ３９に進む。
【００９２】
ＯＰ３９では、ＭＡＣアドレスが６バイト長又は８バイト長である場合には、プロセッサ１０１は、ＯＰ３８で求めた演算値に対するＦＣＳ値を求め、復号化されたＡＣＫフレームを生成する。復号化されたＡＣＫフレームのシーケンス番号とＦＣＳ値とが対応付けられて管理テーブル２１に登録されているか否かを判定する。また、プロセッサ１０１は、復号化されたＡＣＫのフレームコントロールが、ＡＣＫを示すビット列（０１００  ００００  ００００  ００００）であるか否かを判定する。復号化されたＡＣＫフレームのシーケンス番号とＦＣＳ値とが対応付けられて管理テーブル２１に登録されており、且つ、復号化されたＡＣＫのフレームコントロールが、ＡＣＫを示すビット列である場合には（ＯＰ３９：Ｙｅｓ）、処理がＯＰ４０に進む。復号化されたＡＣＫフレームのシーケンス番号とＦＣＳ値とが対応付けられて管理テーブル２１に登録されていない、または、復号化されたＡＣＫのフレームコントロールがＡＣＫを示すビット列でない場合には（ＯＰ３９：Ｎｏ）、処理がＯＰ４１に進む。ＯＰ３９では、ＭＡＣアドレスが２バイトの短縮アドレスである場合には、プロセッサ１０１は、復号化されたＡＣＫのフレームコントロールが、ＡＣＫを示すビット列であるか否かを判定する。復号化されたＡＣＫのフレームコントロールが、ＡＣＫを示すビット列である場合には（ＯＰ３９：Ｙｅｓ）、処理がＯＰ４０に進む。復号化されたＡＣＫのフレームコントロールがＡＣＫを示すビット列でない場合には（ＯＰ３９：Ｎｏ）、処理がＯＰ４１に進む。
【００９３】
ＯＰ４０では、プロセッサ１０１は、受信フレームが自身が送信したＡＣＫ要求データフレームに対応するＡＣＫフレームであること、すなわち、ＡＣＫフレームの復号化の成功を判定し、この復号化されたＡＣＫフレームの処理を行う。具体的には、プロセッサ１０１は、管理テーブル２１から該当するシーケンス番号とＦＣＳ値との対応付けを削除する。また、プロセッサ１０１は、再送処理を終了する。その後、図１２に示されるフローチャートが終了する。
【００９４】
ＯＰ４１では、プロセッサ１０１は、受信フレームが自身が送信したＡＣＫ要求データフレームに対応するＡＣＫフレームでない、すなわち、ＡＣＫフレームの復号化の失敗を判定し、受信したフレーム、又は、受信したフレームと復号化されたＡＣＫフレームを破棄する。その後、図１２に示されるフローチャートが終了する。ＯＰ３１−ＯＰ４１の処理は、ＡＣＫ復号化部１３の処理に相当する。また、５バイト長のフレームの受信の検出は、フレーム受信処理部１１の処理に相当する。
【００９５】
（受信対象外のＡＣＫフレームの復号化処理の具体例）
図１３，図１４，図１５，図１６は、ＡＣＫフレームの復号化処理の失敗例を示す図である。図１３，図１４，図１５，図１６は、いずれも図９のＡＣＫフレームの符号化処理によって符号化されたＡＣＫフレームを、ＡＣＫ要求データフレームの送信元の端末（ＡＣＫ受信端末）とは異なる端末が受信した場合のＡＣＫフレームの復号化処理の例である。また、図１３−図１６のいずれの例の端末も、ＡＣＫ要求データフレームを送信し、ＡＣＫフレームの返信を待っている状態において、図９のＡＣＫ送信端末から送信された符号化されたＡＣＫフレームを受信することを想定する。なお、図１３−図１６では、ネットワーク１００内の各端末が６バイトのＭＡＣアドレスを管理している場合の例が示される。以下、ＡＣＫ受信端末とは、図９のＡＣＫ送信端末が受信するＡＣＫ要求データフレームの送信元の端末であり、図１１の例のＡＣＫ受信端末を指す。
【００９６】
図１３は、ＡＣＫフレームの復号化処理の例２であり、シーケンス番号１００のＡＣＫ要求データフレームを送信した端末におけるＡＣＫフレームの復号化処理の例を示す図である。図１３の端末のＭＡＣアドレスは、００：１１：２１：３３：４４：５５（１６進数表記）である。図１３の端末のＭＡＣアドレスは、図１１のＡＣＫ受信端末のＭＡＣアドレスと上位３バイトは異なり、下位３バイトが一致する。また、図１３の端末の管理テーブル２１には、図１１のＡＣＫ受信端末と同じく、シーケンス番号１００とシーケンス番号１００でＡＣＫフレームを生成した場合のＦＣＳ値（０１１０  １１００  １１００
１０１０）との対応付けが保持されている。また、図１３の端末の管理テーブル２１のシーケンス番号とＦＣＳ値とは、図９における正規フレームのシーケンス番号と正規ＦＣＳ値とにも一致する。
【００９７】
図１３の復号化処理１において求められる、受信フレームと、自身のＭＡＣアドレスの下位３バイトと、管理テーブル２１に保持されるＦＣＳ値との排他的論理和の演算値の上位３バイトに対するＦＣＳ値は１０１１  ０１００  ０００１  １０１１となる。図１３の復号化処理１で用いられる端末のＭＡＣアドレスの下位３バイトと、図９の符号化処理２で用いられるＡＣＫ要求データフレームの送信元端末のＭＡＣアドレスの下位３バイトとは一致する。また、図１３の復号化処理１で用いられる端末の管理テーブル２１に保持されるＦＣＳ値と、図９の符号化処理２で用いられる正規ＦＣＳ値とは一致する。そのため、復号化処理１によって、受信フレームは、図９における復号化フレーム１と同じ状態になり、復号化処理１の演算値の上位３バイトに対するＦＣＳ値と受信フレームの下位２バイトとは一致する。
【００９８】
次に、図１３の復号化処理２において求められる、復号化処理１の演算値とこの演算値に対するＦＣＳ値とを含む復号化されたＡＣＫフレームのシーケンス番号は１０３、ＦＣＳ値は０１１０  １１１１  １１０１  １０１０となる。図１３の復号化処理２で用いられる端末のＭＡＣアドレスの上位３バイトと、図９の符号化処理１で用いられるＡＣＫ要求データフレームの送信元端末のＭＡＣアドレスの上位３バイトとは一致しない。そのため、図１３における受信フレームは、シーケンス番号１００のＡＣＫフレームが符号化されたものであるものの、図１３の端末において復号化されるとシーケンス番号が１０３となり、符号化前と異なる番号になってしまう。したがって、図１３において求められる復
号化されたＡＣＫフレームのシーケンス番号とＦＣＳ値とは、管理テーブル２１に登録されるシーケンス番号とＦＣＳ値とに一致しない。結果、図１３の例では、受信フレームのＡＣＫフレームの復号化が失敗し、受信フレーム及び復号化されたＡＣＫフレームは破棄される。
【００９９】
図１４は、ＡＣＫフレームの復号化処理の例３であり、シーケンス番号１０３のＡＣＫ要求データフレームを送信した端末におけるＡＣＫフレームの復号化処理の例を示す図である。図１４の端末のＭＡＣアドレスは、００：１１：２１：３３：４４：５５（１６進数表記）である。図１４の端末のＭＡＣアドレスは、図９のＡＣＫ要求データフレームの送信元端末のＭＡＣアドレスと上位３バイトは異なり、下位３バイトが一致する。また、図１４の端末の管理テーブル２１には、シーケンス番号１０３とシーケンス番号１０３でＡＣＫフレームを生成した場合のＦＣＳ値（０１００  １１１１  １１０１  １０１０）との対応付けが保持されている。図１４における管理テーブル２１に保持されるシーケンス番号とＦＣＳ値とは、図１１のＡＣＫ受信端末における管理テーブル２１に保持されるシーケンス番号とＦＣＳ値とに一致しない。また、図１４における管理テーブル２１に保持されるシーケンス番号とＦＣＳ値とは、図９における正規フレームのシーケンス番号と正規ＦＣＳ値とにも一致しない。
【０１００】
図１４の復号化処理１において求められる、自身のＭＡＣアドレスの下位３バイトと、管理テーブル２１に保持されるＦＣＳ値との排他的論理和の演算値の上位３バイトに対するＦＣＳ値は０１１１  １１００  ０１１１  ００１１となる。図１４の復号化処理１で用いられる端末のＭＡＣアドレスの下位３バイトと、図９の符号化処理２で用いられるＡＣＫ要求データフレームの送信元端末のＭＡＣアドレスの下位３バイトとは一致する。一方、図１４の復号化処理１で用いられる端末の管理テーブル２１に保持されるＦＣＳ値と、図９の符号化処理２で用いられる正規ＦＣＳ値とは一致しない。そのため、復号化処理１の演算値の上位３バイトに対するＦＣＳ値と受信フレームの下位２バイトとは一致しない。結果、図１４の例では、受信フレームのＡＣＫフレームの復号化が失敗し、受信フレームは破棄される。
【０１０１】
図１５は、ＡＣＫフレームの復号化処理の例４であり、シーケンス番号１００のＡＣＫ要求データフレームを送信した端末におけるＡＣＫフレームの復号化処理の例を示す図である。図１５の端末のＭＡＣアドレスは、００：１１：２２：３３：４４：５６（１６進数表記）である。図１５の端末のＭＡＣアドレスは、図９のＡＣＫ要求データフレームの送信元端末のＭＡＣアドレスと上位３バイトは一致し、下位３バイトは異なる。また、図１５の端末の管理テーブル２１には、シーケンス番号１００とシーケンス番号１００でＡＣＫフレームを生成した場合のＦＣＳ値（０１１０  １１００  １１００  １０１０）との対応付けが保持されている。図１５における管理テーブル２１に保持されるシーケンス番号とＦＣＳ値とは、図１１のＡＣＫ受信端末における管理テーブル２１に保持されるシーケンス番号とＦＣＳ値とに一致する。また、図１５における管理テーブル２１に保持されるシーケンス番号とＦＣＳ値とは、図９における正規フレームのシーケンス番号と正規ＦＣＳ値とにも一致する。
【０１０２】
図１５の復号化処理１において求められる、自身のＭＡＣアドレスの下位３バイトと、管理テーブル２１に保持されるＦＣＳ値との排他的論理和の演算値の上位３バイトに対するＦＣＳ値は０１００  ００００  ０００１  ０００１  ０１００  ０１０１となる。図１５の復号化処理１で用いられる端末の管理テーブル２１に保持されるＦＣＳ値と、図９の符号化処理２で用いられる正規ＦＣＳ値とは一致する。一方、図１５の復号化処理１で用いられる端末のＭＡＣアドレスの下位３バイトと、図９の符号化処理２で用いられるＡＣＫ要求データフレームの送信元端末のＭＡＣアドレスの下位３バイトとは異なる。そのため、復号化処理１によって、受信フレームは、図９における復号化フレーム１と同じ状
態にはならず、図１５の端末における復号化処理１の演算値の上位３バイトに対するＦＣＳ値と受信フレームの下位２バイトとは一致しない。結果、図１５の例では、受信フレームのＡＣＫフレームの復号化が失敗し、受信フレームは破棄される。
【０１０３】
図１６は、ＡＣＫフレームの復号化処理の例５であり、シーケンス番号１００のＡＣＫ要求データフレームを送信した端末におけるＡＣＫフレームの復号化処理の例を示す図である。図１６の端末のＭＡＣアドレスは、１１：１１：１１：３３：４４：５５（１６進数表記）であり。図１６の端末のＭＡＣアドレスは、図９のＡＣＫ要求データフレームの送信元端末のＭＡＣアドレスと上位３バイトは異なり、下位３バイトが一致する。また、図１６の端末の管理テーブル２１には、シーケンス番号１００とシーケンス番号１００でＡＣＫフレームを生成した場合のＦＣＳ値（０１１０  １１００  １１００  １０１０）との対応付けが保持されている。図１５における管理テーブル２１に保持されるシーケンス番号とＦＣＳ値とは、図１１のＡＣＫ受信端末における管理テーブル２１に保持されるシーケンス番号とＦＣＳ値とに一致する。また、図１６における管理テーブル２１に保持されるシーケンス番号とＦＣＳ値とは、図９における正規フレームのシーケンス番号と正規ＦＣＳ値とにも一致する。
【０１０４】
図１６の復号化処理１において求められる、自身のＭＡＣアドレスの下位３バイトと、管理テーブル２１に保持されるＦＣＳ値との排他的論理和の演算値の上位３バイトに対するＦＣＳ値は１０１１  ０１００  ０００１  １０１１となる。図１６の復号化処理１で用いられる端末のＭＡＣアドレスの下位３バイトは、図９の符号化処理２で用いられるＡＣＫ要求データフレームの送信元端末のＭＡＣアドレスの下位３バイトに一致する。また、図１６の復号化処理１で用いられる端末の管理テーブル２１に保持されるＦＣＳ値は、図９の符号化処理２で用いられる正規ＦＣＳ値に一致する。そのため、復号化処理１によって、受信フレームは、図９における復号化フレーム１と同じ状態になり、復号化処理１の演算値の上位３バイトに対するＦＣＳ値と受信フレームの下位２バイトとが一致する。
【０１０５】
次に、図１６の復号化処理２において求められる、復号化処理１の演算値と自身のＭＡＣアドレスの上位３バイトとの排他的論理和の演算値は０１０１  ０００１  ００００  ００００  ０１０１  ０１１１となる。図１６の復号化処理２で用いられる端末のＭＡＣアドレスの上位３バイトと、図９の符号化処理１で用いられるＡＣＫ要求データフレームの送信元端末のＭＡＣアドレスの上位３バイトとは一致しない。そのため、図１６の端末における復号化処理１及び復号化処理２を経ると、符号化処理２の演算値の上位２バイトが、ＡＣＫのフレームコントロール（０１００  ００００  ００００  ００００）とは異なるビット列になってしまう。また、図１６において受信したフレームは、シーケンス番号１００のＡＣＫフレームが符号化されたものであるものの、図１６の端末において復号化されるとシーケンス番号が８７と異なる番号になってしまう。したがって、結果、図１６の例では、受信フレームのＡＣＫフレームの復号化が失敗し、受信フレーム及び復号化されたＡＣＫフレームは破棄される。
【０１０６】
６バイトのＭＡＣアドレスは、上位３バイトがベンダを識別するための番号であり、下位３バイトが個体を識別するための番号である。そのため、６バイトのＭＡＣアドレス全体では、端末固有の値となり他の端末と一致することはないが、上位３バイト又は下位３バイトが他の端末と一致することはある。図１３−図１６に示される例のように、第１実施形態によれば、ＡＣＫ要求データフレームの送信元端末と符号化されたＡＣＫフレームの受信端末とが異なる端末であって、ＭＡＣアドレスの上位３バイトまたは下位３バイトが一致する場合でも、ＡＣＫフレームの誤受信を防ぐことができる。
【０１０７】
（ＦＣＳ値を用いないＡＣＫフレームの符号化処理及び復号化処理）
以下、ＡＣＫフレームの符号化処理及び復号化処理において、ＦＣＳ値を用いない場合
について説明する。
【０１０８】
図１７は、ＦＣＳ値を用いない場合のＡＣＫフレームの符号化処理の例を示す図である。図１７では、端末は、６バイト長のＭＡＣアドレスを管理する。図１７は、図９と同様に、ＭＡＣアドレス００：１１：２２：３３：４４：５５（１６進数表記）のＡＣＫ受信端末からシーケンス番号１００のＡＣＫ要求データフレームを受信したＡＣＫ送信端末におけるＡＣＫフレームの符号化処理の例を示す。
【０１０９】
符号化処理１では、ＡＣＫ送信端末のＡＣＫ符号化部１５は、正規ＡＣＫフレームとＡＣＫ要求データフレームの送信元ＭＡＣアドレスの上位３バイトとで上位ビットから排他的論理和の演算を行う。次に、ＡＣＫ符号化部１５は、符号化処理１で求めた排他的論理和の演算値（３バイト）に対してＦＣＳ値を求め、符号化ＡＣＫフレーム１を生成する。
【０１１０】
次に、符号化処理２では、ＡＣＫ符号化部１５は、符号化ＡＣＫフレーム１(５バイト)と、ＡＣＫ要求データフレームの送信元ＭＡＣアドレスの下位３バイトと、上位ビットから排他的論理和の演算を行う。ＡＣＫ符号化部１５は、符号化処理２の演算値である符号化ＡＣＫフレーム２をＡＣＫフレームとして送信する。
【０１１１】
図１８は、図１７において符号化されたＡＣＫフレームを受信した端末におけるＦＣＳ値を用いない場合の復号化処理の例を示す図である。図１８では、図１７におけるＡＣＫ要求データフレームの送信端末である端末がＡＣＫ受信端末として、図１７において符号化されたＡＣＫフレームを受信する。したがって、図１８のＡＣＫ受信端末のＭＡＣアドレスは、００：１１：２２：３３：４４：５５（１６進数表記）であり、管理テーブル２１にはシーケンス番号１００が保持されている。なお、図１８の例はＡＣＫフレームの符号化及び復号化にＦＣＳ値が用いられない場合の例であるため、管理テーブル２１には、シーケンス番号のみが保持されている。
【０１１２】
ＡＣＫ受信端末のＡＣＫ復号化部１３は、復号化処理１において、受信フレーム（５バイト）と、自身のＭＡＣアドレスの下位３バイトとで、上位ビットから排他的論理和の演算を行う。ＡＣＫ復号化部１３は、復号化処理１によって求めた排他的論理和の演算値の上位３バイトに対するＦＣＳ値（２バイト）を求める。ＡＣＫ符号化部１３は、復号化処理１によって求めた排他的論理和の演算値の上位３バイトに対するＦＣＳ値と受信フレームの下位２バイトとが一致するか否かを判定する。図１７のＡＣＫ送信端末において、符号化処理２で用いられたＭＡＣアドレスの下位３バイトと、図１８のＡＣＫ受信端末において復号化処理１で用いられるＭＡＣアドレスの下位３バイトとは一致する。そのため、図１８の復号化処理２によって、受信フレームは図１７の符号化ＡＣＫフレーム１と同じ状態となり、受信フレームの下位２バイトと復号化処理１における演算値の上位３バイトに対するＦＣＳ値とは一致する。
【０１１３】
復号化処理２では、ＡＣＫ復号化部１３は、復号化処理１における演算値と自身のＭＡＣアドレスの上位３バイトとを上位から排他的論理和の演算を行う。図１７のＡＣＫ送信端末において、符号化処理１で用いられたＭＡＣアドレスの上位３バイトと、図１８のＡＣＫ受信端末において復号化処理２で用いられるＭＡＣアドレスの上位３バイトとは一致する。したがって、復号化処理２によって、受信フレームは図１７の正規ＡＣＫフレームと同じ状態となり、得られる演算値はシーケンス番号１００を示し、このシーケンス番号１００は管理テーブル２１に登録されている。したがって、図１８の例では、ＡＣＫ受信端末におけるＡＣＫフレームの復号化が成功する。
【０１１４】
ＡＣＫフレームの符号化処理及び復号化処理にＦＣＳ値が用いられない場合でも、図１８に示されるように、端末は、自身が送信したＡＣＫ要求データフレームに対する符号化
されたＡＣＫフレームを復号化することができ、受信することができる。しかしながら、ＡＣＫフレームの符号化処理及び復号化処理にＦＣＳ値が用いられない場合には、次の図１９に示す例のように、ＡＣＫフレームの誤受信が発生する場合がある。
【０１１５】
図１９は、図１７において符号化されたＡＣＫフレームを受信する端末におけるＦＣＳ値を用いない場合の復号化処理の例を示す図である。図１９では、図１７におけるＡＣＫ要求データフレームの送信端末とは異なる端末が、図１７においてＡＣＫ送信端末によって符号化されたＡＣＫフレームを受信する。図１９の端末のＭＡＣアドレスは、００：１１：２１：３３：４４：５５（１６進数表記）である。図１９の端末のＭＡＣアドレスは、図１７のＡＣＫ要求データフレームの送信元端末のＭＡＣアドレスと上位３バイトは異なり、下位３バイトは一致する。図１９の端末の管理テーブル２１にはシーケンス番号１０３が登録されている。図１９の端末の管理テーブル２１に保持されるシーケンス番号１０３は、図１７のＡＣＫ要求データフレームに含まれるシーケンス番号１００とは一致しない。なお、図１９では、復号化処理にＦＣＳ値を用いないため、管理テーブル２１には、シーケンス番号のみが保持されている。
【０１１６】
図１９の端末は、復号化処理１において、受信フレームと自身のＭＡＣアドレスの下位３バイトとで上位ビットから排他的論理和の演算を行う。この復号化処理１の演算値の上位３バイトに対するＦＣＳ値は１０１１  ０１００  ０００１  １０１１となる。図１９の符号化処理１において用いられる端末のＭＡＣアドレスの下位３バイトは、図１７の符号化処理２で用いられるＡＣＫ要求データフレームの送信元端末のＭＡＣアドレスの下位３バイトに一致する。そのため、復号化処理１によって、受信フレームは図１７の符号化ＡＣＫフレーム１と同じ状態になり、復号化処理１の演算値の上位３バイトに対するＦＣＳ値と受信フレームの下位２バイトとが一致する。
【０１１７】
次に、図１９の端末は、復号化処理２において、復号化処理１の演算値と自身のＭＡＣアドレスの上位３バイトとで上位ビットから排他的論理和の演算を行う。この復号化処理２の演算値は０１００  ００００  ００００  ００００  ０１１０  ０１１１となる。図１９の復号化処理２で用いられる端末のＭＡＣアドレスの上位３バイトと、図１７の符号化処理１で用いられるＡＣＫ要求データフレームの送信元端末のＭＡＣアドレスの上位３バイトとは一致しない。しかしながら、図１９における復号化処理２の演算値はシーケンス番号１０３を示し、図１９の端末の管理テーブル２１に保持されているシーケンス番号と一致する。そのため、結果として、図１９では、ＡＣＫフレームの復号化が成功し、図１９の端末はこの受信フレームをＡＣＫフレームとして処理してしまい、ＡＣＫフレームの誤受信が発生してしまう。
【０１１８】
ＦＣＳ値を用いずにＡＣＫフレームを符号化及び復号化する場合には、図１９の例のように、本来受信すべきではないＡＣＫフレームを誤受信してしまう可能性がある。ＦＣＳ値を用いてＡＣＫフレームの符号化及び復号化を行うことによって、図１９のようなＡＣＫフレームの誤受信を回避することができる（図１４参照）。
【０１１９】
＜第１実施形態の作用効果＞
第１実施形態では、ＡＣＫフレームを送信する際に、ＡＣＫ送信端末は、ＡＣＫフレームの送信先となるＡＣＫ要求データフレームの送信元端末のＭＡＣアドレスを用いて符号化を行う。これによって、ＡＣＫ要求データフレームの送信元端末の情報を有しないＡＣＫフレームに該ＡＣＫ要求データフレームの送信元端末の情報を付加することができる。また、ＡＣＫ要求データフレームの送信元端末（ＡＣＫ受信端末）がＡＣＫ送信端末によって符号化されたＡＣＫフレームを受信し、自身のＭＡＣアドレスを用いて復号化が成功した際に、自身が受信すべきＡＣＫフレームであるか否かを判定することができる。ＡＣＫフレームの復号化が失敗した場合には、ＡＣＫ受信端末は、受信した符号化されたＡＣ
Ｋフレームが自身が受信すべきＡＣＫフレームではないことを判定し、受信した符号化されたＡＣＫフレームを破棄する。したがって、第１実施形態によれば、ＩＥＥＥ８０２．１５．４のネットワークにおいて、ＡＣＫフレーム誤受信を防ぐことができる。
【０１２０】
また、６バイト長又は８バイト長のＭＡＣアドレスを用いる場合には、ＡＣＫフレームの送信先となるＡＣＫ要求データフレームの送信元端末のＭＡＣアドレスと、ＦＣＳ値とを用いて符号化を行う。これによって、ＡＣＫフレームの誤受信をより確実に回避することができる。
【０１２１】
また、符号化された後もＡＣＫフレーム長は５バイトのままであるので、効率を変えることなく、通信を行うことができる。
【０１２２】
＜その他＞
第１実施形態では、ＩＥＥＥ８０２．１５．４のネットワークについて説明した。これに限定されることなく、第１実施形態において説明された情報処理装置は、端末固有の情報が含まれないＡＣＫを用いる通信システムに適用可能である。
【０１２３】
第１実施形態では、符号化処理及び復号化処理において、ＡＣＫフレーム，ＭＡＣアドレスの全部（２バイト長）又は一部（６バイト長又は８バイト長），ＦＣＳ値で排他的論理和の演算を行う際には、上位ビットから行った。ただし、これに限られず、符号化処理と復号化処理とで排他的論理和を行う箇所が一致していればよい。
【符号の説明】
【０１２４】
１        端末
１１      フレーム受信処理部
１２      ＡＣＫ生成部
１３      ＡＣＫ復号化部
１５      ＡＣＫ符号化部
１６      データ生成部
１７      経路制御部
１８      フレーム送信処理部
１９      再送処理部
２１      管理テーブル
【図１】
0005772311.tif 000002
【図２】
0005772311.tif 000003
【図３】
0005772311.tif 000004
【図４】
0005772311.tif 000005
【図５】
0005772311.tif 000006
【図６】
0005772311.tif 000007
【図７】
0005772311.tif 000008
【図８】
0005772311.tif 000009
【図９】
0005772311.tif 000010
【図１０】
0005772311.tif 000011
【図１１】
0005772311.tif 000012
【図１２】
0005772311.tif 000013
【図１３】
0005772311.tif 000014
【図１４】
0005772311.tif 000015
【図１５】
0005772311.tif 000016
【図１６】
0005772311.tif 000017
【図１７】
0005772311.tif 000018
【図１８】
0005772311.tif 000019
【図１９】
0005772311.tif 000020