本着“将通信科学普及到底”的原则,今天继续聊聊这个话题。故事还是要从头说起。1973年夏天,两位年轻的科学家(WyntonCerf和RobertKahn)开始致力于寻找一种在新兴计算机网络中的不同机器之间进行通信的方法。不久之后,他们在一张黄色的便利贴上画了一个TCP/IP协议族的原型。几乎同时,施乐公司的Metcalfe和Pegasus发明了以太网(Ethernet)。现在我们都知道,互联网最早的雏形是老梅创造的ARPANET(阿帕网)。ARPANET最初使用的协议非常糟糕,无法满足日益增长的计算节点规模的需要。因此,在1970年代后期,大佬们将ARPANET的核心协议换成了TCP/IP(1978)。20世纪80年代后期,在TCP/IP技术的支持下,ARPANET迅速壮大,催生出众多兄弟姐妹。这些兄弟姐妹相互联系,相互联系,就成了举世闻名的互联网。可以说,TCP/IP技术和以太网技术是互联网早期兴起的基石。它们成本低廉、结构简单、易于开发和部署,为计算机网络的普及做出了巨大贡献。但后来,随着网络规模的迅速扩大,传统的TCP/IP和以太网技术开始显现出疲态,无法满足互联网大带宽、高速率的发展需求。出问题的第一件事是存储。早期的存储,众所周知,就是机器内置的硬盘。硬盘通过IDE、SCSI、SAS等接口与主板相连,CPU和内存可以通过主板上的总线(BUS)访问硬盘数据。后来对存储容量的需求增加,再加上出于安全备份的考虑(需要RAID1/RAID5),硬盘数量增加,几个硬盘都搞不定,服务器也装不下了。于是,就有了磁阵。磁阵、磁盘阵列磁阵是专门用来存放磁盘的设备,而且是一次插入几十块的那种。硬盘数据访问一直是服务器的瓶颈。刚开始使用网线或专用线缆连接服务器和磁盘阵列,但很快发现不够用。因此,使用了光纤。这就是FC通道(FibreChannel,光纤通道)。2000年前后,光纤通道还是比较高端的技术,成本也不低。当时,公用通信网(骨干网)的光纤技术处于SDH155M和622M阶段,2.5GSDH和波分技术才刚刚起步,还没有普及。后来光纤开始爆发,容量开始快速跳跃,向10G(2003年)、40G(2010年)、100G(2010年)、400G(现在)方向发展。数据中心的普通网络不能使用光纤,只能继续使用网线和以太网。好在当时服务器之间的通信要求还没有那么高。100M、1000M网线勉强能满足一般业务的需要。2008年前后,以太网的速率才勉强达到1Gbps的标准。2010年后,又出现了一只蛾子。除了存储,因为云计算、图形处理、人工智能、超级计算以及比特币等乱七八糟的原因,人们开始关注算力。摩尔定律的逐渐弱化已经无法支撑CPU算力的提升。牙膏越来越难挤了,所以GPU开始涨了。使用显卡的GPU处理器进行计算已经成为行业的主流趋势。得益于AI的快速发展,各大公司也纷纷生产AI芯片、APU、xPU以及各种计算板。计算能力的快速膨胀(超过100倍),直接后果是服务器数据吞吐量呈指数级增长。除了AI带来的对算力的异常需求外,数据中心还有一个显着的变化趋势,那就是服务器之间的数据流量急剧增加。随着互联网的快速发展和用户数量的快速增加,传统的集中式计算架构已经不能满足需求,开始向分布式架构转型。比如现在618,大家都在shopping。一百八十个用户,一台服务器就够了,几千万级,肯定不够用。所以采用分布式架构,一个服务放在N台服务器上,单独统计。在分布式架构下,服务器之间的数据流量大大增加。数据中心内部互连网络的流量压力急剧增加,数据中心之间也是如此。这些横向(技术上称为东西向)数据包有时非常大,一些图形处理数据的数据包大小甚至达到Gb级别。综合以上原因,传统以太网无法处理如此大的数据传输带宽和延迟(高性能计算,需要极高的延迟)。因此,少数厂商开发了具有私有协议的专用网络通道技术,即Infiniband网络(直译为“无限带宽”技术,缩写为IB)。FCvsIBvs以太网IB技术延迟极低,但成本高,维护复杂,与现有技术不兼容。因此,和FC技术一样,只有在特殊需要的情况下才会使用。随着计算能力的飞速发展,硬盘不甘寂寞,SSD固态硬盘应运而生,以取代机械硬盘。内存,从DDR到DDR2、DDR3、DDR4甚至DDR5,也在不断的微不足道的发展,提高频率,提高带宽。处理器、硬盘、内存容量爆表,最后压力转嫁到网卡和网络上。学过计算机网络基础的同学都知道,传统的以太网是基于“载波侦听多路访问/冲突检测(CSMA/CD)”机制,极易发生拥塞,导致动态延迟增加,丢包频繁。包。TCP/IP协议已经使用了太久。这是一项已有40多年历史的老技术,存在很多问题。例如,TCP协议栈在接收/发送消息时,内核需要进行多次上下文切换,每次切换需要5us~10us左右的延时。此外,至少需要三个数据副本和依赖CPU的协议封装。这些协议的处理延迟加起来,虽然看起来很小,十几微秒,但是对于高性能计算来说是无法承受的。除了延迟问题,TCP/IP网络还需要主机CPU多次参与协议栈的内存拷贝。网络规模越大,带宽越高,发送和接收数据时CPU的调度负担就越大,导致CPU持续高负荷。根据业界的计算数据:每传输1bit数据需要1Hz的CPU,所以当网络带宽达到25G以上(满载)时,CPU会消耗25GHz的算力来处理网络。你可以看看你电脑的CPU,工作频率是多少。那么,我们是否应该直接改变网络技术呢?不是不可以,就是太难了。CPU、硬盘、内存都是服务器内部的硬件,一换就换,与外界无关。但通信网络技术是一种对外互联技术,需要协商变更。我改了,你没改,网络就卡了。您认为互联网有可能在全球范围内同时统一切换技术协议吗?不可能的。所以,就像现在IPv6取代IPv4一样,是一个循序渐进的过程,先是双栈(同时支持v4和v6),然后慢慢淘汰v4。用光纤代替数据中心网络的物理通道,代替网线,稍微容易一些。先小范围更换,再逐步扩大。更换光纤后,网速和带宽的问题逐渐得到缓解。网卡容量不足的问题也比较好解决。既然CPU算不出来,那网卡自己算就可以了。因此,就有了现在非常流行的智能网卡。从某种程度上说,这是算力的下沉。做5G核心网的同事应该不陌生。UPF作为5G核心网媒体面的网元,承载着无线侧所有的业务数据,压力极高。现在UPF网元采用智能网卡技术,网卡本身进行协议处理,减轻CPU压力,流量吞吐速度更快。如何解决数据中心通信网络架构问题?想了半天,专家们决定硬着头皮改结构。他们从服务器内部通信架构的角度重新设计了一个解决方案。在新的解决方案中,应用程序的数据直接与网卡通信,无需经过CPU和复杂的操作系统。这就是一种新的通信机制——RDMA(RemoteDirectMemoryAccess,远程直接数据访问)。RDMA相当于一种“去掉中间商”的技术,或者说是一种“后门”技术。RDMA的内核旁路机制允许应用程序和网卡之间直接进行数据读写,将服务器中的数据传输延迟降低到接近1us。同时,RDMA的内存零拷贝机制使得接收端可以直接从发送端的内存中读取数据,大大减轻了CPU的负担,提高了CPU效率。RDMA的能力远强于TCP/IP,逐渐成为主流的网络通信协议栈,未来必将取代TCP/IP。RDMA有两种网络承载方案,即专用InfiniBand和传统以太网。RDMA最初被提出时,是承载在InfiniBand网络上的。但InfiniBand是封闭架构,交换机是特定厂商提供的特殊产品。它使用专有协议,无法与现有网络兼容。另外运维要求过于复杂,对于用户来说也不是一个合理的选择。因此,专家们打算将RDMA移植到以太网中。比较尴尬的是RDMA和传统以太网存在很大的问题。RDMA对丢包率的要求非常高。0.1%的丢包率会导致RDMA吞吐量急剧下降。2%的丢包率会让RDMA的吞吐率降为0。InfiniBand网络虽然成本高,但是可以做到无损丢包。因此,RDMAwithInfiniBand不需要设计完善的丢包保护机制。那么现在,当我们切换到传统的以太网环境时,以太网的生活态度就两个字——“不好”。以太网数据包按照“尽力而为”的原则发送。丢包是家常便饭,丢了还要重传。因此,专家们必须解决以太网的丢包问题,才能实现RDMA向以太网的移植。然后就是前天文章中提到的华为超融合数据中心网络智能无损技术。说白了就是让以太网实现零丢包,然后支持RDMA。通过RDMA,可以实现超融合的数据中心网络。关于零丢包技术的细节,我就不赘述了,大家看前天的文章(再次链接:这里)。值得一提的是,引入基于AI的网络智能无损技术是华为的首创,但超融合数据中心是一个大众概念。除了华为之外,其他厂商(如深信服、联想等)也都在谈论超融合数据中心,而且这个概念在2017年非常流行。什么是超融合?准确的说,超融合是一个可以同时处理HPC高性能计算、存储、通用服务等多种业务类型的网络。处理器、存储和通信都是超融合管理的资源,每个人都是平等的。超融合不仅要在性能上满足这些低时延、大带宽的变态需求,而且成本要低,不能太贵,也不能太难维护。未来在数据中心的整体网络架构上,leaf-spinenetwork会一路黑下去(什么是leaf-spinenetwork?)。在路由交换调度方面,SDN、IPv6、SRv6正在慢慢发展。在微架构方面,RDMA技术发展并取代了TCP/IP。在物理层上,全光不断发展,400G、800G、1.2T……我个人推测,目前的电层和光层混合,最终会成为统一的光。光通道到达全光交叉后,穿透进入服务器。服务器的主板不再是普通的PCB,而是光纤背板。芯片之间,有一条全光通道。在芯片内部,也许它也很轻。在路由调度方面,未来AI将统治世界。网络流量和协议都将由人工智能接管,无需人工干预。大量通信工程师下岗。好了,这就是对数据中心通信网络的介绍。不知道这次你明白了吗?如果你不明白,再看一遍。
