データ リンク層プロトコルは、各フレームの最後にトレーラを追加します。 トレーラは、フレームがエラーなしで到着したことを確認するために使用されます。 このプロセスはエラー検出と呼ばれ、フレームを構成するビットの論理的または数学的なサマリーをトレーラに配置することで実行されます。 エラー検出がデータ リンク層に追加されるのは、メディア上の信号に干渉、歪み、または損失が生じる可能性があり、結果としてこれらの信号が表現するビット値が変わってしまうことがあるためです。

送信側ノードがフレーム コンテンツの論理的サマリーを作成します。 これは巡回冗長検査 (Cyclic Redundancy Check; CRC)値と呼ばれます。 この値はフレームのフレーム チェック シーケンス(Frame Check Sequence; FCS)フィールドに配置され、フレームのコンテンツを表します。

図の FCS および 終了フレーム フィールドをクリックすると詳細が表示されます。

フレームが宛先ノードに到達すると、受信ノードはフレームの自身の論理サマリー、つまり CRC を計算します。 受信ノードが 2 つの CRC の値を比較します。 2 つの値が同じ場合、フレームは送信されたとおりに到着したと見なされます。 FCS 内の CRC 値が受信ノードで計算された CRC と異なる場合、フレームは破棄されます。

そのため、フレームの送受信でエラーが発生したかどうかを確認するために FCS フィールドが使用されます。 FCS フィールドの使用によって提供されるエラー検出メカニズムは、メディアに起因するほとんどのエラーを検出します。

CRC の結果に問題がないフレームが実際には破損しているというケースはほとんどありません。 CRC が計算される際にビットのエラーが互いに打ち消し合うことがあります。 その場合は、このデータ 損失を検出して修正するために上位層プロトコルが必要になります。