(57)【要約】【課題】  ＣＲＣによるエラー検知では問題は無いがＨＤＬＣプロトコル違反に相当するパケットの再送要求を可能にする。【解決手段】  ＣＲＣによるエラー検出に先立ち、ＨＤＬＣプロトコルの「０」挿入違反の検出を行う。具体的にはエンドフラグ直前の５ビットが「０」削除前に「１１１１１」であれば、本来最終ビット後に「０」を挿入されるべきものであるが、この処理がなされていないため、ＨＤＬＣ規定違反であることが判明する。【選択図】  図１
2005072950.tif 000002
【特許請求の範囲】
【請求項１】
受信回路、ＦＣＳ比較回路、フラグ検出回路及びＦＣＳ監視回路を含むＨＤＬＣ（ハイレベルデータリンクコントロール）プロトコルに基づくデータ（ＨＤＬＣデータ）を受信するＨＤＬＣ受信回路であって、
前記フラグ検出回路はＨＤＬＣデータのスタートフラグ以降の受信処理を前記受信回路及び前記ＦＣＳ監視回路に通知し、
前記受信回路はＨＤＬＣプロトコルに基づき前記ＨＤＬＣデータから「０」除去を行った後アドレス部、制御部、ＦＣＳ及び実データを抽出しＣＲＣ（サイクリックリダンダンシーチェック）符号処理を行い、
前記ＦＣＳ比較回路は前記受信回路によって得られた前記ＨＤＬＣデータの前記ＦＣＳの値に基づいてＣＲＣエラーの有無を判断し、
前記ＦＣＳ監視回路はエンドフラグ直前のデータ列の並びがＨＤＬＣプロトコルに反しているか否かでＨＤＬＣエラーの有無を確認することを特徴とするＨＤＬＣ受信回路。
【請求項２】
前記ＦＣＳ監視回路は前記エンドフラグ直前のデータ列の並びが「１１１１１」であるか否かでＨＤＬＣプロトコルに反するか否かを判断することを特徴とする請求項１記載のＨＤＬＣ受信回路。
【請求項３】
更に制御回路を含み、
前記制御回路は、前記ＣＲＣエラー若しくは前記ＨＤＬＣエラーのいずれかが生じている場合には再送要求を行うことを特徴とする請求項１又は２記載のＨＤＬＣ受信回路。
【請求項４】
受信回路、ＦＣＳ比較回路、フラグ検出回路、ビット数カウント回路、「０」挿入回路及びデータ数比較回路を含むＨＤＬＣデータを受信するＨＤＬＣ受信回路であって、
前記フラグ検出回路はＨＤＬＣデータのスタートフラグ以降の受信処理を前記受信回路及び前記ＦＣＳ監視回路に通知し、
前記受信回路はＨＤＬＣプロトコルに基づき「０」除去を行った後アドレス部、制御部、ＦＣＳ及び実データを抽出しＣＲＣ（サイクリックリダンダンシーチェック）符号処理を行い、
前記ビット数カウント回路は「０」除去前のＨＤＬＣデータのビット数をカウントし、
前記「０」挿入回路は「０」除去を行った後のＨＤＬＣデータに再度ＨＤＬＣプロトコルに基づき「０」挿入を行い「０」挿入後のデータのビット数をカウントし、
前記データ数比較回路は前記ビット数カウント回路のカウント結果と前記「０」挿入回路のカウント結果を対比し、ＨＤＬＣエラーの有無を確認することを特徴とするＨＤＬＣ受信回路。
【請求項５】
更に制御回路を含み、
前記制御回路は前記ＣＲＣエラー若しくは前記ＨＤＬＣエラーのいずれかが生じている場合には再送要求を行うことを特徴とする請求項４記載のＨＤＬＣ受信回路。
【請求項６】
受信回路、ＦＣＳ比較回路、フラグ検出回路及びＦＣＳ監視回路を含むフレームリレープロトコルに基づくデータ（フレームリレーデータ）を受信するフレームリレー受信回路であって、
前記フラグ検出回路はフレームリレーデータのスタートフラグ以降の受信処理を前記受信回路及び前記ＦＣＳ監視回路に通知し、
前記受信回路はフレームリレープロトコルに基づき「０」除去を行った後アドレス部、制御部、ＦＣＳ及び実データを抽出しＣＲＣ（サイクリックリダンダンシーチェック）符号処理を行い、
前記ＦＣＳ比較回路は前記受信回路によって得られたデータの剰余多項式が前記ＦＣＳの値に基づいてＣＲＣエラーの有無を判断し、
前記ＦＣＳ監視回路はエンドフラグ直前のデータ列の並びがフレームリレープロトコルに反しているか否かでフレームリレーエラーの有無を確認することを特徴とするフレームリレー受信回路。
【請求項７】
前記ＦＣＳ監視回路は前記エンドフラグ直前のデータ列の並びが「１１１１１」であるか否かでフレームリレープロトコルに反しないか否かを判断することを特徴とする請求項１記載のフレームリレー受信回路。
【請求項８】
更に制御回路を含み、
前記制御回路は、前記ＣＲＣエラー若しくは前記フレームリレーエラーのいずれかが生じている場合には受信したフレームリレーデータの破棄を行うことを特徴とする請求項６又は７記載のフレームリレー受信回路。
【請求項９】
受信回路、ＦＣＳ比較回路、フラグ検出回路、ビット数カウント回路、「０」挿入回路及びデータ数比較回路を含むフレームリレーデータを受信するフレームリレー受信回路であって、
前記フラグ検出回路はフレームリレーデータのスタートフラグ以降の受信処理を前記受信回路及び前記ＦＣＳ監視回路に通知し、
前記受信回路はフレームリレープロトコルに基づき「０」除去を行った後アドレス部、制御部、ＦＣＳ及び実データを抽出しＣＲＣ（サイクリックリダンダンシーチェック）符号処理を行い、
前記ビット数カウント回路は「０」除去前のフレームリレーデータのビット数をカウントし、
前記「０」挿入回路は「０」除去を行った後のフレームリレーデータに再度フレームリレープロトコルに基づき「０」挿入を行い「０」挿入後のデータのビット数をカウントし、
前記データ数比較回路は前記ビット数カウント回路のカウント結果と前記「０」挿入回路のカウント結果を対比し、フレームリレーエラーの有無を確認することを特徴とするフレームリレー受信回路。
【請求項１０】
更に制御回路を含み、
前期制御回路は前記ＣＲＣエラー若しくは前記フレームリレーエラーのいずれかが生じている場合には受信したデータの破棄を行うことを特徴とする請求項９記載のフレームリレー受信回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データリンク層の通信プロトコルであるＨＤＬＣ（ハイレベルデータリンクコントロール）及びフレームリレーの誤り訂正に用いるＦＣＳ（フレームチェックシーケンス）のエラー制御に関する。
【背景技術】
【０００２】
情報ネットワークの構成を模式化したものにＯＳＩの７階層モデルがある。この階層で直接接続された端末相互でのデータのやり取りを行うデータリンク層のプロトコルの一種としてＸ．２５で用いられるＨＤＬＣ（ハイレベルデータリンクコントロール）とフレームリレーが規定されている。
【０００３】
図６はＨＤＬＣのメッセージ形式を表す図でデータ構成図である。
【０００４】
ＨＤＬＣデータ１００はスタートフラグ１０１、アドレス１０２、制御部１０３、実データ１０４、ＦＣＳ（フレームチェックシーケンス）１０５及びエンドフラグ１０６から構成される。
【０００５】
ＨＤＬＣではフラグシーケンスを用いてデータの開始、終了を識別する。すなわち、「０１１１１１１０」で表されるスタートフラグ１０１でデータが開始され、同じく「０１１１１１１０」のビット列であるエンドフラグ１０６でデータの終了が表される。スタートフラグ１０１とエンドフラグ１０６の間にアドレス１０２、制御部１０３、ＦＣＳ１０５と併せてネットワーク層以上で用いられる実データ１０４が格納されてフレームが構成される。従って、スタートフラグ１０１からエンドフラグ１０６の間に「０１１１１１１０」というビット列が発生することは許さない。よって、アドレス１０２、制御部１０３、実データ１０４、ＦＣＳ１０５の中で「１」が５つ連続すると、強制的に「０」が挿入されるようＨＤＬＣプロトコルでは規定されている（「０」挿入除去）。
【０００６】
制御部１０３は原則８ビットのデータであり、フレームの種類（情報フレーム、監視フレーム、非番号制フレーム）によって構成が異なる。従って、制御部１０３には該フレームがどの種類かを表す制御情報とモジュロによる送信順序番号（情報フレーム）若しくはコマンドの種別（監視フレーム、非番号制フレーム）、そしてレスポンスを要求するか否かを表すＰＯＬＬ／ＦＩＮＡＬビットが含まれている。この、送信順序番号の存在が相手側端末からのＡＣＫを待たずにデータの送信することが可能と言うベーシック手順と大きく異なる特徴をＨＤＬＣに与えている。なお送信順序番号はモジュロ表記であり、通常は「８」で割った余りが用いられるが、衛星通信などでは除数として「１２８」が用いられることもある。
【０００７】
図７は従来のＨＤＬＣフレームを受信時の処理の一例を表すフローチャートである。ＨＤＬＣの処理で一般的に行われている処理と併せて本図によって説明する。
【０００８】
データの受信をした際に、スタートフラグ１０１を検知すると（ステップ９０１）、エンドフラグの認識がなされるまで（ステップ９０２）、以後のデータをバッファに記録する（ステップ９０３）。この際、いわゆる「０」挿入がなされている「1」が５つ連続した後の「０」ビットは削除する「０」削除処理も併せて行う（ステップ９０４）。このバッファへの記録に際し、スタートフラグとエンドフラグは記録の対象から除外するのが一般的である。記録対象のデータ量の低減の為である。従って、ここではスタートフラグとエンドフラグを記録の対象としない前提で話を進める。
【０００９】
バッファにデータの格納が終了すると、先頭８ビットのアドレス部のデータを抽出し（ステップ９０５）、自身へ送信されたデータか否かを判定する（ステップ９０６）。この際、自身に送信されたデータで無ければ、バッファに格納されたデータは破棄される。
【００１０】
自身宛のデータであれば、ＦＣＳ部１０５の値を抽出する。ＨＤＬＣにおいてはフレーム単位でデータのやり取りを行っており、受け取ったフレームに何がしかの理由でエラーが含まれている場合にはデータの送信元に対して再送要求を掛けることになる。ＨＤＬＣプロトコルでは誤り検出に巡回検査符号（以下ＣＲＣ）が用いられている。これにより、同じデータリンク層のプロトコルであるベーシック手順より強力な誤り検出・訂正が可能になっていることがＨＤＬＣプロトコルの特徴である。
【００１１】
ＣＲＣ自体は送信データを送信側・受信側共通の生成多項式で除算した「余り」を表す剰余多項式を求め、送信データ末尾に導出した剰余多項式を添付してデータを送信し、受信側でデータの誤りを確認する方式である。ＦＣＳ部１０５はこの剰余多項式を表しており、送信元で剰余多項式の導出を行った後、実データ１０４の末尾に添付されたものである。
【００１２】
受信側は受信したデータのアドレス部１０２、情報部１０３及び実データ１０４を生成多項式で除算した余りをＦＣＳ部１０５と対比する（ステップ９０７）。なおＨＤＬＣで用いられている生成多項式はＩＴＵ−Ｔで標準化された１６ビット長のＣＲＣ−１６が用いられることが多いが、３２ビット長のものを用いても良い。
【００１３】
除算の余りとＦＣＳ部１０５の値が一致すれば（ステップ９０８：Ｎｏ）、受信データに誤りなしとして上位層での処理及び送信元へのレスポンスの準備を行う。一方、一致しなければ（ステップ９０８：Ｙｅｓ）、不正なデータを受信したとして送信元に再送要求を行う（監視フレームのＲＥＪコマンドなど）。
【００１４】
このフレームの再送に付いては各種方式が存在する。標準的なＨＤＬＣ仕様では、再送要求した送信順序番号以降のフレームの要求を行うＲＥＪコマンド及び要求した送信順序番号のみのフレームの要求を行うＳＲＥＪコマンドが採用されている。これに対し、特開平０８−０９７８８０号公報及び特開２０００−０８３０１２号においては再送要求をある一定の範囲の送信順序番号を持つフレームに限定してその範囲のフレームの再送を行う技術が記載されている。
【００１５】
【特許文献１】特開平０８−０９７８８０号公報
【特許文献２】特開２０００−０８３０１２号公報
【非特許文献１】ＪＩＳ  Ｘ５１０４（ＩＳＯ  ３３０９）
【発明の開示】
【発明が解決しようとする課題】
【００１６】
上記文献はＣＲＣの適否によってのみフレームの正誤を判断している。一般的な場合においてはこの判断手法で十分である。
【００１７】
しかし、エンドフラグ直前のＦＣＳ１０５の末尾に「１」が５つ並んでいると、本来は「・・・１１１１１００１１１１１１０」とのビット並びになるべきところが雑音等によるランダム誤りによって「・・・１１１１１０１１１１１１０」になる可能性がある。そして、掛かる場合は、本来的にはＨＤＬＣ規定違反となるべきはずなのだが、除去すべき「０」が無い為復元されるＦＣＳ１０５の値は正常なままとなり、ＣＲＣの処理が適式になされる可能性がある。
【００１８】
本発明は掛かる問題を解決する為のものであり、ＦＣＳ部１０５末尾に生じたランダム誤りによってＣＲＣエラーが生じないがＨＤＬＣ規定違反となる場合に、エラーとして処理可能な回路を提供することにある。
【課題を解決するための手段】
【００１９】
本発明に係わるＨＤＬＣ受信回路は、受信回路、ＦＣＳ比較回路、フラグ検出回路及びＦＣＳ監視回路を含み、前記フラグ検出回路はＨＤＬＣデータのスタートフラグ以降の受信処理を前記受信回路及び前記ＦＣＳ監視回路に通知し、前記受信回路はＨＤＬＣプロトコルに基づきＨＤＬＣデータから「０」除去を行った後アドレス部、制御部、ＦＣＳ及び実データを抽出しＣＲＣ（サイクリックリダンダンシーチェック）符号処理を行い、前記ＦＣＳ比較回路は前記受信回路によって得られた前記ＨＤＬＣデータの前記ＦＣＳの値と剰余多項式から求めた値が一致するかによってＣＲＣエラーの有無を判断し、前記ＦＣＳ監視回路はエンドフラグ直前のデータ列の並びがＨＤＬＣプロトコルに反しているか否かでＨＤＬＣエラーの有無を確認することを特徴とする。
【００２０】
また、前記ＦＣＳ監視回路は前記エンドフラグ直前のデータ列の並びが「１１１１１」であるか否かでＨＤＬＣプロトコルに反するか否かを判断することも可能である。
【００２１】
更に上述のＨＤＬＣ受信回路は制御部を含み、前記ＣＲＣエラー若しくはＨＤＬＣエラーのいずれかが生じている場合には再送要求を行うことを特徴とする。
【００２２】
加えて本発明に係わるＨＤＬＣ受信回路は受信回路、ＦＣＳ比較回路、フラグ検出回路、ビット数カウント回路、「０」挿入回路及びデータ数比較回路を含み、前記フラグ検出回路はＨＤＬＣデータのスタートフラグ以降の受信処理を前記受信回路及び前記ＦＣＳ監視回路に通知し、前記受信回路はＨＤＬＣプロトコルに基づき「０」除去を行った後アドレス部、制御部、ＦＣＳ及び実データを抽出しＣＲＣ（サイクリックリダンダンシーチェック）符号処理を行い、前記ビット数カウント回路は「０」除去前のＨＤＬＣデータのビット数をカウントし、前記「０」挿入回路は「０」除去を行った後のＨＤＬＣデータに再度ＨＤＬＣプロトコルに基づき「０」挿入を行い「０」挿入後のデータのビット数をカウントし、前記データ数比較回路は前記ビット数カウント回路のカウント結果と前記「０」挿入回路のカウント結果を対比し、ＨＤＬＣエラーの有無を確認することを特徴とする。
【００２３】
更に本発明に係わるＨＤＬＣ受信回路は制御部を含み、前記ＣＲＣエラー若しくはＨＤＬＣエラーのいずれかが生じている場合には再送要求を行うことを特徴とする。
【００２４】
本発明に係わるフレームリレー受信回路は、受信回路、ＦＣＳ比較回路、フラグ検出回路及びＦＣＳ監視回路を含み、前記フラグ検出回路はフレームリレーデータのスタートフラグ以降の受信処理を前記受信回路及び前記ＦＣＳ監視回路に通知し、前記受信回路はフレームリレープロトコルに基づき「０」除去を行った後アドレス部、制御部、ＦＣＳ及び実データを抽出しＣＲＣ（サイクリックリダンダンシーチェック）符号処理を行い、
前記ＦＣＳ比較回路は前記受信回路によって得られたデータの剰余多項式が前記ＦＣＳの値と一致によってＣＲＣエラーの有無を判断し、前記ＦＣＳ監視回路はエンドフラグ直前のデータ列の並びがフレームリレープロトコルに反しているか否かでフレームリレーエラーの有無を確認することを特徴とする。
【００２５】
加えて、前記ＦＣＳ監視回路は前記エンドフラグ直前のデータ列の並びが「１１１１１」であるか否かでフレームリレープロトコルに反しないか否かを判断することが可能である。
【００２６】
更に制御部を含み、前記ＣＲＣエラー若しくはフレームリレーエラーのいずれかが生じている場合には受信したフレームリレーデータの破棄を行うことにしても良い。
【００２７】
また、本発明に係わる別のフレームリレー受信回路は、受信回路、ＦＣＳ比較回路、フラグ検出回路、ビット数カウント回路、「０」挿入回路及びデータ数比較回路を含み、前記フラグ検出回路はフレームリレーデータのスタートフラグ以降の受信処理を前記受信回路及び前記ＦＣＳ監視回路に通知し、前記受信回路はフレームリレープロトコルに基づき「０」除去を行った後アドレス部、制御部、ＦＣＳ及び実データを抽出しＣＲＣ（サイクリックリダンダンシーチェック）符号処理を行い、前記ビット数カウント回路は「０」除去前のフレームリレーデータのビット数をカウントし、前記「０」挿入回路は「０」除去を行った後のフレームリレーデータに再度フレームリレープロトコルに基づき「０」挿入を行い「０」挿入後のデータのビット数をカウントし、前記データ数比較回路は前記ビット数カウント回路のカウント結果と前記「０」挿入回路のカウント結果を対比し、フレームリレーエラーの有無を確認することを特徴とする。
【００２８】
更に、上記フレームリレー受信回路は更に制御部を含み、前記制御部は前記ＣＲＣエラー若しくはフレームリレーエラーのいずれかが生じている場合には受信したデータの破棄を行うことも可能である。
【発明の効果】
【００２９】
下記の構成を取ることにより、以下の効果を発揮する。
【００３０】
すなわち、ＣＲＣのデータの正誤のみならず、ＨＤＬＣプロトコル若しくはフレームリレープロトコルの「０」挿入に関する規定が守られているか否かを判定することにより、より正確なデータの送受信を可能とする。
【００３１】
また、結果として誤りが無かったものであっても、その信頼性に疑義があるデータに付いては再送要求を行うことで、受信したデータの信頼性を維持し、上位層における負荷の軽減を図ることが可能となる。
【発明を実施するための最良の形態】
【００３２】
図１は本発明の第１の実施形態に係わるＨＤＬＣ受信回路の構成を表すブロック図である。このＨＤＬＣ受信回路はＣＰＵ１、受信回路２、ＦＣＳ比較回路３、フラグ検出回路４及びＦＣＳ監視回路５から構成されている。また受信回路２は「０」除去回路２１とＣＲＣ演算回路２２から構成されている。
【００３３】
ＣＰＵ（制御回路）1は受信したＨＤＬＣデータが正常なものであればネットワーク層以降の処理の為のデータの加工及びネットワーク層以降の処理自体を行うブロックである。また、本実施例においてはＨＤＬＣによる送信処理も行っているものとする。なおＣＰＵ１は代替えが効くのであればＤＳＰ等を用いても良い。
【００３４】
受信回路２は物理層によって受信されたＨＤＬＣデータからアドレス、制御部、ＦＣＳ及び実データを抽出し、「０」除去を行い、ＨＤＬＣ規定を遵守しているか及びＦＣＳを用いてデータに誤りが含まれているかを検討するブロックである。
【００３５】
「０」除去回路２１はアドレス１０２、制御部１０３、実データ１０４及びＦＣＳ（フレームチェックシーケンス）１０５中の「１」が５つ連続した次の「０」を削除するブロックである。
【００３６】
ＣＲＣ演算回路２２は「０」除去後のアドレス１０２、制御部１０３及び実データ１０４を生成多項式で割るブロックである。2進数の除算回路はシフトレジスタで生成できる為、非常にシンプルな構成で実現可能である。
【００３７】
ＦＣＳ比較回路３はＣＲＣ演算回路２２の計算結果とＦＣＳ１０５を対比するブロックである。受け取ったデータに誤りが無ければＣＲＣ演算回路２２の計算結果とＦＣＳ１０５は一致する。
【００３８】
フラグ検出回路４は、スタートフラグ１０１を表すビット列「０１１１１１１０」を検出し、検出結果を受信回路２及びＦＣＳ監視回路５に通知するブロックである。受信回路２はこの通知をトリガとして動作の開始・停止を行う。
【００３９】
ＦＣＳ監視回路５は、エンドフラグ１０６直前の５ビット、即ちＦＣＳ１０５の末尾5ビットをチェックするブロックである。ＲＸＣＬＫをトリガとしてＲＸＤのデータをラッチする５ビット分のシフトレジスタを用意し、フラグ検出回路４からの信号を受け取った際にレジスタがすべて１になっていればＣＰＵ１にＨＤＬＣ規定違反を通知する構成が簡単ではあるが、構成はこれに限られるものではない。
【００４０】
次に、このＨＤＬＣ受信回路を用いてどのような処理が行われるかを図２及び図３を使って説明する。
【００４１】
図２は本発明で検知することが予定されている不正ＨＤＬＣデータ２００のデータ構造を表している。図6と図２が相違するのは、不正ＦＣＳ部２０５が含まれている点である。本発明で検知することが予定されている不正ＦＣＳ２０５はその末尾に「１」が５つ並び、その後に本来挿入される「０」がないデータを有する。従って、受信したデータは本来的にはＨＤＬＣ規定に反しているのだが、本来挿入されていて削除の対象となる「０」が存在しないだけであり、ＣＲＣによるデータの検証は行えてしまう可能性のあるデータである。
【００４２】
この不正ＨＤＬＣデータ２００を本発明の第1の実施の形態でどのように取り扱うかを表したものが図３記載のフローチャートである。このフローチャートを元に本発明の実施の処理を説明する。
【００４３】
フラグ検出回路４がスタートフラグ１０１を検知して（ステップ３０１）、データの受信を確認すると、ＦＣＳ監視回路５がエンドフラグ１０６を検知するまで（ステップ３０２）受信データをキャッシュする（ステップ３０３）。この際、本発明の実施の形態においてはスタートフラグ１０１とエンドフラグ１０６はキャッシュの対象としないものとする。
【００４４】
データのキャッシュが終了すると、キャッシュしたデータの末尾５ビットを抽出する（ステップ３０４）。抽出した５ビットの並びが「１１１１１」であれば（ステップ３０５：Ｙｅｓ）、ＨＤＬＣ規定違反としてその旨記録する（ステップ３０６）。
【００４５】
ＨＤＬＣ規定違反の有無に係わらず、「０」除去回路２１がキャッシュしたデータの「０」削除を実施し（ステップ３０７）、ＣＰＵ１がアドレス部１０２及び制御部１０３を抽出する（ステップ３０８）。受信したデータが自身宛のものでないことをＣＰＵ１によって抽出されたアドレス部１０２によって確認されると（ステップ３０８：Ｎｏ）、ＣＰＵ１によってキャッシュしたデータは破棄されて処理が終了する。
【００４６】
自分宛のデータであれば（ステップ３０８：Ｙｅｓ）、ステップ３０５で確認したＨＤＬＣ規定違反の有無をＣＰＵ１が確認し（ステップ３０９）、ＨＤＬＣプロトコル違反があれば（ステップ３０９：Ｙｅｓ）、送信元に再送要求を行う。また、ＨＤＬＣプロトコル違反がなければ（ステップ３０９：Ｎｏ）、ＦＣＳ部１０５とＣＲＣ演算回路２２が導出した剰余多項式をＦＣＳ比較回路３が対比し（ステップ３１０）、ＣＲＣエラーがあるか否かを検討する（ステップ３１１）。ＣＲＣエラーがあればＣＰＵ１が再送要求を行い、誤りがなければ受信完了処理を行う。なおＣＲＣエラーの有無の判断に付いては図７と同様なので、ここでは割愛する。
【００４７】
以上のようにＣＲＣエラーに係わらずＨＤＬＣプロトコル違反か否かの監視を行い、ＨＤＬＣ規定違反の場合には受信したデータを破棄し、送信元に再送要求を行うことができ、より信頼性の高いデータの送受信を行うことが可能になる。
【００４８】
次に本発明の第二の実施の形態について図４及び図５に基づき説明する。対象となる不正データは図２と同様であるが、それの適否についての判断方法が第１の実施の形態と相違する。
【００４９】
図４は本発明の第二の実施の形態を適用したＨＤＬＣ受信回路の構成を表すブロック図である。このＨＤＬＣ受信回路はＣＰＵ１、受信回路２、ＦＣＳ比較回路３、フラグ検出回路４、ビット数カウント回路７、「０」挿入回路８、データ数比較回路９から構成されている。以下、これらの構成要素の説明を行うが、図２と同様の機能を発揮する構成についての説明は省略する。
【００５０】
ビット数カウント回路７は、受信したデータのビット数をカウントする回路である。スタートフラグ１０１とエンドフラグ１０６のビット数は固定である（各８ビット）であるため、総ビット数を導出できれば、自ずと「０」挿入の対象となるデータのビット数が導出可能になる。なお、本実施例においてはＦＣＳ監視回路５同様エンドフラグ１０６を検出することによってビット数のカウントを終了する。
【００５１】
「０」挿入回路８は、一旦「０」除去回路２１で「０」を除去したデータを再度ＨＤＬＣプロトコルに基づき「０」を挿入する回路である。正常なデータであれば、「０」除去回路２１で「０」除去される前のデータ長と「０」挿入回路８で「０」を挿入した後のデータ長が同一になるはずである。このデータ長が同一であるか否かを検討するのがデータ数比較回路９である。
【００５２】
データ数比較回路９は、ビット数カウント回路７のカウント結果と「０」挿入回路８処理後のデータのビット数を対比する回路である。双方が同数であれば、受信したデータはＨＤＬＣプロトコルに則ったデータであり、誤りは無かったと判別できる。一方、双方の値が異なれば、受信したデータはＨＤＬＣプロトコルに則っていないデータであり、その真偽が疑わしいと言うことができる。
【００５３】
図５は上記不正ＨＤＬＣデータ２００を本発明の第２の実施の形態でどのように取り扱うかを表したフローチャートである。これに基づき図４で表したＨＤＬＣ受信回路がどのような動作を行うかを説明する。
【００５４】
フラグ検出回路４がスタートフラグ１０１を検知して（ステップ５０１）、データの受信を確認するとエンドフラグ１０６を検知するまで（ステップ５０２）、受信データを図示しないメモリにキャッシュする（ステップ５０３）。スタートフラグ１０１の検知に伴い、フラグ検出回路４はビット数カウント回路７に受信データのビット数をカウントする信号を出力する。
【００５５】
受信データのエンドフラグ１０６を受信すると、ビット数カウント回路７が受信したデータのビット数のカウントを終了する（ステップ５０４）。このカウントの対象にスタートフラグ１０１、エンドフラグ１０６を含めるか否かは設計事項であるが、ここではスタートフラグ１０１及びエンドフラグ１０６は記録しないものとする。
【００５６】
データのキャッシュが終了すれば、スタートフラグ１０１及びエンドフラグ１０６を除いたデータから「０」除去回路２１が「０」除去処理を行い（ステップ５０５）、ＣＰＵ１が図示しないメモリに記録する。この際、メモリに記録するためにＣＰＵ１にも「０」除去処理後のデータを「０」挿入回路８にも出力される。
【００５７】
次に、「０」除去後のデータに、「０」挿入回路８が再度ＨＤＬＣプロトコルに基づく「０」挿入を行い（ステップ５０６）、ビット数がどの程度になるかをカウントする（ステップ５０７）。この際、再挿入後のデータのビット数が問題になるのであって、データ自体は再利用する予定は無いので、メモリに保存しても保存しなくても構わない。
【００５８】
ステップ５０４のカウント結果並びにステップ５０７のカウント結果はいずれもデータ数比較回路９に出力され、データ数比較回路９において、その値が等しいか否かを判断する（ステップ５０８）。値が異なれば（ステップ５０８：Ｎｏ）、ＨＤＬＣエラーがある旨ＣＰＵ１が記憶する（ステップ５０９）。
【００５９】
その後、メモリに記録した「０」除去後のデータからアドレス部１０２及び制御部１０３を抽出し（ステップ５１０）、自分宛のデータか否かをＣＰＵ１が確認する（ステップ５１０）。自分宛のデータでなければ（ステップ５１１：Ｎｏ）、受信したデータを破棄し、処理を終了する。一方受信したデータが自分宛のデータであれば（ステップ５１１：Ｙｅｓ）、ＣＲＣ演算回路２２による剰余多項式の導出及びＦＣＳ比較回路３による剰余多項式とＦＣＳの対比を行いＣＰＵ１に結果を通知する（ステップ５１２）。ＣＲＣエラー若しくはＨＤＬＣプロトコルエラーがあるなら（ステップ５１３：Ｙｅｓ）ＣＰＵ１が再送要求を行い、エラーが存在しなければ受信処理を完了し、より上位の階層による処理を実行する。
【００６０】
なお、上記事例ではＨＤＬＣプロトコルでの適用のみを説明したが、ほぼ同一のフレーム構成を持ち、同じＣＲＣ誤り検出を行うフレームリレーに対しても適用可能である。この際には、上述のアドレス部１０２及び制御部１０３を適宜読み代えて対応する。また、フレームリレーには再送処理は存在しないので、図３及び図５の再送要求はデータの破棄となる。
【産業上の利用可能性】
【００６１】
本発明はＨＤＬＣプロトコル及びＨＤＬＣプロトコルをデータリンク層として含むＸ．２５パケット交換プロトコルに準拠する機器やフレームリレー網への接続を予定する機器への使用が想定される。例えば、ＩＳＤＮルータやフレームリレー交換機などである。
【図面の簡単な説明】
【００６２】
【図１】本発明の第1の実施例であるＨＤＬＣデータ受信回路の構成を表すブロック図である。
【図２】本発明が検索対象とするＨＤＬＣエラーデータの構造を表す構成図である。
【図３】本発明の第1の実施例であるＨＤＬＣデータ受信回路の処理を表すフローチャートである。
【図４】本発明の第２の実施例であるＨＤＬＣデータ受信回路の構成を表すブロック図である。
【図５】本発明の第２の実施例であるＨＤＬＣデータ受信回路の処理を表すフローチャートである。
【図６】正常なＨＤＬＣデータの構造を表す構成図である。
【図７】従来のＨＤＬＣデータ受信回路の処理を表すフローチャートである。
【符号の説明】
【００６３】
１      ＣＰＵ（制御回路）
２      受信回路
３      ＦＣＳ比較回路
４      フラグ検出回路
５      ＦＣＳ監視回路
７      ビット数カウント回路
８      「０」挿入回路
９      データ数比較回路
１００  ＨＤＬＣパケット
【図１】
2005072950.tif 000003
【図２】
2005072950.tif 000004
【図３】
2005072950.tif 000005
【図４】
2005072950.tif 000006
【図５】
2005072950.tif 000007
【図６】
2005072950.tif 000008
【図７】
2005072950.tif 000009