フレームチェックシーケンス(FCS)について
フレームチェックシーケンス(FCS)は、
通信プロトコルにおけるデータフレームに付加されるエラー検出用のコードです。このコードは、送信元から受信先にデータを正確に伝送するために必要不可欠な要素となっています。
FCSの目的
データ通信において、フレームやその中の
ビット、バイト、フィールドは、様々な原因でエラーを引き起こす可能性があります。FCSフィールドには、送信元でフレーム内のデータを基に計算された数値が含まれています。この数値は、送信するフレームの末尾に追加されます。受信側では、フレームを受け取った際に、同じアルゴリズムを用いてFCSを再計算し、受信したFCSと比較します。もし、計算結果が異なる場合は、データにエラーが存在すると見なされ、そのフレームは破棄されます。
FCSはエラーを検出する機能のみを持ち、エラーを修正する機能はありません。つまり、エラーが発生した場合は、別の手段によって修正する必要があります。例として、
イーサネットのプロトコルでは、破損したフレームは廃棄することが求められていますが、再送を行う手段は規定されていません。一方、TCPなどの上位プロトコルでは、データの損失を検知し、必要に応じて再送とエラーの修正が行われます。
FCSの実装
FCSは通常、受信側がフレームの最後のFCSを受け取った際に、全体の積算合計を計算しやすい形式で送信されます。例えば、
イーサネットなどの
IEEE 802プロトコルでは、データの送信は最下位
ビットから始まりますが、FCSは最上位
ビット(
ビット31)から送信されることが標準で決まっています。また、FCS
ビットを反転させて最下位
ビットから送信する方法もあります。詳しい実装や仕様については、
イーサネットフレームの関連文献を参照してください。
FCSの種類
FCSで最も一般的に用いられるアルゴリズムは
巡回冗長検査(CRC)です。この方式は、32
ビットの
イーサネットやその他の
IEEE 802プロトコル、さらには16または32
ビットのX.25、HDLC、
フレームリレー、ポイントツーポイントプロトコル(PPP)などの
データリンク層プロトコルに広く適用されています。また、インターネットプロトコルスイートにおいては、
チェックサムを用いることが一般的です。
まとめ
フレームチェックシーケンスは、データ通信において、フレーム内のデータが正常に送受信されたかどうかを確認する重要な役割を持っています。正確なエラー検出は、通信の信頼性を高め、情報の整合性を保証するために不可欠です。フレームの破損を未然に防ぐために、FCSは
通信プロトコルの中で重要な要素として機能しています。