36

VXLAN篇之Multi-Pod

 4 years ago
source link: https://www.sdnlab.com/23643.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

作者简介:张磊,思科原厂8年多technical consulting engineer,精通思科数据中心/园区网产品及技术;精通SAN网络架构及产品;熟悉广域网产品及技术。

第一篇:VXLAN篇之初识
第二篇:VXLAN篇之EVPN
第三篇:VXLAN篇之进阶

之前的《VXLAN篇之进阶》说到了multi-pod,multi-fabric,multi-site。这次,再把multi-pod给填上!

一、VXLAN multi-pod overview:

1/ VXLAN Multipod Design Interconnecting Leaf Nodes:

vxlan-multi-pod-1.jpg

如上图所示,每个Pod通过Transit Leaf Node互连。Transit Leaf Node是纯三层设备,可以是computing leaf nodes (连接本地endpoints的leaf节点) ,也可以是border leaf nodes (连接external router的leaf节点).

2/ VXLAN Multipod Design Interconnecting Spine Nodes:

vxlan-multi-pod-2.jpg

如上图所示,在每一个单独的pod里面,Spine除了保证可以路由leaf之间的VXLAN流量,不需要额外的功能。这是因为VXLAN隧道是在leaf之间建立,并且独立于其他pod。

3/ VXLAN Multipod M-Shaped Design:

vxlan-multi-pod-3.jpg

如上图所示,在这种场景下,transit leaf node连接本地Spine和远端Pod里的Spine设备。Transit leaf node的数量,取决于两个Pod之间流量大小,以及未来的扩展性。

二、Multi-pod:when?why?

在相同数据中心,部署的pods之间的互连,比如同一个数据中心的不同机房:multi-pod设计就会很有用。考虑这样一种场景,基础布线已经完成了,而且是针对传统三层结构(接入、汇聚、核心)做的布线;这时就不太容易适用Spine-leaf架构。通过核心层(或者叫super spine)把独立的pod互连起来。

同样的,当不同的pod被放到同一个园区的不同的楼里时,没有足够的光纤做leaf和spine之间full mesh互连时,Multi-Pod的方案相比整个数据中心或者园区重新布线,会是一种更为节约成本的解决方案。

三、multi-pod的部署方案:

1/ Use of Direct Layer 3 Links for VXLAN Multipod Deployments:

vxlan-multi-pod-4.jpg

如上图所示,这些pod通过专用的三层网络设备连接。或者,可以使用在leaf节点上配置三层口然后直连。

2/ Single Control Plane for Underlay and Overlay Connectivity:

vxlan-multi-pod-5.jpg

如上图所示,对于单个物理位置上(比如两个pod在同数据中心的不同机房)的multi-pod,通常首选这种方式。这也是multi-pod最流行的一种使用方式

3/ Multipod Deployment with Control-Plane Separation Across Pods:

vxlan-multi-pod-6.jpg

尽管在技术上和功能上,“Single Control Plane for Underlay and Overlay Connectivity”(上一种)的方式都很好,但是仍然将control-plane跨pod进行分离的方式介绍给大家,这种方式可以提供更简单、更结构化的设计,如上图所示。这种方式虽然在结构上更简单,但是,需要考虑的细节会更多,配置量也会更大。

四、L2 VNI映射与L3 anycast gateway:

vxlan-multi-pod-7.jpg

VLAN-to-Layer 2 VNI Mapping

VXLAN segment独立于underlay网络,同样的,VTEP之间的underlay网络独立于VXLAN overlay。本地定义的vlan及其的关联的二层VNI映射组合,允许你创建可以跨pod的二层逻辑segment。如上图所示,它提供了连接到相同VNI的endpoint之间的二层连接,这些endpoint独立于它们连接到的特定pod。同时,不同的二层VNI segment提供了endpoint之间的逻辑隔离。就像在传统的VLAN部署中一样,不同的二层VNI endpoint之间只能通过三层路由功能进行通信。

vxlan-multi-pod-8.jpg

Anycast Layer 3 Gateway

上图展示了一个web服务器在与host和database之间通信时,执行了一个实时迁移的过程:从host所在的Pod,迁移到了database所在的远端Pod。
MP-BGP control-plane注意到了web服务器发生了移动,并且知道了web服务器的新位置。随后,它将增加BGP sequence number值,并立即通知其他所有VTEP,告诉它们web服务器的新位置。这个sequence number现在高于原始值,所以,所有的VTEP接收到了这个update后,都会使用新的下一跳信息,并更新它们的转发表(egress VTEP-4)。可以参见之前的“VXLAN篇之EVPN”。

