1、数据链路层的流量控制
\qquad
较高的发送速度
和较低的接收能力
的不匹配,会造成传输出错,因此流量控制也是数据链路层的一项重要工作。
\qquad
数据链路层的流量控制是点到点的,而传输层的流量控制是端到端的。
\qquad
数据链路层流量控制的手段:接收方如果接收不下了,就不会往发送方发送确认帧。传输层流量控制的手段:接收端给发送端的一个窗口公告。
1.1 链路层的流量控制方法
停止等待协议
\qquad
每发送完一个帧就停止发送,等待对方的确认,在收到确认后再发送下一个帧。
滑动窗口协议
\qquad
滑动窗口协议又可以分为后推N帧协议(GBN)和选择重传协议(SR)。
\qquad
上述三种协议的发送窗口和接收窗口大小如下所示:
协议 | 发送窗口大小 | 接收窗口大小 |
---|---|---|
停止等待协议 | 1 | 1 |
后推N帧协议 | >1 | 1 |
选择重传协议 | >1 | >1 |
2、可靠传输、滑动窗口和流量控制
\qquad
可靠传输指的是:发送端发啥,接收端就接收啥;流量控制指的是,控制发送速率,使得接收方有足够的缓冲空间来接收每一个帧;
滑
动
窗
口
解
决
{
流
量
控
制
(
接
收
方
收
不
下
就
不
给
确
认
,
发
送
发
无
法
发
送
)
可
靠
传
输
(
发
送
方
自
动
重
传
)
滑动窗口解决\begin{cases} 流量控制(接收方收不下就不给确认,发送发无法发送)\\ 可靠传输(发送方自动重传) \end{cases}
滑动窗口解决{流量控制(接收方收不下就不给确认,发送发无法发送)可靠传输(发送方自动重传)