一、数据链路层的流量控制
较高的发送速度和较低的接收能力的不匹配,会造成传输出错,因此流量控制也是数据链路层的一项重要工作。
数据链路层和传输层都有流量控制,数据链路层的流量控制是点到点的,而传输层的流量控制是端到端的。简单理解,传输层存在于发送端主机和接收端主机之间,而数据链路层存在于交换机、路由器等网络节点之间。
数据链路层流量控制手段:接收方收不下就不回复确认。
传输层流量控制手段:接收端给发送端一个窗口公告。
二、流量控制的方法
停止-等待协议
每发送完一个帧就停止发送,等待对方的确认,在收到确认后再发送下一个帧;
滑动窗口协议
后退N帧协议(GBN)
选择重传协议(SR)
协议比较
停止-等待协议:发送窗口大小=1,接收窗口大小=1;
后退N帧协议(GBN):发送窗口大小>1,接收窗口大小=1;
选择重传协议(SR):发送窗口大小>1,接收窗口大小>1;
可靠传输、滑动窗口、流量控制三者关系
可靠传输:发送端发啥,接收端收啥;
流量控制:控制发送速率,使接收方有足够的缓冲空间来接收每一帧;
滑动窗口:滑动窗口解决上述两个问题;
- 解决流量控制(收不下就不给确认,想发也发不了);
- 解决可靠传输(发送方自动重传);