文章目录
- 1、为什么要有停止等待协议
- 2、研究停等协议的前提
- 3、应用停等协议的两种情况
- 3.1 无差错的情况
- 3.2 有差错的情况
- 3.2.1 数据帧丢失或检测到帧出错
- 3.2.2 ACK丢失
- 3.2.3 ACK迟到
- 4、停等协议的性能分析
- THE END
1、为什么要有停止等待协议
\qquad 除了比特出差错,底层信道还会出现丢包问题,为了实现流量控制,设计出停等协议。
\qquad 丢包: 物理线路故障,设备故障,病毒攻击,路由问题错误等原因,会导致数据报的丢失。
2、研究停等协议的前提
\qquad 虽然现在常用全双工通信方式,但是为了讨论问题方便,仅考虑一方发送数据,一方接收数据;
\qquad 因为是在讨论可靠性传输的原理,所以并不考虑数据是在那一个层次上传输的;
\qquad “停止-等待”就是没发送完一个分组就停止发送,等待对方确认,在收到确认后再发送下一个分组。
3、应用停等协议的两种情况
3.1 无差错的情况
\qquad 每发送1个数据就停止并等待,因此用1bit来编号就足够。
3.2 有差错的情况
3.2.1 数据帧丢失或检测到帧出错
\qquad 超时计时器:每次发送一个帧就启动一个计时器,超时计时器设置的重传时间应当比帧传输的平均往返传输时延(RTT)更长一些。计时器如果超时了,则放松放松就会重传上一次传过的帧数据。
\qquad 发送方发送完一个帧之后,必须保留它的副本;数据帧和确认帧必须编号。
3.2.2 ACK丢失
3.2.3 ACK迟到
4、停等协议的性能分析
\qquad 实现方式简单,但是信道利用率太低。
\qquad 信道利用率: 发送方在一个发送周期内,有效地发送数据所需要的时间占整个发送周期的比率。 信 道 利 用 率 = ( L / C ) / T 信道利用率=(L/C)/T 信道利用率=(L/C)/T \qquad 其中 L L L表示T内发送L比特数据; C C C表示发送发的数据传输率; T T T表示发送周期,从开始发送数据,到收到第一个确认帧为止。
\qquad 信道吞吐率: =信道利用率*发送方的发送速率。
\qquad 下面通过一个例题来说明信道利用率: