# 从三层架构到 spine leaf
为了应付一些数据中心客户购买 waf 的需求,因此在这里记录一下一种数据中心组网。
客户采用的组网图如下:两台 waf 是准备放在 fw 所在的 service leaf 中,但是存在问题,后续会更新组网图

# 传统三层架构

这种架构由核心路由器、聚合路由器(有时叫分发路由器,distribution routers )和接入交换机组成。在接入交换机和聚合路由器之间运行生成树协议(Spanning Tree Protocol,STP),以保证网络的二层部分(L2)没有环路。STP 有许多好处:简单, 即插即用(plug-and-play),只需很少配置。每个 pod 内的机器都属于同一个 VLAN, 因此服务器无需修改 IP 地址和网关就可以在 pod 内部任意迁移位置。但是,STP 无法 使用并行转发路径(parallel forwarding path),它永远会禁用 VLAN 内的冗余路径。
核心层:核心层是网络的高速交换主干,对整个网络的连通起到至关重要的作用。核心层应该具有如下几个特性:可靠性、高效性、冗余性、容错性、可管理性、适应性、低延时性等。在核心层中,应该采用高带宽的千兆以上交换机。因为核心层是网络的枢纽中心,重要性突出。核心层设备采用双机冗余热备份是非常必要的,也可以使用负载均衡功能,来改善网络性能。
汇聚层:汇聚层是网络接入层和核心层的 “中介”,就是在工作站接入核心层前先做汇聚,以减轻核心层设备的负荷。汇聚层具有实施策略、安全、工作组接入、虚拟局域网(VLAN)之间的路由、源地址或目的地址过滤等多种功能。在汇聚层中,应该选用支持三层交换技术和 VLAN 的交换机,以达到网络隔离和分段的目的。
接入层:接入层向本地网段提供工作站接入。在接入层中,减少同一网段的工作站数量,能够向工作组提供高速带宽。接入层可以选择不支持 VLAN 和三层交换技术的普通交换机。
并且在这种组网中如果预算有限可以使用二层交换机作为接入层交换机减少预算,在关键的核心选择性能较高的设备加速转发。现网中大量运用三层交换机,三层交换机也可以作为出口设备,代替了很多路由器的功能。但是要注意:路由器的交换机是有本质区别的!
在不同 vlan 互访的时候涉及到网关的规划。网关可以选择放在核心,汇聚,甚至接入都可以。网关放在不同的地方有不同的好处,比如放在汇聚或接入可以减少流量迂回。放在 core 上会产生大量的 arp 表项导致网络瓶颈等。
三层架构优点:采用三层架构,可以在不同层做不同的规划,比如汇聚层做安全策略等,并且可以实现各层的冗余,使网络的安全性和可靠性大幅增加。stp 可以防止广播风暴,可以节约一定的成本,具有一定的扩展性。比如最开始说到的 waf 的案例,我们就可以选择在核心或者汇聚旁挂,做反向代理访问后端 web server。
缺点:stp 永远会阻塞一条冗余链路,这在数据中心中 10G 甚至更高的带宽的场景下这种阻塞对链路带宽浪费是巨大的。对于东西向流量 (稍后会在 spine-leaf 中提及) 会产生传输瓶颈,因为经过了大量的多余节点,会产生非常明显的性能衰减。
使用场景:校园网,比如掀石油大学采用的就是三层架构。将接入直接连接同学的电脑,汇聚和接入放在每幢楼的机房,在学校 xx 位置有一个核心机房放置核心层交换机。企业网,便于管理
一些提供冗余的技术:VRRP (HSRP) Etrunk 链路捆绑 堆叠 双电源
# spine-leaf
早期数据中心的流量有 80% 为横向(east-west,南北)流量,随着云计算、分布式架构的发展,现在已经转变为 70% 为纵向(north-south,东西)流量
随着云计算的到来,越来越丰富的业务对数据中心的流量模型产生了巨大的冲击,如搜索、并行计算等业务,需要大量的服务器组成集群系统,协同完成工作,这导致服务器之间的流量变得非常大。比如搜索,用户只是发出一个搜索指令,服务器集群就在海量数据面前进行搜索与计算,这个过程是非常复杂的,而只是将结果传递给用户。早期数据中心主要满足外部对数据中心的访问,所以流量就以 “南北” 为主。这种流量模型受到了出口带宽的限制,一般的数据中心访问都会存在收敛比,即网络接入带宽比较大,而出口带宽比较小,访问的速度无法提升,在业务高峰期时,用户访问数据中心的体验感下降,这种网络模型已经不适应现今数据中心的发展需要。三层架构的另一个问题是服务器到服务器延迟(server-to-server latency)随着流量路 径的不同而不同。
针对以上问题,提出了一种新的数据中心设计,称作基于 Clos 网络的 Spine-and-Leaf 架 构(Clos network-based Spine-and-Leaf architecture)。事实已经证明,这种架构可 以提供高带宽、低延迟、非阻塞的服务器到服务器连接。
# 一些概念
流量方向
东西流量指的就是横向流量 ------- 例如:服务器与服务器之间交换流量
南北流量指的就是纵向流量 ------- 例如:客户端和服务器之间的流量
跨数据中心流量:不同数据中心的流量,例如数据中心之间的灾备,私有云和公有云之间的通讯。
leaf 种类
Leaf 分为三类:在设计的时候就要区分
server leaf 应用 (连接服务器这些)
service leaf 增值服务(连接防火墙这些)
border leaf 边界 (连接路由器这些)— 可以去外网,也可以去另一个内网(另一个数据中心)

