理想的传输条件有以下两个特点:
- 传输信道不产生差错。
- 不管发送方以多快的速度发送数据,接收方总是来得及处理收到的数据。
在这样的理想传输条件下,不需要采取任何措施就能够实现可靠传输。然而实际的网络都不具备以上两个理想条件。必须使用一些可靠传输协议,在不可靠的传输信道实现可靠传输。
停止等待协议ARQ
“停止等待”就是每发送完一个分组就停止发送,等待对方的确认。在收到确认后再发送下一个分组。发送方若未接收到确认消息,则会自动进行重传,该协议也成为“自动重传请求ARQ(Automatic Repeat reQuest)”。
工作原理
(a)无差错情况
A发送数据包Mi后,B都能正确的接收到且及时确认接收情况。
(b)超时重传
A发送数据包M1后,B未接收到数据包,A超出了等待时间都未收到B的确认消息。再次发送M1数据包,B正确接收并确认。
(a)确认丢失
A发送数据包M1后,B接收到数据包,返回的确认消息丢失,A超出了等待时间都未收到B的确认消息。A再次发送M1数据包,B接收到重复的数据包,将此数据包丢弃,重新发送确认消息,A。
(b)超时重传
A发送数据包M1后,B接收到数据包,A超出了等待时间都未收到B的确认消息。A再次发送M1数据包,B接收到重复的数据包,将此数据包丢弃,重新发送确认消息,A先接收确认消息,过一段时间再次接收到同一数据包的确认消息,此时什么也不做。
注意: