在数据中心网络领域,性能、规模似乎永远没有边界,是业界技术人员、设计者们不断追求与创新的目标。从1G速率骨干网的应用、10G速率骨干网的普及,到40G/100G以太网标准的制定和颁布, IT领域同样有着更高、更快、更强法则。但是有了高速的转发技术,并不意味着就可以实现高性能,高性能网络设计是一个系统化的工程,需要考虑网络流量收敛比、网络设备性能、网络设备缓存等多种因素。本文将重点阐述高性能数据中心的流量收敛设计,从二三层架构、产品选型等几个方面提供设计参考建议。
文/刘鑫
数据报文的流量收敛,是指数据报文在网络转发过程中由于架构、设备等非故障原因而不能实现线速无丢包转发。在流量收敛时,网络设备会有部分端口拥塞,进而丢弃部分报文。一般在园区网,由于流量压力不大,园区网网络一般都会存在较大的流量收敛;但在数据中心网络,由于其对性能要求高,流量收敛的设计必须谨慎。
造成网络流量收敛的原因主要有两个:交换机不支持线速转发,在交换机内部可能形成流量收敛;网络架构设计不当,无论交换机是否线速,转发报文时也会存在流量收敛。以下将分别以示例说明。(注:示例中对于传输报文速率、带宽收敛等的计算没有考虑到网络层协议等开销。“收敛比”在此也不能用于评价整个数据报文的端到端转发的性能及是否丢包,只是从模型上提供一个高性能网络架构设计的参考。)
交换机非线速导致的收敛。
某交换机只具有8Gbps线速转发的交换能力,某时刻从交换机前12个接口向后12个接口同时转发流量,当每个接口流量均跑满1Gbps时,在交换机内部一定会有拥塞,此时便形成了转发的收敛(如图1所示)。实际每秒交换机接收流量为12Gbps,但转发出去的报文只有8Gbps,收敛比为输入带宽(12Gbps)÷输出带宽(8Gbps)=3:2。
图1交换机非线速导致的收敛示意
网络设计不当导致的收敛
如图2所示,4台服务器分别通过千兆链路连接接入交换机,接入交换机通过1条千兆链路连接核心交换机。即接入交换机的下行带宽为4Gbps,接入交换机的上行带宽为1Gbps,为非对称链路,下上行链路收敛比为下行带宽(4Gbps)÷上行带宽(1Gbps)=4:1。
图2网络设计不当导致的收敛示意
为避免拥塞导致网络性能下降,需进行合理的流量收敛设计,一般要关注以下几点:
链路收敛比的设计,包括服务器的网络接入带宽,汇聚/接入交换机与核心间的互联带宽;
网络架构设计;
可用链路设计;
设备收敛比及设备选择设计。
在骨干网络的设计中,应根据业务流量的大小(包括平均水平、峰值等)合理的规划链路带宽和收敛比,据此再选择性能合适的(线速或非线速)设备等。在数据中心网络架构的设计中,收敛设计一般以单台终端设备(如服务器、PC机)在核心交换机侧所分配的单向流量的带宽保障为衡量标准。网络设备是否线速、网络层次、上下行链路带宽、终端接入数量等都是需要考虑的因素。以核心-接入两层网络为例(如图3所示),其设计如下:
图3 某数据中心网络拓扑
核心交换机及所配置板卡均为线速(无收敛),接入层网络设备为线速(无收敛);
每台服务器通过2根千兆网线分别上连2台接入交换机(假设服务器网卡均可以最大速率(千兆)传输);
每台接入交换机通过2根万兆光纤分别上连2台核心交换机。
1、2号接入交换机每台下联20台服务器(A组),3、4号接入交换机每台下联40台服务器(B组)。
所有链路均为可用链路(即没有链路只做备份不传输业务数据),可同时传输数据,并假设所有链路均可以跑满到带宽上限。
A、B组服务器上行至核心交换机的链路收敛比,即为各自的网络传输收敛比,计算如下。
A组:接入交换机下行40Gbps÷接入交换机上行40 Gbps=1:1,平均每台服务器在核心交换机侧的可保障带宽为2G;
B组:接入交换机下行80G÷接入交换机上行40 G =2:1。平均每台服务器在核心交换机侧的可保障带宽为1G。
可见,B组服务器的网络转发架构收敛比大,在性能设计方面要差于A组服务器。
在普通的局域网或园区网内,单终端网络性能需求较小,可以设计较高的收敛比。如在千兆到桌面的二层网络架构中,接入交换机的下上行链路收敛比可以设计为40:1甚至更大。可以假设单台接入交换机通过千兆链路连接40个PC终端,通过1条千兆链路连接核心交换机,在40:1收敛的情况下,每个PC在核心交换机侧也可以分配到25M的带宽,足够每个终端使用,那么这种收敛设计就是合理的。
但在数据中心等性能压力较大的环境中,则要求收敛比较小,在万兆骨干千兆终端的网络设计中一般不超过10:1。如某数据中心万兆骨干千兆终端设计,二层扁平化架构,核心、接入交换机所有端口全部可以线速转发,设计为10:1收敛,则实际每台服务器在链路层可以分配100M带宽;若设计为1:1收敛,才可分配1000M带宽。
这里的“二层”是指核心、接入两层设备的扁平化设计(如图4所示),二层架构具有更小的收敛比,在性能要求更高的数据中心等环境应考虑为二层扁平化架构设计。
图4 二层网络架构模型
“三层”是指核心、汇聚、接入三层设备的组网设计(如图5所示),汇聚设备在实际组网中可以是交换机、防火墙等设备。
图5 三层网络架构模型
三层架构或多层架构具有较高的收敛比,此种架构设计会导致性能的下降。但在政府或大型园区或某些特殊领域等,由于业务架构或网络安全性的要求,必须部署汇聚层设备作为网关、部署安全隔离等。
在数据中心设计中,可以考虑二层+三层(多层)的架构设计,例如性能要求高的应用系统网络架构采用二层网络设计,而安全性要求高的应用系统网络架构采用三层或多层网络设计。
在数据中心更为通用的设计方法是采用环路接入拓扑模式,以生成树协议(MSTP)配合网关冗余协议(VRRP)提供服务器接入的可靠性。同时,服务器以多网卡连接网络以进一步提供冗余能力。但此种设计的冗余链路往往只能在主用链路故障时才发挥作用,链路及设备的利用率不高,也影响着这个网络的收敛比。
如图6左图所示,在MSTP/VRRP的设计中,为消除环路,只有一条链路在转发。图6右图采用H3C IRF2虚拟化技术之后,在不改变传统设计的网络物理拓扑、保证现有布线方式的前提下,以IRF2的技术实现网络各层的横向整合,即将交换网络每一层的两台、多台物理设备使用IRF2技术形成一个统一的交换架构,减少了逻辑的设备数量。
图6 IRF2虚拟化技术提升网络链路利用率
虚拟化整合后的IRF2系统,对外表现为单台物理设备,因此,在保持基本网络互联条件下,可将一对IRF2系统之间的多条线缆进行链路捆绑聚合动作,从而将不同网络层之间的网状互联简化成单条逻辑链路。可用链路增多,也就降低了整个转发的链路收敛比。
在终端接入侧,也有类似的设计方式。若服务器双网卡为主-备方式,则可设计为只有主用链路生效、备用链路在主用链路故障时启用;若服务器双网卡为主-主方式,则全部上联链路均可以使用(如图7所示),配合链路收敛比设计可以提高网络中的实际可用带宽,提升网络转发性能。此种设计需要接入交换机支持IRF2或类似虚拟化技术,使接入交换机与服务器双网卡可以进行多链路聚合设计。
图7 接入侧的高可用带宽设计
上述举例均假设所有交换机的所有端口可以线速转发,如果核心交换机等设备的端口非线速,还需要考虑在交换机上的收敛。因此,为保证数据中心网络的高性能,最好选用具有全线速能力的交换机设备。
但在高密度万兆板卡领域,由于接口缓存大小同样重要,而具有全线速高密度万兆端口的板卡的缓存一般都较小,因此需要在缓存与万兆性能间进行取舍。
结束语
流量收敛设计,是复杂的系统工程,需要根据网络流量、业务需求,考虑网络二层/三层架构、实际可用链路等因素,尤其在数据中心等关键网络环境的建设中是需要重点考虑的。