停止等待协议属于那一层?
- 传输层?链路层?
- 先前网络质量不好,链路层因此需要使用停止等待协议,保证数据的可靠性
- 现在网络质量的提升,使用传输层负责差错的控制,保证数据传输速度更快,差错更小
- 不需要纠结在哪一层,在传输层叫做分组,在链路层叫做帧
为啥要有停止等待协议?
- 数据包:链路层叫做帧,网络层叫做IP数据包或者叫做分组,传出层叫做报文段
无差错情况
- ACK 表示接收 0 表示确认的帧的号数
- 两个发送0帧,只是重用编号,不是代表相同的数据
- 但是现实会出现丢包
- RTT是往返传播时延
- 每次发送一个数据就会启动一个超时计时器,如果在未超时的时间内数据被接收方接收,则关闭超时计时器
- 如果超过 超时计数器的的时间,则 进行超时重传
- 发完一个帧之后需要保留数据帧的副本,如果数据不被接收成功,就超时重传,避免时间消耗
- 数据帧和确认帧都需要进行编号,这个目的是为了防止数据帧的丢失和重复