数据链路层协议将帧尾添加到各帧结尾处。 帧尾的作用是确定帧是否无错到达。 此过程称为错误检测,通过将组成帧的各个位的逻辑或数学摘要放入帧尾中来实现。 因为介质中的信号可能遭受干扰、失真或丢失,从而大幅更改这些信号所代表的比特值,所以要将错误检测添加到数据链路层。

发送节点将创建帧内容的逻辑摘要。 它称为循环冗余校验 (CRC) 值。 此值将放入帧的帧校验序列 (FCS) 字段中以代表帧内容。

单击图中的 FCS 和帧尾字段以了解详细信息。

当帧到达目的节点后,接收节点会计算自身的帧逻辑摘要(即 CRC)。 然后,接收节点将比较这两个 CRC 值。 如果两个值相同,则认为帧已按发送的原样到达。 如果 FCS 字段中的 CRC 值与接收节点计算出的 CRC 值不同,帧会被丢弃。

因此,FCS 字段用于确定帧的传输和接收过程有无发生错误。 通过使用 FCS 字段提供的差错校验机制,可找出介质上发生的大部分错误。

当然,也可能出现 CRC 结果很好,但实际上帧已经损坏的情况,不过这种情况的几率很小。 在计算 CRC 时,各个位中的错误可能会相互抵消。 此时应会要求上层协议检测和纠正该数据丢失状况。