数据中心网络架构的问题与演进 — Overlay 网络
目录
前文列表
《数据中心网络架构的问题与演进 — 传统路由交换技术与三层网络架构》
《数据中心网络架构的问题与演进 — 网络虚拟化》
《数据中心网络架构的问题与演进 — CLOS 网络与 Fat-Tree、Spine-Leaf 架构》
数据中心网络架构演进回顾
传统的数据中心使用三层架构(Three-tier Architecture),根据物理位置将服务器划分为不同 POD。这种架构由核心交换机、汇聚交换机和接入交换机组成。在汇聚交换机和接入交换机之间运行生成树协议(Spanning Tree Protocol,STP)以保证网络的二层部分(L2)没有环路。三层架构中,每个 POD 内的服务器都属于同一个 VLAN, 因此服务器无需修改 IP 地址和网关就可以在 POD 内部任意迁移位置。POD 内走二层广播,POD 间走三层路由,所以横向流量路径会很长(接入→汇聚→核心→汇聚→接入)而导致高时延。STP 有许多好处:简单,即插即用(plug-and-play,P&P),只需很少配置。但是,STP 无法使用并行转发路径(Parallel Forwarding Path),所以它永远会禁用 VLAN 内的冗余路径,这意味着在未发生故障时,最大链路带宽的 50% 会被 Block(阻塞)掉。
2010 年,Cisco 提出了 vPC(Virtual Port Channel,虚拟链路聚合)技术来解决 STP 的限制。 vPC 解放了被 STP 禁用的端口,提供接入交换机到汇聚交换机之间的 Active-Active 上行链路,充分利用可用的带宽。使用 vPC 技术时,STP 会作为备用机制(Fail-safe Mechanism)。虚拟机、容器等技术的发展,使得应用的部署方式越来越分布式,导致数据中心内部横向流量(East-West-Traffic)显著提升。这些流量需要被高效地处理,并且还要保证低的、可预测的延迟。然而,vPC 只能提供两个并行上行链路,因此三层数据中心架构中的带宽成为了瓶颈。
随着虚拟化技术的发展,原来三层网络架构的数据中心中基于 POD 的二层设计,已经无法满足虚拟化、云计算大规模的二层扩展需求,例如:vMotion 等 Live Migration 技术要求 L2 越大越好。所以在二层以 POD 形式做了隔离的计算、网络和存储资源,现在都应该可以被池化(Pooled,继而催生了从接入层到核心层的大二层域(Larger L2 Domain)。大二层域,即整个数据中心网络都是一个 L2 广播域(L2 Segment 被扩展到所有 POD)。这样,数据中心的管理员可以创建一个集中式的、更加灵活的、能够按需分配的资源池,服务器/虚拟机就可以在任意地点创建,迁移,而不需要修改 IP 地址或默认网关。
大二层网络的缺点是 BUM(Broadcase,Unknown Unicast,Multicast)会在整个数据中心传播,这最终限制了网络的规模。因为网络规模大到一定程度时,BUM 风暴就会严重影响正常的网络通讯。这是数据中心网络发展过程中向网络服务提供商们提出的又一个新的课题,而服务商们交出的答卷就是 Overlay 网络。
Overlay 网络
现代虚拟化数据中心的网络要加速应用部署和支持 DevOps,必须满足特定的前提条件。例如:需要支持扩展转发表、扩展网段、L2 Segment Extension、虚拟设备漂移(Mobility)、转发路径优化、共享物理基础设施上的网络虚拟化和多租户等等。Overlay 网络可以解决以上提到的问题,因此各厂家在今年来陆续推出了多种新的帧封装格式(Encapsulation Frame Format):
- VXLAN
- GRE
- Geneva
- NVGRE: Network Virtualization Using Generic Routing Encapsulation
- TRILL: Transparent Interconnection of Lots of Links
- LISP: Location/Identifier Separation Protocol
Overlay 网络是指在现有的网络(Underlay Network)的基础上再构建的一个虚拟网络。所谓的 Underlay 网络,就是之前的交换机所在的网络,只要是 IP 网络就行。而新构建的 Overlay 网络,用来作为服务器通讯的网络。Overlay 网络是一个 L3 in L2 网络。也就是说,只要 L3 网络能覆盖的地方,那 Overlay 的 L2 网络也能覆盖。
简而言之,Overlay 网络就是是在共享底层网络(Underlay Network)的节点之间互连形成的虚拟网络,这使得在不修改底层网络的情况下,可以部署对网络拓扑有特定要求的应用。
Overlay 网络的优势
优化的设备功能:Overlay 网络使得可以根据设备在网络中的位置不同而对设备进行分类(和定制)。Edge 或 Leaf 设备可以根据终端状态信息和规模优化它的功能和相关的协议;Core 或 Spine 设备可以根据链路状态优化它的功能和协议,以及针对快速收敛进行优化。
Fabric 的扩展性和灵活性:Overlay 网络使得可以在 Overlay 边界设备上进行网络的扩展。当在 Fabric 边界使用 Overlay 时,Spine 或 Core 设备就无需向自己的转发表中添加终端主机的信息(e.g. 如果在宿主机内进行 Overlay 的封装和解封装,那 Overlay 边界就是在宿主机内部)。
可重叠的 IP 地址:数据中心中使用的大部分 Overlay 技术都支持虚拟网络 ID(VID,),用来唯 一地对每个私有网络进行范围限定和识别(scope and identify)。这种限定使得不同租 户的 MAC 和 IP 地址可以重叠(overlapping)。overlay 的封装使得租户地址空间和 underlay 地址空间的管理分开。
基于 VxLAN Overlay 的 Spine-Leaf 网络架构
基于 VxLAN 的 Overlay 网络在 L3 IP Underlay 网络之上构建了一层 L2 Overlay 网络,通过 VTEP 隧道机制传输 L2 包。例如下图中,原有的交换机网络不变,服务器之间通过 Overlay 网络实现了跨 Leaf 交换机的 L2 网络。这样,在 Overlay 网络中,服务器可以任意部署,而不用考虑现有网络的架构。
- 单纯的 Spine-Leaf
- 基于 VxLAN Overlay 的 Spine-Leaf
一个完整的, 基于 VxLAN Overlay 的 Spine-Leaf 网络架构如下图所示。这种网络架构称为 VxLAN Fabric,通常有两种实现方式:一种是基于 Flood-Learn 的模式,与传统的 L2 网络类似;另一种是基于 MP-BGP EVPN 作为控制层。在该架构中的 VM 并不知道 VxLAN Overlay 的存在,VM 只是把 Ethernet Frame 发出来。待 Leaf 交换机上的 VTEP(VxLAN Overlay,需要在 Leaf 交换机上集成 VTEP)接收到 VM 的 Ethernet Frame 后,就会自动的将其封装成 VxLAN 数据包(本质是一个 UDP 包),然后在原有的 Spine-Leaf 的 Underlay 网络上进行 L3 传输。基于 VxLAN Overlay 的 Spine-Leaf 网络架构就是通过这种方式来打破了大二层网络的限制,即将 L2 广播域限制在了 Underlay 上(Leaf 节点),又将 POD 扩展到了整个 Overlay。
关于 VxLAN 技术的实现原理在《Networking 基本术语/概念》一文中已有记录,这里不再赘述。
参考文章
https://arthurchiao.github.io/blog/spine-leaf-design-zh/
https://zhuanlan.zhihu.com/p/30119950
数据中心网络架构的问题与演进 — Overlay 网络的更多相关文章
- 数据中心网络架构的问题与演进 — CLOS 网络与 Fat-Tree、Spine-Leaf 架构
目录 文章目录 目录 前文列表 CLOS Networking Switch Fabric 胖树(Fat-Tree)型网络架构 Fat-Tree 拓扑示例 Fat-Tree 的缺陷 叶脊(Spine- ...
- 数据中心网络架构的问题与演进 — NFV
目录 文章目录 目录 前文列表 前言 NFV NFV 的最终目标 NFV 的抽象框架 基础架构层与虚拟基础设施管理层 资源管理与业务流程编排层 OSS 层 SDN 控制层 NFV 的生态合作 NFV ...
- 数据中心网络架构的问题与演进 — 云网融合与 SD-WAN
目录 文章目录 目录 前文列表 云网融合 云网融合的应用场景 SD-WAN SD-WAN 的应用场景 企业组网互联 SD-EN 数据中心互联 SD-DCI 云间互联 SD-CX 企业用户接入云 数据中 ...
- 数据中心网络架构的问题与演进 — 混合云与 VPC 专有网络
目录 文章目录 目录 前文列表 历史背景 混合云 Why hybrid cloud? 混合云市场 混合云的逻辑架构 混合云应用场景 灾难恢复 数据备份 负载扩容 应用部署 开发测试生产部署 混合云产品 ...
- 数据中心网络架构的问题与演进 — SDN
目录 文章目录 目录 前文列表 OpenFlow 源起 从 OpenFlow 衍生 SDN 前文列表 <数据中心网络架构的问题与演进 - 传统路由交换技术与三层网络架构> <数据中心 ...
- 数据中心 CLOS 架构
1.数据中心网络架构挑战 随着技术的发展,数据中心的规模越来越大,一个数据中心的服务器容量从几年前的几千台服务器发展到今天的几万甚至几十万台.为了降低网络建设和运维成本,数据中心网络的设计者们也竭力将 ...
- 谈谈 数据中心SOA 架构
为什么要讨论 数据中心SOA 架构呢? 请参考我写的另外一篇文章 <论 微服务 和 Entity Framework 对数据的割裂> https://www.cnblogs.com ...
- Overlay网络技术之vxvlan
了解云计算数据中心网络架构的过程中,看到这么一篇不错的关于大二层技术overlay的文章,转载分享给大家! 一. 传统网络面临的问题 随着企业业务的快速扩展需求,IT做为基础设施,快速部署和减少投入成 ...
- [转]漫谈数据中心CLOS网络架构
http://djt.qq.com/article/view/238 1.数据中心网络架构挑战 随着技术的发展,数据中心的规模越来越大,一个数据中心的服务器容量从几年前的几千台服务器发展到今天的几万甚 ...
随机推荐
- 十一,k8s集群访问控制之ServicAccount
目录 认证安全 连接Api-Server的两类账号 ServiceAccount 创建 使用admin 的SA 测试 URL访问kubernetes资源 APIserver客户端定义的配置文件 kub ...
- nacos 1.1.x 集群部署笔记
Nacos 是什么? https://nacos.io/zh-cn/docs/what-is-nacos.html 服务(Service)是 Nacos 世界的一等公民.Nacos 支持几乎所有主流类 ...
- 自动化测试 selenium 测试软件安装
一.自动化测试优点 1.对程序的回归测试更方便.在程修改的比较平凡的时候,表现的更明显. 2.可以代替测试人员运行更繁琐的测试,也可以代替测试人员不可能完成的操作(比如连续点击50次) 3.更好的 ...
- C++——函数
C++基础函数 (一)函数的参数传递 在没有调用函数之前,函数的形参并没有占据实际的空间. 1.值传递 传入的仅仅只是一个值--就是把实参的值赋给形参.形参自己会在内存中开辟一个空间! 2.传引用 这 ...
- sysbench0.4.12测试query_cache_size和query_cache_type
建议: query_cache_size和query_cache_type生产环境中关闭. (1)软件包下载地址: https://dev.mysql.com/downloads/benchmarks ...
- eclipse中 Launch configuration的历史记录
最近用eclipse打包jar的时候,需要指定一个main函数.需要先运行一下main函数,eclipse的Runnable JAR File Specification 下的Launch confi ...
- 06-char,varchar和nvarchar三者的区别
总结: 1.首先先知道一下SQLServer中数据存储的基本单位是页.每页的大小是8KB: 2.char(n),里面的n用于定义字符串长度,以字节为单位: 3.三者的区别 * char: 是定长的,比 ...
- Python 读写XML文件
Python 生成XML文件 from xml.dom import minidom # 生成XML文件方式 def generateXml(): impl = minidom.getDOMImple ...
- WPF程序发布有关事项
- App自动化测试介绍