説明

通信装置、通信システム及び通信装置の処理方法

【課題】ヘッダのエラーをより確実に検査することができる通信装置、通信システム及び通信装置の処理方法を提供することを課題とする。
【解決手段】ヘッダを含むデータユニットを受信し、前記データユニット内のヘッダの検査を行う通信装置であって、前記ヘッダ内の取り得る値が決められている固定ビットが前記取り得る値になっていることの検査、前記ヘッダ内のデータユニット長さフィールドが最小値以上かつ最大値以下になっていることの検査、又は前記ヘッダ内のコネクション識別子フィールドが取り得る値になっていることの検査を行う検査部(410)を有することを特徴とする通信装置が提供される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信装置、通信システム及び通信装置の処理方法に関する。
【背景技術】
【0002】
無線通信システムにおいて、ユーザートラフィック情報又は通信プロトコルメッセージは、複数のパケット形態からなる。パケットは、媒体接続制御(Medium Access Control、以下、「MAC」という)プロトコルで規定したプロトコルデータユニット(Protocol Data Unit、以下、「PDU」という)形態に従う。PDUは、PDUの構成方式や長さ等の情報を示すMACヘッダ部及びデータが搭載されるペイロード(payload)部に分けられる。
【0003】
一方、バースト(Burst)は、一つ以上のPDUの束である。また、フレームは、一つ以上のバーストの束である。受信段は、フレームからバースト領域を区別した後、自身に該当するPDUのみを選別して処理する。
【0004】
特開2007−195185号公報には、少なくとも一つのプロトコルデータユニット(PDU)を含むバーストを持つ無線通信システムにおける受信段のバースト処理方法が開示されている。
【0005】
図1は、無線通信システムにおける複数のPDU100からなるバースト101の構造の一例を示す図である。バースト101は、例えば3個のPDU100から構成される。PDU100の各々は、PDU100の長さを示す長さフィールド110と、MACヘッダのエラーを検査するためのヘッダ検査シーケンス(HCS:Header Check Sequence)フィールド120と、PDUペイロードフィールド130と、PDU100全体に対するエラーを検査するための32ビットCRCチェックフィールド140を含む。
【0006】
ここで、長さフィールド110及びHCSフィールド120は、MACヘッダ部に該当する。MACヘッダ部は、長さフィールド110及びHCSフィールド120以外にも、ヘッダタイプや、連結識別子(CID:Connection Identifier)フィールド及び、32ビットCRCの有無や暗号化と関連したフィールド等をさらに含む。
【0007】
受信段は、前述したようなバースト101を受信すると、1番目のPDU100のMACヘッダの長さフィールド110を参照して、1番目のPDU100の長さを認知し、当該PDU100のエラー検査及びデータ処理を行う。このような手順は、2番目及び3番目のPDU100でも同様に適用される。前述したように、受信段は、PDU100のMACヘッダ内の長さフィールド110を参照して長さを累積し、累積された長さが一つのバースト101の長さに到達すると、バースト101内のPDU100の処理を完了する。
【0008】
図2は、無線通信システムにおける受信段のバースト処理過程を示すフローチャートである。図2によれば、受信段は、ステップS202において送信段からフレームを受信し、ステップS204に進行する。受信段は、ステップS204において複数のバースト101のうちで自身に該当するバースト101を選別して格納し、ステップS206に進行する。受信段は、ステップS206においてPDU100のMACヘッダをデコードし、ステップS208に進行する。受信段は、ステップS208においてPDU100のHCSフィールド120を用いてPDU100のMACヘッダにエラーが存在するか否かを検査する。検査の結果、PDU100のMACヘッダにエラーが存在すると、ステップS216に進行し、エラーが存在しないと、ステップS210に進行する。
【0009】
続いて、受信段は、ステップS210においてPDU100のMACヘッダにエラーが存在しないため、データを正常に処理してステップS212に進行する。受信段は、ステップS212においてデータを処理したPDU100を除いた他のPDU100が存在するか否かを判別する。判別の結果、他のPDU100が存在すると、ステップS206から再遂行する。一方、他のPDU100が存在しないと、ステップS214に進行する。受信段は、ステップS214において処理する他のバースト101が存在するか否かを判別する。判別の結果、他のバースト101が存在するとステップS206から再遂行し、他のバースト101が存在しないとバースト処理を終了する。
【0010】
一方、受信段は、MACヘッダをデコードしたPDU100にエラーが存在する場合、ステップS216においてエラーが発生したPDU100を含むバースト101全体に対する処理を中断し、次のバースト101に対してデコードする。通常、PDU100のMACヘッダにエラーが発生した場合、もうPDU100の分離処理は困難である。
【0011】
図2におけるシーケンスをまとめると、通常、バースト101にエラーが存在し、かつMACヘッダ部分にエラーが存在すると、受信段は、PDU100のMACヘッダで発生するエラーによりペイロードフィールド130まで処理できず、バースト101の再伝送により資源の活用度が低下され、システム全体の性能を低下させるという問題がある。
【0012】
図3は、無線通信システムにおける受信段のバースト処理過程から、MACヘッダをデコードしたPDU100にエラーが存在する場合でもPDU分離処理を行えるように工夫した際のフローチャートである。図3によれば、受信段は、ステップS302において送信段からフレームを受信し、ステップS304に進行する。受信段は、ステップS304において複数のバースト101のうちで自身に該当するバースト101を選別して格納し、ステップS306に進行する。受信段は、ステップS306においてn番目のPDU100のMACヘッダをデコードし、ステップS308に進行する。受信段は、ステップS308においてn番目のPDU100のHCSフィールド120を用いて、PDU100のMACヘッダにエラーが存在するか否かを検査する。検査の結果、MACヘッダにエラーが存在するとステップS310に進行し、エラーが存在しないとステップS326に進行する。
【0013】
受信段は、ステップS310において、n番目のPDU100のMACヘッダのアドレスとMACヘッダ内の長さフィールド110とを加算した値に該当するn+1番目と推定される次のPDU100の開始アドレスにジャンプし、ステップS312においてMACヘッダにエラーが存在するか否かを検査する。検査の結果、n+1番目のPDU100のMACヘッダでもエラーが存在するとステップS314に進行し、エラーが存在しないとステップS326に進行する。一方、受信段は、ステップS312においてn番目のPDU100のMACヘッダでエラーが発生したが、長さフィールド110にてエラーが発生していない場合と、n番目のPDU100のMACヘッダで発生したエラーが長さフィールド110で発生したエラーの場合がある。したがって、ステップS308においてn番目のPDU100のMACヘッダの長さフィールド110でエラーが発生しない場合、受信段は、ステップS312においてn+1番目のPDU100のMACヘッダでエラーを検出しない。しかしながら、n番目のPDU100のMACヘッダの長さフィールド110でエラーが発生した場合、受信段は、ステップS312においてn+1番目のPDU100のMACヘッダでエラーを検出する。
【0014】
したがって、受信段は、ステップS314において、n番目のPDU100のMACヘッダの次のアドレスでエラー検査を再度行うためにアドレス移動を行い、ステップS316に進行する。受信段は、ステップS316においてPDU100のMACヘッダの長さに該当するデータに対してHCS演算を行った後、ステップS318に進行する。
【0015】
受信段は、ステップS318において検出したアドレスに対してエラーが存在するか否かを判断する。判断の結果、エラーが存在するとステップS320に進行し、エラーが存在しないとステップS326に進行してデータ処理を行う。受信段は、ステップS320においてアドレス値を1ずつ増加させ、ステップS322に進行する。ここで、アドレス値の単位はバイトになり得る。受信段は、ステップS322において1ずつ増加させたアドレス値が、バースト101の最後のアドレス値を超過するか否かを判断する。判断の結果、増加させたアドレス値がバースト101の最後のアドレス値を超過すると、当該バースト101は処理不可能なエラーとして処理し、ステップS330に進行する。一方、増加させたアドレス値がバースト101の最後のアドレス値を超過しないと、ステップS316から再遂行する。ここで、受信段は、全体バーストの長さを認知しているものとする。
【0016】
ここで、ステップS312〜S316については、例を上げて詳細に説明する。1番目(n=1)のPDU100のMACヘッダでエラーが発生した場合、MACヘッダの長さフィールド110が0x100アドレスを示していると、受信段は、0x100アドレスにジャンプして、2番目すなわちn+1番目のPDU100のMACヘッダ6バイトをデコードする。すなわち、0x100はn+1番目のPDU100のMACヘッダの開始アドレスを意味し、受信段は、0x100アドレスから6バイトに該当するMACヘッダをデコードして、ステップS312と同様にエラーが存在するか否かを検査する。検査の結果、受信段は、エラーが存在するとn番目のPDU100のMACヘッダの長さフィールドにエラーが発生したことを認知し、ステップS314と同様に、n番目のPDU100のMACヘッダの次のアドレスに戻ってn+1番目のPDU100のMACヘッダの次の開始アドレスからHCSチェックを行う。
【0017】
一方、受信段は、ステップS326において正常にデータ処理を行い、ステップS328に進行する。受信段は、ステップS328において他のPDU100が存在するか否かを判断する。判断の結果、他のPDU100が存在するとステップS306に戻り、他のPDU100が存在しないとステップS330に進行する。受信段は、ステップS330において他のバースト101が存在するか否かを判断する。判断の結果、他のバースト101が存在するとステップS306に戻り、他のバースト101が存在しないとバースト処理を終了する。
【0018】
また、国際公開第99/07100号パンフレットには、外部から入力される可変長の情報データを格納した第1の格納領域とフレーム同期を確保するための特定情報を格納した第2の格納領域と該情報データの復号及びフレーム同期の確保に必要なヘッダ情報を格納した第3の格納領域とフレーム長を表すフレーム長情報を格納した第4の格納領域とを有する可変長フレームを、情報データの入力に応じて生成することで、伝送路を介して伝送されるデータ系列を生成するデータ系列生成器が開示されている。
【先行技術文献】
【特許文献】
【0019】
【特許文献1】特開2007−195185号公報
【特許文献2】国際公開第99/07100号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【0020】
図3におけるシーケンス処理にも課題が存在する。MACヘッダにエラーが存在する場合に逐次HCSチェックを実施することで、次のMACヘッダの検出を期待しているが、8ビットのHCSチェック検査は偶然に一致する確率を持っており、1/256の確率でHCSチェックを合格してしまう。一例としてバースト構造を使用するWiMAXの無線方式ではPDU100の長さの最大値は2047バイトである。逐次HCSチェック検査では、MACヘッダを誤検出する可能性が高い。加えてMACヘッダ誤検出により、正しいMACヘッダの破棄も発生する可能性がある。さらに、MACヘッダ部分のエラー検出後に、逐次エラー検査を行う手順は、毎アドレスに対してエラー検査処理を行う手順となるため、処理レイテンシの増加も招く。
【0021】
図3におけるシーケンスをまとめると、バースト101にエラーが存在し、かつMACヘッダ部分にエラーが存在する場合、正しいMACヘッダの破棄による性能劣化や、逐次エラー検査による処理レイテンシ増加を引き起こすという問題点がある。
【0022】
本発明の目的は、ヘッダのエラーをより確実に検査することができる通信装置、通信システム及び通信装置の処理方法を提供することである。
【課題を解決するための手段】
【0023】
本発明の一観点によれば、ヘッダを含むデータユニットを受信し、前記データユニット内のヘッダの検査を行う通信装置であって、前記ヘッダ内の取り得る値が決められている固定ビットが前記取り得る値になっていることの検査、前記ヘッダ内のデータユニット長さフィールドが最小値以上かつ最大値以下になっていることの検査、又は前記ヘッダ内のコネクション識別子フィールドが取り得る値になっていることの検査を行う検査部を有することを特徴とする通信装置が提供される。
【発明の効果】
【0024】
ヘッダのエラーをより確実に検査することができる。
【図面の簡単な説明】
【0025】
【図1】無線通信システムにおける複数のPDUからなるバーストの構造の一例を示す図である。
【図2】無線通信システムにおける受信段のバースト処理過程を示すフローチャートである。
【図3】無線通信システムにおける受信段の他のバースト処理過程を示すフローチャートである。
【図4】本発明の第1の実施形態による第2の通信装置の構成例を示すブロック図である。
【図5】本発明の第1の実施形態による第2の通信装置の処理方法を示すフローチャートである。
【図6】MACヘッダ検査部の処理方法を示すフローチャートである。
【図7】本発明の第2の実施形態による第2の通信装置の構成例を示すブロック図である。
【図8】本発明の第3の実施形態による第2の通信装置の構成例を示すブロック図である。
【図9】本発明の第1の実施形態による通信システムの構成例を示すブロック図である。
【図10】PDUのフォーマット例を示す図である。
【発明を実施するための形態】
【0026】
(第1の実施形態)
図9は、本発明の第1の実施形態による通信システムの構成例を示すブロック図である。通信システムは、第1の通信装置901及び第2の通信装置902を有する。第1の通信装置901は、図1に示すように1個以上のバースト101を無線送信する。第2の通信装置902は、第1の通信装置901により送信された1個以上のバースト101を受信する。図1に示すように、バースト101は、1個以上のプロトコルデータユニット(以下、PDUという)100を有する。
【0027】
図10は、PDU100のフォーマット例を示す図である。WiMAXの無線方式では、PDU100の長さの最大値は2047バイトである。PDU100は、MACヘッダ(GMH:Generic MAC Header)1001、ペイロード1002及び巡回冗長検査(CRC:Cyclic Redundancy Check)フィールド1003を有する。ペイロード1002は、データ部である。CRCフィールド1003は、PDU100全体にエラーが存在するか否かを検査するための32ビットのエラー検査データである。
【0028】
MACヘッダ1001は、長さが6バイトであり、1ビットのHTフィールド、1ビットのECフィールド、6ビットのタイプ(TYPE)フィールド、1ビットのESFフィールド、1ビットのCIフィールド、2ビットのEKSフィールド、1ビットのリザーブ(Rsv)フィールド、11ビットのPDU長さ(LEN)フィールド、8ビットのコネクション識別子(CID:Connection Identifier)フィールド、及び8ビットのヘッダ検査シーケンス(HCS:Header Check Sequence)フィールドを有する。
【0029】
PDU長さ(LEN)フィールドは、PDU100の長さを表す。HCSフィールドは、MACヘッダ1001にエラーが存在するか否かを検査するための8ビットCRCのエラー検査フィールドである。
【0030】
第2の通信装置902は、1個以上のバースト101を受信し、PDU100内のMACヘッダ1001の検査を行う。以下、その詳細を説明する。
【0031】
図4は、本発明の第1の実施形態による第2の通信装置902の構成例を示すブロック図である。第2の通信装置902は、受信するバースト101を受信バーストバッファ402に格納する。第2の通信装置902は、格納されたバースト101のうちで1番目のPDU100のMACヘッダ1001に該当する6バイトを読み出し、読み出したバースト101をMACヘッダ検査部410へ入力する。MACヘッダ検査部410は、HCS検査部412、固定ビット検査部414、長さ整合性検査部416、CID検査部418、及びMACヘッダ検査判定部420を有する。
【0032】
HCS検査部412は、MACヘッダ1001内のHCSフィールドを基にエラー検査を行う。固定ビット検査部414は、MACヘッダ1001内の取り得る値が決められている固定ビットが取り得る値になっていることの検査を行う。長さ整合性検査部416は、MACヘッダ1001内のPDU長さ(LEN)フィールドが最小値以上かつ最大値以下になっていることの検査を行う。CID検査部418は、MACヘッダ1001内のCIDフィールドが取り得る値になっていることの検査を行う。MACヘッダ検査部410の処理の詳細は、後に図6を参照しながら説明する。
【0033】
MACヘッダ検査判定部420は、HCS検査部412、固定ビット検査部414、長さ整合性検査部416及びCID検査部418のすべての検査で合格した場合に、合格と判定する。
【0034】
なお、HCS検査部412、固定ビット検査部414、長さ整合性検査部416及びCID検査部418のすべてが必ずしも必要ではなく、少なくとも固定ビット検査部414、長さ整合性検査部416及びCID検査部418のうちのいずれか1個があればよい。
【0035】
後段ブロック送出部440は、MACヘッダ検査判定部420から合格の信号を入力すると、受信バーストバッファ402から入力したPDU100の長さ分のデータを後段ブロックへ送出する。また、読み出しアドレス生成部430は、MACヘッダ検査判定部420から合格の信号を入力すると、PDU100の長さ分のアドレスを加算し、次のPDU100の読み出しアドレスを受信バーストバッファ402に出力する。受信バーストバッファ402は、読み出しアドレスに応じて、次のPDU100のデータをMACヘッダ検査部410及び後段ブロック送出部440に出力する。
【0036】
また、後段ブロック送出部440は、MACヘッダ検査判定部420から不合格の信号を入力すると、後段ブロックへの送出を停止する。また、読み出しアドレス生成部430は、MACヘッダ検査判定部420から不合格の信号を入力すると、アドレスをインクリメントし、受信バーストバッファ402に出力する。受信バーストバッファ402は、次のアドレスのデータをMACヘッダ検査部410及び後段ブロック送出部440に出力する。MACヘッダ検査部410は、入力したデータに対してMACヘッダ1001の検査を行う。合格するまで、上記の処理を繰り返す。合格したデータのアドレスが正しいMACヘッダ1001の開始点であると判断される。この処理の詳細は、図5を参照しながら説明する。
【0037】
図5は、本発明の第1の実施形態による第2の通信装置902の処理方法を示すフローチャートである。ステップS502では、第2の通信装置902は、第1の通信装置901から複数のバースト101を含むフレームを受信し、ステップS504に進行する。ステップS504では、第2の通信装置902は、受信したフレームにおいて複数のバースト101のうちで自己の第2の通信装置902に該当するバースト101をバースト番号により選別して、受信バーストバッファ402に格納し、ステップS506に進行する。ステップS506では、第2の通信装置902は、n番目のPDU100のMACヘッダ1001をデコードし、ステップS508に進行する。ステップS508では、MACヘッダ検査部410は、n番目のPDU100に対してHCS検査、固定ビット検査、長さ整合性検査、及びCID検査等のMACヘッダ検査処理を行う。その詳細は、後に図6を参照しながら説明する。検査の結果、MACヘッダ1001にエラーが存在して不合格になるとステップS510に進行し、エラーが存在せずに合格になるとステップS520に進行する。
【0038】
ステップS510では、読み出しアドレス生成部430は、次のアドレスにてエラー検査を再度行うために、受信バーストバッファ402の読み出しアドレスを1増加させ、ステップS512に進行する。ステップS512では、ステップS508と同様に、MACヘッダ検査部410は、受信バーストバッファ402から読み出したPDU1001のMACヘッダ検査を行い、ステップS514に進行する。アドレスを1増加させた読み出しデータがMACヘッダ検査に合格すれば、合格したデータのアドレスが正しいMACヘッダ1001の開始点であると判断される。
【0039】
ステップS514では、ステップS508と同様に、MACヘッダ検査部410は、MACヘッダ検査に合格したか否かを判断する。判断の結果、エラーが存在して不合格になるとステップS516に進行し、エラーが存在せずに合格になるとステップS520に進行してデータ処理を行う。
【0040】
ステップS516では、ステップS510と同様に、読み出しアドレス生成部430は、受信バーストバッファ402の読み出しアドレスを1増加させ、ステップS518へ進行する。ステップS518では、第2の通信装置902は、1ずつ増加させたアドレス値が、バースト101の最後のアドレス値を超過するか否かを判断する。判断の結果、増加させたアドレス値がバースト101の最後のアドレス値を超過すると、当該バースト101は処理不可能なエラーとして処理し、ステップS524に進行する。一方、増加させたアドレス値がバースト101の最後のアドレス値を超過しないと、ステップS512から再遂行する。ここで、第2の通信装置902は、バースト101の長さを認知しているものとする。
【0041】
ステップS520では、第2の通信装置902は、正常にデータ処理を行い、ステップS522に進行する。例えば、ステップS520では、後段ブロック送出部440は、MACヘッダ検査判定部420から合格の信号を入力すると、受信バーストバッファ402の合格したMACヘッダ1001を含むPDU100を後段ブロックへ送出する。ステップS522では、第2の通信装置902は、他のPDU100が存在するか否かを判断する。判断の結果、他のPDU100が存在するとステップS506に戻り、他のPDU100が存在しないとステップS524に進行する。ステップS524では、第2の通信装置902は、他のバースト101が存在するか否かを判断する。判断の結果、他のバースト101が存在するとステップS506に戻り、他のバースト101が存在しないと図5の処理を終了する。
【0042】
図6は、MACヘッダ検査部410の処理方法を示すフローチャートであり、図5のステップS508、S512、S514の処理に対応する。ステップS602では、HCS検査部412は、図10のHCSフィールドを用いてHCS検査(8ビットCRC検査)を行い、ステップS604へ進行する。ステップS604では、MACヘッダ検査判定部420は、検査合格であるときにはS608へ進行し、検査不合格であるときには検査終了NGとして処理を終了する。
【0043】
続いて、ステップS608では、固定ビット検査部414は、MACヘッダ1001内の図10のリザーブ(Rsv)フィールド等の固定ビットとなるビットの検査を行い、ステップS610へ進行する。ステップS610では、MACヘッダ検査判定部420は、検査合格であるときにはステップS614へ進行し、検査不合格であるときには検査終了NGとして処理を終了する。
【0044】
続いて、ステップS614では、長さ整合性検査部416は、PDU長さ(LEN)フィールドを用いて、PDU100の長さ情報の検査としてPDU構成情報からの長さの整合性検査と、バースト長を超える長さであるかの検査を行い、ステップS616へ進行する。ステップS616では、MACヘッダ検査判定部420は、検査合格であるときにはステップS618へ進行し、検査不合格であるときには検査終了NGとして処理を終了する。
【0045】
続いて、ステップS618では、CID検査部418は、図10のCIDフィールドを用いて、取り得るCIDフィールドの値の妥当性検査を行い、ステップS620へ進行する。ステップS620では、MACヘッダ検査判定部420は、検査合格であるときには検査合格として処理を終了し、検査不合格であるときには検査終了NGとして処理を終了する。
【0046】
なお、図6のフローチャートは、全検査が合格することでヘッダ検査を合格とする意であり、検査順序及び並列実行であるか等は問わない。
【0047】
以上のように、ステップS602では、HCS検査部412は、MACヘッダ1001内の図10のHCS(エラー検査)フィールドを基にエラー検査を行う。
【0048】
また、ステップS608では、固定ビット検査部414は、MACヘッダ1001内の取り得る値が決められている固定ビットが取り得る値になっていることの検査を行う。例えば、固定ビット検査部414は、MACヘッダ1001内の図10のリザーブ(Rsv)フィールドが0の固定ビット、及びMACヘッダ1001内の図10のHTフィールドが0の固定ビットであることの検査を行う。さらに、固定ビット検査部414は、MACヘッダ1001内の図10の6ビットのタイプ(TYPE)フィールドが2進数で、000000、001010、001100、010000、011010又は011100の固定ビットであることの検査を行う。
【0049】
また、ステップS614では、長さ整合性検査部416は、MACヘッダ1001内の図10のPDU長さ(LEN)フィールドが最小値以上かつ最大値以下になっていることの検査を行う。具体的には、長さ整合性検査部416は、1個以上のPDU100を有するバースト101を入力し、MACヘッダ1001内の図10のPDU長さ(LEN)フィールドがMACヘッダ1001の長さ以上かつバースト101の残りの長さ以下であることの検査を行う。
【0050】
図10において、CIフィールドが1であるときには、PDU100内に4バイト(32ビット)のCRCフィールド1003が付加され、CIフィールドが0であるときには、PDU100内に4バイト(32ビット)のCRCフィールド1003が付加されない。したがって、CIフィールドが1であるときには、PDU100の長さが4バイト増加する。
【0051】
また、ECフィールドが1であるときには、PDU100内に4バイトのPNフィールド及び8バイトのMACフィールドが付加され、ECフィールドが0であるときには、PDU100内に4バイトのPNフィールド及び8バイトのMACフィールドが付加されない。したがって、ECフィールドが1であるときには、PDU100の長さが12(=4+8)バイト増加する。
【0052】
また、ESFフィールドが1であるときには、PDU100内に1バイトのESHLENフィールドが付加され、ESFフィールドが0であるときには、PDU100内に1バイトのESHLENフィールドが付加されない。したがって、ESFフィールドが1であるときには、PDU100の長さが1バイト増加する。
【0053】
以上より、CIフィールドが0、ECフィールドが0、ESFフィールドが0であるときには、少なくとも6バイトのMACヘッダ1001を有するので、PDU長さ(LEN)フィールドの値が6バイトより小さいときには、不合格となる。
【0054】
また、CIフィールドが1、ECフィールドが0、ESFフィールドが0であるときには、少なくとも6バイトのMACヘッダ1001及び4バイトのCRCフィールド1003を有するので、PDU長さ(LEN)フィールドの値が10(=6+4)バイトより小さいときには、不合格となる。
【0055】
また、CIフィールドが0、ECフィールドが1、ESFフィールドが0であるときには、少なくとも6バイトのMACヘッダ1001、4バイトのPNフィールド及び8バイトのMACフィールドを有するので、PDU長さ(LEN)フィールドの値が18(=6+4+8)バイトより小さいときには、不合格となる。
【0056】
また、CIフィールドが1、ECフィールドが1、ESFフィールドが0であるときには、少なくとも6バイトのMACヘッダ1001、4バイトのPNフィールド、8バイトのMACフィールド及び4バイトのCRCフィールド1003を有するので、PDU長さ(LEN)フィールドの値が22(=6+4+8+4)バイトより小さいときには、不合格となる。
【0057】
また、CIフィールドが0、ECフィールドが0、ESFフィールドが1であるときには、少なくとも6バイトのMACヘッダ1001及び1バイトのESHLENフィールドを有するので、PDU長さ(LEN)フィールドの値が7(=6+1)バイトより小さいときには、不合格となる。
【0058】
また、CIフィールドが1、ECフィールドが0、ESFフィールドが1であるときには、少なくとも6バイトのMACヘッダ1001、1バイトのESHLENフィールド及び4バイトのCRCフィールド1003を有するので、PDU長さ(LEN)フィールドの値が11(=6+1+4)バイトより小さいときには、不合格となる。
【0059】
また、CIフィールドが0、ECフィールドが1、ESFフィールドが1であるときには、少なくとも6バイトのMACヘッダ1001、1バイトのESHLENフィールド、4バイトのPNフィールド及び8バイトのMACフィールドを有するので、PDU長さ(LEN)フィールドの値が19(=6+1+4+8)バイトより小さいときには、不合格となる。
【0060】
また、CIフィールドが1、ECフィールドが1、ESFフィールドが1であるときには、少なくとも6バイトのMACヘッダ1001、1バイトのESHLENフィールド、4バイトのPNフィールド、8バイトのMACフィールド及び4バイトのCRCフィールド1003を有するので、PDU長さ(LEN)フィールドの値が23(=6+1+4+8+4)バイトより小さいときには、不合格となる。
【0061】
また、ステップS618では、CID検査部418は、MACヘッダ1001内の図10のCIDフィールドが取り得る値になっていることの検査を行う。例えば、CID検査部418は、コネクション毎に張るCID、ブロードキャスト、及びマルチキャストを示すCIDフィールドの値のみを合格と判断する。
【0062】
ステップS602のHCS検査部412の検査のみを行った場合には、MACヘッダ1001がエラーでない確率は、1/256=0.4%である。これに対し、ステップS602のHCS検査部412の検査、ステップS608の固定ビット検査部414の検査、及びステップS614の長さ整合性検査部416の検査のみを行った場合には、MACヘッダ1001がエラーでない確率は、0.00691%である。さらに、ステップS618のCID検査部418の検査を行った場合には、MACヘッダ1001がエラーでない確率は、さらに小さくなる。
【0063】
なお、HCS検査部412、固定ビット検査部414、長さ整合性検査部416及びCID検査部418のすべてが必ずしも必要ではなく、少なくとも固定ビット検査部414、長さ整合性検査部416及びCID検査部418のうちのいずれか1個があればよい。
【0064】
また、固定ビット検査部414は、MACヘッダ1001内の図10のリザーブ(Rsv)フィールドが0の固定ビット、又はMACヘッダ1001内の図10のHTフィールドが0の固定ビットであることの検査を行うようにしてもよい。
【0065】
本実施形態によれば、無線通信システムにおいて、MACヘッダ1001のエラーをより確実に検査することができる。また、図5のステップS510〜S518の処理を行うことにより、PDU100のMACヘッダ1001にエラーが発生した場合にも、次のPDU100のMACヘッダ1001の先頭を高確率で正しく検出できるため、PDU処理性能を向上させ、処理効率を向上させることができる。
【0066】
(第2の実施形態)
図7は、本発明の第2の実施形態による第2の通信装置902の構成例を示すブロック図である。以下、本実施形態(図7)が第1の実施形態(図4)と異なる点を説明する。第2の通信装置902は、受信するバースト101を受信バーストバッファ402に格納すると同時に、MACヘッダ検査部410へ入力する。MACヘッダ検査部410は、第1の実施形態と同様に、HCS検査部412、固定ビット検査部414、長さ整合性検査部416及びCID検査部418を有する。MACヘッダ検査判定部420は、HCS検査部412、固定ビット検査部414、長さ整合性検査部416及びCID検査部418の検査の結果を判定し、合格である場合にはMACヘッダ判定結果を合格とする。合格である場合、MACヘッダ検査判定部420は、合格したMACヘッダ1001のアドレス情報と長さ情報を読み出しアドレス生成部430へ出力する。
【0067】
読み出しアドレス生成部430は、MACヘッダ検査判定部420から受け取ったアドレスと長さから、MACヘッダ1001の長さ分アドレスをインクリメントする。受信バーストバッファ402からは、読み出しアドレス生成部430からの読み出しアドレスに応じた読み出しデータが読み出される。後段ブロック送出部440は、受信バーストバッファ402から読み出されたデータを順次後段ブロックへ送出する。
【0068】
以上のように、受信バーストバッファ402は、MACヘッダ検査部410に入力されるPDU100と同じPDU100を入力してバッファリングする。読み出しアドレス生成部430は、MACヘッダ検査部410の検査が合格した場合に受信バーストバッファ402内の合格したヘッダのPDU100を読み出す。
【0069】
本実施形態によれば、無線通信システムにおいて、PDU100のMACヘッダ1001にエラーが発生した場合には、PDU処理性能を向上させ、さらにエラー発生時の処理レイテンシ増加の抑えることができる。
【0070】
(第3の実施形態)
図8は、本発明の第3の実施形態による第2の通信装置902の構成例を示すブロック図である。本実施形態(図8)は、第2の実施形態(図7)に対して、MACヘッダ検査部410内にMACヘッダ連続合格検査部824を追加したものである。以下、本実施形態(図8)が第2の実施形態(図7)と異なる点を説明する。
【0071】
第2の通信装置902は、受信するバースト101を受信バーストバッファ402に格納すると同時に、MACヘッダ検査部410へ入力する。MACヘッダ検査部410は、第1及び第2の実施形態と同様に、HCS検査部412、固定ビット検査部414、長さ整合性検査部416、及びCID検査部418を有する。MACヘッダ検査判定部420は、HCS検査部412、固定ビット検査部414、長さ整合性検査部416、及びCID検査部418の検査の結果を判定し、合格である場合にはMACヘッダ連続合格検査部824へ合格の結果を通知する。MACヘッダ連続合格検査部824は、合格したMACヘッダ1001におけるPDU長さ(LEN)フィールドが示す次のMACヘッダ1001の位置がMACヘッダ検査合格か否かを判断し、2回以上連続の合格であれば1個目のMACヘッダ1001の判定結果は最終合格となる。最終合格である場合、MACヘッダ連続合格検査部824は、1個目のMACヘッダ1001の先頭アドレス及び長さ情報を読み出しアドレス生成部430に出力する。
【0072】
読み出しアドレス生成部430は、MACヘッダ連続合格検査部824から受け取ったアドレスと長さから、MACヘッダ1001内のPDU長さ(LEN)フィールドの長さ分アドレスをインクリメントしていく。後段ブロック送出部440は、受信バーストバッファ402からの読み出しデータを順次後段ブロックへ送出する。
【0073】
以上のように、MACヘッダ検査部410は、複数のPDU100を有するバースト101を入力し、2個以上のPDU100のMACヘッダ1001が連続して検査に合格した場合に、1個目のPDU100のMACヘッダ1001の検査が合格であると判断する。
【0074】
本実施形態によれば、2個以上のPDU100のMACヘッダ1001の検査を行い、2回以上連続して検査合格となったMACヘッダ101のPDU100のみ後段ブロックへ送出するため、MACヘッダ1001の誤エラー検査確率を低下させることができる。また、図5のステップS510〜S518の処理によりMACヘッダ1001にエラーが発生した場合でも後段におけるPDU100の安全性を確保することができる。
【0075】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0076】
402 受信バーストバッファ
410 MACヘッダ検査部
412 HCS検査部
414 固定ビット検査部
416 長さ整合性検査部
418 CID検査部
420 MACヘッダ検査判定部
430 読み出しアドレス生成部
440 後段ブロック送出部

