程序员也需了解的主流云计算网络架构

开发 架构
当前越来越多的企业将自己的业务迁移至云端,云计算的发展势头不可阻挡,身边好多朋友也纷纷购买云主机用来学习测试。有那么一波小伙伴们肯定好奇这么多的云主机是通过怎样的网络架构来承载的呢,本篇文章就为大家带来一一揭晓主流的云计算网络架构。

 当前越来越多的企业将自己的业务迁移至云端,云计算的发展势头不可阻挡,身边好多朋友也纷纷购买云主机用来学习测试。有那么一波小伙伴们肯定好奇这么多的云主机是通过怎样的网络架构来承载的呢,本篇文章就为大家带来一一揭晓主流的云计算网络架构。

01 Overlay网络架构

(1)Overlay网络产生背景

随着企业业务的快速扩展,IT作为基础设施,其快速部署和高利用率成为主要需求。云计算可以为之提供可用的、便捷的、按需的资源提供,成为当前企业IT建设的常规形态,而在云计算中大量采用和部署的虚拟化几乎成为一个基本的技术模式。部署虚拟机需要在网络中无限制地迁移到目的物理位置,虚机增长的快速性以及虚机迁移成为一个常态性业务。传统的网络已经不能很好满足企业的这种需求,面临着如下挑战:

a)虚拟机迁移范围受到网络架构限制

为了保证虚拟机迁移过程中业务不中断,则需要保证虚拟机的IP地址、MAC地址等参数保持不变,这就要求业务网络是一个二层网络,且要求网络本身具备多路径的冗余备份和可靠性。传统的STP、设备虚拟化等技术只适用于中小规模的网络。

b)网络隔离/分离能力限制

当前主流的网络隔离技术是VLAN,由于IEEE 802.1Q中定义的VLAN ID只有12比特,仅能表示4096个VLAN,无法满足大二层网络中标识大量租户或租户群的需求。

c)虚拟机规模受网络规格限制

在传统二层网络环境下,数据报文是通过查询MAC地址表进行二层转发,而网络设备MAC地址表的容量限制了虚拟机的数量。

针对上述问题,为了满足云计算虚拟化的网络能力需求,逐步演化出了Overlay网络技术。

(2)Overlay网络技术介绍

Overlay在网络技术领域,是一种网络架构上叠加的虚拟化技术模式,其大体框架是对基础网络不进行大规模修改的条件下,实现应用在网络上的承载,并能与其它网络业务分离,并且以基于IP的基础网络技术为主。其架构如下图所示:

 

 

Overlay在网络技术解决了如下问题:

a)针对虚拟机迁移范围受网络架构限制

Overlay将以太报文封装在IP报文之上,通过路由在网络中传输。通过路由网络,虚拟机迁移不受网络架构限制。而且路由网络具备良好的扩展能力、故障自愈能力、负载均衡能力。

b)针对网络隔离能力限制

Overlay技术扩展了隔离标识的位数(24比特),极大扩展了隔离数量。

c)针对虚拟机规模受网络规格限制

虚拟机发出的数据包封装在IP数据包中,对网络只表现为封装后的网络参数。因此,极大降低了大二层网络对MAC地址规格的需求。

(3)Overlay网络技术实现

VXLAN技术已经成为目前Overlay技术事实上的标准,VXLAN(Virtual eXtensible LAN,可扩展虚拟局域网络)是基于IP网络、采用"MAC in UDP"封装形式的二层虚拟专用网络技术。以VXLAN技术为基础的Overlay网络架构模型如下:

 

 

名词介绍:

VTEP(VXLAN Tunnel Endpoints,VXLAN隧道端点)VXLAN网络的边缘设备,是VXLAN隧道的起点和终点,进行VXLAN报文的封装、解封装等处理。VTEP既可以部署在网络设备上(网络接入交换机),也可以部署在vSwitch上(服务器上的虚拟交换机)。

VNI(VXLAN Network Identifier,VXLAN 网络标识符)VNI是一种类似于VLAN ID的网络标识,用来标识VXLAN二层网络。一个VNI代表一个VXLAN段,不同VXLAN段的虚拟机不能直接二层相互通信。

VXLAN隧道两个VTEP之间建立的逻辑隧道,用于传输VXLAN报文。业务报文在进入VXLAN隧道式进行VXLAN、UDP、IP头封装,然后通过三层转发透明地将报文转发给远端VTEP,远端VTEP对报文进行解封装处理。

(4)OverLay网络组网模型

目前主流的Overlay网络组网模型主要有如下两种:

a) 网络Overlay:在这种模型下,所有Overlay设备都是网络设备,服务器无需支持Overlay,这种模型能够支持虚拟化服务器和物理服务器接入

b)主机Overlay:所有Overlay设备都是虚拟设备,适用服务器全虚拟化的场景,物理网络无需改动

(5)网络Overlay网络模型介绍

