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

需积分: 10 0 下载量 22 浏览量 更新于2024-08-20 收藏 1.48MB PPT 举报
"流量控制是数据链路控制的重要组成部分,主要目标是确保发送方的数据传输速率不会超过接收方的处理能力,从而防止接收方的缓存溢出。流量控制涉及到两个关键时间概念:传输时间和传播时间。传输时间是指将一帧数据完全发送到媒体所需的时间,而传播时间则是一个比特在链路上从发送端到接收端所需的时间。" 在数据与计算机通信中,数据链路控制负责在相邻节点间实现有效数据通信。这包括帧同步、流量控制、差错控制、寻址以及链路管理等基本功能。帧同步确保数据帧在接收时能正确对齐,流量控制则用于协调发送和接收速率,避免数据拥塞。例如,停止等待流量控制是一种简单的机制,发送方在收到接收方的确认帧后才会发送下一帧,这样接收方可以通过不发送确认来控制流量。然而,这种方法对于大量数据传输效率较低,因为它一次只能传输一个帧。 为了解决效率问题,分块技术被引入,大块数据被分割成小块,这样一旦发生错误,只需要重传较小的帧。但这也可能导致单个站点长时间占用链路,因此更复杂的滑动窗口流量控制被提出。滑动窗口允许发送方在等待确认之前发送多个帧,接收方有一个固定大小的缓存来存储这些帧。每个帧都有编号,接收方通过发送包含期望接收帧编号的确认帧来管理这个过程。这种机制可以提高链路的利用率,但需要管理和跟踪多个帧的状态。 滑动窗口流量控制中,发送方和接收方都维护一个窗口,窗口内的帧是可以发送或接收的。窗口大小决定了无确认传输的帧数,而序号系统确保了帧的正确顺序。此外,滑动窗口协议还支持特定的控制信号,如接收方发送的"Receive Not Ready" (RNR)信号,表示暂时无法接收更多数据,以及通过正常确认帧或单独的确认帧恢复传输的机制。 差错控制是另一个关键方面,其目的是检测和纠正传输过程中可能出现的错误,如丢失或损坏的帧。常见的差错控制技术包括自动重传请求(ARQ),它结合了错误检测和超时重传策略。如果接收方检测到错误或未收到帧,会请求发送方重新传输。此外,还可以使用捎带确认,在发送数据时同时携带确认信息,以提高效率,特别是在全双工链路上。 流量控制和差错控制是数据链路层的关键技术,它们确保了数据的可靠传输,并优化了网络资源的使用,使得数据通信能够在各种复杂环境下高效进行。