VXLAN篇之multi-fabric

2019-10-24 14:53:14 浏览数 (1)

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

在前面几篇VXLAN文章中,我们介绍了VXLAN的基本概念、EV**以及multi-pod,今天我们一起看看vxlan的multi-fabric。

一、什么是multi-fabric?

数据中心网络通常需要将独立的fabric互连,这些独立的fabric可能是分布在不同的地理位置。所以,我们就需要一种DCI(Data Center interconnect)技术将分布在不同位置的vxlan fabric互连起来。

二、与multi-pod相比优势在哪里?

独立性:相比multi-pod,multi-fabric结构为数据中心的多fabric提供了更大的独立性。VXLAN tunnel endpoints(VTEPs)的可达性信息包含在每个单独的VXLAN EV** fabric中,因此,VXLAN隧道起始和终结都在一个fabric内。这种方法有助于确保在每个fabric和DCI网络之间的2层接口应用诸如strom-control之类的策略,以限制或消除跨fabric的storm流量和其他故障传播。

可扩展性:与multipod方法相比,multifabric部署结构还提供了更大的可扩展性,支持更大数量的跨fabric leaf节点。同时,与multipod相比,multifabric还可以支持更多的endpoints;mac地址条目会被包含在每一个fabric中。此外,主机路由的通告可以在单独的fabric中过滤,从而增加被支持的IP地址的总数。

三、multi-fabric overview:

独立的vxlan fabric之间,使用2层和3层功能进行互连:

  • VLAN hand-off给DCI进行2层扩展
  • Virtual Routing and Forwarding Lite (VRF-Lite) hand-off给DCI进行多租户3层扩展

独立的VXLAN EV**之间的最大距离主要由应用软件的需求(两个活动成员之间的最大容忍延迟)或企业所需的灾难恢复模式(热迁移或冷迁移)决定。当2层和3层的流量通过边界节点从每个fabric发送出去后,可以使用多种DCI解决方案来扩展第2层和第3层的连接,同时保持端到端逻辑隔离。

  • Layer 2 DCI: 2层连接方式有多种。可以是double site vpc,DWDM,也可以是其他任何overlay技术,比如:OTV、MPLS EV**,VPLS等。
  • Layer 3 DCI: 3层DCI连接有两个主要目的:
    • 在站点之间发布本地主机和IP子网的网络前缀。
    • 为扩展的IP子网传播主机路由和IP子网前缀到远端站点。

对于跨VXLAN EV** fabric扩展多租户2层和3层连接的DCI解决方案通常取决于连接fabric的传输网络中可用的服务类型:

  • Scenario 1: 企业自有的直连链路(裸光纤或者DWDM)
    • vPC 或者 OTV 用于layer 2扩展
    • 背靠背的VRF子接口用于layer 3的扩展

  • Scenario 2: 企业自有的或者电信运营商的多租户layer 3 WAN服务
    • OTV用于layer 2扩展,通过一个独立的VRF子接口
    • VRF子接口到每一个WAN的layer 3 V**服务

  • Scenario 3: 企业自有的或者电信运营商的单租户layer 3 WAN服务
    • OTV用于layer 2扩展跨native layer 3
    • VRF over OTV用于layer 3 segment

四、几种Scenario的详细介绍:

Scenario 1: 在一个城域网中,可以使用一个DWDM传输2层和3层扩展。如下图所示:两个物理接口,一个用于layer 3 segment,另一个用于layer 2扩展。注:与vpc结合使用时,一个专用的3层连接是最见推荐,对于不支持vPC上动态路由的平台通常需要这种连接。

Layer 2 and 3 Segmented across a DWDM Network

尽管如此,推荐的方法是部署一个overlay解决方案来提供2层DCI服务,比如OTV,特别是如果需要互连两个以上的站点。OTV本质上提供多点二层DCI服务,同时确保对端到端二层无环。

Physical View with OTV “on a Stick” to Carry Intrasubnet Communications

  • Tenant 1: VRF T1 = E1/1.101
  • Tenant 2: VRF T2 = E1/1.102
  • Tenant 3: VRF T3 = E1/1.103
  • Etc.

OTV的edge设备通过2层、3层连接到border nodes(如上图所示:红色为layer3连接、蓝色为2层连接),该部署模型称为“on a Stick”。OTV overlay被放到一个专用的layer 3子接口、VRF。这些子接口属于同一个物理接口,背靠背的子接口携带OTV封装的流量并提供跨fabric的3层租户连通性。

Scenario 2: 第二种场景适用于3层多租户传输服务跨不同fabric使用的场景。

这种部署模型类似于Scenario 1:OTV边缘设备“on a Stick”用于扩展跨站点的2层连接。OTV流量从边界节点的专用子接口上发送出去,这些子接口被映射到WAN边缘路由器上作为运营商边缘设备的特定3层V**服务。