网络Overlay的隧道封装在物理交换机完成。这种Overlay的优势在于物理网络设备性能转发性能比较高,可以支持非虚拟化的物理服务器之间的组网互通。

 

 

网络Overlay组网方案有以下优点:

a)更高的VXLAN报文封装解封性能

b)通过Leaf交换机实现端口ACL策略,可以实现线速转发

c)不依赖虚拟化平台,客户可以有更高的组网自由度

(6)主机Overlay网络模型介绍

主机Overlay将虚拟设备作为Overlay网络的边缘设备和网关设备,Overlay功能纯粹由服务器来实现,主机Overlay的网关和服务节点都可以由服务器承担,成本较低。

 

 

主机Overlay组网方案总体来说有以下优点:

a)适用于服务器虚拟化的场景,成本较低

b)vSwitch作为东西向IP网关时,支持分布式网关功能,使虚机迁移后不需要重新配置网关等网络参数,部署简单、灵活

为了使得VXLAN Overlay网络更加简化运行管理,便于云的服务提供,各公司使用集中控制的模型,将分散在多个物理服务器上的vSwitch构成一个大型的、虚拟化的分布式Overlay vSwitch,只要在分布式vSwitch范围内,虚拟机在不同物理服务器上的迁移,便被视为在一个虚拟的设备上迁移,如此大大降低了云中资源的调度难度和复杂度。

 

 

02 RoH网络架构

(1)RoH网络架构介绍

为了构建更具弹性的数据中心,许多公司利用Linux生态系统直接将路由协议运行到其服务器上。这种网络架构通常称为主机路由协议RoH(Routing On the Host)。

 

程序员也需了解的主流云计算网络架构

 

(2)RoH网络架构优势

简化故障排除复杂度

在现代网络中,对数据中心的二层网络问题进行故障排除一直是一项持续的挑战,因此,通过在主机上进行路由,将第3层的覆盖范围进一步扩展到主机上,可以缓解下述许多问题:

a)Traceroute无效问题的解决,因为traceroute追踪数据包访问路径时只会显示三层节点设备,缺少二层节点设备的显示,从而无法定位到路径中经过的二层网络设备

b)二层组网环境下定位链路负载是否正常繁琐,二层链路的负载是通过对源目IP及源目端口进行Hash来实现链路负载,需要通过多个数据流才能检测链路负载是否正常,而三层网络环境下通过查看路由表就能直观的判断出链路负载是否正常

支持设备品牌的异构

当前数据中心网络中,为了解决二层网络链路的利用率经常将一组同厂商的leaf交换机做堆叠,当其中一台出现故障只能换相同厂商的设备,而RoH的网络架构下通过路由协议实现了网络的ECMP,不需对leaf交换机配置堆叠,当设备出现故障不再需要使用相同厂商的设备来替换,理论上支持任意厂商的三层交换机替换,从而实现品牌异构组网。

 

 

(3)RoH网络组件介绍

目前RoH网络架构中服务器部署动态路由常用的组件为Linux Brid,K8S容器网络插件Calico就使用了Brid组件。Calico 中的 Bird是一个BGP client,它会主动读取felix在host上设置的路由信息,然后通过BGP协议宣告出去。

 

 

Calico在每个运行Felix服务的节点上都部署一个BGP客户端。 BGP客户端的作用是读取Felix程序写到内核中并在数据中心内分发的路由信息 BGP客户端负责执行以下任务:路由信息分发,当Felix将路由插入Linux内核FIB时,BGP客户端将接收它们并将它们分发到集群中的其他工作节点。

03 网络架构比对总结

 

程序员也需了解的主流云计算网络架构

 

至此云计算主流的网络架构介绍完了,最后如果喜欢不要忘了点赞、关注与转发哦!

责任编辑:华轩 来源: 今日头条
相关推荐

2016-10-27 09:54:16

程序员云计算网络

2012-02-16 10:00:52

云计算程序员

2012-06-11 09:43:34

云计算

2014-07-11 10:05:31

程序员开发原则

2011-06-02 09:02:36

程序员

2015-08-11 09:20:51

初级程序员Linux命令

2015-03-24 14:11:41

程序员

2013-05-02 08:57:04

程序员创业

2013-10-23 09:45:41

云WANWAN广域网

2013-08-20 09:33:59

程序员

2020-06-09 08:10:20

Kubernetes运维容器

2009-07-15 09:29:24

Java程序员

2015-06-03 11:15:20

程序员真相

2009-06-15 10:43:45

Java程序员Java程序GC

2013-11-12 10:29:15

程序员职业规划

2018-11-26 09:21:56

2023-08-07 12:11:26

CPU存储器SSD

2021-02-24 09:26:03

JavaGC程序员

2011-05-13 14:34:02

程序员

2011-07-19 13:04:22

网络协议网络编程
点赞
收藏

51CTO技术栈公众号