3.4.1流量控制、可靠传输与滑动窗口机制
流量控制目的
流量控制涉及对链路上的帧的发送速率的控制,以使接收方有足够的缓冲空间来接收每个帧。
例子
例如,在面向帧的自动重传请求系统中,当待确认帧的数量增加时,有可能超出缓冲存储空间而造成过载
流量控制的基本方法是
由接收方控制发送方发送数据的速率
常见的方式有两种
停止等待协议和滑动窗口协议。
1.停止等待流量控制基本原理
原理
发送方每发送一帧,都要等待接收方的应答信号,之后才能发送下一帧
接收方每接收一帧,都要反馈一个应答信号,表示可接收下一帧
如果接收方不反馈应答信号,那么发送方必须一直等待。
结果
每次只允许发送一帧,然后就陷入等待接收方确认信息的过程中,因而传输效率很低。
2.滑动窗口流量控制基本原理
发送窗口
在任意时刻,发送方都维持一组连续的允许发送的帧的序号,称为发送窗口
接受窗口
同时接收方也维持一组连续的允许接收帧的序号,称为接收窗口
发送窗口的作用
发送窗口用来对发送方进行流量控制,而发送窗口的大小Wt代表在还未收到对方确认信息的情况下发送方最多还可以发送多少个数据帧。同理,在接收端设置接收窗口是为了控制可以接收哪些数据帧和不可以接收哪些帧。在接收方,只有收到的数据帧的序号落入接收窗口内时,才允许将该数据帧收下。若接收到的数据帧落在接收窗口之外,则一律将其丢弃。
图3.7给出了发送窗口的工作原理,图3.8给出了接收窗口的工作原理。
发送窗口
W
(a)0
45670
允许发送5个帧
不允许发送这些帧
-WT
(b)0
56
7
2
↑
已发送
还允许发送4个帧
不允许发送这些帧
W
(c
234
5
6
70
2
已发送
不允许发送这些帧
WT
(d)
345670
已发送
¥
并已收到确认
已发送
还允许发送
不允许发送这些帧
3个帧
图3.7发送窗口控制发送端的发送速率:(a)许发送04号共5个帧;(b)允许发送14
号共4个帧;©不允许发送任何帧;(d)允许发送5~7号共3个帧