本文主要是介绍3.6 停止-等待协议,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
3.6 停止-等待协议
停止-等待协议究竟是哪一层的?
数据链路层吧
1.为什么要有停止-等待协议?
- 为了实现流量控制。
- 除了比特出差错,底层信道还会出现丢包问题。
- 【丢包:物理线路故障、设备故障、病毒攻击、路由信息错误等原因,会导致数据包的丢失。】
⒉研究停等协议的前提?
- 虽然现在常用全双工通信方式,但为了讨论问题方便,仅考虑一方发送数据(发送方),一方接收数据(接收方)。
- 因为是在讨论可靠传输的原理,所以并不考虑数据是在哪一个层次上传送的。
- “停止-等待”就是每发送完一个分组就停止发送,等待对方确认,在收到确认后再发送下一个分组。
3.停等协议有几种应用情况?
停等协议——无差错情况
每发送1个数据帧就停止并等待, 因此用1bit来编号就够。
停等协议——有差错情况
1.数据帧丢失或检测到帧出错
超时计时器:每次发送 一个帧就启动一个计时器。
超时计时器设置的重传时 间应当比帧传输的平均RTT 更长一些。【短了怕等不到,长了浪费资源】
注意:
1.发完一个帧后,必须保留它的副本。
2.数据帧和确认帧必须编号
2.ACK丢失
3.ACK迟到
停等协议性能分析
简单! 信道利用率太低!
信道利用率
发送方在一个发送周期内,有效发送数据所占的时间占总周期的比率
- 信道利用率=发送数据的比特数/ 发送方数据传输率*发送周期【
信道利用率=L/C*T
】
- 信道吞吐率=信道利用率*发送方的发送速率
例题:
一个信道的数据传输率为4kb/s,单向传播时延为 30ms,如果使停止-等待协议的信道最大利用率达到80%, 要求的数据帧长度至少为( )。
这篇关于3.6 停止-等待协议的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!