スポンサーリンク

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

巡回冗長検査(CRC: Cyclic Redundancy Check)とは、データ転送中に発生した偶然の誤りを検出するための数学的手法です。送信側がデータから生成した「CRC値(チェックサム)」を付加して送信し、受信側が同じ計算を行い、受信データが正しいかどうかを照合します。もし計算結果が一致しなければ、データの破損やエラーが検出されます。 

仕組み 

  • 送信側: 送信するデータに、決められた多項式で割り算をした「余り」をCRC値として付加します。この余りをデータに含めると、全体のデータは割り切れるようになります。
  • 受信側: 送られてきたデータを、送信側と同じ多項式で割り算します。
    • 余りが「000」であれば、データは正しく転送されたと判断できます。
    • 余りが「000」以外であれば、データの転送中にエラーが発生したと検出されます。 

特徴 

  • 高精度なエラー検出: 単純なチェックサムよりも検出精度が高く、複数のビット誤りも検出できます。
  • 訂正機能はない: CRCは誤りを「検出」するだけで、「訂正」する機能はありません。エラーが検出された場合、受信側はデータを破棄し、送信側に再送を要求します。
  • 誤りの原因: 主に、データの書き込み・読み込み時の物理的なエラーや、データ転送時のノイズなどによって発生します。HDD、SSD、USBメモリ、DVDなどで「CRCエラー」として表示されることがあります。 

コメント