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