关于TCP的确认机制看了不少书,但有一个问题始终没有搞懂,还望有高手指点迷经。
发送端发送序号1024、2028的两个TCP包。正常情况接收端会返回确认号为2029的ack包来确认两个发送端的包已经接收到了。如果2028的包丢失那就会只返回确认号为1025的包,可是要是1024包丢失接收端仍会返回确认号为2029。可发送端接收到确认号为2029的包,就认为1024、2028的两个包都传输成功,而不知道1024包丢失,他就不会重传1024包(我理解的TCP的确认机制就是这样)。如何让发送端知道1024包丢失并重传?
发送端发送序号1024、2028的两个TCP包。正常情况接收端会返回确认号为2029的ack包来确认两个发送端的包已经接收到了。如果2028的包丢失那就会只返回确认号为1025的包,可是要是1024包丢失接收端仍会返回确认号为2029。可发送端接收到确认号为2029的包,就认为1024、2028的两个包都传输成功,而不知道1024包丢失,他就不会重传1024包(我理解的TCP的确认机制就是这样)。如何让发送端知道1024包丢失并重传?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货