数据链路层详解:CRC校验与帧同步在计算机网络中的应用

5星 · 超过95%的资源 需积分: 13 11 下载量 168 浏览量 更新于2024-09-07 1 收藏 5.7MB PDF 举报
计算机网络的第三章主要探讨了数据链路层的相关内容,这一层在通信过程中扮演着关键的角色。首先,章节提到了一种特定的错误检测和修正规则,即CRC(循环冗余检验)算法。CRC通过在数据后面附加一个校验序列,利用除法运算来检测错误。当接收到的数据经过除法运算后余数为0,说明传输过程中没有错误;若不为0,则表示存在错误,通常会要求重新传输。 数据链路层的加0规则和商的规则涉及的是如何将CRC值添加到数据中,确保数据的完整性和一致性。商在这一过程中并不重要,关键在于计算出的余数(FCS,帧校验序列),它用来创建一个检验位,帮助接收方确认数据的准确性。 此外,数据链路层提供了三种基本的服务模式:无确认的连接服务、有确认的连接服务以及有确认的有连接服务,这些服务对于数据的可靠传输至关重要。链路管理负责建立、维护和释放数据链路连接,确保数据的可靠传输。帧同步则确保接收方能正确识别帧的起始和结束位置,这对于透明传输和帧定界非常重要。 帧定界是指在数据前后添加首部和尾部,用于标识帧的边界,使得接收端能有效地解析数据。在组帧过程中,无论是字符计数法还是字节填充的首尾界符法,都是为了实现帧定界,但字符计数法因其易受传输误差影响而较少使用,而首尾界符法则更为常用,例如在文本文件传输中,通过选择特定的控制字符(如SOH和EOT)作为帧的开始和结束标记。 数据链路层通过这些机制,不仅实现了数据的透明传输,还通过差错控制技术提高了数据传输的可靠性。然而,尽管CRC能够检测错误,但在实际应用中,由于计算机网络通常采取丢弃错误并请求重传的策略,因此CRC更多地被视为检错而非纠错码。对于更高级别的纠错,如海明编码,它会在信息字段中插入额外的位来检测和纠正单个错误,但这种技术在数据链路层的讨论中并不是主要内容。