数据中心网络架构

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据中心网络架构相关的知识,希望对你有一定的参考价值。

传统数据中心网络架构

传统数据中新网络架构通常是3层结构,(园区网一般也是3层结构)Cisco称之为:分级的互联网络模型,包含三层:

Core 核心层 : 提供高速转发,为多个汇聚层提供连接性
Aggregation 汇聚层 :汇聚连接接入交换机,同时提供其他服务(FW、SLB、等)
Access 接入层 :物理连接服务器,一般放在机柜顶端,也称ToR交换机

一个三层架构图如下:

技术图片

汇聚是网络的分界点,汇聚交换机以下是L2网络,以上是L3网络,每组汇聚交换机是一个pod,根据业务分区分模块。pod内是一个或者多个VLAN网络,一个POD对应一个广播域。

这种架构部署简单,(vlan+xstp)技术成熟。

VLAN 、Xstp

使用vlan、xstp原因:

1、BUM(广播,未知单播,组播)
vlan技术把一个大的物理二层域划分成多个小的逻辑二层域,这逻辑的二层域被称为vlan,同一个vlan内可以二层通信,不通vlan之间隔离,这样广播的范围被局限在一个vlan内,不会扩散到整个物理二层域
vlan还有简化管理,提高安全性等。。

2、环路及环路形成的广播风暴

如果是单设备单链路组成的3层架构,是不存在环路以及环路带来的广播,但是这种网络可靠性比较差,因为没有任何的备份设备和备份链路,一旦某个设备或者链路发生故障,故障点下的所有主机就无法连上网络。

为了提高网络的可靠性,通常采用冗余设备和冗余链路(如上图),这样就不可避免形成环路,二层网络处于同一个广播域下,广播报文在环路中反复持续传送,无线循环下就会形成广播风暴,瞬间就会造成端口阻塞设备瘫痪。

防止环路出现,又要保证网络的可靠性,就只能讲冗余设备和冗余链路变成备份设备和备份链路,冗余设备和链路在正常情况下被阻塞掉,不参与数据报文的转发,只有当前转发的设备、端口、链路出现故障导致网络不通的时候,冗余设备和链路才会被打开,使得网络恢复正常,实现这些自动控制的协议被称为破环协议,最常用就是 STP (生成树协议)有RSTP、MSTP 统称 XSTP协议。

服务器虚拟化

虚拟化发展改变了数据中心网络架构的需求,其中技术--虚拟机动态迁移,虚拟机迁移要求虚机迁移前后的IP和MAC地址不变,这就需要虚机迁移前后的网络处于同一个二层域内部,甚至跨越不同地域、不同机房之间的迁移,使得数据中心二层网络的范围越来越大,出现了大二层网络这一新领域专题。

传统网络架构的二层大不起来

一般传统网络架构分区分模块的业务特点,区域对应VLAN划分,跨pod迁移肯定的换IP地址,这就不符合虚机动态迁移业务不中断:

技术图片

vlan问题

VLAN的核心思想之一,就是通过划分VLAN来缩小二层域的范围和规模,来控制广播风暴的规模。
而对于大二层网络的需求而言,又要求把所有服务器都纳入同一个二层域,那如果把所有服务器都纳入到同一个VLAN当中,如果没有其他隔离手段,那不就相当于又把广播域扩得大大的?这和划分VLAN的初衷是背道而驰的。

公有云的兴起和IaaS模式的普及,“多租户”环境成为了云网络必备的基础能力。而传统二层网络中,VLAN最多支持的租户数量为4K,已经跟不上业务的飞速发展。

xstp问题

环路技术收敛慢,xSTP需要阻塞掉冗余设备和链路,降低了网络资源的带宽利用率,二层的组网规模受到极大的限制

实现大二层

传统二层技术无法实现真正意义上大二层网络,所以就要另外想办法,然后技术大牛们各显神通,想出了很多解决方案:

1、虚拟交换机技术

既然二层网络的核心是环路问题,而环路问题是随着冗余设备和链路产生的,那么把多台设备、多条链路合并成一台、一条就可以消除环路。那就是网络设备虚拟化技术。
所谓网络设备虚拟化技术,就是将相互冗余的两台或多台物理网络设备组合在一起,虚拟化成一台逻辑网络设备,在整个网络中只呈现为一个节点。
网络设备虚拟化再结合链路聚合技术,就能够将原来的多设备多链路的结构变成逻辑上的单设备单链路的架构,杜绝了环路的出现,因此不再受破环协议的限制,从而实现大二层网络。

