停止等待ARQ协议
双全工通信的双方既是发送方也是接受方,为讨论方便,仅考虑A发送数据,B接受数据并发送确认。A叫做发送方,B叫做接受方。
1. 无差错情况
停止等待协议用下图(a)说明,下图为最简单的无差错情况,A发送分组M1,发送完就暂停发送,等待B确认。B收到M1就向A发送确认。A收到确认,就发生下一个分组,同样,收到B的确认后,再发送M3
2.出现差错
(b)图为出现差错的情况。B接受M1时检验出了差错,就丢弃M1,其他什么也不做。也可能是M1 在传输过程中丢失了,这时B当然什么都不知道。这两种情况下,B都不会发送任何信息。
可靠传输协议是这样设计的,A只要超过了一段时间仍然没有收到确认,就认为刚才发送的分组已经丢失了,因而重传之前发送过的分组。这就叫超时重传
要实现超时重传,就要在发送一个分组之后设置一个超时计时器。如果在计时器到期之前收到确认就撤销此计时器。
注意点
一、A发送完一个分组之后,必须暂时保存已发送分组的副本(超时重传时使用),在收到确认后删除。
二、分组与确认分组都必须进行编号。
三、超时计