评价技术迭代的旧的定势眼光来自于该技术诞生时。
1970/80/90 年代,相比传输带宽技术,处理器更强。网络协议倾向于字段多,字段小且紧凑,尽可能减少传输量,用 “算法技巧” 等价,如果 TCP 序列号 48 位,win 48 位,端口号 48 位,所有与 PAWS,win scale option,get unique tuple 相关的算法均不再必要,复杂性大大降低,但彼时这些复杂的 feature 反而是优势。
遗憾的是,几十年稳如磐石的网络标准(RFC)大多是这些年制定的。这深深影响了人们的认知。
2000 年后,通信传输技术(光纤传输以及将数据从网卡放到光纤的技术)提升速率赶上并超越了处理器提升的速度,空间换时间开始流行,协议设计倾向于少大齐,典型的例子就是 IPv6,字段少,字段长度足够大大且大小位置固定,处理效率高。
基础设施领域也存在同样倾向,能把摊子铺大解决问题的就不单纯靠软件。基础设施开始靠大体量来支撑业务,比如高密度的 5G 基站。
端主机主导计算,网络主导传输,处理器发展速度和通信传输技术发展速度的倒置正是重估端到端原则的依据。
重估端到端原则要以此为线索,信息不能在端主机无中生有,要靠中间网络设备的反馈。典型的例子是 CDN,靠密集的调度子系统和节点子系统支撑内容分发,CDN 是一个典型的逆端到端实例。
再以拥塞控制为例,若要做拥塞控制,需要精确的判断,而即时且精确的信息仅靠端到端远远不够,如今越来越多的算法或机制开始利用中间网络来反馈信息,而不仅仅将其看作一条尽力而为的透明管道。
胖端瘦网的理念大原则依旧,但需稍作改变。稍胖的网络能提高自身的承载力,缓解下面两个事实带来的问题。
第一个事实,新部署 m 个服务,新接入 n 个终端,网络流量会增加 m*n 而不是 m + n,这意味着核心转发设备的能力也必须随部署服务以及接入终端乘积的数量同步增长才能提供相应的能力,这受到大规模集成电路(全光网络毕竟是个神话)的限制,而受限于热密度极限和工艺,集成电路规模不可能永远增长,必然会反过来限制互联网服务以及终端数量。
其次,更隐秘的,回到上述 “处理器发展速度和通信传输技术发展速度的倒置”,这二者非线性不成比例地发展,单位字节的可用处理时间在变少,必须减轻主机的负担。来自下列链接:Performance Issues in HighSpeed Networks:
百字短文,不多说。
浙江温州皮鞋湿,下雨进水不会胖。