4.4 可靠传输的工作原理
4.4.1 停止等待协议(仔细阅读觉得还是有意思)
全双工通信的双发即使发送方也是接收方。
传送的数据单元都称为分组。“停止等待”就是每发送完一个分组就停止发送,等待对方的确认。在收到确认后再发送下一个分组。
(1)无差错情况
A发送分组M1,发完就暂停发送,等待B的确认。B收到M1就向A发送确认。A再收到B的确认后,就再发送下一个分组M2。
(2)出现差错
B在接收M1时检测出了差错,就丢弃M1,其他什么也不做(不通知A收到有差错的分组,即就是B不向A发送分组确认),或者A发送的M1在传输的过程中就丢失了,这时B肯定什么都不知道。可靠传输协议是:A只要超过一段时间仍然没有收到确认,就简单的认为刚才发送的分组丢失了,因此要重传前面发送过的分组。这就是超时重传(就是说:A每发送完一个分组后,必须暂时保留已发送的分组的副本,同时设置一个超时计数器。如果在超时计数器时间到达之前,接收到了对方的确认,就撤销已设置的超时计数器和刚才分组的副本)。还有一点:分组和确认分组都必须进行编号。这样才能确定到底是哪一个分组收到了确认,哪一个分组没有收到了确认。此外:超时计数器设置的时间