专栏首页云服务与SRE架构师社区给你10个路由器或交换机,你如何配置?

给你10个路由器或交换机,你如何配置?

前几周有人问我,如果有一个环境中给你10多个交换机和路由器,应该如何配置。这是一个很好的问题,关键不在端口安全、Port Channel、STP、和路由的配置,而是在于针对终端应用服务特点选择相应适合的网络架构。

近十年来,虽然云服务的扩展性需求促进了相关解决方案快速发展,然而数据中心常见的网络拓扑仍然可以归纳为两种:传统的三层网络架构,和Leaf-Spine二层网络架构。

一、传统的三层网络架构

传统的三层网络架构由三层交换机组成:即访问层,聚合层(有时称为分发层)和核心层。服务器连接到其中一个边缘层访问交换机(常称Top of Rack Switch,或 TOR Switch),聚合层交换机则将多个接入层交换机互连在一起,所有聚合层交换机通过核心层交换机相互连接。核心层交换机还负责将数据中心连接到Internet。传统的数据中心过去采用的就是这种三层架构。

下图是我参与优化设计的有数万台服务器的传统数据中心网络架构示意图。

图1 - 某传统数据中心网络架构示意图

在这个拓扑中,除了经典的三层(分发路由器,网络分区汇聚路由器,服务器接入交换机)外,核心层还包括了: WAN核心骨干路由器,WAN发路由器,WAN优化加速器,LAN核心路由器,外部Choke路由器,Internet边界路由器,Transit,防火墙,用于联接数据包分析器的Network TAP。网络负载均衡器放在了聚合层。另外还有一个专用的OOB接入层,用于设备维护管理。

三层架构虽然容易部署、易于诊断,但是其已无法满足日益增长的云计算需求。三层架构面临的主要问题包括:低可扩展性、低容错性、内部服务器之间横截面带宽低、较高层超额使用(Oversubscription)、高层次的拓扑中使用的大型模块化交换机成本非常高。

我过去常采用以下这几个方法缓解三层架构中网络分离问题:

(1)、PVLAN: 专用VLAN,也称为端口隔离,是计算机网络中的一种技术,其中VLAN包含受限制的交换机端口,使得它们只能与给定的端口通信。这个常用于后端的NFS网络。

(2)、VRF虚拟化路由表,用于路径隔离。

(3)、GRE Tunnel。

(4)、使用一些Overlay network封装协议并结合一操作系统虚似化实现网络分离。

二、Leaf-Spine二层网络架构

Leaf-Spine网络架构解决了传统三层网络架构所面临的Oversubscription和内部服务器之间横截面带宽问题。Leaf-Spine网络架构在过去几年里已开始接管主要的云服务数据中心。Leaf-Spine结构也称为Clos结构,其中每个Leaf交换机(ToR交换机)以全网状拓扑连接到每个Spine交换机。这是一种两层的Fat-tree网络。这种架构中Leaf之间只有一个跳,最大限度地减少了任何延迟和瓶颈。Spine网络的扩展非常简单,只要在需增长的情况下逐步添加Spine交换机。

Leaf-Spine架构使用定制的寻址方案和路由算法,而非传统的STP。根据网络交换机中可用的功能,可以使用第2层或第3层技术实现Leaf-Spine网格。第3层的Leaf-Spine要求每个链路都被路由,并且通常使用开放最短路径优先(OSPF)或等价多路径路由(ECMP)来实现的边界网关协议(BGP)动态路由。第2层采用loop-free的以太网fabric技术,例如多链接透明互联(TRILL)或最短路径桥接(SPB, IEEE 802.1aq)。其中,思科的FabricPath 和Brocade的Virtual Cluster Switching是基于TRILL发展而来的私有data plane。核心网络还可使用带有ECMP的动态路由协议通过第3层连接到主干网。华为、联想、Brocade、HP、 Extreme Networks等公司都有基于TRILL的产品或其它Leaf-Spine架构的解决方案。

Leaf-Spine结构的优点是:

(1)、使用所有链路互连,而不像传统网络中冗余链路被STP阻塞。

(2)、所有内部Leaf之间横向通信都是等距的,因此数据流延时时间是确定的。

(3)、Underlay的交换机配置和核心网络配置是固定的,因此变更Overlay Network的路由不需要更改核心网络。

(4)、产品安全区域能虚拟分离,扩展了VLAN和多租户安全性。

