停止-等待协议
- 为什么要有停止-等待协议?
除了比特出差错,底层信道还会出现丢包问题。
为了实现流量控制。
丢包:物理线路故障、设备故障、病毒攻击、路由信息错误等原因,会导致数据包的丢失。
- 研究停等协议的前提?
虽然现在常用全双工通信方式,但为了讨论问题方便,仅考虑一方发送数据(发送方),一方接收数据(接收方)。
因为是在讨论可靠传输的原理,所以并不考虑数据是在哪一个层次上传送的。
"停止-等待"就是每发送完一个分组就停止发送,等待对方确认,在收到确认后再发送下一个分组。
- 停等协议有几种应用情况?
无差错情况&有差错情况
停等协议一一无差错情况
停等协议一一有差错情况
-
数据帧丢失或检测到帧出错
-
ACK丢失
-
ACK迟到
停等协议性能分析
信道利用率
发送方在一个发送周期内,有效地发送数据所需要的时间占整个发送周期的比率。
T:发送周期--从开始发送数据到收到第一个确认帧为止
L:T内发送L比特数据
C:发送方数据传输率
信道吞吐率 = 信道利用率 * 发送方的发送速率
停等协议的信道利用率
例题:一个信道的数据传输率为4kb/s,单向传播时延为30ms,如果使停止-等待协议的信道最大利用率达到80%,要求的数据帧长度至少为( )。