tcp协议中的起始序号

目录

起始序号

引入

序号和确认序号

总结


起始序号

引入

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

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

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

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

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

序号和确认序号

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

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

而确认序号的含义也变了

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

总结

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

  • 即使有旧数据到达主机,也不会被处理
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值