数据链路控制:流量控制与滑动窗口

需积分: 10 0 下载量 8 浏览量 更新于2024-08-20 收藏 1.48MB PPT 举报
"无编号帧(U) - 数据链路控制" 数据链路控制是计算机网络中数据通信的关键组成部分,它负责确保在数据传输过程中实现帧同步、流量控制、差错控制、寻址以及链路管理等功能。无编号帧(U)是一种特定类型的数据链路层帧,用于执行控制操作而非传递数据。 无编号帧由特定的比特位组成,包括标识其为无编号帧的前两个比特位0-1,一个轮询/结束位在第四比特位,以及5比特的命令或响应字段,这提供了32种不同的命令或响应选项。其中,P/F比特(Poll/Final)被用来指示帧的目的,例如,P/F比特设置为1可能表示轮询帧,用于请求远程设备的响应;设置为0则可能表示结束帧,标记传输的结束。 数据链路控制的流量控制是为了避免发送端过快发送数据导致接收端无法处理,从而防止缓存溢出。其中,停止等待流量控制是最简单的策略,发送方在发送一帧后必须等待接收方的确认才能发送下一轮数据。这种方法适合小量但较长的帧,但由于每次只能发送一个帧,效率较低。为了提高效率,引入了滑动窗口流量控制,允许发送方同时发送多个帧,接收方有一个足够大的缓存来存储未确认的帧,并通过发送确认帧来指示期望接收的下一帧编号。 在滑动窗口机制中,发送方和接收方各自维护一个窗口,窗口大小由W决定,允许发送方在接收方确认前发送W个帧。窗口内的帧可以按序号进行编号,接收方通过发送包含期望帧序号的确认来协调传输。这种机制提高了链路的利用率,但也引入了更复杂的管理,如接收方可能会发送“Receive Not Ready (RNR)”来暂停数据传输,或使用捎带确认来节省通信资源。 差错控制是数据链路控制的另一核心任务,主要处理数据传输中的丢失帧和损坏帧。通常,通过添加校验码如CRC(循环冗余校验)来进行错误检测。当检测到错误时,发送方会采用自动重传请求(ARQ)策略,如肯定确认(对正确接收的帧发送确认)和超时重传(在未收到确认时重新发送帧)。此外,还存在否认和重传机制来应对帧的丢失或损坏。 数据链路控制是构建可靠通信链路的基础,无编号帧作为其一部分,承担着控制通信过程的任务,而流量控制和差错控制则是保证数据完整性和传输效率的关键手段。