数据中心网络(data center network)指的是连接数据中心内部的海量服务器、连接分布式数据中心以及连接数据中心与终端用户之间的网络。数据中心网络是伴随着互联网服务规模的增长、升级,以及云计算等新型服务模式的出现而形成的。对于一个互联网公司而言,当其提供的服务规模较小时,仅需一台或几台服务器就足够了,这时并不需要复杂的网络技术;但当其所提供的互联网服务增加到很大的规模(如谷歌、亚马逊、阿里巴巴、腾讯等公司)时,则需要几十万台甚至数百万台服务器才能提供用户所需的互联网服务,这时就诞生了数据中心网络。数据中心网络可以分为三个部分:(1)数据中心内部网络。主要是连接数据中心内的海量服务器,支持数据中心服务器之间的通信需求。这部分网络可以被视为一种“计算机局域网”,而这部分流量经常被称为数据中心的“东西流量”。(2)分布式数据中心之间的网络。一个互联网业务提供商可能修建了多个数据中心(为了异地灾备、降低延迟等多种考虑),连接这些分布式数据中心之间的网络,也是数据中心网络的组成部分。这部分网络一般是专线(自建或租用)连接,但也不排除使用电信运营商的公共互联网。(3)连接数据中心和终端用户之间的网络。大部分情况下,数据中心与终端用户之间是通过电信运营商的接入网络来互通的,但当前许多互联网公司所修建的数据中心已经离用户越来越近,部分互联网公司甚至有过自建网络直联用户的做法(比如谷歌公司曾经的“谷歌光纤”项目)。数据中心与终端用户之间的流量,经常被称为数据中心的“南北流量”。
数据中心网络与互联网的关系互联网(Internet)是对“网络”进行“互联”的“网络”。IP协议(Internet Protocol)是互联网最核心的协议,围绕互联网“开放与互联”的使命而设计,是互联网取得巨大成功的重要原因之一。以IP协议为核心的互联网技术,也将成为打通行业网络“孤岛”、连接不同行业网络的关键技术,是贯通“新基建”中5G网络、工业互联网、卫星互联网、数据中心网络等不同网络的“血管”,是更“全局”、更“基础”的基础设施技术。世界上并不存在所谓的“互联网运营商”,因为互联网本身是一个完全分布式的架构。我们常说的互联网服务提供商(Internet Service Provider,ISP),其实是为不具备网络部署能力的机构或个人提供互联网接入”服务的公司,一旦网络部署完成,ISP并不能成为这些网络的“管理者”或“运营者”(ISP可以协助运维)。从理论上讲,任何一个“网络”要想加入“互联网”,只要申请到IP地址、AS号等基本互联网资源就可以了,数据中心网络也是一样。如今,很多大型互联网公司的数据中心网络都有完全独立的AS号、IP地址段等。数据中心网络已经成为互联网基础设施的重要组成部分。值得注意的是,数据中心网络加入互联网的部分,既包括传统意义上的“计算机局域网”(即单个数据中心的内部网络),也包括传统意义上的“广域网”(即分布式数据中心之间的网络)。如果互联网公司直接提供光纤到户服务,那就相当于把电信运营商直接“旁路”了(这种做法并不经济,因此“谷歌光纤”项目被停掉了)。因为加入了互联网,所以数据中心网络的所有行规则与互联网无异了,这些运行规则包括但不限于:(1)通过运行域间路由协议,向外发布数据中心网络的IP地址前缀及路由;(2)数据中心网络内的每台服务器都分配一个IP地址;(3)数据中心网络中的每个节点运行TCP/IP协议栈,与互联网其他部分交互的报文都要封装一个IP头部。当然,数据中心网络内部服务器之间交互的流量,其协议栈的选择相对灵活,比如可以采用“大二层网络”(用MAC地址转发),也可以采用RoCE(RDMA over Converged Ethernet)协议栈,但就算在这两种情况下,一般也会给报文封装PP头部(但不一定用P地址来转发)。数据中心内部网络与传统局域网的区别数据中心内部网络本质上属于计算机局域网,与园区网、企业办公网络等其他的传统计算机局域网相比,存在以下特点:1. 数据中心内部网络的流量主要是机器产生的,而传统的园区网、企业网的流量主要是人产生的。数据中心把大规模的服务器进行互联通信,不管是数据中心网络的内部流量,还是数据中心与终端用户之间的通信流量,都是机器产生的。因此数据中心网络的流量往往具有突发性强、缺乏规律性的特点,流量的可预测性不强。2. 数据中心内部网络的链路密集、拓扑规整性强。与园区网、企业网等相比,数据中心网络主要是把海量服务器进行互联,这些服务器都被密集地放置,因此服务器之间的链路也非常密集。为了让这些服务器进行更好的互联通信,服务器之间的互联拓扑也往往具有较强的规整性,比如fat-tree(胖树)、VL2、BCube等拓扑。3. 数据中心内部网络的端到端带宽极高、延迟极低。由于当前的互联网服务规模不断增加,数据中心网络产生的流量极高,服务器之间的端到带宽当前已经达到100Gbps,未来还会继续增长;而园区网、企业网的端到端带宽大部分情况下是在MGBps级别。由于数据中心网络连接的服务器之间距离很近,带宽又极高,因此服务器之间的端到延迟极低,往往在微秒级别;而园区网、企业网的端到端延迟较高,一般在毫秒级别。数据中心内部网络与超级计算机内部网络的区别
由于数据中心是把大量服务器(计算节点)相连,让人很容易将其与超级计算机联想到一起。但是,数据中心网络与超级计算机的内部网络还存在以下区别:1. 大部分数据中心是商业公司所拥有的,因此在技术选择上更看重“性价比”,而非“绝对性能”。所以,数据中心网络往往采用TCP/IP/Ethernet这样的互联网技术协议栈,因为这一类协议栈所对应的硬件设备成本较低。而超级计算机的内部网络主要看重性能,采用的是InfiniBand这样的通信协议栈。2. 由于数据中心网络侧重于“性价比”的考虑,往往采用较为“廉价”的硬件设备,因此网络协议的设计中需要考虑容错性。这与数据中心MapReduce、HDFS等分布式计算或分布式存储系统的设计思想一致,即通过软件上的设计,在相对“低端”“不可靠”的硬件设备上实现高性能的系统性能。而超级计算机的内部网络往往通过硬件手段(比如备份硬件)来解决容错问题。