随着以云平台为IT基础搭建的业务场景越来越广泛的被应用于政企及运营商,区分云计算的网络流量类型也变得越来越重要,因为云计算会越来越多的以场景的方式落地于各个行业,不同业务的流量是不一样的,所以首先应该对各种行业应用下云计算网络的流量类型进行区分,同时对这些流量进行管理 。
一、云计算环境下网络流量的区分
用户与后台资源的网络稳定性对于最终体验是至关重要的,然而对于大部分传统企业和运营商来说,网络的QOS使用并不能完全满足网络稳定性的要求,对于大多数传统企业,数据中心多依靠于运营商的网络,所以多数的流量全部混合到核心网络当中去进行传输,那么对于云计算环境下,多业务,多租户的模式下,网络流量的区分至关重要。
设计云计算的网络模型时,我们应该更多、更好地去运用云计算所带来的便捷性,多种业务共存在每个资源池当中,从资源池引入到上层网络,这时我们就应该对于多种流量进行逐一的区分,建立不同的业务模型,找到不同业务对应的底层协议种类,以便在日后整个云计算爆发的时候,使得每个逻辑业务网络更加清晰,从庞大的数据流当中提取不同流量。对于云计算来说,三种服务模型所产生的流量也是有所不同,宏观上可以区分如下:
SaaS流量模型
包括大量的HTTP与HTTPS流量,主要分布于80与443端口,通常属于一种轻量型的数据连接机制,但是在一定程度下,比如上传或者下载,将会产生多种数据流进行传递,使得带宽占用的不明朗,与资源管理的复杂性。
PaaS流量模型
PaaS属于对外提供定制的软件运行环境,往往会在系统开发与调试阶段产生不同的数据流量,那么多与每项的程序调用所使用的流量区分,在这个平台也会逐渐产生。
IaaS流量模型
IaaS这个层面所产生的流量就比较复杂,两个维度,一个是属于面向业务,多租户,多业务的流量区分,在线存储的服务,每个存储通道所产生的流量区分,每个虚拟机所产生的流量的区分,对于整个网络的流量区分与所需网络的提供将会是一个逐渐演变的过程。
基于以上的流量区分与流量的安全性,我们应该在云数据中心网络层面上去提前认识与使用,并结合业务实际需求去建设适合用户的数据中心网络。
二、相同数据中心二层网络互通
随着云计算落地数据中心,虚拟流量逐渐产生,数据中心的概念在逐渐模糊,同地域,不同地域,同资源池,不同资源区分等,本章节主要是讲述,相同数据中心之间的网络架构实现,以新老技术为背景,进行实现与架构设计的分享。
2.1VPLS的实现
vpls对于传统网络来说,这个词语并不陌生,在之前文章当中已经提及基本知识,本章不再对基本知识进行相关介绍,主要以架构设计与实现进行分享,我们都知道,MPLS-VPN,这个2.5层的网络路由协议可以说是一种比较老旧的技术,但是在当前云计算的环境下,对于多业务的区分,多种虚拟流量的整合又重新兴起到了现有的云计算网络平台,它们将会发挥它们在于逻辑网络区分的优势,继续发挥这个老司机的作用。之所以认为它是属于相同数据中心的网络通信协议,其实不难理解,MPLS也好VPLS也好,都是一种依靠LABLE传递的路由协议,那么对于租用运营商链路或者跨域其他链路资源来说,中间的设备必须具有LABLE的能力,整体来说,还是属于一张私有的逻辑网络,那么整个网络其实可以理解为一个数据中心的整体,并没有在广域链路上进行完全的隔离与混合,那么在云背景下,对于二层网络来说,vpls也即是再适合不过的一个流量区分的一个协议选择了,其天生的VSI标示,就是对于每一个二层网络进行相互隔离的一个基本机制,利用其VSI我们就可以对不同的流量或者云计算当中的每个虚拟网络流量进行区分,本节将会以vpls为主,进行分享。
VPLS在个人业务中的应用
业务描述:
HSI(High Speed Internet)、VoIP(Voice Over IP)、BTV(Broadband TV)这些个人业务通常是通过运营商的城域网来承载业务流量的。
由于个人业务的业务网关(SR/BRAS等)部署在了城域出口,也就意味着用户的二层报文需要透传到业务网关(因为如果在PE上终结了二层报文,转为三层路由转发的话,承载在二层报文中的用户信息将会丢失,而无法到达业务网关,导致业务网关无法对用户实施控制),需要使用VPLS/VLL等技术透传二层报文。当城域网部署主备业务网关时,用户流量需要双归属接入业务网关,此时必须使用VPLS技术才能实现。
组网描述:
个人业务(HSI、VoIP、BTV)依次通过城域网的接入层、汇聚层、核心层到达Internet网络。如图1是承载个人业务的典型组网。
HSI业务通过该承载网,访问Internet网络。
VoIP业务经过该承载网,向DHCP(Dynamic Host Configuration Protocol)Server申请IP地址。
BTV业务经过该承载网,向组播源申请组播服务。
部署特性:
VPLS特性通常部署于PE设备之间,实现流量在PE设备之间的透明传输。根据图1,以部署LDP方式的VPLS为例:
接入层设备的特性:
部署VLAN特性,用于区分不同类型的用户。
部署PPPoEoA(PPPoE over AAL5)和PPPoA(PPP over AAL5)特性,实现HSI业务用户的拨号接入。
部署组播VLAN、IGMP Snooping业务,实现组播业务分发。
汇聚层设备的特性:
PE设备部署IGP(Interior Gateway Protocol)协议,实现PE设备间路由互通。
PE设备部署MPLS基本功能,使得PE设备之间建立远端会话。
PE设备部署MPLS L2VPN功能,同时建立VSI实例。
PE设备部署VPLS菊花链方式的组播业务,实现组播业务分发。
核心层设备的特性:
BRAS(Broadband Remote Access Server)设备部署认证、计费等特性,用于进行HSI业务的终结。
SR(Service Router)设备部署IGP协议,实现路由互通。
SR设备部署MPLS基本功能。
SR设备部署DHCP Relay功能,实现VoIP用户通过DHCP Server获得IP地址。
SR设备部署三层组播特性,实现与组播源之间业务的互通。
VPLS在企业业务中的应用
业务描述:
目前,很多企业的分布范围日益扩大,公司员工的移动性也不断增加,因此企业中立即消息、网络会议的应用越来越广泛。这些应用对端到端的数据通信技术有了更高的要求。端到端数据通信功能的实现依赖于一个能够支持多点业务的网络。同时,企业业务本身对数据保密的固有特点,多点传输时不仅要求能保证网络可靠性,还要求提供透明、安全的数据通道。
在运营商建立的城域网中,企业的多个分支机构分布在不同区域。此时,需要将企业机构之间的二层业务报文通过城域网传输时通常会使用VPLS技术,实现分布在不同地区的企业内部之间的互通。
组网描述:
企业业务通过城域网传输。如图1是承载企业业务的典型组网。某企业拥有多个分支机构,Site1、Site2、Site3是研发部门。通过部署VPLS特性,实现site之间二层网络互通。
部署特性:
VPLS特性通常部署于PE设备之间,实现流量在PE设备之间的透明传输。从企业用户看来,公网类似一个二层交换机。根据图1,以部署LDP方式的VPLS为例:
接入层设备的特性:
部署VLAN特性,用于区分不同类型的企业用户。
汇聚层设备的特性:
PE设备部署IGP协议,实现PE设备间路由互通。
PE设备部署MPLS基本功能,使得PE设备之间建立远端会话。
PE设备部署MPLS L2VPN功能,同时建立VSI实例。采用VPLS双归组网形式,实现对流量的保护。
PE设备部署MAC地址限制、报文流量抑制功能,实现对数据保护。
2.1.1 HVPLS
HVPLS(Hierarchical Virtual Private LAN Service),即分层VPLS,是一种实现VPLS网络层次化的一种技术。
HVPLS 产生背景
以LDP方式为信令的VPLS,为了避免环路,其基本解决办法都是在信令上建立所有站点的全连接,LDP建立所有站点之间的LDP会话的全连接。在进行数据转发时,对于从PW来的报文,根据水平分割转发的原理,将不会再向其他的PW转发。如果一个VPLS有N台PE设备,该VPLS就有N×(N-1)÷2个连接。当VPLS的PE增多时,VPLS的连接数就成N平方级数增加。假设有100个站点,站点间的LDP会话数目将是4950个。上述VPLS方案不能大规模的应用的真正缺点是提供VC的PE需要复制数据包,对于第一个未知单播报文和广播、组播报文,每个PE设备需要向所有的对端设备广播报文,这样就会浪费带宽。
为解决VPLS的全连接问题,增加网络的可扩展性,产生了HVPLS组网方案。在协议draft-ietf-l2vpn_vpls_ldp中引入了HVPLS。HVPLS通过把网络分级,每一级网络形成全连接,分级间的设备通过PW来连接,分级之间的设备的数据转发不遵守水平分割原则,而是可以相互转发。
HVPLS的基本模型中,可以把PE分为两种:
UPE:用户的汇聚设备,即直接连接CE的设备称为下层PE(Underlayer
PE),简称UPE。UPE只需要与基本VPLS全连接网络的其中一台PE建立连接。UPE支持路由和MPLS封装。如果一个UPE连接多个CE,且具备基本桥接功能,那么数据帧转发只需要在UPE进行,这样减轻了SPE的负担。
SPE:连结UPE并位于基本VPLS全连接网络内部的核心设备称为上层PE(Superstratum
PE),简称SPE。SPE与基本VPLS全连接网络内部的其他设备都建立连接。
对于SPE来说,与之相连的UPE就像一个CE。从数据转发的角度看,UPE与SPE之间建立的PW将作为SPE的AC,UPE将CE发送来的报文封装两层MPLS标签,外层为LSP的标签,该标签经过接入网的不同设备时被交换;内层标签为VC标签,用于标识VC。SPE收到的报文包含两层标签,外层的公网标签被直接弹出,SPE根据内层的标签决定该AC接入哪个VSI并进行内层标签交换。
HVPLS的接入方式
如图2所示,UPE1作为汇聚设备,它只跟SPE1建立一条虚链路而接入链路PW,跟其他所有的对端都不建立虚链路。UPE与SPE之间的PW称为U-PW,SPE间的PW称为S-PW。
以CE1发送报文到CE2为例,数据转发流程如下:
CE1发送报文给UPE1,报文的目的MAC地址是CE2;
UPE1负责将CE1发送的报文发给SPE1,UPE1为该报文打上两层MPLS标签,外层标签标识UPE1与SPE1之间的LSP Tunnel ID,内层标签标识UPE1与SPE1之间的VC ID;
UPE1与SPE1之间的LSR对用户报文进行传递和标签交换,最终在倒数第二跳报文的外层标签被剥离;
SPE1收到报文后,根据MPLS内层标签判断报文所属的VSI,发现该报文属于VSI1;
SPE1去掉UPE1给用户报文打上的MPLS内层标签;
SPE1根据用户报文的目的MAC,查找VSI的表项,发现该报文应该被发往SPE2。SPE1给该报文打上两层MPLS标签,外层标签标识SPE1与SPE2之间的LSP Tunnel ID,内层标签标识SPE1与SPE2之间的VC ID;
SPE1与SPE2之间的LSR对用户报文进行传递和标签交换,最终在倒数第二跳报文的外层标签被剥离;
SPE2从S-PW侧收到该报文后,根据内层MPLS标签判断报文所属的VSI,发现该报文属于VSI1,并去掉SPE1给该报文打上的内层MPLS标签;
SPE2为该报文打上两层MPLS标签,外层标签标识SPE2与UPE2之间的LSP Tunnel ID,内层标签标识UPE2与SPE2之间的VC ID,并转发该报文;
SPE2与UPE2之间的LSR对用户报文进行传递和标签交换,最终在倒数第二跳报文的外层标签被剥离;
UPE2收到该报文后,去掉UPE2给用户报文打上的MPLS内层标签,根据用户报文的目的MAC,查找VSI的表项,发现该报文应该被发往CE2,并转发该报文。
CE1与CE4为本地CE之间交换数据,如图2所示。由于UPE本身具有桥接功能,UPE直接完成两者间的报文转发,而无需将报文上送SPE1。不过对于从CE1发来的目的MAC未知的第一个报文或广播报文,UPE1在广播到CE4的同时,仍然会通过U-PW转发给SPE1,由SPE1来完成报文的复制并转发到各个对端CE。
HVPLS的环路避免
与VPLS的环路避免相比,H-VPLS中环路避免方法需要做如下调整:
只需要在SPE之间建立全连接(PW全连接),UPE和SPE之间不需要全连接。
每个SPE设备上,从与SPE连接的PW上收到的报文,不再向这个VSI关联的、与其它SPE连接的PW转发,但可以向与UPE连接的PW转发。
每个SPE设备上,从与UPE连接的PW上收到的报文,可以向这个VSI关联的所有与其它SPE连接的PW转发。
2.1.1.1配置LDP方式的HVPLS示例
组网需求:
企业机构,自建骨干网。分支Site1使用CE1连接UPE设备接入骨干网,分支Site2使用CE2连接UPE接入骨干网,分支Site3使用CE3连接普通PE1接入骨干网。现在Site1、Site2和Site3的用户需要进行二层业务的互通,同时要求在穿越骨干网时保留二层报文中用户信息。另外要求骨干网的UPE和SPE实现分层次的网络结构。
配置思路:
采用如下的思路配置LDP方式的HVPLS基本功能:
为实现Site1、Site2和Site3的二层业务互通,同时在穿越骨干网时保留二层报文的用户信息,故需要使用VPLS技术在骨干网透传二层报文;
由于企业需要实现分层次的网络结构,可以选择LDP方式的HVPLS,形成层次化的网络拓扑并实现各CE设备二层网络的互通;
为实现PE间数据的公网传输,需要在骨干网上配置IGP路由协议实现互通;
VPLS实现依靠MPLS基本功能,故需要在骨干网上的设备配置MPLS基本功能和LDP;
为使PE间传输的数据不被公网感知,需要在PE间建立传输数据所使用的隧道;
为实现VPLS功能,需要在PE上使能MPLS L2VPN;
为实现LDP方式的VPLS,需要在PE上创建VSI,指定信令为LDP,然后在UPE和PE1上将VSI与AC接口绑定;
为实现层次化的HVPLS功能,需要在SPE上指定UPE为自己的下层PE,PE1为VSI对等体;在UPE和PE1上分别指定SPE为VSI对等体。
2.1.2 Martini VPLS
组网需求:
如图1,某企业机构,自建骨干网。分支Site站点较少(举例中只列出2个站点,其余省略),分支Site1使用CE1连接PE1设备接入骨干网,分支Site2使用CE2连接PE2接入骨干网。现在Site1和Site2的用户需要进行二层业务的互通,同时要求在穿越骨干网时保留二层报文中用户信息。
2.1.2.1 配置Marrtini VPLS的示例
采用如下的思路配置Martini方式VPLS的基本功能:
为实现Site1和Site2的二层业务互通,同时在穿越骨干网时保留二层报文的用户信息,故需要使用VPLS技术在骨干网透传二层报文;
由于企业网络结构的Site站点较少,可以选择Martini方式的VPLS,实现各CE设备二层网络的互通;
为实现PE间数据的公网传输,需要在骨干网上配置IGP路由协议实现互通;
VPLS实现依靠MPLS基本功能,故需要在骨干网上的设备配置MPLS基本功能和LDP;
为使PE间传输的数据不被公网感知,需要在PE间建立传输数据所使用的隧道;
为实现VPLS功能,需要在PE上使能MPLS L2VPN;
为实现Martini方式VPLS,需要在PE上创建VSI,指定信令为LDP,然后将VSI与AC接口绑定。
2.2Fabrica-Path的实现
1) vPC+实现双活的网关路由
如果在FabricPath网络中单纯的使用HSRP技术,HSRP虚拟IP地址所对应的虚拟MAC地址,只会映射到活动的网关的Switch ID。这样FabricPath去往外部三层网络的流量只会从活动网关转发。但是如果在HSRP环境下启用了vPC+技术,如图8-33所示,HSRP的虚拟MAC地址会映射到vPC+虚拟交换机的Switch ID。并且在FabricPath路由表中会学习到去往虚拟交换机Switch ID的路由通过两个网关进行负载均衡,真正实现了去往外部三层网络的负载均衡。
1.3 Trill的实现
通过TRILL协议构建扁平化二层网络,实现整网无阻塞转发及虚拟机的任意迁移。使用TRILL协议部署数据中心网络时,首先在所有设备上配置TRILL基本功能,继而根据网络层次,进行如下处理:
接入层:
在用户侧配置CE VLAN接入服务器,配置后用户流量可以通过TRILL网络传输。如果服务器通过接入设备双上行接入到TRILL网络中,建议用户在连接接入设备的边缘RB上配置STP/RSTP/MSTP联动TRILL功能进行破环。在网络侧,可以调整TRILL的路由选路和控制TRILL的网络收敛来保证网络高效转发。
核心层:
在网络侧可以调整TRILL的路由选路和控制TRILL的网络收敛来保证网络高效转发。在出口侧,可以通过出口路由器连接企业其他网络,或者在核心层设备上配置虚拟系统VS(Virtual System),使用其中一个VS作为出口网关,连接企业其他网络。
三、 数据中心私有安全通道
VPN属于目前云计算环境当中典型的链路加密方式,在整个云计算环境体系当中,SSL与IPsec VPN属于最典型也是最广泛使用的两种VPN技术。
资源集中属于云计算的一个天然的本质,统一的资源池化,但是整个云计算环境当中面临的用户与后台服务之间在广域网上的安全通道就面临了直接的挑战,每个业务的网络都有可能在整个互联网上进行传递,公有云也好,私有云也好,统一面临着安全问题,为了在整个网络通道进行安全加密,我们多数人想到的都是VPN,因为VPN天然具备了两种基本特性-长连接与加密。
长连接在VPN状态的体现就是每条连接都是有状态的连接,也就是通常会使用类似“三次握手”的机制保证它的连接性,加密技术使得整个数据报文在专递过程当中,对于任何人来说都是不可见的状态,保证了传输的安全性。
VPN的选择有很多,对于多种选择来说,目前比较广泛的可靠性加密传输为IPsec与SSL两种VPN技术,本节以SSL VPN与IPsec进行分享。
3.1 SSL VPN
SSL VPN同传统的加密技术具备如下优势:
部署简洁:
目前所有浏览器都将SSL作为基本功能之一所集成,在用户访问时,通常的加密将会自动建立,不再使每一个访问者进行配置与维护,这种零客户端的处理机制,都极大地使得安全访问变得如此简单。
访问的精细控制
SSL VPN可以对加密的隧道进行区分,使得每个用户可以区分不同的网络流向,采用不同的加密方式,甚至可以提供用户级别的鉴权机制,依据安全策略,保证授权的用户访问特定的资源限制,这在传统的VPN当中实现,基本是不可能的一种实现方式。
FIRWALL的穿越机制
因为SSL VPN工作在传输层之上,那么对于传统的NAT与防火墙设备而言,用户可以在任何地点安全访问内部资源,而不会被传统的相关防火墙所阻挡,并且在解决IP地址冲突方面优越于其他VPN方式。
安全保护的可靠性
由于SSL VPN网关隔离了内网的服务与相关的客户端,只通过WEB接口进行浏览,使得客户端的大部分木马无法传染到所访问的云服务器之上,保证了安全的可靠性机制。
SSL握手协议过程:
客户机向服务器发出client hello消息,在该消息当中包含了SSL洗衣版本号,随机数,会话标识,(连接未建立时,此标识为空)、密码算法组件配置、压缩算法组件配置,以及其他服务器需要客户机提供的基本SSL协议消息。
服务器端向客户机发送 server hello 消息,在该消息当中包含了SSL协议版本号,随机数,会话标识,选择的密码算法,选择的压缩算法,以及其他的SSL协议信息。若服务器端要验证客户机的证书,将发送一个客户证书请求,将这些内容发送结束后,发出server hello down消息作为对client hello回应的结束。
客户机根据收到的信息来验证服务器的身份,如果服务器的身份无法被验证,那么客户端就会收到警告信息,验证通过进行下一步验证同步。
客户机与服务器使用master secret进行session keys(连接秘钥)生成,它属于对称密钥,在SSL会话过程中,用来进行数据的加密与解密,同时用于数据的完整性。
客户机向服务器发送一条消息,声明后面发送过来的数据帧将会使用加密秘钥,接着还会再发出一条单独的消息表明建立连接信任时客户端的工作已经完成,至此SSL的握手协议正式结束,开始进行SSL会话,客户机与服务器使用session keys来完成通信过程中数据的加密解密以及数据的完整性检查。
SSL记录协议:
在SSL协议中,所有的传输都会被封装记录,记录是由记录头和长度不为0的记录数据组成,所有SSL协议当中(包括握手协议、安全空白记录和应用数据)都是使用SSL记录层协议进行记录,并且其定义了记录头和记录数据的相关格式。
SSL VPN分为多种类型,在基本技术框架的基础上,可以细分为零客户端,瘦客户端和隧道模式三种,其中隧道模式可以用在没有web浏览器的环境当中。
3.2 IPsec VPN
在传统VPN方式当中,IPsec是目前部署最为广泛的点对点VPN技术之一,点对多点为MPLS-VPN或者VPLS-VPN,当位于两地的分支机构希望使用VPN技术进行通信时,一种情况就是向运营商申请专线资源,但是这种资源方式对于一般企业而言价格高昂,而且安全性问题无法得到确切的保证,IPsec就在这种情况之下孕育而出。IPsec将网关设备发往对端的数据打包加密后,在因特网上进行传输,对端网关设备收到数据包,解封装后再发往目的客户端,而整个过程对于客户端来说都属于无感知状态,效果跟租用运营商链路一样,但是加密过程使得数据充分保持了安全性。
对于IPsec VPN,无论是哪种数据流,若一方进行了加密,而另一方没有配,则无法通讯,对于GRE则,路由邻居都无法建立。另一个概念是隧道模式和传输模式。所谓的隧道模式还是传输模式,是针对如ESP如何封装数据包的,前提是ESP在最外面,如果都被Over到了GRE里,自然谈不上什么隧道模式和传输模式(都为隧道模式)。只有当GRE Over IPsec的时候,才可以将模式改为传输模式。IPsec不支持组播,即不能传递路由协议,而GRE支持。
目前虽然IPsec VPN仍然为主流VPN方式,但是在云环境下,它也不得不去面临其管理成本高昂、由于工作在OSI第三层上,而使其协议本身无法附带高层的安全策略、网络配置的复杂性等问题。
而SSL恰好解决了这些方面的原因,云计算的目的是向远程用户提供服务,但其实其多租户的概念并不想让自己的所有虚拟网络暴露在整个平台外,但是通过IPsec进行通讯时,很容易使得本地电脑上所附加的病毒、木马等安全隐患直接带到云环境当中的某个云主机上,SSL正好在远程接入方面补齐了云环境下对于IPsec这个弊端所带来的隐患问题。但是虽说IPsec年岁以大,但是宝刀未老,其安全特性依然还是使用在众多网络环境当中,其中以下两点为IPsec使用的两种最多的场景。
3.2.1 IPsec over GRE
IPsec Over GRE的主意为IPsec加密在里,GRE在外。先把需要加密的数据包封装成IPsec包,然后再扔到GRE隧道里。作法是把IPsec的加密作用在隧道接口上,即为Tunnel口上监控数据报文是否有需要加密的数据流,有则先加密封装为IPsec包,然后封装成GRE包进入隧道(那么显而易见的是,GRE隧道始终存在,GRE整条VPN隧道并没有被加密),同时,未在控制表内的数据流将以不加密的状态直接走GRE的隧道,那么有些数据报文传递过程当中,可能并未真正加密,使得数据报文在传递过程当中,无法完全保证每条数据流量的安全性,同时,IPsec并不支持组播报文的传递,所以此种方式在企业网数据流量导向使用的比较少。
3.2.2 GRE over IPsec
GRE Over IPsec是指,先把数据封装成GRE包,然后再封装成IPsec报文。实现方式是在相应接口上进行流量监控,检测是否有需要加密的GRE流量,若是有相应流量运送过来,那么所有的这两个端口的GRE数据流报文将会被加密封装上IPsec包,然后再进行传递,这样保证的是所有通过GRE隧道的数据报文都会被IPsec加密,包括隧道的建立和路由的建立和传递。采用此种方式可以解决IPsec在传统点对点VPN当中,不支持组播的方式,同时解决了通过隧道传递的所有报文都进行了加密处理,完全的保证了每条流量的安全性。
四、 跨数据中心二层网络互通
在整个云计算网络环境中,由于业务的批量部署,网络的便捷性,对于2层网络来说的需求正在逐年增加,越来越多的数据中心由单物理节点,向多个不同物理地域所演进,那么在此过程当中,2层网络必然会随之增大,甚至到了今天所面临的跨越数据中心2层网络通讯的挑战,云计算的到来也使得原有的3层主打的网络模型变为了更加灵活方便的2层网络模型,而云计算的多租户,多业务模型使得每条业务都会拥有自己独有的流量,又需要跨越数据中心,又需要2层网络,同时需要多租户,多业务基于流的隔离技术,前文已经介绍了许多关于2层流量的问题,包括VPLS VPN、Fabric-Path、TRILL等协议,都是基于流的区分2层协议,那么本节主要针对跨越不同物理地狱的2层协议进行说明。
4.1 OTV
Overlay Transport Virtualization (OTV) —-数据中心互联解决方案
OTV是一个典型的在分布式地域的数据中心站点之间简化2层扩展传输技术的工业解决方案. 使用OTV技术可以轻松在两个站点部署Data Center Interconnect (DCI),而不需要改变或者重新配置现有的网络.此外更要的,使用OTV技术可以将不同的地理域的数据中心站点构建统一的虚拟计算资源群集,实现工作主机的移动性,业务弹性以及较高的资源利用性. 主要的OTV特点包括:
- 在多个IP互联的数据中心站点扩展2层LAN网络
- 简单的配置和选项:与现有的网络无缝的接合,需要极少的配置(最少4条命令)
- 可靠的弹性:保留现有的3层故障边界,提供自动的多宿主以及内置的防环机制
- 最大可用带宽:使用等价多路径以及优化多播复制
除了在二层网络环境下的特殊处理,OTV同时对三层路由也进行了相应的特殊处理,有针对性的优化更改。数据中心局域网通常为了保证高可靠性,高稳定性,通常会设置一个出口路由器作为网关,这些路由器上同时启用了高HA机制保证网络简洁性,同时对下层设备提供一个VIP进行虚拟路由,保证3层网络的HA问题,底层设备会协同处理数据报文发送到VIP所在的虚拟路由网关。
那么对于数据中心之间,不同地域,之间的通信,那么这些保证HA的相关心跳报文就会在不同数据中心之间传递,这样就会发生一个不可避免的问题,那就是不同城域网或者数据中心的下层设备,就会认为所有出口路由器都处在相同的地域之中,数据包很可能会从一个SITE跨越距离很长的路段,传递到别的数据中心的出口路由器,OTV很好的解决了此类问题,当其将多个数据中心之间的链路打通后,OTV就会自动阻止不同区域的HSRP、VRRP、GLBP的信令包,从而使得每个数据中心的下层设备转发不会传递到其他的区域,而是从本区域的VIP出口路由器向外发送相关报文,保证业务的高可用同时,使得流量更加易于管理。
在面对跨越数据中心网络通讯的时候,OTV是个非常高效可靠的一款二层路由协议,其是一款专供跨越数据中心的二层互联技术,对比VPLS有着配置简化,逻辑清晰,在广域网上搭建二层通道的能力正好应对了数据中心大二层网络互联的需求,不过从技术层面上去看,VPLS也有其天生特有的优势,就是MPLS-VPN的实践程度与可靠性经过了大规模的验证,但是VPLS依托于Lable封装,那么其无法在普通的IP网络上进行有效的搭建与透传,而OTV恰恰解决了此问题。
4.2 EVN
EVN(Ethernet virtual Network)是一种基于VXLAN隧道的二层网络互连VPN技术,EVN本身可以通过MP-BGP协议来传递二层网络间的MAC地址信息,通过生成的MAC地址表项进行二层报文封装的转发。
随着数据中心的业务发展,多个数据中心进行二层网络互联的需求逐渐旺盛,与传统的vpls虚拟二层网络来进行比较,EVN在跨越数据中心虚拟二层网络互通方面有如下:
与VPLS相比,EVN技术可以解决上述问题:
1) EVN通过扩展BGP协议使二层网络间的MAC地址学习和发布过程从数据平面转移到控制平面。这样可以使设备在管理MAC地址时像管理路由一样,使目的MAC地址相同但下一跳不同的多条EVN路由实现负载分担;
2) 在EVN网络中PE设备之间是通过BGP协议实现相互通信的。BGP协议支持路由反射器功能,所以可以在运营商骨干网上部署路由反射器,所有PE设备与反射器建立邻居关系,通过路由反射器来反射EVN路由,大大减少了网络部署成本;
3) PE设备通过ARP协议学习本地和远端的MAC地址信息以及其对应的IP地址,并将这些信息缓存至本地。当PE设备再收到其他ARP请求后,将先查找本地缓存的MAC地址信息,如果查找到对应信息,PE将返回ARP响应报文,避免ARP请求报文向其他PE设备广播,减少网络资源消耗;
4) EVN网络中不再使用MPLS隧道,而是使用VXLAN隧道。VXLAN隧道可以在PE间的邻居关系建立成功后通过EVN路由的传播自动建立,大大减少了配置工作量。
4.3配置EVN实现数据中心互联示例
组网需求
如图1所示,Site1和Site2内为二层数据中心网络,用户要求实现不同二层数据中心网络间相互通信,并保证EVN网络的可靠性。当运营商骨干网中存在大量PE设备时(举例中只列出3个PE设备,其余省略),可以选择在运营商骨干网内配置一台设备作为EVN路由反射器,保证PE设备的全连接。
图1 配置EVN实现数据中心互联组网图
配置思路
采用如下的思路配置EVN:
1) 骨干网上配置IGP实现各个PE以及RR设备之间的互通;
2) 配置隧道模式为VXLAN;
3) 配置PE上的EVN实例;
4) 配置PE与RR间的EVN BGP对等体关系;
5) 配置RR为动态路由反射器;
6) 配置各个PE与CE接口上的ESI;
7) 配置CE侧接口;
8) 配置PE1和PE2的冗余模式,保证EVN网络的可靠性。
4.4 虚实结合与混合云网络
对于传统的数据中心来说,都是各个物理服务器的之间的通讯,那么在云计算环境当中虚拟机与物理服务器之间的2层通讯问题逐渐的出现,同时又一种新型的概念混合云的网络模型逐渐展开,前文介绍了大量的2层网络通讯协议,那么我们在面对那么多的网络复杂场景下,云计算带来的网络特殊的部署模式将会变得对于每个网络工程师所必须要知道了解的,本节主要以虚实结合与混合云网络进行阐述分享。
4.4.1 虚实结合
虚实结合的网络部署模型顾名思义就是云计算环境下虚拟机与物理机相互结合的网络模型,那么对于传统网络来说,我们所要知道的就是如何掌控VLAN之间的通讯就可以实现虚拟机与物理机之间的通讯,那么在云计算新型大二层网络环境下,所要实现VXLAN网络之间的通讯,这时就是我们所必须要了解的一些新型模式。
1.VXLAN网络与非VXLAN网络通讯
在常见的网络模型当中,我们很好解决VLAN的通讯问题,起SVI走路由或者配置成同一个广播域即可,那么在此环境当中,这样的通讯方式如果是基于2层VXLAN通讯就是个问题,我们要引入一个VXLAN L2GATEWAY的这样一种机制,也就是说使得每个vlan对应的vlan id与VXLAN VNI所对应关联,使得2层网络环境下,可以使得VXLAN与非VXLAN得转换,使得传统2层网络与新型VXLAN2层网络进行通讯。
4.4.2 混合云网络
混合云网络当中其实涵盖了一种网络就是2曾VXLAN与VLAN的概念,但是混合云网络是一种更为现实复杂的网络模型,其中不仅涵盖了2层网络,同时也涵盖了3层网络,那么对于公有云与私有云是一种混合云网络,多个异构的私有云也是一种混合云网络,同时我们也不得不面对原有的云网络与新兴的3层云网络进行通讯,这些都是一个新的网络模型需要每个网络工程师进行思考的问题,其中一个就是安全性问题,在公有云与私有云当中的安全性问题,通常的情况下,我们会选择专线接入,那么对于既保证安全性,又保证高带宽低延迟的情况下,我们必须保留专线资源,但是还是要保持一定的安全性,同时降低成本,那么这种情况下,我们就可以选择最后一公里的VPN接入专线的方式,这样既保证安全性,又保证专线的高带宽的本质,同时节省了运营商专线出局的一些资质困扰。
有的时候我们也在考虑公网上跨越运营商的三层路由的通讯方式,那么网络的最本质的通讯动作还是封装与解封装,这时候我们会面临多个跨越数据中心的异构云资源池,有的资源池可能会使用的普通3层网络数据报文,那么有的会采用新型的网络数据中报文,比如VXLAN跨越运营商网络,那么此时老旧设备并不知道我重新封装的VXLAN报文,只知道外面的3层头部信息,而且我们在配置出口交换机时都会使用SVI的技术,配置逻辑接口,将每个逻辑接口挂接在一个物理端口上,使得物理端口的损坏时,保证快速链路的切换,那么对于新的VXLAN网络来说,我们怎么才能在向使用vlan那样去使用SVI技术呢?这时候我们就需要引入一个新的概念VXLAN L3-GateWay,其实就是VXLAN的3层网关,其便可实现VXLAN启用虚拟3层逻辑接口,并且挂接在物理端口上。
五、 新兴网络技术的发展
对于传统的路由与交换设备来说,在云计算的环境下,原有的网卡功能的使用将会被各种虚拟化业务所使用,在推动虚拟化发展的高速路程当中,众多因素使得资源再利用变得尤为重要,大多数客户都希望在进行虚拟化、私有数据中心云化之后,都可以使得自身的原有资源可以充分利用,网卡也不例外,往往通过云化之后的CPU都会利用率从原有百分之10提升到70进行使用,当越来越多的不同业务的虚拟机跑在同一个物理服务器上时,都会拥挤在相同的一个物理I/O通道内,对于高性能计算的环境当中,上层业务往往对于网络的I/O非常敏感,不同业务的虚拟机往往会要求特殊的端口类型,如果模型匹配不对,性能就会大大折扣,而单一的物理网卡不可能对于上层每一个业务实现不同的网络接口队列模型,这就会影响到业务的性能瓶颈,新一代的网卡与网络技术也就随之孕育而出。那么随着私有云不断地升温,原有的虚拟网络方式带给网络节点的压力也会逐渐加大,数据中心对于网络的功能与性能变革也进行了时代的变化,从原有的纯软件或者纯硬件的方式,逐渐转变为以软件定义网络为主,实现软硬结合的新型网络变化的趋势,在漫谈云计算网络最后一篇中,笔者会主要描述云计算环境下诞生的一些新的网络技术,以及应用的场景。