Fabric:物理设备组成的网络,一般就指一个数据中心网络
Fabric 扩展(多个 Fabric 通过核心交换机连接在一起)
多个小的数据中心,通过一个逻辑的大二层组成一个数据中心

收敛比
通常的,使用一个网络架构中的所有南向 (下行)接口的总带宽比上所有北向 (上行) 接口的总带宽来表示。
vpc
VPC(Virtual Port Channel)是思科网络设备中的一项技术,它允许两台交换机(通常是核心交换机)之间形成一个逻辑的端口通道,并将它们看作是一台逻辑交换机,再连接到其他设备。其他设备包括:Nexus 2000 系列的 Fabric Extender(后文暂且翻译为结构扩展器),交换机,服务器等其他任何的网络设备。vPC 技术可以提供二层的多路径选择,让用户可以在有多条可选路径的情况下增加网络冗余度,同时实现提升带宽、在多个节点之间启用多条并行路径和对流量进行负载均衡。VPC 技术能够提高网络可靠性和可用性,同时还可以提供更好的性能和灵活性。
使用 VPC 技术时,两台交换机之间需要配置一个双向的 peer-link 通道,peer-link 通道可以使用多个物理接口进行绑定。vPC 域内包含 vPC 端设备,vPC 对端 keepalive 链路,vPC 对端互联链路,以及所有在 vPC 域下的 PortChannel。每个 VPC 域内,可以将多个物理接口绑定成一个逻辑的 VPC 端口通道,以提供更高的带宽和可靠性。VPC 端口通道会同时连接到两台交换机上,但只会使用其中一台交换机进行数据传输,这样可以避免网络中出现环路。
在 VPC 技术中,交换机之间会同步 MAC 地址、VLAN 信息等状态信息,以保证网络的一致性和可用性。此外,VPC 技术还提供了一些高可用性的功能,例如 peer-gateway 和 peer-switch 等,以保证在交换机发生故障时可以快速地切换到备用交换机上,保证网络的可靠性和连通性。


