数据链路层CRC检错与成帧技术解析

需积分: 9 1 下载量 138 浏览量 更新于2024-07-10 收藏 250KB PPT 举报
"该资源主要讨论了数据链路层中使用循环冗余码(CRC)进行差错控制的方法,以及数据链路层的主要职责和功能,包括无确认的无连接服务、有确认的无连接服务和有确认的面向连接服务等。此外,还介绍了成帧的几种方法,如字符计数法、字符填充的首尾标识法和位填充的首尾标识法等。" CRC是一种广泛用于数据通信和存储系统中的检错技术,特别是在数据链路层。其工作原理是基于多项式除法,通过对数据位进行运算来添加冗余校验位。具体步骤如下: 1. 选择一个r阶生成多项式G(x),这个多项式决定了校验位的数量。 2. 将原始数据(m位的多项式M(x))扩展为m+r位,即在数据帧末尾添加r个0,形成新的多项式xrM(x)。 3. 使用G(x)作为除数,对xrM(x)进行除法运算,得到余数。这个余数即为校验和T(x)。 4. 在实际传输时,发送的数据是xrM(x)减去这个余数,即T(x) = xrM(x) - 余数[xrM(x)/ G(x)]。 5. 接收端同样使用G(x)对接收到的整个帧进行除法运算,如果余数为零,则认为数据传输无误;否则,表明存在错误。 数据链路层的主要任务包括: 1. 为网络层提供服务,如无确认的无连接服务、有确认的无连接服务以及有确认的面向连接服务,这些服务根据网络的可靠性需求有所不同。 2. 成帧,即将比特流分割成独立的帧,以便在网络中传输并进行错误检测。成帧方法包括字符计数法、字符填充的首尾标识法和位填充的首尾标识法等,每种方法都有其特点和适用场景。 3. 差错控制,使用CRC等技术确保数据的准确性。 4. 流量控制,管理和调节数据传输速率,防止接收端因数据过多而无法处理。 在实际操作中,数据链路层还需要处理物理层提供的比特流,并确保数据的顺序,同时在网络层和物理层之间起到桥梁作用。例如,通过网桥等设备可以实现不同网络的互连,解决介质访问控制问题,以适应点到点连接或广播网络的不同需求。在广播网络中,介质访问控制尤其重要,以避免多个设备同时发送数据导致的冲突。