前篇《从实战浅析运营商云资源池网络—技术的抉择》浅析了“某运营商IT云资源池网络”的技术选用和原因,本篇将进一步阐述业务场景的关键流量模型,例如:域内和域间的同租户二三层互访、异租户三层互访、安全防护、南北向流量等;从而帮助大家了解数据中心的”血液”是如何在网络Overlay中流动的,进一步熟悉云计算数据中心的底层网络架构和逻辑。
01 整体拓扑介绍
图1.1.▲整体拓扑图示
该案例网络主要结构示意如上图,其中一些无关的细节做了精简和裁切。该网络中有多个POD,每个POD均有自己独立的出口。POD内部的网络设备使用EVPN VXLAN方式实现Overlay。
POD之间采用DCI互联层进行连接,DCI 接入交换机之间通过EVPN VXLAN实现L2/L3 VPN。
02 POD内流量模型介绍
同租户L2流量
租户的Host通常都有规划在一个Bridge中的需求。同交换机下的L2互通由本地服务器中vSwitch进行互通或交换机本地L2转发即可,但POD内的一个租户的Host因资源分配的原因经常分配在不同的Leaf交换机下,因此需要实现跨Leaf的L2流量互通。
图2.1.▲同租户L2流量模型图示
同租户L2流量模型说明如下:
同一租户网络内主机之间的L2通信,不同VTEP之间的转发,由Leaf进行VXLAN封装后,发送到VXLAN隧道的对端VTEP,然后进行VXLAN解封装,核心交换机(Spine)仅实现外层报文的三层路由,流量不经过Border(出口边界交换机)。 同租户L3流量
对于一个租户的不同的Network,可能会有通过”vRouter”进行L3互通的需求。因此需要通过交换机给租户提供”vRouter”的功能特性。
图2.2.▲同租户L3流量模型图示
流量模型说明如下:
同一租户网络内业务之间的三层通信,不同VTEP之间的转发,由Leaf进行VXLAN封装后,根据报文目的ip,查找路由表,发送到VXLAN隧道的对端VTEP,然后进行VXLAN解封装,剥离VxLAN报文,还原出原始的数据帧,根据目的ip找到出端口,发送给接收主机.域内同租户跨L3通信,涉及不同VTEP之间的L3路由;采用分布对称式进行部署设计, Spine仅实现外层报文的三层路由,转发不经Border和防火墙,仅在Leaf完成。 异租户L3流量
图2.3.▲异租户L3流量模型图示
在不同的VPC之间,可能会有一些业务系统有互通的需求,网络设备Overlay的VRF之间互通可以采用外部路由器、BGP VPN间路由泄露的方式来实现VPC间的路由互通,考虑到一般来说VPC间的业务互通通常是有限的,比如存在不同的安全域级别、仅允许部分IP或端口互通。因此,本案例中的这部分流量采用外部防火墙来进行互通,同时实现安全策略控制。 流量模型说明如下:
VPC之间的通信流量需要经过Border,且需要经过内部防火墙进行流量过滤清洗。先在Leaf上实现VXLAN封装,同时在Border上解封装后发送给防火墙(引入防火墙,在防火墙内部串接完成VRF过渡);防火墙回送Border的流量再经过Border进行VXLAN封装后发送给目的Leaf。
租户A流量传递到所在的Leaf设备,Leaf设备负责VXLAN的封装后将报文传递给Border,Border通过静态或动态路由协议将报文引流至内层防火墙进行过滤清洗,同时进行VXLAN的解封装。
内层防火墙收到引流报文后,将VRF-A和VRF-B进行路由互导,并将报文通过防火墙路由回注至Border对应的VRF-B的接口。
Border重新封装Vxlan Tunnel至租户B所在Leaf,解封装后到达目标主机。
03 POD间流量模型介绍
对于同租户内需要实现L2/L3互通的业务中,其中一些例如容灾的、分布式部署的服务需要实现异地的部署,这类业务对网络提出了跨POD进行L2和L3互通的需求,这里考虑到链路成本等问题通常会用到L2/L3
VPN的方式,上一篇文章有介绍几种通过VXLAN实现L2VPN的方式(VXLAN的特性同时也可以实现L3 VPN),本例采用Vlan Hand-Off方式实现。 同租户L2流量
图3.1.▲跨POD同租户L2流量模型图示
跨POD同租户L2流量模型说明如下:
数据中心内采用分布式VxLAN网关,Server到Border实现L2/L3 VXLAN交换;跨POD的L2流量无需经过防火墙过滤,在POD1的Leaf封装VXLAN、Border解封装VXLAN后,以Vlan方式上送DCI交换机封装为vxlan后送到对端DCI交换机,还原vlan报文发送给POD2的Border,再次封装VXLAN发送给Leaf进行解封装,到达最终主机。 同租户L3流量
图3.2.▲跨POD同租户L3流量模型图示
跨POD同租户L3流量模型说明如下:
POD间同租户三层互访与二层互访路径略有相似,Border到DCI Leaf通过子接口进行dot1q封装实现互联,建立静态或者动态路由, 实现报文转发,屏蔽各厂商bgp evpn控制协议的异构性;跨域L3在POD-1的Leaf封装VXLAN、Border解封装VXLAN后,通过Vlan封装发送给DCI互联层, 在DCI互联层进行封装解封装VXLAN,再通过Vlan封装发送给POD-2的Border处理,POD-2的Border再封装VXLAN给Leaf进行解封装,发送给最终的主机。 异租户L3流量
除同租户外的POD间通信之外,不同租户之间也同样可能需要跨POD进行互相通信,同时也需要防火墙来提供丰富的控制策略。因为涉及到整个DCI层以及存在多组防火墙,整体逻辑会比在同POD内进行异租户间互通要稍复杂些。
图3.3.▲跨POD异租户L3流量模型图示
跨POD异租户L3流量模型说明如下:
跨POD的不同租户L3互访需要借助防火墙在两个VRF间进行路由泄露和流量过滤清洗,数据中心内采用分布式VxLAN网关,server到border实现L2/L3 VXLAN交换,Border到DCI互联层通过Vlan封装实现互联,建立静态或者动态路由, 实现报文转发,屏蔽各厂商bgp evpn控制协议的异构性。域间不同租户间的业务流量需经过防火墙,选择哪边的防火墙根据每个业务情况进行选择。报文封装逻辑流程与前篇Vlan Hand-Off的介绍基本一致,其中不一样的地方为在需要进入防火墙一侧的DCI出口,Border到防火墙再到DCI交换机时在防火墙上有一个三层转发的过程;
租户A流量传递到POD1的Leaf设备, Leaf设备负责VXLAN的封装后将报文传递给Border设备,网关设备VXLAN解封装,通过静态或动态路由将报文牵引至防火墙实现VRF间互通和安全策略。 防火墙收到报文后,将VRF-A和VRF-C之间的路由进行相互泄露,且将报文发送给Border对应的VRF-C的接口。
Border收到防火墙的报文后,流量通过VLAN封装发送给DCI Leaf-1。DCI Leaf-1收到报文后,进行VXLAN封装后将报文发给DCI Leaf-2。
DCI Leaf-2进行VXLAN的解封装后,流量通过VLAN封装传输给POD2 Borde Leaf对应的VRF-B接口。 POD2的Border收到报文后,重新进行VXLAN的封装,通过VRF-B的路由表,将报文发送给目的Leaf
的VTEP网关设备。
目的Leaf收到报文后,进行VXLAN解封装后发送给目的租户B。
04 其它流量模型介绍
安全防护引流流量
对于云资源池内部分业务的防护仅通过传统防火墙的规则是远不够的,各种对外服务的应用的漏洞和配置不规范均可能成为可以穿透防火墙机制的安全风险。因此通常需要应用层的防护和检测手段来为内部业务提供进一步的保护,例如IPS、WAF、数据库审计等。
考虑到传统的串糖葫芦式的安全设备部署方式已无法满足云数据中心级别的性能、可靠性及多租户需求特性,本案例中通过旁路部署IPS、WAF等安全设备,通过SDN控制器实现Service Chain按需引流。
图4.1.▲安全防护引流流量模型图示
安全防护引流流量模型说明如下:
主机南北流量从接入Leaf进入到Overlay网络,通过ECMP等价负载到达Border并按需执行引流策略,将需要进行防护的业务流量引入WAF或IPS实现流量过滤;
另外Border将镜像业务上下行接口作为源端口,复制一份到观察端口,利用流量探针设备分析报文,可进行威胁检测和应用性能监测。 服务器与外部网络的南北向流量
图4.2.▲服务器与外部网络的南北向流量模型图示
服务器对外业务发布或访问外部网络需要通过网络边界的外层防火墙进行路由及策略控制,对于业务服务器使用私网地址的,还需要外层防火墙提供NAT能力。 流量模型如下:
主机同外网之间的通信流量需要经过Border,无需经过内层防火墙过滤和清洗,但需要经过外层防火墙进行流量处理, Leaf上实现VXLAN封装,同时在Border上解封装后发送给外层防火墙;外层防火墙再发送
给外部网络。
主要有如下三种业务场景:
主机配置公网IP,通过实现与外网互通;
主机配置内网IP,通过SNAT实现 向外网进行通信; 主机配置内网IP,通过DNAT实现 外网向其进行通信。
总结
本文通过一个案例解析其详细的流量模型,希望能给大家带来一些帮助和启发,其中所用技术手段、实现方法及流量模型可能会有一些特定的背景或原因,在其它场景或情况下可能不是最优化的方法,对于一些技术如为何采用交换机实现Overlay、为何采用Vlan Hand-Off方法实现L2/L3的DCI,在前篇《从实战浅析运营商云资源池网络—技术的抉择》可以找到答案。