1.1 从国际互联网开始

几台计算机接在一台交换机上,相互能直接发送信息、传输数据,这样的网络叫作局域网,办公室和家庭里的网络就是典型的局域网。局域网需要上外网的时候,需要电信服务提供商(ISP)提供上网服务,将局域网对接到更大的网络——城域网。连接几个城域网的网络叫作国家骨干网,连接全球骨干网的网络叫作国际骨干网。如下所示是国际互联网的一个示意图,国际互联网是一个分层汇聚网络,位于顶端的是国际骨干网,负责连接国家骨干网,在一些国家之间还有直达通道。在国家内部通常有一个全国性的高速国家骨干网,这个骨干网只能在某些点对接国际骨干网。国家骨干网负责将分布在各个城市里的城域网连接起来,每个城域网则负责将本区域众多园区网接入,这些园区网可以是省内某些高新产业园的网络、一些大的IT公司的网络等。

首先说说位于顶端的国际骨干网。为了将地球上的各个大洲互联,人们建设了很多海底光缆,可以说海底光缆构成了国际骨干网的骨架。美国是国际互联网的中心,它周边有丰富的海底光缆,直达各个大洲。中国大陆地区的海底光缆连接点有三个:青岛、上海和汕头,总共有6条光缆通向全球。

接下来说说国家骨干网。以中国为例,中国的全国性骨干网是CHINANET,它是前邮电部经营管理的网络,1995年年初与国际互联网连通并向社会提供服务。类似于国际互联网的架构,CHINANET也是分层网络,由骨干网和汇接层两部分组成:骨干网是其主要信息通路,由直辖市和各省会城市的网络节点构成;汇接层则用来连接各省(区)的城域网。

CHINANET由8个核心节点组成,这8个核心节点分别是北京、上海、广州、沈阳、南京、武汉、成都、西安。毫无悬念,“北上广”3个节点成为超级节点,也是CHINANET的3个国际出口,在这3个超级节点之间形成大三角电路,其他5个普通节点则与每个超级节点互联。

为了保证国内企业用户访问国外网站的速度和带宽,中国电信后来启动了另外一个精品网络,即CN2网络。从下图中可以看到CN2网络专门增加了海外直连线路,以保证海外站点的带宽和品质。

再说说CHINANET的“汇接层”网络,这一层由54个汇接节点组成,除甘肃、山西、新疆、宁夏、贵州、青海、西藏、内蒙古等8个省份的单汇接节点外,每个省都有两个骨干网汇接节点,在第一和第二出入口节点之间通过一条省内中继连接。各省份双方向上连接,分别连接到一个超级核心节点和一个普通核心节点。如下所示是天津电信城域网汇聚接入CHINANET的网络示意图。

最后说说“城域网”。城域网也是一个分层汇聚网络,主要用来提供宽带接入服务,因此存在一种特殊设备,即宽带远程接入服务器BRAS(Broadband Remote Access Server),它是用来完成各种宽带接入方式的宽带网络用户的接入、认证、计费、控制、管理的网络设备,是宽带网络可运营、可管理的基石。

我们如果在家上网,则通常会通过当地某个宽带运营商的网络接入城域网,最终实现“全球互联”,这是我们都熟悉的方式。另一方面,我们开发的互联网应用被部署到IDC机房里的某个服务器上,从而完成应用互联网的接入。由于IDC机房与我们所开发的分布式应用密切相关,所以接下来我们一起了解IDC机房的相关知识。

IDC机房又被称为互联网数据中心(Internet Data Center)或者数据中心,不仅是数据存储的中心,还是数据流通的中心。IDC机房是标准化的电信专业级机房,为企业、政府提供服务器托管、租用及相关增值等方面的全方位服务。一开始,IDC机房主要是电信、联通等运营商建设的,后来很多企业也有了自己的IDC机房,BAT都自建了IDC机房,比如腾讯先后自建了深圳宝安、深圳腾大、天津三个IDC机房。

由于2002年5月国内电信业大重组,原中国电信北方10个省份正式划入中国网通集团,南方21个省份重组为新的中国电信。这将把中国的互联网一分为二,导致互联互不通,使国内的IDC机房往往具备双线接入这一奇特特性。