网络设备虚拟化的主要技术大致可以分为三类:框式设备的堆叠技术、盒式设备的堆叠技术、框盒/盒盒之间的混堆技术。有华为的CSS、iStack、SVF,CISCO的VSS、FEX,H3C的IRF等。

技术图片

网络设备虚拟化方案也有一定的缺点:

1)这些协议都是厂家私有的,因此只能使用同一厂家的设备来组网。

2)受限于堆叠系统本身的规模限制,目前最大规模的堆叠/集群大概可以支持接入1~2万主机,对于超大型的数据中心来说,有时候就显得力不从心了。但是对于一般的数据中心来说,还是显得游刃有余的

东西向L3流量,不论是不是在一个接入层交换机下,都需要走到具有L3功能的核心交换机,如果东西流量大的话,浪费宝贵核心交换资源,多层转发也增加了网络传输延时
技术图片

其次共享的L2广播域带来的BUM(Broadcast·,Unknown Unicast,Multicast)风暴随着网络规模的增加而明显增加,最终将影响正常的网络流量。

2、隧道技术

隧道技术解决的也是二层网络的环路问题,但是着眼点不是杜绝或者阻塞环路,而是在有物理环路的情况下,怎样避免逻辑转发路径的环路问题。

核心思想把三层网络的路由转发方式引入到二层网络中,通过在二层报文前插入额外的帧头,并且采用路由计算方式控制整网数据的转发,不仅可以在冗余链路下防止广播风暴,而且可以做ECMP。这样可以将二层网络的规模扩展到整张网络,而不会受核心交换机数量的限制。当然这需要交换机改变传统的基于MAC的二层转发行为,而采用新的协议机制来进行二层报文的转发。

新的协议包括TRILL、FabricPath、SPB等。

TRILL协议在原始以太帧外封装一个TRILL帧头,再封装一个新的外层以太帧来实现对原始以太帧的透明传输,TRILL交换机可通过TRILL帧头里的Nickname标识来进行转发,而Nickname就像路由一样,可通过IS-IS路由协议进行收集、同步和更新

TRILL和SPB这些技术是CT厂商主推的大二层网络技术方案。

3、Overlay网络

Overlay网络是在现有的网络(Underlay网络)基础上构建的一个虚拟网络。所谓的现有网络,就是之前的交换机所在的网络,只要是IP网络就行。而新构建的Overlay网络,用来作为服务器通讯的网络。Overlay网络是一个在L3之上的L2网络。也就是说,只要L3网络能覆盖的地方,那Overlay的L2网络也能覆盖。

通过用隧道封装的方式,将源主机发出的原始二层报文封装后在现有网络中进行透明传输,到达目的地之后再解封装得到原始报文,转发给目标主机,从而实现主机之间的二层通信。
通过封装和解封装,相当于一个大二层网络叠加在现有的基础网络之上,所以称为Overlay,也叫NVo3。

Overlay方案的核心就是通过点到多点的隧道封装协议,完全忽略中间网络的结构和细节,把整个中间网络虚拟成一台“巨大无比的二层交换机”, 每一台主机都是直接连在这台“巨大交换机”的一个端口上。而基础网络之内如何转发都是这台“巨大交换机”内部的事情,主机完全无需关心。

Overly技术不依赖于承载网络,可以充分利用现有的基础网络来实现大二层网络,并且对于支持SDN和多租户方面有优势,是当前大二层网络最热门的技术,可以实现整个数据中心的大二层网络,甚至跨数据中心的大二层组网,但是Overly技术中由Overly网络和Underlay承载网络两个控制层面,管理维护和故障定位就相对复杂的多,运维工作也相对较大。

技术图片

vxlan配合Spine/Leaf架构:

技术图片

Spine/Leaf网络扩大接入和汇聚层。一个主机可以通过叶支交换机(leaf)和另一个叶支交换机上的主机进行通信,而且是独立的通道。这种网络可以大大提高网络的效率,特别是高性能计算集群或高频流量通信设备

技术图片

东西流量无须经过核心

以上是关于数据中心网络架构的主要内容,如果未能解决你的问题,请参考以下文章

架构丰富的代码片段也应该用于产品列表吗?

在导航控制器上添加片段而不是替换片段?

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装

将数据从底部工作表对话框片段传递到片段