开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的27天,点击查看活动详情
五.流量控制与可靠传输机制
较高的发送速度和较低的接收能力的不匹配,会造成传输出错,因此流量控制也是数据链路层的一项重要工作。
数据链路层的流量控制是点对点的,而传输层的流量控制是端到端的。
数据链路层的流量控制是点对点的,而传输层的流量控制是端到端的。
传输层流量控制手段:接收端给发送端一个窗口公告。
1.流量控制的方法
2.可靠传输、滑动窗口、流量控制
Summary:
2.1停止-等待协议
2.1.1.为什么要有停止-等待协议?
除了比特出差错,底层信道还会出现丢包问题。 为了实现流量控制。
丢包:物理线路故障、设备故障、病毒攻击、路由信息 错误等原因,会导致数据包的丢失。
2.1.2.研究停等协议的前提?
虽然现在常用全双工通信方式,但为了讨论问题方便,仅考虑一方发送数据(发送方),一方接收数据 (接收方)。 因为是在讨论可靠传输的原理,所以并不考虑数据是在哪一个层次上传送的。 “停止-等待”就是每发送完一个分组就停止发送,等待对方确认,在收到确认后再发送下一个分组。
2.1.3.停等协议有几种应用情况?
无差错情况&有差错情况
2.1.4停等协议性能分析
2.2.1信道利用率
Sunnmary:
六.后退N帧协议(GBN协议)
1.停止-等待协议的弊端
2.滑动窗口
3.GBN发送方必须响应的三件事
3.1上层的调用
上层要发送数据时,发送方先检查发送窗口是否已满,如果未满,则产生一个帧并将其发送;如果窗口已满,发送方只需将数据返回给上层,暗示上层窗口已满。上层等一会再发送。(实际实现中,发送方可以缓存这些数据,窗口不满时再发送帧)。
3.2收到了一个ACK
GBN协议中,对n号帧的确认采用累积确认的方式,标明接收方已经收到号帧和它之前的全部帧。
3.3超时事件
协议的名字为后退N帧/回退N帧,来源于出现丢失和时延过长帧时发送方的行为。就像在停等协议中一样,定时器将再次用于恢复数据帧或确认帧的丢失。如果出现超时,发送方重传所有已发送但未被确认的帧。
4.GBN接收方要做的事
如果正确收到n号帧,并且按序,那么接收方为n帧发送一个ACK,并将该帧中 的数据部分交付给上层
这句话的意思是:假如现在收到了0 1 2号帧 收到4 5号帧,4,5就丢弃掉,收到0,1,2号后,需要等待接受3号帧
其余情况都丢弃帧,并为最近按序接收的帧重新发送ACK。接收方无需缓存任 何失序帧,只需要维护一个信息:expectedseqnum(下一个按序接收的帧序 号)
5.运行中的GBN
6.滑动窗口长度
7.GBN协议性能分析
优点
因连续发送数据帧而提高了信道利用率
缺点
在重传时必须把原来已经正确传送的数据帧重传,是传送效率降低。
Summary:
1.累积确认(偶尔销带确认) 2.接收方只按顺序接收帧,不按序无情丢弃 3.确认序列号最大的、按序到达的帧 4.发送窗口最大为(2^n)-1,接收窗口大小为1