前几天我在给NetDAM可靠传输想更好的算法,发现我自己也傻x了,最根本的原因是要抛弃滑动窗口呀,解耦保序才是关键.
本来想明年愚人节写如果有一天TCP/IP没了IP,那么只能TCP over RDMA了...但是也不排除为了兼容以太网只能TCP over RDMA over TCP. 我在说啥?我什么也没说....
但是最近重新读一本书,希望慢慢的审视整个通信过程看看哪些是刚需需要保留,哪些是不符合时代能去掉的.
再加上前天华为搞通算一体论坛,于是渣回顾了以下通信和计算的历史,慢慢的揭开了整个真相...
图灵的无穷纸带和香农的信宿信源,在一条电路的作用下多么有趣啊, 从电报开始,逐渐的通信就被这种源源不断的数据流表示着。而TCP的诞生也是因为IP网络是分组交换需要一个类似于电路交换的机制而产生的,所以TCP本身的建链,传输机制就来自于此。TCP的本质是在一个包交换网络里模拟一个虚电路交换。
像渣这样的人见的协议多了,从PSTN时代就开始上网,到后来在某司一开始就玩七号信令...那时候移动网络还分CS域和PS域... 电路交换的思路下似乎成了正解,即便是IPv9这样的协议,最终也要来个M扩展支持电路交换。
而如今,因为Kernel Bypass使用了RDMA, AWS和GCP都实现了自己的基于以太网的可靠传输协议。那么可靠传输协议一定需要TCP么?即便是不用TCP去用KCP,似乎也逃离不了滑动窗口。
最大的根源就在滑动窗口引入的顺序性,这样直接破坏了多路径的能力。
回想起那个年代的NetAnts..几分感慨:
保序真的那么重要么?当然针对数据库这种一致性要求的系统还是重要的,而通信本身..我们看到QUIC这样的协议逐渐开始有替代TCP的趋势...所以结论很有可能是当TCP/IP没了TCP...
顺便贴几个微信后台的Q&A:
Q: 通算一体从技术层面您是否认同应该是通信融合计算,而不是计算融合通信,因为这涉及到移动网络架构的问题
A: 本质是通信协议编码的问题,如何有嵌入和表达计算的能力, 通信厂商搞的SRv6 什么的基于包而不是基于数据,所以搞不成, 通常需要计算的,例如一个图片,一段视频,需要多个数据包承载,所以基于包的网络可编程是不行的
Q:怎么看待算力网络?
A:不用BGP承载就好,本质是不是数据找算力,而且算力去找数据,这是设计原则的问题
Q:算力如何找数据,在那层协议做最合适?
A:应用和网络在哪分层, 当然是传输层咯,没有标准之争,两边都讨好,所以我搞segment routing over UDP+ quic来做
Q:商业层面:则是计算融合通信,以我(业务)为主,通信为我(业务)服务,所以未来如果通算是6G刚需情况下,6G网络最好是OTT来投资,电信运营商手持频谱即可。
A: 本质是相同的,新基建也是基建,注定和水电一样关乎民生,OTT含赵量提高才是关键.
(免费订阅,永久学习)学习地址: Dpdk/网络协议栈/vpp/OvS/DDos/NFV/虚拟化/高性能专家-学习视频教程-腾讯课堂
更多DPDK相关学习资料有需要的可以自行报名学习,免费订阅,永久学习,或点击这里加qun免费
领取,关注我持续更新哦! !
原文链接:https://www.modb.pro/db/180487