如下所示是IDC机房的网络架构图,一般分为出口路由区、核心交换区、接入网络区及增值业务区四个区域。

(1)出口路由区的主要功能是作为IDC机房的出口,与国干网(CHINANET)和本身的城域网互联,完成外部网络和IDC内网的三层互通,通常由两台CR路由器组成。某些大型省份通常会建设多个IDC机房,若每个IDC机房之间都与国干网和城域网互联,则会浪费国干网和城域网设备的端口资源和线路资源,因此通常会再建设一个IDC路由骨干层网络。骨干层中的两台CR路由器直接与国干网和城域网互联,各机房IDC出口的CR路由器则与骨干层出口路由器互联。

(2)核心交换区则由一组核心交换机组成,作为接入层与出口路由区的互联设备,起到汇聚流量的作用,同时IDC内部的流量互通也可以通过核心交换机完成。在云计算业务兴起后,为了扩大二层网络规模,同时提高内网效率,交换网络大多采用核心层加接入层的扁平化组网,不再设置汇聚层。为了实现高密接入,核心交换机通常采用数据中心级设备,具有高吞吐、大缓存等特点,同时通过IRF2网络虚拟化技术将多台核心交换机虚拟成一台,既提高接入密度,又方便管理。

(3)接入网络区下连物理服务器,上连核心交换机,主要部署千兆或万兆交换机。物理服务器数量多,且每台物理服务器均有多个端口,这就要求接入层交换机实现高密接入。当前在IDC网络中,接入交换机通常以TOR方式在每个机柜都部署两台,实现本机柜的服务器接入。接入交换机通常采用千兆下行(连接服务器)、万兆上行(连接核心交换机)的连接方式,并通过IRF2技术进行虚拟化部署。

(4)增值业务区部署与增值业务相关的设备,包括防火墙、IPS、负载均衡等设备。这些设备通常以旁挂核心交换机的方式进行设计,根据业务需求,在核心交换机上将流量引到增值业务区处理。对于云主机等业务,由于规划使用私网IP网段,因此必须使用防火墙实现NAT转换,该防火墙设备通常也以旁挂方式部署在核心交换机上。

在IDC机房里通常采用传统的VLAN技术实现租户网络的隔离,VLAN基于IEEE的802.1Q协议,在该协议的帧格式里面定义了VLAN ID的位数为12比特,因此最多只能支持4094个VLAN。而随着云数据中心的各种业务应用的规模落地,业务量不断增长,就可能需要成千上万个VLAN,传统VLAN的数量不能满足云数据中心日后业务规模发展的需求。另外,在物理服务器被虚拟化后,云数据中心内部虚拟机的数量相比原有的物理机发生了数量级的增加,与之对应的虚拟机虚拟网卡的MAC地址数量也相应增加,这对云数据中心接入区网络的交换机地址容量能力产生了很大冲击。虚拟机数量很多时,会导致交换机的MAC地址表溢出,从而导致数据帧的丢弃或者产生大量的广播帧,严重影响网络的性能。最后,云数据中心的虚拟机通常需要在一定范围内迁移,在传统的VLAN网络下,虚拟机只能在二层网络下迁移,并且为了能够支持虚拟机的迁移,需要在二层网络中对VLAN进行预配置,这造成了VLAN配置混乱,影响了VLAN广播域的隔离,降低了网络的效率。VXLAN(Virtual eXtensible Local Area Network)虚拟扩展局域网是一种“VLAN升级技术”,是一种大二层虚拟网络扩展的隧道封装技术,可以很好地解决上述问题,目前该技术已经成为各种规模化运营的云数据中心不可忽视的关键应用技术。

VXLAN是VMware、思科、Arista、Broadcom、Citrix和RedHat共同提出的IETF草案,可以通过软件的方式来实现支持,其中最重要的开源软件交换机是Open vSwitch,它也是虚拟化网络解决方案中最重要的一个开源软件,OpenStack、Docker都可以用它实现虚拟网络。