停止等待协议

702 阅读1分钟

停止等待协议属于那一层?

  • 传输层?链路层?
  • 先前网络质量不好,链路层因此需要使用停止等待协议,保证数据的可靠性
  • 现在网络质量的提升,使用传输层负责差错的控制,保证数据传输速度更快,差错更小
  • 不需要纠结在哪一层,在传输层叫做分组,在链路层叫做帧

为啥要有停止等待协议?

  • 数据包:链路层叫做帧,网络层叫做IP数据包或者叫做分组,传出层叫做报文段

无差错情况

  • ACK 表示接收  0 表示确认的帧的号数
  • 两个发送0帧,只是重用编号,不是代表相同的数据
  • 但是现实会出现丢包

  • RTT是往返传播时延
  • 每次发送一个数据就会启动一个超时计时器,如果在未超时的时间内数据被接收方接收,则关闭超时计时器
  • 如果超过 超时计数器的的时间,则 进行超时重传
  • 发完一个帧之后需要保留数据帧的副本,如果数据不被接收成功,就超时重传,避免时间消耗
  • 数据帧和确认帧都需要进行编号,这个目的是为了防止数据帧的丢失和重复