Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

不进行优化的 EVPN 内部 VLAN 多播

 

本章探讨了非优化的多播如何在 EVPN 数据中心结构中工作。首先介绍具有单穴 EVPN 设备的拓扑结构中的多播,从而使我们能够 conversant 过程和 terminologies。后面的章节将探索具有多宿主 EVPN 设备的拓扑中的多播转发过程(例如,基于 DF/NDF 的转发和基于本地偏向的转发)。

在本章的末尾,您应了解以下内容:

  • EVPN DC 结构中的子网内多播

  • EVPN 多宿主拓扑中的 L2 交换机多播过程

  • EVPN 中 L2 多播的整体多播转发规则

EVPN 结构的物理拓扑

Figure 1展示了典型的 IP CLOS 物理拓扑。通常有两个边界叶设备(BL)和几个叶设备(按数百个顺序排列)。此外,还有两个(或四个)精益主干(LS)设备参与 EVPN 底层,以实现 EVPN 结构中的设备之间的物理连接。

通常,多播源和主机在结构中驻留在叶设备之后。

Figure 1: 典型的 IP CLOS 物理拓扑结构
典型的 IP CLOS 物理拓扑结构

逻辑拓扑

为了说明本章中未经优化的多播的过程, Figure 2显示了仅在 BL 和叶设备上配置 EVPN 网络的逻辑拓扑结构。通常,精益主干层仅帮助底层,未配置 EVPN。

最初,我们将介绍单宿主主机。从叶到叶-200 的叶设备具有访问链接并在其背后有主机。为了解释准则和过程,我们将使用叶片-1 到叶片。同样的过程也适用于其余叶设备。

Figure 2: 逻辑 Singlehomed 拓扑
逻辑 Singlehomed 拓扑

不进行优化的子网内多播

在本部分中,’让我们来探讨在单个 VLAN (L2 交换机多播)上的 DC 结构内进行子网多播转发的过程。在此拓扑中,只有一个 VLAN,VLAN-101。通常,必须考虑多播转发方面的四组行为。(本章稍后将包括 EVPN 设备的配置。)

  • 不存在源和侦听器

  • 源不存在,但存在侦听器

  • 源存在但不存在侦听器

  • 源和侦听器存在

No Sources and Listeners Exist

这种方式很简单,因为它是一个没有多播侦听程序或启动源的结构。

Sources Do Not Exist but Listeners Exist

在这种情况下,主机-3 和 Host-5 所代表的侦听器( Figure 3主机)对特定组 G1 的信息流感兴趣,例如235.1.1.1。由于没有为该组启动多播流量,因此侦听器’不会收到任何流量。

Sources Exist but No Listeners Exist

考虑这样一种情况:多播源(由 Host-1 源表示Figure 3)已开始发送组 G1 的流量,如235.1.1.1,但尚未为该组提供侦听器。在这种情况下,子网间多播转发时,接收多播流量的叶片将向该 VLAN 上的所有第2层接入接口转发(L2 交换机)的流量。(如向 Host 2)。(SH-FWD)。此外,叶级不会根据水平拆分将信息流转发回 Host-1。(访问拆分-HRZN)

Figure 3: 第2层多播信息流泛滥
第2层多播信息流泛滥

