数据流量控制
目录
数据流量控制
在数据通信中,流量控制是管理两个节点之间数据传输速率的过程,以防止快速发送方压倒慢速接收方。 流量控制应与拥塞控制区分开来,拥塞控制用于在实际发生拥塞时控制数据的流量。 流量控制机制可以根据接收节点是否向发送节点发送反馈来分类。
流量控制很重要,因为发送计算机传输信息的速度可能比目标计算机接收和处理信息的速度更快。 如果接收计算机的流量负载比发送计算机大,或者如果接收计算机的处理能力低于发送计算机,则可能会发生这种情况。
停止等待
停止等待流量控制是最简单的流量控制形式。 在这种方法中,消息被分成多个帧,接收方指示其准备好接收一帧数据。 发送方在每帧之后等待指定时间(称为超时)的接收确认 (ACK)。 接收方发送 ACK 让发送方知道数据帧已正确接收。 发送方将仅在 ACK 之后发送下一帧。
滑动窗口
一种流量控制方法,其中接收器允许发送器发送数据直到窗口已满。 当窗口已满时,发送方必须停止传输,直到接收方通告一个更大的窗口。
当缓冲区大小有限且预先建立时,xxx使用滑动窗口流量控制。 在发送方和接收方之间的典型通信期间,接收方为 n 个帧分配缓冲区空间(n 是以帧为单位的缓冲区大小)。 发送方可以发送,接收方可以接受 n 个帧,而无需等待确认。 为帧分配一个序列号,以帮助跟踪那些确实收到确认的帧。 接收方通过发送包含预期下一帧序列号的确认来确认帧。 此确认声明接收器已准备好接收 n 个帧,从指定的编号开始。 发送方和接收方都维护所谓的窗口。 窗口的大小小于或等于缓冲区大小。
滑动窗口流量控制比停止等待流量控制有更好的性能。 例如,在无线环境中,如果数据速率低且噪声水平非常高,等待对传输的每个数据包的确认是不太可行的。 因此,就更高的吞吐量而言,批量传输数据会产生更好的性能。
![数据流量控制](http://map.s-jl.com/wp-content/uploads/sites/14/2024/09/20240928002232-66f74c48ec2a7.png)
滑动窗口流量控制是一种点对点协议,假设在当前数据传输完成之前没有其他实体尝试进行通信。 发送方维护的窗口指示它可以发送哪些帧。 发送方发送窗口中的所有帧并等待确认(与在每帧后确认相反)。 发送方然后将窗口移动到相应的序列号,从而指示可以发送从当前序列号开始的窗口内的帧。
返回N
一种自动重复请求 (ARQ) 算法,用于纠错,其中否定确认 (NACK) 会导致重新传输错误的单词以及接下来的 N-1 个单词。