数据流量控制
编辑在数据通信中,流量控制是管理两个节点之间数据传输速率的过程,以防止快速发送方压倒慢速接收方。 流量控制应与拥塞控制区分开来,拥塞控制用于在实际发生拥塞时控制数据的流量。 流量控制机制可以根据接收节点是否向发送节点发送反馈来分类。
流量控制很重要,因为发送计算机传输信息的速度可能比目标计算机接收和处理信息的速度更快。 如果接收计算机的流量负载比发送计算机大,或者如果接收计算机的处理能力低于发送计算机,则可能会发生这种情况。
停止等待
编辑停止等待流量控制是最简单的流量控制形式。 在这种方法中,消息被分成多个帧,接收方指示其准备好接收一帧数据。 发送方在每帧之后等待指定时间(称为超时)的接收确认 (ACK)。 接收方发送 ACK 让发送方知道数据帧已正确接收。 发送方将仅在 ACK 之后发送下一帧。
运营
- 发送方:一次传输一个帧。
- 发送方在超时时间内等待接收 ACK。
- 接收器:在接收到帧时发送确认 (ACK)。
- 收到 ACK 或超时时转到第 1 步。
如果帧或 ACK 在传输过程中丢失,则重新传输该帧。 这种重新传输过程称为 ARQ(自动重复请求)。
Stop-and-wait 的问题是一次只能传输一帧,这通常会导致传输效率低下,因为在发送方收到 ACK 之前,它无法传输任何新的数据包。 在此期间,发送方和通道都未被使用。
停止等待的优缺点
优点
这种流量控制方法的xxx优点是简单。
缺点
发送方需要在发送的每一帧之后等待 ACK。 这是效率低下的根源,当传播延迟比传输延迟长得多时尤其糟糕。
在发送较长的传输时,停止和等待也会导致效率低下。 当发送更长的传输时,此协议中出错的可能性更大。 如果消息很短,则更有可能及早发现错误。 当单个消息被分解成单独的帧时,会产生更多的低效率,因为它会使传输时间更长。
滑动窗口
编辑一种流量控制方法,其中接收器允许发送器发送数据直到窗口已满。 当窗口已满时,发送方必须停止传输,直到接收方通告一个更大的窗口。
当缓冲区大小有限且预先建立时,xxx使用滑动窗口流量控制。 在发送方和接收方之间的典型通信期间,接收方为 n 个帧分配缓冲区空间(n 是以帧为单位的缓冲区大小)。 发送方可以发送,接收方可以接受 n 个帧,而无需等待确认。 为帧分配一个序列号,以帮助跟踪那些确实收到确认的帧。 接收方通过发送包含预期下一帧序列号的确认来确认帧。 此确认声明接收器已准备好接收 n 个帧,从指定的编号开始。 发送方和接收方都维护所谓的窗口。 窗口的大小小于或等于缓冲区大小。
滑动窗口流量控制比停止等待流量控制有更好的性能。 例如,在无线环境中,如果数据速率低且噪声水平非常高,等待对传输的每个数据包的确认是不太可行的。 因此,就更高的吞吐量而言,批量传输数据会产生更好的性能。
滑动窗口流量控制是一种点对点协议,假设在当前数据传输完成之前没有其他实体尝试进行通信。 发送方维护的窗口指示它可以发送哪些帧。 发送方发送窗口中的所有帧并等待确认(与在每帧后确认相反)。 发送方然后将窗口移动到相应的序列号,从而指示可以发送从当前序列号开始的窗口内的帧。
返回N
一种自动重复请求 (ARQ) 算法,用于纠错,其中否定确认 (NACK) 会导致重新传输错误的单词以及接下来的 N-1 个单词。
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/197290/