[趣谈网络协议学习] 21 数据中心:我是开发商,自己拿地盖别墅

无论是看新闻、下订单、看视频、下载文件,最终访问的目的地都在数据中心里面。

数据中心里面是服务器。服务器被放在一个个叫作机架(Rack) 的架子上面。

数据中心的入口和出口也是路由器,由于在数据中心的边界,就像在一个国家的边境,称为边界路由器(Border Router)

为了高可用, 为了当一个运营商出问题的时候,还可以通过另外一个运营商来提供服务,所以数据中心的边界路由器会连接多个运营商网络。

既然是路由器,就需要跑路由协议,数据中心往往就是路由协议中的自治区域(AS)

TOR(Top Of Rack)交换机 与 汇聚层交换机

数据中心里面往往有非常多的机器,当塞满一机架的时候,需要有交换机将这些服务器连接起来,可以互相通信。

交换机往往是放在机架顶端的,所以经常称为TOR(Top Of Rack)交换机。这一层的交换机常常称为接入层(Access Layer)。注意这个接入层和原来讲过的应用的接入层不是一个概念。

[趣谈网络协议学习] 21 数据中心:我是开发商,自己拿地盖别墅_第1张图片

有多个机架时,需要有交换机将多个机架连接在一起。这些交换机对性能的要求更高,带宽也更大。这些交换机称为汇聚层交换机(Aggregation Layer)

为保证高可用:

  • 数据中心里的每一个连接都要高可用。每台机器至少两个网卡、两个网线插到 TOR 交换机,如同一张网卡般工作,即网卡绑定。这需要服务器和交换机都支持一种协议 LACP(Link Aggregation Control Protocol)。它们互相通信,将多个网卡聚合称为一个网卡,多个网线聚合成一个网线,在网线之间可以进行负载均衡,也可以为了高可用作准备。

[趣谈网络协议学习] 21 数据中心:我是开发商,自己拿地盖别墅_第2张图片

  • 网卡有了高可用保证,但交换机还有问题,需要部署两个接入交换机、两个汇聚交换机。多个交换机之间通过堆叠技术形成一个逻辑的交换机。
    [趣谈网络协议学习] 21 数据中心:我是开发商,自己拿地盖别墅_第3张图片

服务器通过多根线分配连到多个接入层交换机上,而接入层交换机多根线分别连接到多个交换机上,并且通过堆叠的私有协议,形成双活的连接方式。

由于对带宽要求更大,而且挂了影响也更大,所以两个堆叠可能就不够了,可以就会有更多的,比如四个堆叠为一个逻辑的交换机。

核心交换机 与 可用区

汇聚层将大量的计算节点相互连接在一起,形成一个集群。在这个集群里面,服务器之间通过二层互通,这个区域常称为一个POD(Point Of Delivery),有时候也称为一个可用区(Available Zone)

多个可用区连在一起,连接多个可用区的交换机称为核心交换机

[趣谈网络协议学习] 21 数据中心:我是开发商,自己拿地盖别墅_第4张图片
核心交换机吞吐量更大,高可用要求更高,肯定需要堆叠,但是往往仅仅堆叠,不足以满足吞吐量,因而还是需要部署多组核心交换机。核心和汇聚交换机之间为了高可用,也是全互连模式的。这个时候核心和汇聚交换机之间会出现环路。

如何解决核心和汇聚交换机间出现环路?

一种方式,不同的可用区在不同的二层网络(汇聚层),需要分配不同的网段。汇聚和核心之间通过三层网络互通的,二层分配不同的网段都不在一个广播域里面,不会存在二层环路的问题。三层有环是没有问题的,只要通过路由协议选择最佳的路径就可以了。

[趣谈网络协议学习] 21 数据中心:我是开发商,自己拿地盖别墅_第5张图片

如图,核心层和汇聚层之间通过内部的路由协议 OSPF,找到最佳的路径进行访问,而且还可以通过 ECMP 等价路由,在多个路径之间进行负载均衡和高可用。

大二层与多链接透明互联协议

随着数据中心里面的机器越来越多,尤其是有了云计算、大数据,集群规模非常大,而且都要求在一个二层网络里面。这就需要二层互连从汇聚层上升为核心层,也即在核心以下,全部是二层互连,全部在一个广播域里面,这就是常说的大二层

