时间换空间的TCP

原题应该是“以时间换空间的端到端”,但端到端可能不为人知,就说成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也不能掩盖它是个单点,这和流行的分布式接入,移动互联是不相容的,曾经工人们集中在写字楼,网关压力很小,如今工人们居家办公,随时随地接入,网关就变成瓶颈了。
周末写篇端到端性能和安全的短文。

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值