数据中心网络架构
1. 数据中心
根据维基百科释义,数据中心指用于安置计算机系统及相关部件的设施,例如电信和存储系统。数据中心是全球协作的特定设备网络,用来在internet网络基础设施上传递、加速、展示、计算和存储数据信息。
2. 传统数据中心网络架构
如图1所示,传统的大型数据中心网络通常采用三层架构。cisco称之为分级的互联网网络模型(hierarchical inter-networking model)。
- 接入层:接入交换机通常位于机架顶部,所以它们也被称为ToR(Top of Rack)交换机,它们物理连接各种服务器。
- 汇聚层:汇聚层交换机连接接入层交换机,同时提供其他服务,如防火墙、SSL offload、入侵检测、网络分析等。
- 核心层:核心层交换机为进出数据中心的包提供高速的转发,为多个汇聚层提供连接性,核心交换机通常为整个网络提供一个弹性的L3路由网络
通常情况下,汇聚层是L2和L3网络的分界点,汇聚交换机以下的是L2网络,以上的是L3网络。每组汇聚层交换机管理一个PoD,每一个PoD内都是独立的VLAN网络,对应一个L2广播域,因此服务器在PoD内迁移不必修改IP地址和默认网关。汇聚层是一个HA(High Available)模式,汇聚层交换机和接入层交换机之间通常使用STP(Spanning Tree Protocol,生成树协议)。STP使得对于一个VLAN网络只有一个汇聚层交换机可用(防止出现链路环导致广播风暴),其他汇聚层交换机作为容灾备份节点。
PoD
PoD(Point of Deliery)是一个包括网络、计算、存储和应用等组成部分共同工作来提供网络服务的模块。PoD是一个模块化设计的概念,最大限度地提高了数据中心的模块化、可拓展性和可管理性。
STP
由于STP收敛性能的问题,一般情况下STP网络的规模不会超过100台交换机。STP的机制导致了二层链路利用率不足(同时只有一个汇聚层交换机被激活)。
3. 云计算时代的数据中心网络
3.1 云计算时代的数据中心网络的典型特征
- 服务器利用率高:云计算时代的服务器不局限于物理迁移,虚拟化技术使得一台物理服务器上可以同时运行多个虚拟服务器。服务器利用率的提高,导致网络的整体流量增大,才而导致要求更小的超占比。
- 东西向流量增大:现代软件系统大都采用分层结构,一个系统的多个组件通常分布在多个虚拟机/容器中。例如,常见的web服务都会包括前后端分离模式,前端、后端、数据库分别由不同服务器提供。其次,现代云计算厂商也会把服务器分为计算密集型和I/O密集型,在计算节点和存储节点之间产生了大量的流量。
- 动态迁移性强:云计算时代资源被池化,虚拟机的创建、销毁和迁移变得很频繁。
数据中心的流量
- 南北向流量:数据中心之外的客户端(互联网)和数据中心服务器之间的流量
- 东西向流量:数据中心内的服务器之间的流量。
- 跨数据中心流量:跨数据中心的流量,例如数据中心之间的灾备,私有云和公有云之间的通讯。
超占比
超占比(oversubscription)是指网络的上游带宽与下游容量之比。比如图1中,一个汇聚层交换机接了四个接入层交换机,假如接入层交换机带宽都是1Gbps,按照理论来说汇聚层与接入层之间的带宽至少应该是4Gbps。但是通常情况下接入层的交换机很少能同时跑满所有带宽,所以我们可以设计汇聚层交换机只用提供2Gbps,则超占比为$(4\times1):2 = 2:1$
3.2 大二层网络架构
为了增强网络的动态迁移能力,适应云计算时代资源池化的特点,我们需要一个大二层的网络架构,使得计算资源可以任意分配。大二层架构下的整个数据中心网络都是一个L2广播域,这样服务器就可以在数据中心内任意创建、迁移,而不需要对IP地址或默认网关做修改。大二层网络架构下L2和L3的分界在核心交换机,核心交换机以下也就是整个数据中心,是L2网络(可以包含多个VLAN,VLAN之间通过三层核心交换机做路由)。大二层网络架构虽然使得虚机网络能够灵活创建,但是带来的问题也是明显的。共享的L2广播域带来的BUM(Broadcast·,Unknown Unicast,Multicast)风暴随着网络规模的增加而明显增加,最终将影响正常的网络流量。
大二层网络架构和传统三层架构都有多个VLAN。传统三层架构以汇聚层交换机构成VLAN,不同汇聚层交换机之间VLAN是隔离的(也就是服务器如果迁移到另一个汇聚层,则VLAN一定变化,导致IP和默认网关需要更改)。大二层架构下,VLAN的划分是在核心层交换机下的,服务器迁移到另一个汇聚层,仍可以处于原来的VLAN环境。