(5)、基础设施的物理网络可以和逻辑网络(Overlay network)分离。

Leaf-Spine结构也有些缺点,比如:

(1)、网络交换机的数量远远大于三层网络架构。

(2)、扩展新的Leaf时需要大量的线缆、并占用大量Spine交换机端口。

(3)、Spine交换机端口数量决定了最大可联接的Leaf交换机数量,也就决定了最大主机总数量。

下图是我参与过的一个公有云Leaf-Spine方案示意草图。

图2 - 某公有云Leaf-Spine网络方案物理联接示意图

现代的数据中心部署中,我们一般将网络设备、服务器和机架在出厂时应模块化。对于使用Leaf-Spine 网络的数据中心,出厂时预装配成四种类型的标准工程系统:Transit 机柜, Spine 机柜, Fabric 机柜, 和 Server 机柜。Leaf 交换机和服务器一样被预装配于 Server 机柜,基本上做到开柜上电即可上线使用。

当下全球主流公有云基本上采用的都是Leaf-Spine 网络架构。然而,各家公有云服务商Leaf-Spine网络中的Underlay Network和Overlay Network使用的协议和方案有很大区别。比如,你可以基于Leaf-Spine架构使用VXLAN来设计你的SDN解决方案,也可以基于ECMP的BGP-labeled-unicast的underlay 网络,使用MPLS L3V**s构建另一种多租户的数据中心SDN解决方案。

聊完了两种层数据中心网络架构,相信大家如有机会搭建新的网络时,应该知道如何选择您的网络架构方案了。

欢迎大家发表留言,谈谈你所熟悉的Leaf-Spine网络架构方案中,Underlay Network和Overlay Network使用的协议分别是什么。

(作者:王录华,Oracle云服务研发总监)

本文分享自微信公众号 - 云服务与SRE架构师社区(ai-cloud-ops),作者:王录华

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-02-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 一文读懂 Spring Boot、微服务架构和大数据治理三者之间的故事

    微服务的诞生并非偶然,它是在互联网高速发展,技术日新月异的变化以及传统架构无法适应快速变化等多重因素的推动下诞生的产物。互联网时代的产品通常有两类特点:需求变化...

    王录华
  • 操作系统基础-CPU虚拟化

    原文发布于微信公众号 - 云服务与SRE架构师社区(ai-cloud-ops),作者李勇。

    王录华
  • 使用ELK+SpringBoot+bboss实现日志分析一例

    上篇说到ELK日志整合系统的搭建:如何使用ELK Stack分析Oracle DB日志,这篇接着说说分析系统的设计和开发,还是举个例子吧。

    王录华
  • 想要阅读一些开源项目或框架的源代码,不知道从哪里入手?

    我的建议是从Spring的源代码入手。至少我自己也是这么做的,毕竟Spring里有大量的设计模式和OO编程的最佳实践。我之前在SAP使用SAP自己的开发语言AB...

    Jerry Wang
  • 2019BATJ面试题汇总详解:MyBatis+MySQL+Spring+Redis+多线程

    如何通过HibernateDaoSupport将Spring和Hibernate结合起来?

    慕容千语
  • 2019BATJ面试题详解:MyBatis+MySQL+Spring+Redis+多线程

    如何通过HibernateDaoSupport将Spring和Hibernate结合起来?

    美的让人心动
  • 2019BATJ面试题汇总详解:MyBatis+MySQL+Spring+Redis+多线程

    如何通过HibernateDaoSupport将Spring和Hibernate结合起来?

    欧阳愠斐
  • Web前端学习 第4章 jQuery 3 jQuery插件

    jQuery插件就是别人已经开发好弄的,我们直接约会就可以使用。并且基于jQuery制作的,可以实现某些特定的网页效果的js文件(js + css)。

    学习猿地
  • npm publish package 测试流程

    上一篇 npm publish package 发布流程 中说了开发的过程,但是对于测试和调试部分并没有过多的去讲述这些事情。如果一次都说完的话文章就太长了,而...

    林小帅
  • 阿里收购优酷土豆:内容进入GGC时代!

    56亿美元,阿里宣布收购优酷土豆!10月16日,阿里宣布向优酷土豆董事会发出要约,拟现金收购优酷土豆在美国纽交所上市的所有流通的A类和B类普通股票,此笔交易总价...

    罗超频道

扫码关注云+社区

领取腾讯云代金券