一. Why need 停止-等待协议 ?
除了比特出差错,底层信道还会出现丢包问题。
丢包:物理线路故障、设备故障、病毒攻击、路由信息、错误等原因,会导致数据包的丢失!!!
传输的数据(包)在不同层的叫法不同:
- 链路层 ---
帧 - 网络层 ---
IP数据报或分组 - 传输层 ---
报文段
二. 研究停止-等待协议的前提
三. 停止-等待协议的两种应用情况
1》无差错情况:
即不会出现差错,发送一个数据帧就停止并等待,等到确认后再发送下一个数据帧。因此用 1 bit来编号就够!!!
2》有差错情况:
(1) 数据丢失或检测到帧出错
- 发完一个帧后,必须要保留它的副本!!!
- 数据帧和确认帧必须进行编号
- 发送端发完一个数据帧后,就会开启一个计时器,如果没有在规定时间内收到确认帧,就会重新再发一遍数据帧!!!
(2) 确认帧 ACK 丢失:
- 如果迟迟没有收到确认帧,会再发一遍,而接收方收到新的后,会把之前收到的的丢弃,重新确认该帧!!!
(3) 确认帧 ACK 迟到:
- 发送方收到迟到的确认帧后立马丢弃!!!
3》停止-等待协议性能分析:
简单!!!但效率太低!!!