目录

起始序号

引入

序号和确认序号

总结


起始序号

引入

在介绍TIME_WAIT状态时,我们就提到了起始序号 -- tcp协议的超时重传(去重,确定时间),通信建立机制(三次握手,通信,四次挥手的细节和图解),为什么是3次/4次,肉机,全/半连接队列,SYN洪水,TIME_WAIT状态(解决,为什么出现,MSL)-CSDN博客

为了防止过了timeout时间,仍然有数据残留,要是双方立即又重新连接,且不变更ip/port,就有可能收到老数据

  • 虽然这种概率很小,但不能不防

所以采用随机序号,使得新老连接的起始序号发生冲突的概率很小

  • 而起始序号早在三次握手期间的交换报文中协商好了

序号和确认序号

所以实际上,我们填充进序号字段里的值

  • 应该是起始序号+字节偏移量

而确认序号的含义也变了

  • 要得到真正的下一个数据在缓冲区的位置 = 确认序号-起始序号

总结

总之,这样设计出来的序号,在两次连接中只有很小的概率会冲突

  • 即使有旧数据到达主机,也不会被处理

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部