[趣谈网络协议学习] 21 数据中心:我是开发商,自己拿地盖别墅_第6张图片
堆叠只解决一个核心交换机组内的无环问题,而组之间全互连,还需要其他机制进行解决。于是大二层就引入了TRILL(Transparent Interconnection of Lots of Link),即多链接透明互联协议。它的基本思想是,二层环有问题,三层环没有问题,那就把三层的路由能力模拟在二层实现。

运行 TRILL 协议的交换机称为RBridge,是具有路由转发特性的网桥设备,只不过这个路由是根据 MAC 地址来的,不是根据 IP 来的。

Rbridage 之间通过链路状态协议运作。通过链路状态协议可以学习整个大二层的拓扑,知道访问哪个 MAC 应该从哪个网桥走;还可以计算最短的路径,也可以通过等价的路由进行负载均衡和高可用性。

[趣谈网络协议学习] 21 数据中心:我是开发商,自己拿地盖别墅_第7张图片
TRILL 协议在原来的 MAC 头外面加上自己的头,以及外层的 MAC 头。TRILL Header 里的 Ingress RBridge,类似于源 IP 地址,Egress RBridge 类似于目标 IP 地址,路由中不变。外层的 MAC 在下一跳时会变。如图所示,整个过程和IP 路由很像。

对于二层的广播包,需要通过分发树的技术实现。 STP 是将一个有环的图,通过去掉边形成一棵树,而分发树是一个有环的图形成多棵树,不同的树有不同的 VLAN,有的广播包从 VLAN A 广播,有的从 VLAN B 广播,实现负载均衡和高可用。

[趣谈网络协议学习] 21 数据中心:我是开发商,自己拿地盖别墅_第8张图片

传统的三层网络架构与叶脊网络

核心交换机外是边界路由器(Border Router),是数据中心的入库和出口的路由器。数据中心里的机器通过 BGP 协议访问外面的网站。

在核心交换上面,往往会挂一些安全设备,例如入侵检测、DDoS 防护等等。这是整个数据中心的屏障,防止来自外来的攻击。核心交换机上往往还有负载均衡器。

综上,数据中心分三层。服务器连接接入层,然后是汇聚层,再然后是核心层,最外面是边界路由器和安全设备。整个数据中心的网络如下

[趣谈网络协议学习] 21 数据中心:我是开发商,自己拿地盖别墅_第9张图片
如图
从上到下,从下到上,上北下南,所以称为南北流量
从左到右,从右到左,左西右东,所以称为东西流量

随着云计算和大数据的发展,节点之间的交互越来越多,东西流量增大,为了解决东西流量的问题,演进出了叶脊网络(Spine/Leaf)

  • 叶子交换机(leaf)层,部署接入交换机。
  • 脊交换机(spine),相当于核心交换机,主要实现路由功能。

叶脊拓扑网络中,所有横向的主机在网络位置上是平行的,一个主机可以通过叶交换机和另一个交换机上的主机通信。

[趣谈网络协议学习] 21 数据中心:我是开发商,自己拿地盖别墅_第10张图片

传统的三层网络架构是垂直的结构,而叶脊网络架构是扁平的结构,更易于水平扩展。

更多可参看:

叶脊(Spine-Leaf)网络拓扑下全三层网络设计与实践(一) - 叶脊网络架构简介:
https://blog.csdn.net/m0_37904728/article/details/97940745

叶脊(Spine-Leaf)网络拓扑下全三层网络设计与实践(二) - 架构设计思路 - 网络规划:
https://blog.csdn.net/m0_37904728/article/details/99977670

叶脊(Spine-Leaf)网络拓扑下全三层网络设计与实践(三) - 架构设计思路 - 路由方案设计:
https://blog.csdn.net/m0_37904728/article/details/100012269

参考资料:

趣谈网络协议(极客时间)链接:
http://gk.link/a/106nW


GitHub链接:
https://github.com/lichangke/LeetCode
知乎个人首页:
https://www.zhihu.com/people/lichangke/
CSDN首页:
https://me.csdn.net/leacock1991
欢迎大家来一起交流学习

你可能感兴趣的:(趣谈网络协议,学习)