总第9期
2017年5月刊
Lecture Hall    讲堂
Lecture Hall    讲堂
国内大型互联网DC建设路线和技术选择
文/郑上闽 王伟锋
分享

大型互联网企业的自营业务的应用,活跃用户动辄为亿级甚至十亿级。没有任何单台服务器能够支撑这么大的用户访问量。对于大型互联网企业来说,单台服务器的使用效率从来不是其要考虑主要问题。一个应用必须要能做到横向扩展,同时部署于大量服务器,进行负载分担。在这种应用场景下,在大型互联网企业,计算虚拟化并没有迫切的需求。缺少了虚机迁移等需求,也就没有强烈的需求部署网络Overlay技术。

大型网络对环路的恐惧是深入骨髓的。想象一下,在一个上万台服务器,几百台TOR的网络中,一旦出现环路引发全网的广播风暴,受影响的业务不在少数。影响的用户量更是巨大。而且一旦出现广播风暴,在这么大的一个网络中,定位起来也是极其困难的。

因此在互联网自营业务,传统部署情况下,大多采用三层到接入。通过将二层广播域限制在TOR范围,避免全网的广播风暴的产生。这种组网下,主机的MAC、ARP都限制在TOR的范围,整网接入主机的规模限制不在交换机表项上,而是在转发能力上。TOR到Core之间,采用等价路由,整个架构的横向扩展能力是比较强的,当Core的转发能力不足时,只要增加新的Core即可。

但是这种三层到接入的组网,无法为业务提供虚机、容器等计算虚拟化技术下,主机在线迁移的能力。也就是说无法很好的支持计算虚拟化。

计算虚拟化在互联网企业有这样几个应用需求:

首先是公有云,在公有云场景下,虚机的租赁是必然的选择。因为虚机具有以下优势:提高单台物理服务器使用率、降低成本,将计算资源池化、提高整个计算资源的效率,方便租户动态管理虚机的生命周期,便于维护和部署等。

其次是使用计算虚拟化,能够简化业务部署过程,提高业务部署速度。而且使得业务能够做到在线的动态扩展。对于现在所提倡的DevOps这种开发运维一体化的实现也可以做到很好的支撑。尤其是容器业务的成熟,即实现了计算虚拟化,又避免了使用虚机对服务器硬件资源的消耗。在大型互联网企业,已经逐步得到推广。

计算虚拟化必然要求实现网络虚拟化。这也是大型互联网企业在其网络架构中,引入Overlay技术的动力之一。

而且Overlay技术对SDN的支持,远远优于传统网络。因此各互联网企业的网络架构,在最近几年,在逐渐向Overlay技术演进。所有Overlay技术,现在主流且比较成熟的,就是VxLAN技术。VxLAN本质上是一个三层IP转发承载二层转发的技术。

在Overlay组网中,Underlay网络还是使用传统的三层到接入的组网。最大限度减少Underlay网络中的二层广播域。在之上叠加的Overlay网络,通过网络虚拟化,为下挂的主机虚拟出一个二层网络,以满足计算虚拟化的要求。

最初的Overlay组网,都是采用集中式网关方式。在这个组网下,主机的网关部署在核心设备。从Overlay角度看,TOR作为二层接入,三层网关在核心设备。主机之间Overlay的二层虚拟路径( 隧道 )是从TOR到TOR,vSwitch到vSwitch,或者TOR到vSwitch。主机之间的三层虚拟路径( 隧道 )是从TOR/vSwitch到核心。

在集中式网关组网下,ARP报文由TOR上送到控制器,由控制器根据获取的主机信息,代为回答。这样就避免了ARP报文的整网广播。DHCP报文也是控制器处理。网络中绝大多数的正常广播报文,通过控制器的介入被处理掉了。在能够满足绝大多数业务需求的情况下,可以关闭整网的广播,从而避免整网的广播风暴出现。

由于每台主机只能有一个缺省网关,因此核心设备必须要进行堆叠。通过设备的虚拟化,将两台核心设备虚拟成一台设备,作为主机的网关。在这个组网下,Core要有整网主机的MAC表和ARP表。Core上面表项的能力就会成为整网的瓶颈。而且由于框式设备的堆叠成员只能有两台,核心设备的转发能力也会形成瓶颈。

为了让集中式网关组网能够支持更大的网络规模,采用将网关按业务分组的方式。特定业务的流量只会到特定的核心网关。这种组网可以使得核心很方便横向扩展。但是由于不同业务核心之间无法直接互通,因此转发到不同网关组上的业务之间,如果希望能够互通,则需要从border或者外网互通。而且不同网关组之间的流量负载,需要通过预先规划。一旦完成部署,使在不同网关组之间进行切换,会影响业务。

在集中式网关组网下,同一TOR下不同子网的两台主机之间进行通信时,流量需要绕行核心。这在网络负载比较重,上下行有一定收敛比的组网中,会加重TOR到核心之间的负载,引起拥塞。

为了解决集中式网关组网下横向扩展以及路径绕行的问题,最近提出了分布式网关的组网方案。

分布式网关指的是TOR作为网关,而且相同子网可以分布在不同的TOR上。在每个TOR对于接入服务器具有相同的网关地址。当虚机在不同TOR之间进行迁移时,虚机上网络配置可以不做任何修改,从而实现虚机的热迁移。

下面看看分布式网关如何解决集中式网关面临的问题。

首先是表项规格问题。在分布式网关组网下,核心不再介入Overlay的转发,也就不再保存主机的路由和MAC。因此核心的表项规格不再是瓶颈。

在这种组网下,报文要在TOR上进行查表,转发。TOR上就要保存相应的MAC和ARP表项。而一般来说,TOR设备的表项规格要小于核心设备,那么TOR的表项是否会成为瓶颈呢?我们以三层转发为例,来说明一下这个问题。

假设TOR1上只有属于VRF1的接口, TOR2上只有属于VRF2的接口, TOR3上只有属于VRF3的接口。那么对于TOR1来讲,不会与VRF2和TOR3中的主机通信,因此在TOR1上不需要保存VRF2和TOR3中的主机ARP和路由。整个网络划分为不同区域,每个区域中的TOR设备只需要保存整网路由的一部分。这样就减少了每台TOR上的表项要求。

与网关组最大的区别在于,这种区域的划分是逻辑上的。可以很方便的通过配置进行修改。比如TOR1上如果增加了属于VRF2的接口,TOR1和TOR2上的同属于VRF2的主机就能互通了。只是这个时候TOR1上会增加VRF2中的路由,但是不会增加VRF3中的路由。这样TOR1上的表项要求还是会少于整网的表项。

其次是核心横向扩展能力。核心不进行堆叠,TOR到核心之间为ECMP。所以核心设备能够做到较好的横向扩展。其扩展能力受TOR的上行端口数目以及支持的每组ECMP下一跳个数限制。一般核心设备会部署4台。在网络规模小的时候,可以先部署两台核心。当网络规模增加的时候,由于采用ECMP组网,可以非常平滑的增加到四台核心。

对于流量绕行问题。TOR作为服务器的网关,具有二层和三层转发能力。在一台TOR下不同子网的主机之间流量,不必再绕行核心即可进行三层转发。减少了不必要的流量绕行。

结束语

在大型互联网企业,随着专有云、计算虚拟化等技术的引入,SDN技术的发展,对网络规模、规格、性能和SDN能力的要求都有了很大的提高。分布式网关技术的出现,能够很好的满足大型互联网企业,在新的业务需求下对网络的各项要求。预计分布式网关组网在大型互联网企业会得到快速发展和成熟。

分享到
关闭