【计算机网络】运输层:停止等待协议的相关问题_重传

 不行。例

【计算机网络】运输层:停止等待协议的相关问题_运维_02

 A发送报文段M1,B收到后发送确认(不编号),但这个确认很晚才传送到A。A在等到确认时,超时重传M1。

B收到第一个确认最后到了A,A发送写一个报文M2,但M2丢失了。

B收到A发送的重传M1。但B并不知道是重传的,因为报文段没有编号。B无法判断是重传的老报文段,还是新的报文段。

B只能把A发送的重传M1收下,并发送确认,但是这个确认使A任务是对其发送的M2的确认,于是以为发送的两个报文段B都收到了。

【计算机网络】运输层:停止等待协议的相关问题_运维_03

不可行。

A发送报文段M1,B收到后发送确认,但这个确认丢失了。

A超时重传报文段M1,B收到后不予理睬。导致A再次重传报文段M1。

B收到重复的报文段都不予理睬,A就一直超时重传报文段M1。

 

 

【计算机网络】运输层:停止等待协议的相关问题_运维_04

 

【计算机网络】运输层:停止等待协议的相关问题_网络_05

 

【计算机网络】运输层:停止等待协议的相关问题_服务器_06

 可以看出,旧的M0被当成新的M0,可见运输层不能使用停止等待协议。(编号只有0,1)