这样,没有任何中断当前active会话,web服务器持续的使用它的默认网关;现在这个默认网关就从VTEP-1变成了VTEP-4。

五、网络服务集成方案—外部通信:

上边我们说了Pod-to-Pod的设计方案(即两个Pod之间的流量通信),下边我们看看multi-pod如何与外部通信:

vxlan-multi-pod-9.jpg

Active-Standby的防火墙部署架构

几个注意点:

  • 防火墙服务节点可以是物理设备或虚拟设备,通常部署物理设备。
  • 防火墙服务节点可以是路由或透明模式部署,路由模式是最常用的选项。
  • 防火墙服务节点可以被配置成第一跳路由器(first-hop router)来提供默认网关的功能。

当使用路由模式时,可以在防火墙节点和网络设备之间使用动态路由协议,从而实现VLXAN区域与WAN edge设备之间交换路由条目,或者也可以使用静态路由。

为了支持多租户,可以为需要与外部网络域通信的每个租户提供不同的防火墙接口(或VRF)。这种方法通常与物理防火墙设备的部署一起使用,或者,可以为每个租户部署一对专用的active-standby虚拟设备。

接下来,结合流量我们宏观的看一看:

1/ Inbound流量:

vxlan-multi-pod-10.jpg

Suboptimal Inbound Traffic Path

vxlan-multi-pod-11.jpg

Optimized Inbound Traffic Path

假设active防火墙稳定在Pod-1,我们就需要通过路由策略,使得所有外部入站流量均从actve防火墙进去VXLAN域。避免次优路径,消耗interpod link带宽。

2/ Outbound流量:

vxlan-multi-pod-12.jpg

Static Routes Configuration

vxlan-multi-pod-13.jpg

Suboptimal Outbound Traffic Path

vxlan-multi-pod-14.jpg

Optimized Outbound Traffic Forwarding

VTEP-2和VTEP-3均需要配置静态路由,但只在连接active防火墙的VTEP-2上执行:静态路由重分布到EVPN control-plane。避免连接standby防火墙的VTEP-3执行不必要的VXLAN封装解封装。VTEP-2和VTEP-3均配置静态路由的目的是为了防火墙failover时使用。

注:对比Suboptimal Outbound Traffic Path和Optimized Outbound Traffic Forwarding两张图的VTEP-3。

vxlan-multi-pod-15.jpg

Firewall Failover Scenario

这里引入一个新的功能:Host Mobility Manager (HMM) route tracking。该功能在较新的Cisco NX-OS版本中被引入。如果主机路由是本地学习到,则打上HMM up标签;如果主机路由是通过MP-BGP学到,则打上HMM down标签。

首先,VTEP-2和VTEP-3均配有HMM。一旦防火墙发生failover,VTEP-3上的HMM进程跟踪到了一个与原active防火墙相同的IP(standby防火墙开始接管),这时,它会触发一个动作:将静态路由(预配好的)重分布到MP-BGP。从而使得MP-BGP发送update告知其他所有VTEP节点,新的actve防火墙位置在VTEP-3下。当VTEP-2收到了这个BGP update,它携带着与本地原active防火墙相同的IP地址和MAC地址的信息,通过比较BGP sequence number发现,VTEP-3发来的值更高。所以,VTEP-2会更新本地转发表,同时,从EVPN control-plane撤回旧的静态路由。

六、Multi-Pod的不足:

vxlan-multi-pod-16.jpg

End-to-End封装会带来扩展性问题,当前支持的最大VTEP数量为256.

vxlan-multi-pod-17.jpg

单一的BUM replication domain,没有任何限制,不安全(被非预期终端接收)。

最后例行tip:尽管multi-pod可以解决部分问题,但是它也确实存在着一些不足。技术的迭代和更新是日新月异的,让我们来看一张图:

vxlan-multi-pod-18.jpg

Multi-site,the happy place!

虽然,我们现在推荐使用multi-site,但是,谈主还是希望将技术的演进过程逐一的介绍给大家!就像现在没人用OSI七层参考模型,但我们网络的第一课永远是OSI七层参考模型一样!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK