一个 TCP 双边方案的对话

文章讨论了一段关于TCP双边方案的对话,涉及时间戳在区分原始报文和重传报文中的作用,Eifel算法的需求,以及如何利用TCP头部的bit进行标识。对话中提到,使用时间戳可能过于复杂,而通过设置额外的bit则可能面临TCP标准的限制。最终,讨论转向了QUIC协议的PacketID概念,暗示了一个非传统TCP的方法。
摘要由CSDN通过智能技术生成

最近聊到一个 TCP 双边方案,一段对话。
经理:我正在抄 Kernel TCP 关于时间戳处理的代码?
工人:时间戳?IDC 内部它的精度不够吧?在我看来不支持时间戳也罢,巨复杂,抄它干嘛?
经理:要实现 Eifel 算法,需要时间戳支持。
工人:Eifel 算法一定需要时间戳吗?
经理:是的,Eifel 算法需要基于时间戳来实现。
工人:Eifel 算法的目标是什么?
经理:区分原始报文和重传报文啊。
工人:区分原始报文和重传报文需要时间戳吗?
经理:这个不需要。
工人:区分原始报文和重传报文,最简单需要怎么做?
经理:设置一个 bit 进行区别即可。
工人:那为什么不用一个 bit 区分呢?
经理:TCP 标准不认额外的 bit 啊。
工人:你不是 TCP 双边吗?为什么一定要遵循标准呢?
经理:对啊。TCP 头还有 4 个额外保留 bit 啊,用掉 1 个。
工人:1 个够吗?
经理:够了,区分第一个重传报文和原始报文,够了。
工人:如果我要区分第一次重传报文和第二次重传报文呢?
经理:那就需要 2 个 bit 了。
工人:如果是 10 个报文呢?
经理:那 4 个 bit 就不够了…
工人:不能开辟一些新的 bits 吗?
经理:TCP 头就那么大,不允许啊…
工人:可你这是 TCP 双边啊,两边互认不就行了吗?
经理:对啊,那就开 16 个 bit 吧,足够了。
工人:16 个 bit 可以识别多少重传报文呢?
经理:可以识别…
工人:给你 32bit 的空间,你要怎么用?
经理:我可以实现 us 级时间戳…
工人:全部用来识别原始报文和重传报文不好吗?
经理:对啊,这样也可以。
工人:这不就是 QUIC 的 Packet ID 嘛…
经理:妙啊,都快成 QUIC 了,可这已经不是 TCP 了吧。
工人:谁说这一定要是 TCP 的,“TCP 双边”,多一个字它都不是 TCP。
经理:那它叫什么?
工人:名字重要吗?
经理:你被开除了。

浙江温州皮鞋湿,下雨进水不会胖。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值