时间换空间的TCP-CSDN博客

原题应该是“以时间换空间的端到端”,但端到端可能不为人知,就说成TCP。

TCP天生不为性能而生,TCP天生节省带宽和内存,天生的时间换空间。为节省空间开销,宁可多几轮来回。TCP天生以多花点时间来确保“可靠传输”这个底盘。

体现在两方面:

  • 不允许乱序,节省接收端内存,否则就要维护ofo队列。
  • TCP短头,增加数据载荷率,提高有效带宽利用率。

1970年代,内存昂贵,网络带宽昂贵,除保证可用性,优化性能简直是中邪。空间约束下,TCP就成了TCP。

结果是发送端获得的反馈信息不足,GBN就是自然的选择,几乎是唯一选择,HoL问题也由此而来。虽后续SACK允许ofo,优化了GBN,但本质并没有改变,马车换了个更好的轮子而已。

我总说TCP单边优化到顶了,很多人不认同,也不知道我在说什么,说白了就是获得反馈信息太少,不足以用于精确决策,你能提升均值,但可能是以劣化P99为代价,总之粗糙的信息带来的必然是一个粗糙的结果,否则就违背热力学第二定律了。

如今空间约束已经消失,为解决性能问题,TCP必然不再是TCP了:

  • 允许完全乱序,接收端重组,自然取消GBN。
  • TCP头增加新字段,反馈更多信息用于决策。

无论QUIC,还是迭代TCP(yaTCP[yet another TCP],TCP-ng),或自定义协议,TCP肯定不再是TCP。这是传输协议优化的核心。

还有另一个核心,直接从端到端入手,将传输流水线化,中继传输。

端到端原则的问题是,带宽探测消耗了整个端到端的时间,如果使用中继,中继与中继,中继与端之间就同时并行探测,就折叠了时间:
在这里插入图片描述
说到底,端到端原则就是时间换空间,这和图灵机通用计算机器的思路一致。

  • 端到端原则时间换空间,网络核心变得通用,业务均可自由接入。
  • 图灵机时间换空间,机器变得通用,在有限空间内应对一切计算。

端到端传输控制在端到端之间商量,消耗时间的基本单位是往返时延(RTT),违背端到端原则以提升性能,需在中间节点增加传输控制逻辑,这就是空间换时间,如IDC网络传输的交换机反压,也有点存内计算的味道了。

传输领域,逐渐地引入空间换时间以提升传输性能。

既然原题是“以时间换空间的端到端”,抛开TCP,点一下安全相关的题也是必要,但不深究。
安全应该在端到端做还是在网络核心做:

  • 端到端的安全是零信任,软件定义边界(Software Defined Perimeter, SDP)。
  • 网络核心的安全是各类防火墙,安全网关。

曾经的安全在网络核心做,各类网关也能卖的好价钱,但现在流行的是零信任,SDP,这个和传输性能的演进正好相反,时间换空间正在风靡。

为什么网关不时兴了?因为它是个单点,再牛X的HA也不能掩盖它是个单点,这和流行的分布式接入,移动互联是不相容的,曾经工人们集中在写字楼,网关压力很小,如今工人们居家办公,随时随地接入,网关就变成瓶颈了。
周末写篇端到端性能和安全的短文。

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

原文链接: https://blog.csdn.net/dog250/article/details/124764954

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    时间换空间的TCP-CSDN博客

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/405517

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年4月26日 上午9:15
下一篇 2023年4月26日 上午9:15

相关推荐