前些日子,自己在学习计算机网络,结课后,对于GBN 和 选择重传机制的原理很清晰,但是到了TCP确认及重传机制时,老师讲的也很模糊,网上搜了很多,也没有说的很清楚的。
今天刚才又是期末复习时间,自己又在这里犯了一些疑惑【这次一定要解决它!!!】
------------------------------------------------------------------------------------------------------------------
根据自己做的笔记和其他几个学术网站上作者的看法,得出
TCP的确认机制:可以大体看做是GBN和选择重传机制的结合,也即“选择确认”。
GBN和选择重传在一起是不冲突的,因为,TCP也可以连续发送多个报文段,假设第一个报文段的Seq = 1,长度为10,第二个报文段Seq = 11,第三个Seq = 21,那么接下来拿下面这幅图来说明:
若在发送过程中,Seq = 11的报文段丢失,且计时器超时后,则会进行重传,而我们只会重传那一块Seq = 11的报文段,剩下的报文段(Seq = 1和Seq = 21的)会正确接收【TCP 接收方有选择的确认报文段,而不是累计确认最后一个正确接受的报文段】,因而最后返回的ack = 31.
以上内容是个人见解,有任何疑问欢迎小伙伴们提出,谢谢大家的观看。
如果还有疑问可以参考一下文章:
TCP的累积确认和选择确认是否矛盾呢? - 网络工程师俱乐部的回答 - 知乎 https://www.zhihu.com/question/404472567/answer/1334365145