【特許請求の範囲】
【請求項1】
ヘッダを含むデータユニットを受信し、前記データユニット内のヘッダの検査を行う通信装置であって、
前記ヘッダ内の取り得る値が決められている固定ビットが前記取り得る値になっていることの検査、前記ヘッダ内のデータユニット長さフィールドが最小値以上かつ最大値以下になっていることの検査、又は前記ヘッダ内のコネクション識別子フィールドが取り得る値になっていることの検査を行う検査部を有することを特徴とする通信装置。
【請求項2】
前記検査部は、前記ヘッダ内の固定ビットとして検査可能なフィールドを検査対象とすることを特徴とする請求項1記載の通信装置。
【請求項3】
前記検査部が検査対象とするフィールドは、前記ヘッダ内のリザーブフィールド又は前記ヘッダ内のHTフィールドであって、前記リザーブフィールドが0の固定ビット、又は前記ヘッダ内のHTフィールドが0の固定ビットであることの検査を行うことを特徴とする請求項2記載の通信装置。
【請求項4】
前記検査部は、検査対象とするフィールドは、前記ヘッダ内の6ビットのタイプフィールドであって、前記ヘッダ内の6ビットのタイプフィールドが2進数で、000000、001010、010000、011010又は011100の固定ビットであることの検査を行うことを特徴とする請求項2記載の通信装置。
【請求項5】
前記検査部は、1個以上の前記データユニットを有するバーストを入力し、前記ヘッダ内のデータユニット長さフィールドが前記ヘッダの長さ以上かつ前記バーストの残りの長さ以下であることの検査を行うことを特徴とする請求項1〜4のいずれか1項に記載の通信装置。
【請求項6】
さらに、前記検査部に入力される前記データユニットと同じデータユニットを入力してバッファリングするバッファと、
前記検査部の検査が合格した場合に前記バッファ内の合格したヘッダのデータユニットを読み出す読み出し部とを有することを特徴とする請求項1〜5のいずれか1項の記載の通信装置。
【請求項7】
前記検査部は、複数の前記データユニットを有するバーストを入力し、2個以上の前記データユニットのヘッダが連続して検査に合格した場合に、1個目の前記データユニットのヘッダの検査が合格であると判断することを特徴とする請求項1〜6のいずれか1項に記載の通信装置。
【請求項8】
ヘッダを含むデータユニットを受信し、前記データユニット内のヘッダの検査を行う通信装置であって、
前記ヘッダ内のデータユニット長さフィールドが、前記ヘッダ内の特定の情報領域に基づいて定まる前記データユニットの長さよりも大きいか否かを検査する検査部を有することを特徴とする通信装置。
【請求項9】
ヘッダを含むデータユニットを送信する第1の通信装置と、
前記データユニットを受信し、前記データユニット内のヘッダの検査を行う第2の通信装置とを有し、
前記第2の通信装置は、前記ヘッダ内の取り得る値が決められている固定ビットが前記取り得る値になっていることの検査、前記ヘッダ内のデータユニット長さフィールドが最小値以上かつ最大値以下になっていることの検査、又は前記ヘッダ内のコネクション識別子フィールドが取り得る値になっていることの検査を行う検査部を有することを特徴とする通信システム。
【請求項10】
ヘッダを含むデータユニットを受信し、前記データユニット内のヘッダの検査を行う通信装置の処理方法であって、
前記ヘッダ内の取り得る値が決められている固定ビットが前記取り得る値になっていることの検査、前記ヘッダ内のデータユニット長さフィールドが最小値以上かつ最大値以下になっていることの検査、又は前記ヘッダ内のコネクション識別子フィールドが取り得る値になっていることの検査を行う検査ステップを有することを特徴とする通信装置の処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2011−4172(P2011−4172A)
【公開日】平成23年1月6日(2011.1.6)
【国際特許分類】
【出願番号】特願2009−145687(P2009−145687)
【出願日】平成21年6月18日(2009.6.18)
【出願人】(308014341)富士通セミコンダクター株式会社 (2,507)
【Fターム(参考)】