スポンサーリンク

【応用情報技術者試験】CRC

巡回冗長検査(CRC: Cyclic Redundancy Check)とは、データ通信や保存時に、送信データが正しく送受信・保存されたかを検出するための技術です。送信側がデータから計算した「CRC値」という付加情報と、受信側が同じデータに対して再計算したCRC値が一致するかを照合することでエラーを検出します。 

CRCの仕組み

  • 送信側:送信するデータに、特定の「生成多項式」と呼ばれる数式を用いて除算を行い、その「余り」をCRC値(検査データ)として付加し、データと共に送信します。
  • 受信側:送られてきたデータからCRC値を分離し、残りのデータに対して送信側と同じ生成多項式で割り算を行います。
  • 照合:割り算で得られた余り(受信側で再計算したCRC値)が、送信側から送られてきたCRC値と一致すれば、データにエラーはなかったと判断します。一致しない場合はエラーが発生したと判断し、再送を要求するなどして対応します。 

CRCの特徴

  • 高い検出精度:単純なチェックサムと比較して、ランダムなビット誤りやバースト誤り(連続したビットの誤り)の検出精度が高いです。
  • エラー訂正機能はない:CRCはあくまでもエラーを「検出」するものであり、「訂正」する機能はありません。
  • 用途:HDLCなどの通信手順、CSMA/CD方式、イーサネット、ZIPやPNGといったデータ形式など、幅広い分野で使われています。
  • CRCエラー:CRC機能によってエラーが検出されると、一般的に「CRCエラー」と表示されます。これは、データが破損している可能性が高く、その原因が物理的な障害であることも多いとされています。

コメント