このページでは、CRCの機能や利用法について解説します。
CRCは、Cyclic Redundancy Check(巡回冗長検査)の略で、データの誤り
を検出する(データが壊れていないか調べる)仕組みの一つです。現在、通
信やデバイスなどの分野で広く利用されています。
このCRCは、インターネットからファイルをダウンロードした時に、ファイルが
破損していないか調べるためにも利用されます。
※CRCには、破損したファイルを修復・復元する機能はありません。
詳細情報
データが壊れた場合に備える技術は、大きく分けて「誤り検出」と「誤り訂正」
の2つの方式があります。
誤り検出方式は、単純にデータが壊れていないかだけを調べます。壊れた
データを復元する機能はありません。元データにわずかな誤り検出用データ
を付加するだけで利用できるのが特徴。
誤り訂正方式は、データが壊れていないか調べて、もし壊れていたらそのデ
ータを復元する機能があります。ただし、元データに一定量の誤り訂正用デ
ータを付加する必要があるため、データ量が増えます。
CRCは、誤り検出方式の一つです。データの誤りは検出できても訂正は出
来ません。つまり、データが壊れていないか調べることはできても、修復・復
元はできない訳です。
|
ここでは、インターネットからファイルをダウンロードした際の破損確認と いう目的に限定して、CRCの仕組みを説明します。 |
CRCは、具体的にはファイルからCRCコードを生成して利用されます。
(CRCコードの生成方法は後の項目で紹介。)
このCRCコードは、同一のファイルからは必ず同じコードが生成され、1バイ
トでもデータが異なると全く別のコードが生成されるという特徴があります。
この特徴を利用して、元ファイルから生成されたCRCコードと、ダウンロード
後のファイルから生成されたCRCコードを比較することで、正常にダウンロ
ードできたか、ファイルが壊れていないか調べることが出来ます。
CRCコードが一致する場合
以下の図のように、元データから生成したCRCコード「5A7F」とDL後データ
から生成したCRCコード「5A7F」が一致する場合は、完全に同一のファイル
であることが分かります。つまり、データの破損がなく正常なファイルがダウ
ンロード出来たことが確認できます。
CRCコードが一致しない場合
以下の図のように、元データから生成したCRCコード「5A7F」とDL後データ
から生成したCRCコード「D83C」が一致しない場合は、同一のファイルでない
ことが分かります。つまり、データの破損などが原因でファイルのダウンロー
ドに失敗したことが確認できます。
ファイルのダウンロード、解凍・連結などでは、複数ファイルのCRCコードを
まとめたCRCリストが良く利用されます。
CRCリストは、拡張子がCRC又はTXTのファイルです。中身はテキスト形式
で以下のように記述されます。「6AE3」「B22F」などの文字列がCRCコード。
Name CRC Bytes --------- ---- ------- file1.zip 6AE3 103,697 file2.zip B22F 161,704 file3.zip 9A3F 113,233 file4.zip 84EC 128,356 file5.zip CD69 152,538 ---------------------- Total 5 Files 659,528 Bytes |
CRCリストを利用すれば、大きいファイルを沢山ダウンロードするような場合
でも、ファイルが破損していないか調べることができるため便利です。
「ダウンロードリスト+CRCリスト」という組み合わせで利用されることが多い
です。
ここではCRCリストを利用して、ファイルが破損していないかチェックする方
法を紹介します。
ダウンロード時にCRCをチェック
ダウンロード支援ソフトのIriaとIrvineは、CRCリストの読み込みに対応してい
ます。メニューバーの「ファイル」→「インポート」→「CRCリスト」から読み込み
ます。
「ダウンロードリスト+CRCリスト」という組み合わせで利用する場合は、ダ
ウンロードリストを読み込んだ後、CRCリストを読み込みます。あとは、通常
通りにダウンロードを開始すれば、自動的にCRCのチェックが行われます。
ダウンロード後にCRCをチェック
解凍ソフトのRarUtyは、CRCのチェックに対応しています。ダウンロードした
ファイルと同じフォルダにCRCリストを置いて、そのCRCリストをRarUtyにド
ラッグ&ドロップ、「処理」ボタンをクリックすればCRCのチェックが可能です。
拡張子判別ソフトで紹介している極窓も、CRCのチェックに対応しています。
極窓のメイン画面でCRCリストファイルを選択、メニューバーの「編集」→
「CRC」→「CRCファイルチェック」でCRCのチェックが可能です。
CRCコードの生成・CRCリストの作成は、拡張子判別ソフトで紹介している
極窓で可能です。極窓のメイン画面で複数のファイルを選択してから、メニュ
ーバーの「編集」→「CRC」→「CRCファイル作成」でCRCリストファイルを作
成できます。
その他にもファイルの圧縮・分割ソフトで、CRCリストの作成機能を搭載して
いるものがあります。