Figure 3中,叶级将使用入口复制将流量向 EVPN 核心转发至所有 EVPN pe。流量发送到的 Pe 由在 VLAN,VLAN-101 中’加入的远程 pe 确定。(核心-IMET-FWD

VLAN 中的叶参与由从它们收到的 EVPN 类型3s 的本质决定。您可以看到除叶片主机、VLAN-101 之外的所有枝叶。因此,叶-5 不会为 VLAN-101 发送类型3。多播流量将被分入复制到 BLs 和所有枝叶(叶-5 除外)。(核心-IMET 跳过)

从 EVPN 核心接收流量的所有叶和 BL 设备都会将此流量转发到其所有访问接口上,而不管是否存在侦听器,如中Figure 3所示。树叶将在 Host-3 和 Host-4 之间向前推进。叶级将向前推进到主机5,依此类推。即使 VLAN 中没有侦听器,您也可以看到多播流量在‘任何地方’都被淹没。

这可能不是您的理想之处,因为在任何地方都不必要地淹没大量流量可能会影响到结构中不同 EVPN 设备的核心和接入接口的带宽利用率。在不进行优化的情况下,泛滥是 EVPN 多播的特征之一。后续章节介绍优化过程如何帮助解决此泛滥问题。

Sources Exist and Listeners Exist

考虑源发送 group G1 流量的情况,如235.1.1.1,结构中有侦听器,如中Figure 4所示。因此,Host-3 和 Host-5 对 group G1 的流量感兴趣,如图所示。监听器利息由主机通过发送 IGMP 报告来传达。监听器利息由主机上Figure 4的绿色圆圈表示。

这些 IGMP 主机通过发送 IGMP 报告(*、G1)来表示来自任何来源的 group G1 的流量感兴趣。如最后一节中所述,通过在任何位置淹没多路广播流量,它将到达结构中的感兴趣的侦听者,并由它们使用。

Figure 4: 使用监听器的 L2 多播流量泛滥
使用监听器的 L2 多播流量泛滥

EVPN 多宿主拓扑中的子网内多播

EVPN 部署的优势之一是具有以太网段标识符(ESI)的多宿主功能。ESI 有助于对不同 EVPN 设备上的一组链路进行分组,以便承载特定 ESI 的设备将在该 ESI 上视为多宿主。这是由交换 BGP EVPN 1 和4类路由以及 deducing multihomedness 进行 ESI 的设备实现的。

通常,分组为 ESI 的链路集在 CE 的聚合以太网 lag (AE)接口中终止。总而言之,EVPN ESI 范例将确保从多宿主 Pe 向 CE 提供冗余和负载平衡功能。CE 上的 AE 接口捆绑将确保冗余和负载平衡功能面向多宿主 Pe。

总而言之,对于多宿主侦听器,目标是确保监听器不接收相同信息流的重复副本。对于多宿主源,目标是确保流量不会环回到源。考虑中Figure 5EVPN 多宿主的逻辑拓扑。

Figure 5: 逻辑多宿主拓扑
逻辑多宿主拓扑

带 ESI 的 EVPN 多宿主是一项 L2 功能。因此,两个 Pe 在 ESI 上被视为多宿主(每个 EVPN 实例每个 VLAN)。本节介绍叶设备如何多宿主。在后面的章节中将详细介绍运行 PIM L3 路由的 BL 设备,这是多宿主的租户路由器(标题为外部多播)。

为了说明 BUM 转发规则,我们应介绍这一点:

  • 侦听器位于多宿主枝叶,而源是单个托管的。

  • 源位于多宿主叶之后。

  • 源位于在不同 ESI 上具有多宿主侦听器的叶后面。

多宿主叶设备和源后面的监听器 Singlehomed

在两个叶Figure 6设备、叶和叶片-4 的多宿主中,考虑拓扑为 Host-5。多宿主 Host-5 到叶和叶级的基本原理是,如果某个枝叶发生故障,流量会尽快恢复到其他叶节点(弹性)。此外,如果存在从叶到 Host 5 的多个单播流,则某些流量将通过叶级发送,而不是从叶-4 (负载平衡)发出。

Figure 6: 多宿主 Pe 后面的侦听器
多宿主 Pe 后面的侦听器

对于多播流量,应注意来自 EVPN 核心的流量不会被叶级和 lest 发送出去,这会导致 Host-5 重复。(对于多播应用程序而言,重复问题比流量损失更糟!)

入口叶片1会将多路广播流量淹没到叶级和树叶-4。两个枝叶都接收信息流。但是,只有一个树叶会将流量转发到 ESI 接口,而他们已经实现了多宿主关系。

为此,多宿主枝叶将确定在该 ESI 上具有多宿主的 Pe 之间的 ESI 的 DF。此决定可通过基于类型4路由运行 DF 选举算法(基于 MOD、本地优先等)来完成。完成此确定后,将在 ESI 的多宿主 Pe 中选择一个,将该 ESI 的其他多宿主 Pe 标记为 NDF (非 DF)。

当多播流量从 EVPN 核心到达时,转发规则如下:

  • 在单穴接入接口上,淹没信息流。

  • 在多宿主接入接口上(如果选择为 DF),则会淹没信息流。

  • 在多宿主接入接口上(如果标记为 NDF)’,不要淹没信息流。

Figure 6由 ESI 到 Host-5 的多宿主中,在同一个叶片中,运行一个针对 DF 的选举。假设已选择树叶,因为 DF 和树叶-4 是 ESI 的 NDF。当叶级从核心(从叶-1 复制的入口)接收流量时,它会泛滥到 Host 5,因为它是 ESI (古典-DF-NDF)的 DF。

从 EVPN 核心接收流量的叶片不会淹没到 Host 5 的流量,因为它已将 ESI 标记为 NDF (古典-DF-ndf)。因此,Host-5 不会收到重复项。但是,树叶将流量泛滥到 Host-6,因为它是一种单一宿主接入接口。

多宿主叶设备后面的多播源

Consider Figure 7 ,其中,多播源在 ESI 上是多宿主设备,而叶-1 是 NDF,叶-2 是 DF。当源开始发送信息流时,通过自动曝光接口散列,可在 LAG 束的任一成员上发送信息流。因此,Host-1 可以将流量发送至叶-1 或叶-2。

让’我们假设多播信息流发送到树叶-1。如果未执行此情景的特殊处理,则会根据前面介绍的(古典-DF-NDF)过程进行以下操作。叶-1 将向核心发送流量。从核心接收这种流量的叶片将在接口上淹没,而这是选择的 DF。

在这种情况下,由于树叶是对 Host 1 的选择 DF,因此将最终转发回源。这不是正确的行为。因此,需要特殊处理,以使叶2不会在 ESI 上将流量发送回为树叶-1 的多宿主信息流。

MPLS 具有处理此类情况的分割范围标签。如何在 VXLAN 中解决此问题?

如果叶节点2能够推断出数据包是由叶片1发送的,则叶-2 可以对其转发进行编程,这样,如果数据包来自树叶,则会跳过那些具有叶片-1 的多宿主接口的转发。让’我们来详细探讨这一点。

Figure 7: 多宿主 Pe 背后的源
多宿主 Pe 背后的源

叶级数据包与源 VTEP IP 片1(如 S VTEP IP-1)一起发送多址广播包。树叶-2 知道叶级-1 将 S VTEP IP-1 作为其 BGP 类型3路由的源 VTEP。

叶-2 介绍其访问接口/ESIs,并生成一个多宿主接口列表,其中叶级为多宿主,一个叶-1。然后在转发中构建一条规则,这样当数据包到达 SVTEP-1 时,它将跳过在此多主机接口列表上使用叶-1 转发。此类转发规则将为叶-2 是多宿主的叶节点而构建。让’我们称之为(DST-本地偏向)

使用正在编程的转发功能时,当叶片从 VTEP IP 叶-1 接收流量时,流量不会发送回多宿主接口,而是进入 Host-3 和 Host-4 (因为这些接口不具有叶-1 的多宿主)。

源位于具有多宿主侦听器的叶后面

在重新访问多主转发规则并重写整个多播 L2 转发规则之前,我们需要考虑一个更多拓扑,其中 EVPN 叶设备有一个本地源,并且具有不同接口/ESIs 上的多宿主接口。

考虑以下方面Figure 8所示的拓扑:叶-1 在单穴接口上有一个多址广播源,而在多宿主接口上有一个用于叶2的侦听程序主机-3。根据选举,让我们’假设树叶是 NDF,叶-2 是 ESI 的 DF。

Figure 8: 多宿主侦听器背后的源
多宿主侦听器背后的源

在从核心接收流量时,前面介绍的每个规则都不会将流量以叶-1 的方式转发到多宿主接口列表。因此,叶级不会将流量转发到 Host-3。

叶-1 将 NDF 转向主机-3 这是一个 uncanny 的情况。由于(DST-本地偏向)原因,叶级不会将流量转发到 Host 3。这是为了确保在多宿主接口上接收的信息流不会被环回到源。但是,从到 Host 的树叶-1 无法转发至基于(古典-DF-NDF)规则的 host-3。Host-3 如何获取信息流?

要解决这种情况,’请让我们从(古典-DF-NDF)规则中略有略微。当叶片 1从本地接入接口接收流量时,会将流量淹没在其他所有本地接入接口上,无论其是否为目标接口上的 DF。这可称为(SRC-LOCAL-偏向)

Figure 8中,从接入接口来源接收信息流的叶级会在其所有接入接口(不包括 DF/NDF)上淹没。因此,即使从接入接口到达信息流,叶级1也会将流量转发至 Host-3。因此,Host-3 将接收来自叶片1的流量。

从叶-1 接收流量的树叶时,将确定 s VTEP s-VTEP IP-1,将跳过到‘MH 接口列表的转发到叶-1’ (DST-本地偏向)。因此,叶级不会转发到 Host-3。叶级将转发至 Host-4,因为它不是带叶片的多宿主接口。

将 VLAN 内部多播放在一起

根据本章介绍的转发规则,让’我们将示例拓扑结构中的行为vis-à-vis转发规则关联。有关统计信息,请参阅信息流验证部分。

Figure 9叶-1 是 MH 接口上的 NDF,可转到 host-1 和 host-3。叶级是 MH 接口上的 DF,可跳转到 Host 5。Host-1 是多播信息流的来源。Host-1 基于其 AE 包的哈希,可将流量发送至叶-1 或树叶-2。表示它发送到树叶-1。

下面,叶-1 执行以下操作:

  • 不会将流量发送回 Host-1 (访问拆分-HRZN)

  • 入口将信息流复制到 VTEP 上的所有远程 Pe (核心-IMET-FWD)

  • 对于 VLAN-101,不会发送到不带类型3的叶片。(核心-IMET 跳过)

  • 将流量发送到 Host 2,因为它是单穴接口(SH-FWD)

  • 发送至 Host-3,但它是 NDF,它是访问流量(SRC-LOCAL-偏向)

Figure 9: 转发规则
转发规则

在接收来自核心的信息流时,执行以下所列的操作:

  • 不将信息流发送回核心(核心拆分-HRZN)

  • 向主机4发送流量,因为它是单一宿主接口。(SH-FWD)

  • 不会将流量发送到 Host-1 (DST 本地-偏向)

  • 不将流量发送至主机-3 (DST 本地-偏向)

从核心接收流量时,在以下情况下执行操作:

  • 发送至 Host-5,因为它在该接口上为 DF (古典-DF-NDF)。

叶片在从核心接收流量时执行以下操作:

  • 不会发送到 Host-5,因为它是 NDF (传统-DF-NDF)。

  • 将流量转发至 Host-6,因为它是一个单穴接口(SH-FWD)。

  • 叶片不会从核心接收流量,因为它不承载 VLAN-1。

EVPN 中的多播流量的整体转发规则

让我们来增强本章前面所述的规则,并将多宿主考虑在内。

(古典-DF-NDF)

  • 当来自不是多宿主的 PE 的 EVPN 核心流量到达

  • 在单穴接入接口上,淹没信息流。

  • 在多宿主接入接口上(如果选择为 DF),则会淹没信息流

  • 在多宿主接入接口上(如果标记为 NDF)’,则不要淹没信息流

(DST-本地偏向)

  • 当流量来自 PE 中的 EVPN 核心时,如 PE-X 是我的多宿主

  • 在单穴接入接口上,淹没信息流。

  • 在多宿主接入接口(其中,多主机与 PE X’)上,不管 DF/NDF 如何,都不要淹没流量。

  • 在多宿主接入接口(不使用 PE X 的多宿主)上,如果在该接口上为 DF,则为洪水。

  • 在不使用多宿主的多宿主接入接口上,如果我是该接口上的 NDF,则不要洪水。

(SRC-本地偏向)

  • 当流量到达接入接口时:

  • 在所有其他接入接口上洪水,不考虑 DF/NDF。

  • 入口复制到核心,再到承载 VLAN 的所有 Pe。

对于转发 BUM 流量,上述过程(2)和(3)通常称为本地偏向。顾名思义,当信息流到达本地接入接口时,叶设备被授予偏向,将其转发到其他接入接口,而不考虑 DF/NDF。不考虑 DF/NDF 的情况下,远程多宿主设备不会转发到多主接入接口。因此,本地 PE 优先于通过远程 PE 转发(从而实现术语本地偏向)。

我们必须记住,这些本地补偿规则仅适用于 EVPNoVXLAN。借助执行副总裁-NoMPLS,每个 ESI 的分割地平线标签的使用解决了多宿主场景。

Note

分割地平线标签的过程不在本书的范畴之内。

本章总结

本章探讨了单宿主和多宿主拓扑中的不同 BUM 转发规则。我们展示了多址广播信息流如何在整个 EVPN 结构中到处分布到核心和所有接入接口。多宿主转发规则有助于确保监听器不会收到重复或被环回。这些规则将考虑 ESI 的 DF/NDF 状态,无论流量是从具有多宿主的 PE 到达的,还是到达接入接口的信息流。

Assisted Replication章节探索有关入口复制以及如何缓解问题的挑战。配置和验证现已遵循。

配置

Figure 10是参考拓扑。

Figure 10: 参考拓扑
参考拓扑

现在,’让我们重点讨论对本章所述的 VLAN 内多播功能的配置和验证,包括 EVPNoVXLAN 中的多宿主和使用的命令。在本节中,我们将看到 EVPN 内部 VLAN 内多播流量转发行为,特别是在缺少任何优化时的任何方面。

EVPN Base Configuration in DC Fabric Topology中列出的基本底层和叠加配置足以满足本节的要求。对于所有 VLAN 内部讨论,我们将重点介绍 VLAN-101 (VLAN id 101,VNI 101)。请注意,叶-5 未承载 VLAN-101/VNI-101。

流量验证

从 Host-1 开始以 10 pps (每秒数据包数)为 VLAN-101 中的 group 225.1.1.1 发送多播流量。请注意,正如目前为止,没有接收方真正表示收到此信息流的兴趣。

在中的 RT 统计Figure 11信息中,您可以看到,Host-1 在 10 pps 发送流量,DC 中的所有主机均为 VLAN-101 (host-2 到 Host-6),但其中不包含任何对流量的兴趣。只有 Host 101-7 (不是 VLAN 的一部分)可从信息流中忽略。Host-8 在结构之外,现在可以忽略。

Figure 11: RT 统计
RT 统计

Multicast Traffic Outputs - LEAF-1

Host-1 从多宿主到叶和叶2。因此从 Host-1 到叶-2 的流量可能会平衡负载,并可到达叶或叶-2。在我们的示例中,多播流量到达接入接口,ae0 在树叶-1 上。

流量不会淹没在传入接口上,ae 0.0:(访问拆分-HRZN)。

在叶片-1 上,流量转发到其他单穴接入接口,xe-0/0/4 朝 Host-2:(SH-FWD)。

流量将在所有多主接入接口上(在叶-1 上为 ae 1.0)转发,而不考虑 DF/NDF 状态(SRC-LOCAL-偏向):

多播流量也在 VTEPs 向 BL-1 (101.101.101.101)和 BL-2 (102.102.102.102)转发。

还在 VTEPs 上转发到叶(106.106.106.106)、叶(107.107.107.107)和叶-4 (108.108.108.108):(核心-IMET-FWD)。

流量不会在 VTEP 转至叶(109.109.109.109)(核心-IMET 跳过):

Multicast Traffic Outputs - LEAF-2

由于源 PE (叶片-1)是多宿主对这些接口的 ESI (DST 本地偏向),因此在 ae0 和 ae1 上到达叶2的多播流量不会转发到这两个接口上的 DF。这可确保没有流量循环传输到多宿主源、Host 1,并且不会向多宿主主机、Host-3 复制流量。

该流量将在 xe-0/0/4.0 (SH-FWD)上转发,面向单穴主机,Host-4:

流量不会发送回任何 VTEPs。尽管 VTEPs 是洪水下一跳跃的一部分,但从核心开始的 BUM 流量的分割范围规则可确保流量不会发送回核心。(核心-拆分-HRZN)。

Multicast Traffic Outputs - LEAF-3

由于它是 NDF (传统 DF-NDF),到达叶的流量3不会转发到多主接入接口、ae 0.0。这可确保多宿主主机(Host 5)不会收到重复流量:

信息流也不会发送回任何 VTEPs (核心拆分-HRZN)上。

Multicast Traffic Outputs - LEAF-4

在多主接入接口(ae 0.0)上转发到达叶级的多播流量,因为 DF 和树叶-1 不是多宿主对等方(请参阅3.4.1 节):(古典-DF-NDF)。

该信息流还在 xe-0/0/3.0 (SH-FWD)上转发,面向单穴主机,Host-6:

流量不会发送回任何 VTEPs (核心拆分-HRZN)上。

Multicast Traffic Outputs - LEAF-5

叶片-5,因为它不承载 VLAN-101,根本不会从叶-1 接收信息流。

Multicast Traffic Outputs –BL-1 and BL-2

只有在到达 VLAN 间流量转发的相关章节后,两个边界叶设备的行为才会变得很大。在此之前,我们将忽略这些设备上的流量转发行为。

详细的控制平面验证

Verifying the Flood Routes

对于每个 VLAN,PE 都会构建一个泛滥的下一跳跃,其中包含该 VLAN 的所有访问接口以及对应于 EVPN 对等方的 VTEPs,其为该 VLAN 收到类型3路由。下一跃点用于在 VLAN 中淹没多播流量。

例如,在叶片-1 处,洪水下一跳跃由 VTEPs 网络组成,其对应于:

  • BL-1 (vtep 32770)

  • BL (vtep 32774)

  • 叶-2 (vtep 32769)

  • 叶-3 (vtep 32772)

  • 叶-4 (vtep 32771)

Note

与 VTEP (32773)对应的 VTEP 在 VLAN-101 的下一跳跃中不存在。

其他 Pe 上的洪水下一跳跃信息将与上述内容类似。

Verification of Multihoming State

托管 ES 的每个 PE 都执行 ES 的 DF 选举。

对于主动/主动以太网网段到叶-1 和叶片2,因此,00:11:11:11:11:11:11:11:11:11 和00:22:22:22:22:22:22:22:22:22 (106.106.106.106)都是 DF。

对于主动/主动以太网分段到叶和叶片(即00:33:33:33:33:33:33:33:33:33、叶-4 (108.108.108.108)),则选择 DF。

在大多数情况下,我们将验证叶节点上的单个 ESI 的状态本身。其他 ESIs 和其他 Pe 上的状态类似,并保留为读者的练习。

DF Verification

让’我们验证树叶上的 DF/NDF 状态:

Verification For ESI Status in Detail

以下命令可用于查看有关 ES 的 DF 选举的更多详细信息:

Verifying ESI State: Forwarding/Blocked

现在让’我们来验证 ESI 状态。

叶-1,因为它不是多主接入接口 ae 0.0 和 ae01 上的 DF, “在阻止”模式下将其标记为 BUM 流量,而叶-2 则是 DF,在“转发”模式下标记这些接口:

也可在输出中看到此接口在多宿主中的 PE。此信息在为来自核心的流量应用 DST 本地偏向时在此 PE 上使用。