CRCとは何か

CRCとは

Cyclic Redundancy Checkの略。あるネットワーク機器から別のネットワーク機器に通信する際、送信データに誤りを検出する符号を付加することで、データの伝送誤りを検出する方法。 

伝送途中のデータはノイズなどが入って破損するケースもあるため、CRCのような方法を用いて受信側の機器でデータの正常性を確認するらしい。

CRCの手順

  1. 送信側の機器で、送信するデータに対して特定の数値を用いて割り算を行う(この割り算とは、2進数で構成されているデータを、同じく2進数で構成されている特定の数で割るということ)。
  2. 割り算した余りの数値を誤りを検出する符号としてデータに付加する。これにより送信データは特定の数値で割り切れる数値となる。
  3. 受信側の機器で、受け取ったデータに対し送信側と同じ特定の数を用いて割り算を行う
  4. 結果が割り切れていればデータは正常に伝送されたと判断されるが、そうでない場合はデータは正常に伝送されなかったと判断され、破棄されたのち送信側の機器にデータの再送を要求する。

FCSとは

Frame Check Sequenceの略。イーサネットフレームに入っている、受信したデータに誤りがないかどうかをチェックするためのフィールド。

上記の手順2でいう「割り算した余りの数値」がこのFCSに入っている。多分。

 

参考

UNIXサーバ CRC(Cyclic Redundancy Check:巡回冗長検査):用語解説 - 富士通

FCS(フレームチェックシーケンス)とは - IT用語辞典 e-Words