# spine-leaf 架构
在以上两级 Clos 架构中,每个低层级的交换机(leaf)都会连接到每个高层级的交换机 (spine),形成一个 full-mesh 拓扑。leaf 层由接入交换机组成,用于连接服务器等 设备。spine 层是网络的骨干(backbone),负责将所有的 leaf 连接起来。 fabric 中的每个 leaf 都会连接到每个 spine,如果一个 spine 挂了,数据中心的吞吐性 能只会有轻微的下降(slightly degrade)。
如果某个链路被打满了,扩容过程也很直接:添加一个 spine 交换机就可以扩展每个 leaf 的上行链路,增大了 leaf 和 spine 之间的带宽,缓解了链路被打爆的问题。如果接入层 的端口数量成为了瓶颈,那就直接添加一个新的 leaf,然后将其连接到每个 spine 并做相 应的配置即可。这种易于扩展(ease of expansion)的特性优化了 IT 部门扩展网络的过 程。leaf 层的接入端口和上行链路都没有瓶颈时,这个架构就实现了无阻塞(nonblocking)。
在 Spine-and-Leaf 架构中,任意一个服务器到另一个服务器的连接,都会经过相同数量 的设备(除非这两个服务器在同一 leaf 下面),这保证了延迟是可预测的,因为一个包 只需要经过一个 spine 和另一个 leaf 就可以到达目的端。
# spine leaf 优势
扁平化:扁平化设计缩短服务器之间的通信路径,从而降低延迟,可以显著提高应用程序和服务性能。
易扩展:如果 Spine 交换机的带宽不足,我们只需要增加 Spine 节点数,也可以提供路径上的负载均衡;如果接入连接不足,则只需增加 Leaf 节点数。
低收敛比:容易实现 1:X 甚至是无阻塞的 1:1 的收敛比,而且通过增加 Spine 和 Leaf 设备间的链路带宽也可以降低链路收敛比。
简化管理:叶脊结构可以在无环路环境中使用全网格中的每个链路并进行负载平衡,这种等价多路径设计,在使用 SDN 等集中式网络管理平台时处于最佳状态。SDN 允许在发生堵塞或链路故障时简化流量的配置,管理和重新分配路由,使得智能负载均衡的全网状拓扑成为一个相对简单的配置和管理方式。
边缘流量处理:随着物联网(IoT)等业务的兴起,接入层压力剧增,可能有数千个传感器和设备在网络边缘连接并产生大量流量。Leaf 可以在接入层处理连接,Spine 保证节点内的任意两个端口之间提供延迟非常低的无阻塞性能,从而实现从接入到云平台的敏捷服务。
多云管理:数据中心或云之间通过 Leaf Spine 架构仍可以实现高性能、高容错等优势,而多云管理策略也逐渐成为企业的必选项。
# overlay
现代虚拟化数据中心的网络要加速应用部署和支持 DevOps,必须满足特定的前提 条件。例如,需要支持扩展转发表、扩展网段、L2 segment extension、虚拟设备漂移(mobility)、转发路径优化、共享物理基础设施上的网络虚拟 化和多租户等等。
- VXLAN:Virtual Extensible LAN
- NVGRE: Network Virtualization Using Generic Routing Encapsulation
- TRILL: Transparent Interconnection of Lots of Links
- LISP: Location/Identifier Separation Protocol
overlay 网络是共享底层网络(underlay network)的节点之间互连形成的虚拟网络,这使 得在不修改底层(underlay)网络的情况下,可以部署对网络拓扑有特定要求的应用
https://baijiahao.baidu.com/s?id=1751065147840835545&wfr=spider&for=pc
https://www.cnblogs.com/dream397/p/12869547.html
https://blog.csdn.net/m0_49864110/article/details/123765908
https://blog.csdn.net/Jmilk/article/details/121741600
https://support.huawei.com/enterprise/zh/doc/EDOC1100023543?section=j00q
https://www.cnblogs.com/dream397/p/12869547.html
https://baijiahao.baidu.com/s?id=1762683822465861483&wfr=spider&for=pc
http://www.taodudu.cc/news/show-4441429.html?action=onClick
https://zhuanlan.zhihu.com/p/82037394
https://www.cnblogs.com/yipianchuyun/p/13842297.html
https://architect.pub/book/export/html/836