同时,为每个租户部署独立的第3层子接口,以便进行端到端第3层通信。每个子接口映射到一个专用的第3层V**服务。

OTV Overlay “on a Stick” and VRF-Lite Sessions Run Independently

Physical View with OTV “on a Stick” to Carry Intrasubnet Communications: Layer 3 V** and MPLS Core

Scenario 3: 在这个场景中,WAN和MAN传输网络只提供单租户第三层服务(它不支持MPLS或VRF)。

在这种情况下,由OTV提供的2层DCI服务可用于建立跨fabric的2层和3层多租户连接。分两步实现:

  • 首先,在native 3层WAN和MAN核心上建立2层DCI overlay服务。
  • 接下来,在2层overlay传输fabric上建立每个租户的3层对等体。连接到远端站点的专用租户3层接口可以部署为3层子接口或SVI:
    • 使用3层子接口:在这种场景下,必须部署两个独立的internal interface用于border nodes和OTV设备的连接。如下图所示,第一个接口配置一些子接口来承载租户流量(每一个vlan tag关联一个租户);第二个接口是一个2层trunk口,用于在两个站点之间扩展2层域。另外,由于每个租户建立了跨越OTV的3层路由对等体,所以,需要在每一个子接口上配置BFD(bidirectional forwarding detection),以帮助确保在某些特定情况下更快地收敛。

Layer 3 V** Peering Over the Layer 2 Overlay Transport

  • 使用SVI:在这种场景下,如下图所示,2层的trunk接口可以用于承载每个租户的3层接口相关的vlan流量,以及跨站点扩展2层域。注意,这两组VLANs必须是惟一的,SVIs不是为跨站点扩展2层域的VLANs而定义的。
  • 仍然以下图为例,OTV边缘设备上的join interface可以直连到3层核心网。

OTV Inline to Carry Data VLANs and VLANs for Tenants’ Layer 3 Communication

五、VXLAN EV** Multifabric with External Active-Active Gateways:

VXLAN EV** Layer 2 Fabric with External Routing Block

以上图为例:

  • 在fabric 1中,连接到L11 leaf节点的H1想要与vPC L12&L13的H2通信。尽管H1与H2属于同一个fabric 1,但是H1与H2属于不同的IP子网,所以,H1将流量发送给它的默认网关(H1与default gateway的ARP交互过程就不赘述了),该网关部署在一个外部3层设备,然后连接到fabric 1。
  • H1发送VLAN 100的流量,然后被L11映射L2VNI 10100封装VXLAN(本地映射VLAN 100至L2VNI 10100),发送到egress VTEP:border 1和border 2。由于layer 3的ECMP,本例中假设border 1(BL1)为destination。
  • BL1 解封装VXLAN报文并且桥接原始报文到本地VLAN 100(本地映射L2VNI至VLAN 100)并发送给default gateway。
  • default gateway收到了去往H2的报文,执行3层查找,然后发送给H2所在的2层segment。
  • 2层流量到达vPC border节点(本例假设BL2)。BL2将VLAN 200映射至L2VNI 10200并封装VXLAN。BL2然后转发至vPC VTEP节点L12&L13。
  • L12或L13收到后,进行VXLAN解封装并且发送原始报文至H2。

至此,同fabric内的H1与H2通信完成。东西向流量可以在每一个fabeic内实现本地化通信,消除不必要的fabric间带宽占用。

六、VXLAN EV** Multifabric with Distributed Anycast Layer 3 Gateway:

与上面的“Multifabric with External Active-Active Gateways”不同,网关下移至所有的leaf节点,作为anycast gateway。

注:类似在《VXLAN篇之EV**》的anycast gateway过程,以及《VXLAN篇之初识》、《VXLAN篇之进阶》中到的EV** type2和type-5,完成各个节点的表项学习。区别在于,通过OTV进行2层segment扩展,以实现跨fabric。

1/ 跨fabric的同VLAN间通信:H1 to H6

VXLAN EV** Multifabric: ARP Request Propagation Across Layer 2 DCI

VXLAN EV** Multifabric: ARP Reply Across Layer 2 DCI

通过以上BGP EV**、ARP等学习,可以将上图简化至如下packte walk:

2/ 跨fabric的不同VLAN间通信:H1 to H4:

Forwarding Tables on Different Devices after H1 Sends ARP Request to Its Default Gateway

VXLAN EV** Multifabric Data Plane: Intersubnet Communication

Control-Plane Updates Triggered by the H4 ARP Reply

VXLAN EV** Multifabric: Intersubnet Communication (Continued)

通过以上BGP EV**、ARP等学习,可以将上图简化至如下packte walk:

最后例行tip:

Multi-site,the happy place!

0 人点赞