Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

示例:配置 MSDP

了解 MSDP

组播源发现协议 (MSDP) 用于连接组播路由域。它通常与协议无关组播 (PIM) 稀疏模式集合点 (RP) 在同一路由器上运行。每个 MSDP 路由器都与内部和外部 MSDP 对等方建立邻接关系,类似于 BGP 建立对等方的方式。这些对等路由器相互通报域内的活动源。当路由器检测到活动源时,可以将 PIM 稀疏模式显式加入消息发送到活动源。

具有较高 IP 地址的对等方被动侦听已知端口号,并等待具有较低 IP 地址的端建立传输控制协议 (TCP) 连接。当运行 MSDP 的 PIM 稀疏模式 RP 发现新的本地源时,它会将源-主动类型、长度和值 (TLV) 发送到其 MSDP 对等方。收到源活动 TLV 时,将执行对等反向路径转发 (peer-RPF) 检查(与组播 RPF 检查不同),以确保此对等方位于通向原始 RP 的路径中。否则,将丢弃源活动 TLV。此 TLV 计为“已拒绝”的源-活动消息。

MSDP 对等 RPF 检查不同于非 MSDP 组播路由器执行的正常 RPF 检查。对等 RPF 检查的目标是阻止源-活动消息循环。路由器 R 仅接受来自邻居路由器 N 或 MSDP 网格组成员的路由器 S 发起的源-活动消息。

  1. S ------------------> N ------------------> R

路由器 R(接受或拒绝活动源消息的路由器)可以确定性地定位其 MSDP 对等 RPF 邻居(路由器 N)。一系列规则按特定顺序应用于接收的源-活动消息,应用的第一个规则确定对等 RPF 邻接方。来自其他路由器的所有源-活动消息都将被拒绝。

应用于源自路由器 S 的源-活动消息的六条规则如下:

  1. 如果路由器 N 发起了源-活动消息(路由器 N 是路由器 S),则路由器 N 也是对等 RPF 邻居,并且接受其源-活动消息。

  2. 如果路由器 N 是路由器 R 网格组的成员,或者是配置的对等方,则路由器 N 是对等 RPF 邻居,并接受其源活动消息。

  3. 如果路由器 N 是朝向路由器 S 的活动组播 RPF 路由的 BGP 下一跃点(路由器 N 在路由器 R 上安装了路由),则路由器 N 是对等 RPF 邻接方,并接受其源-活动消息。

  4. 如果路由器 N 是路由器 R 的外部 BGP (EBGP) 或内部 BGP (IBGP) 对等方,并且到路由器 S 的 BGP AS 路径中的最后一个自治系统 (AS) 编号与路由器 N 的 AS 编号相同,则路由器 N 是对等 RPF 邻接方,并接受其源-活动消息。

  5. 如果路由器 N 使用与路由器 S 的下一跃点相同的下一跃点,则路由器 N 是对等 RPF 邻接方,并接受其源-活动消息。

  6. 如果路由器 N 不符合这些条件,则路由器 N 不是 MSDP 对等 RPF 邻居,并且其源活动消息将被拒绝。

接收源活动 TLV 的 MSDP 对等方可能受到 BGP 可访问性信息的约束。如果网络层可达性信息 (NLRI) 的 AS 路径包含倒数第二位的接收对等方的 AS 编号,则发送对等方正在使用接收对等方作为此源的下一跃点。如果未收到水平分割信息,则可以从源活动 TLV 通讯组列表中修剪对等方。

有关配置 MSDP 网格组的信息,请参阅 示例:使用活动源限制和网格组配置 MSDP

配置 MSDP

要配置组播源发现协议 (MSDP),请包含以下 msdp 语句:

您可以在以下层次结构级别包含此语句:

  • [edit protocols]

  • [edit routing-instances routing-instance-name protocols]

  • [edit logical-systems logical-system-name protocols]

  • [edit logical-systems logical-system-name routing-instances routing-instance-name protocols]

默认情况下,MSDP 处于禁用状态。

示例:在路由实例中配置 MSDP

此示例说明如何在 VRF 实例中配置 MSDP。

要求

准备工作:

概述

您可以在以下类型的实例中配置 MSDP:

  • 转发

  • 无转发

  • 虚拟路由器

  • VPLS

  • VRF

MSDP 在路由实例中的主要用途是支持网络中的任播 RP,这允许您配置冗余 RP。 任播 RP 寻址需要 MSDP 支持才能在 RP 之间同步活动源。

此示例包括以下 MSDP 设置。

  • 身份验证密钥 — 默认情况下,组播路由器接受并处理来自配置的对等地址的任何格式正确的 MSDP 消息。此默认行为可能会违反许多组织中的安全策略,因为根据定义,MSDP 消息来自另一个路由域,超出了组播路由器组织的安全实践的控制范围。

    路由器可以使用 MSDP 对等会话的 TCP 消息摘要 5 (MD5) 签名选项对 MSDP 消息进行身份验证。此身份验证可防止将欺骗性数据包引入 MSDP 对等会话。实现 MSDP 身份验证的两个组织必须在两个对等方上决定人类可读的密钥。此密钥包含在两个对等方之间发送的每个 MSDP 分段的 MD5 签名计算中。

    您可以基于每个对等方配置 MSDP 身份验证密钥,无论 MSDP 对等方是在组中定义还是单独定义。如果为组中的同一对等方配置不同的身份验证密钥,并且单独配置一个身份验证密钥,则使用单个密钥。

    对等密钥可以是最多 16 个字母和数字的文本字符串。字符串可以包含除 (,)、& 和 [ 之外的任何 ASCII 字符。如果在 MSDP 身份验证密钥中包含空格,请用引号 (“ ”) 将所有字符括起来。

    在对等会话中添加、删除或更改 MSDP 身份验证密钥将重置现有 MSDP 会话,并在受影响的 MSDP 对等方之间建立新会话。这种即时会话终止可防止由于密钥不匹配而导致过多的重新传输和最终会话超时。

  • 导入导出 — 所有路由协议都使用路由表来存储它们获知的路由,并确定它们在其协议数据包中通告哪些路由。路由策略允许您控制路由协议在路由表中存储和从路由表中检索的路由。

    您可以为组或单个对等方全局配置路由策略。此示例说明如何为单个对等方配置策略。

    如果在组级别配置路由策略,则组中的每个对等方都将继承组的路由策略。

    import 语句将策略应用于从 MSDP 导入到源-主动缓存中的源-主动消息。export 语句将策略应用于从源-主动缓存导出到 MSDP 的源-主动消息。如果指定多个策略,将按指定的顺序从第一个到最后一个评估这些策略,并将第一个匹配策略应用于路由。如果未找到导入策略的匹配项,则 MSDP 仅与路由表共享从 MSDP 路由器获知的那些路由。如果未找到导出策略的匹配项,则默认 MSDP 导出策略将应用于源-主动缓存中的条目。有关匹配条件的列表,请参阅表 1

    表 1:MSDP 源-活动消息过滤器匹配条件

    匹配条件

    火柴开启

    接口

    路由器接口或按名称或 IP 地址指定的接口

    邻居

    邻居地址(源-活动消息的 IP 报头中的源地址)

    路由过滤器

    源-活动消息中嵌入的组播组地址

    源-地址-过滤器

    嵌入在源-活动消息中的组播源地址

  • 本地地址 — 标识要配置为 MSDP 路由器(本地路由器)的路由器的地址。配置 MSDP 时,需要 本地地址 语句。路由器还必须是协议无关组播 (PIM) 稀疏模式集合点 (RP)。

  • 对等方 — MSDP 路由器必须知道哪些路由器是其对等方。您可以通过配置作为本地路由器的 MSDP 对等方的相邻路由器来显式定义对等关系。建立对等关系后,MSDP 对等方交换消息以播发活动组播源。必须至少配置一个对等方,MSDP 才能正常运行。配置 MSDP 时, 需要对等 语句。路由器还必须是协议无关组播 (PIM) 稀疏模式集合点 (RP)。

    可以将 MSDP 对等方排列成组。每个组必须至少包含一个对等方。如果要阻止来自某些对等方的源并接受来自其他对等方的源,或者在一个组而不是其他组上设置跟踪选项,则将对等方排列到组中非常有用。此示例说明如何在组中配置 MSDP 对等方。如果在组中配置 MSDP 对等方,则组中的每个对等方都将继承所有组级别选项。

拓扑学

图 1 显示了此示例的拓扑。

图 1:VRF 实例拓扑 MSDP in a VRF Instance Topology中的 MSDP

配置

程序

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改与您的网络配置匹配所需的任何详细信息,将命令复制并粘贴到层次结构级别的 CLI [edit] 中,然后从配置模式进入 commit

分步过程

以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用 CLI 编辑器

要配置 MSDP 路由实例,请执行以下操作:

  1. 配置 BGP 导出策略。

  2. 配置过滤掉某些源地址和组地址并接受所有其他源地址和组地址的策略。

  3. 配置路由实例类型和接口。

  4. 配置路由实例路由识别符和 VRF 目标。

  5. 在路由实例中配置 OSPF。

  6. 在路由实例中配置 PIM。

  7. 在路由实例中配置 MSDP。

  8. 如果完成设备配置,请提交配置。

结果

通过从配置模式输入 show policy-options 命令和 show routing-instances 命令来确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。

验证

要验证配置,请运行以下命令:

  • 显示 MSDP 实例 VPN-100

  • 显示 MSDP 源活动 VPN-100

  • 显示组播使用实例 VPN-100

  • 显示路由表 VPN-100.inet.4

将接口配置为接受来自远程源的流量

您可以将传入接口配置为接受来自远程源的组播流量。远程源是与传入接口不在同一子网上的源。 图 2 显示了这样的拓扑,其中 R2 连接到一个子网上的 R1 源,以及另一个子网上 R3 上的传入接口(图中的 ge-1/3/0.0)。

图 2:接受来自远程源 Accepting Multicast Traffic from a Remote Source的组播流量

在此拓扑中,R2 是不运行 PIM 的直通设备,因此 R3 是从 R1 发送的组播数据包的第一个跃点路由器。由于 R1 和 R3 位于不同的子网中,因此 R3 的默认行为是将 R1 视为远程源。但是,您可以通过在目标接口上启用 accept-remote-source ,让 R3 接受来自 R1 的组播流量。

要接受来自远程源的流量:

  1. 确定要从远程源接收组播流量的路由器和物理接口。
  2. 将接口配置为接受来自远程源的流量。
    注意:

    如果您确定的接口不是来自远程源的唯一路径,则需要确保它是最佳路径。例如,您可以在接收方 PE 路由器上配置到源的静态路由,也可以在其他可能的路由上附加 AS 路径:

  3. 提交配置更改。
  4. 确认您配置的接口接受来自远程源的流量。

示例:使用活动源限制和网格组配置 MSDP

此示例说明如何配置 MSDP 以筛选源-主动消息并限制源-主动消息的泛洪。

要求

准备工作:

概述

对 MSDP 消息感兴趣的路由器(如 RP)可能必须处理来自其他路由器的大量 MSDP 消息,尤其是源-活动消息。由于路由器可能需要检查、处理和创建许多 MSDP 数据包的状态表,因此运行 MSDP 的路由器可能会受到基于 MSDP 的拒绝服务 (DoS) 攻击。为了尽量减少这种可能性,您可以将路由器配置为限制路由器接受的源活动消息数。此外,还可以配置应用随机早期检测 (RED) 的阈值,以丢弃部分(但不是全部)MSDP 活动源消息。

默认情况下,路由器接受 25,000 条源活动消息,然后忽略其余消息。限制可以从 1 到 1,000,000。此限制同时应用于消息数和 MSDP 对等方数。

默认情况下,路由器在应用 RED 配置文件之前接受 24,000 条源-活动消息,以防止可能的 DoS 攻击。此数字的范围也可以从 1 到 1,000,000。接下来的 1000 条消息由 RED 配置文件筛选并处理接受的消息。如果未配置丢弃配置文件(此示例未配置),则 RED 仍然有效,并用作管理拥塞的主要机制。在默认的 RED 丢弃配置文件中,当数据包队列填充级别为 0% 时,丢弃概率为 0%。当填充水平为 100% 时,下降概率为 100%。

注意:

路由器会忽略包含封装 TCP 数据包的源-活动消息。多播不使用 TCP;源-活动消息中的分段很可能是蠕虫活动的结果。

为阈值配置的数量必须小于为活动 MSDP 源的最大数量配置的数量。

您可以全局、组或对等方配置活动源限制。如果在层次结构的多个级别上配置了活动源限制(如本示例中所示),则会应用所有限制。

您可以为地址范围以及特定对等方配置活动源限制。每个源的活动源限制使用 IP 前缀和前缀长度,而不是特定地址。您可以配置多个每个源的活动源限制。最长的匹配确定限制。

每个源的活动源限制可以与对等、组和全局(实例)层次结构级别的活动源限制结合使用。每个源的限制先于任何其他类型的活动源限制应用。按以下顺序测试限制:

  • 按源

  • 按对等方或组

  • 每个实例

活动源消息必须“通过”在被接受之前建立的所有限制。例如,如果为源配置的活动源限制为 10,000 个活动组播组,而实例配置的限制为 5000(并且未配置其他源或限制),则仅接受来自此源的 5000 条活动源消息。

MSDP 网状网络组是在全网状拓扑中配置的对等方组,可将源活动消息泛洪限制为相邻对等方。每个网格组成员必须与其他每个网格组成员具有对等连接。当从网格组成员接收源-活动消息时,始终接受源-活动消息,但不会泛洪到同一网格组的其他成员。但是,源-活动消息会泛滥到非网格组对等方或其他网格组的成员。默认情况下,如果未指定 网格组 ,则应用标准泛洪规则。

谨慎:

配置 MSDP 网格组时,必须以相同的方式配置所有成员。如果未配置全网状网络,则可能会发生过多的源-活动消息泛洪。

MSDP 网格组的常见应用是对等反向路径转发 (对等 RPF) 检查绕过。例如,如果自治系统 (AS) 内有两个 MSDP 对等方,并且其中只有一个对等方具有到另一个 AS 的外部 MSDP 会话,则内部 MSDP 对等方通常会拒绝对等方使用外部链路中继的传入源-活动消息。发生拒绝的原因是,内部 MSDP 对等方必须能够通过朝向另一个 AS 中的源的下一跃点到达外部 MSDP 对等方,并且此下一跃点条件不确定。为防止拒绝,请在内部 MSDP 对等方上配置 MSDP 网格组,使其始终接受源-活动消息。

注意:

绕过对等 RPF 检查的另一种方法是配置默认对等方。在只有一个 MSDP 对等方的网络中,尤其是存根网络,始终需要接受源-活动消息。MSDP 默认对等方是一个 MSDP 对等方,无需执行对等 RPF 检查即可接受来自其的所有源-活动消息。您可以通过包含 默认对等 语句在对等方或组级别建立默认对等方。

表 2 说明了此示例中对等方如何处理泛洪。.

表 2:源-主动消息泛洪说明

从以下位置接收源-主动消息

源-活动消息泛洪到

源-活动消息未泛洪到

对等 21

对等 11、对等 12、对等 13、对等 31、对等 32

对等 22

对等 11

对等 21、对等 22、对等 31、对等 32

对等 12、对等 13

对等 31

对等 21、对等 22、对等 11、对等 12、对等 13、对等 32

图 3 说明了不同网格组和同一网格组内的对等方之间的源-主动消息泛洪。

图 3:源-主动消息泛洪 Source-Active Message Flooding

此示例包括以下设置:

  • 活动源限制上限为 10000 - 将 10,000 个活动源的限制应用于所有其他对等方。

  • 数据封装禁用 — 在使用 MSDP 的 RP 路由器上,禁用 MSDP 源活动消息中 MSDP 寄存器消息中接收的组播数据的默认封装。

    MSDP 数据封装主要涉及组播流量的突发源。每隔几分钟只发送一个数据包的源在源与其组播组 (S,G) 之间的状态关系超时时遇到问题。路由器在尝试重新建立 (S,G) 状态表时会丢失数据。因此,组播寄存器消息包含数据,并且可以通过配置打开或关闭 MSDP 源-活动消息中的此数据封装。

    默认情况下,MSDP 数据封装处于启用状态。运行 MSDP 的 RP 获取到达源寄存器消息的数据包,并将数据封装在 MSDP 源-活动消息中。

    但是,数据封装会在 inet.1 表(这也是转发表)中创建组播转发缓存条目,并在 inet.4 表中创建路由表条目。如果没有数据封装,MSDP 只会在 inet.4 表中创建一个路由表条目。在某些情况下,例如存在互联网蠕虫或其他形式的 DoS 攻击,路由器的转发表可能会填满这些条目。为防止转发表填满 MSDP 条目,可以将路由器配置为不使用 MSDP 数据封装。但是,如果禁用数据封装,路由器将忽略并丢弃封装的数据。如果没有数据封装,突发源的传输间隔大于约 3 分钟的组播应用程序可能无法正常工作。

  • 组 MSDP 组本地地址 10.1.2.3 — 指定本地路由器(此路由器)的地址。

  • 组 MSDP 组模式网格组 - 指定属于 MSDP 组 组的所有对等方都是网格组成员。

  • 组 MSDP 组对等方 10.10.10.10 — 阻止向相邻对等方 10.10.10.10 发送源活动消息。

  • 组 MSDP 组对等方 10.10.10 活动源限制最大值 7500 - 将 7500 个活动源的限制应用于组 MSDP 组中的 MSDP 对等方 10.10.10.10。

  • 对等方 10.0.0.1 活动源限制最大值 5000 阈值 4000 — 将 4000 个活动源和 5000 个活动源的限制应用于 MSDP 对等方 10.0.0.1。

  • 源 10.1.0.0/16 活动源限制最大 500 - 将 500 个活动源的限制应用于 10.1.0.0/16 网络上的任何源。

拓扑学

配置

程序

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改与您的网络配置匹配所需的任何详细信息,将命令复制并粘贴到层次结构级别的 CLI [edit] 中,然后从配置模式进入 commit

分步过程

以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用 CLI 编辑器

要配置 MSDP 源活动路由和网格组,请执行以下操作:

  1. (可选)禁用数据封装。

  2. 配置活动源限制。

  3. (可选)配置记录警告消息的阈值以及日志消息之间的时间量。

  4. 配置网格组。

  5. 如果完成设备配置,请提交配置。

结果

通过输入 show protocols 命令确认您的配置。

验证

要验证配置,请运行以下命令:

  • 显示 MSDP 源活动

  • 显示 MSDP 统计信息

跟踪 MSDP 协议流量

跟踪操作记录有关路由协议操作的详细消息,例如发送和接收的各种类型的路由协议数据包以及路由策略操作。可以通过包含特定的跟踪标志来指定记录哪些跟踪操作。下表描述了可以包含的标志。

描述

跟踪所有操作。

常规

跟踪常规事件。

保持连接

跟踪激活消息。

正常

跟踪正常事件。

跟踪所有 MSDP 数据包。

政策

跟踪策略处理。

路线

跟踪对路由表的 MSDP 更改。

源-主动

跟踪源-活动数据包。

源-主动-请求

跟踪源-活动请求数据包。

源-主动-响应

跟踪源-活动响应数据包。

跟踪状态转换。

任务

跟踪任务处理。

定时器

跟踪计时器处理。

您可以为所有对等方、特定组中的所有对等方或特定对等方配置 MSDP 跟踪。

在以下示例中,为所有路由协议数据包启用了跟踪。然后缩小跟踪范围,仅关注特定组中的 MSDP 对等方。要为 MSDP 配置跟踪操作,请执行以下操作:

  1. (可选)通过在层次结构级别包含 traceoptions 语句 [edit routing-options] 来配置跟踪,并将 所有数据包跟踪所有 标志设置为跟踪所有协议数据包。
  2. 配置 MSDP 跟踪文件的文件名。
  3. (可选)配置跟踪文件的最大数量。
  4. (可选)配置每个跟踪文件的最大大小。
  5. (可选)启用不受限制的文件访问。
  6. 配置跟踪标志。假设您正在对 groupa 的源-活动缓存的问题进行故障排除。以下示例演示如何跟踪与组地址关联的邮件。
  7. 查看跟踪文件。

禁用 MSDP

要在路由器上禁用 MSDP,请包含以下 disable 语句:

您可以为所有对等方、组中的所有对等方或单个对等方全局禁用 MSDP。

  • 对于以下层次结构级别的所有 MSDP 对等方,全局:

    • [edit protocols msdp]

    • [edit logical-systems logical-system-name protocols msdp]

    • [edit routing-instances routing-instance-name protocols msdp]

    • [edit logical-systems logical-system-name routing-instances routing-instance-name protocols msdp]

  • 对于以下层次结构级别的组中的所有对等方:

    • [edit protocols msdp group group-name]

    • [edit logical-systems logical-system-name protocols msdp group group-name]

    • [edit routing-instances routing-instance-name protocols msdp group group-name]

    • [edit logical-systems logical-system-name routing-instances routing-instance-name protocols msdp group group-name]

  • 对于以下层次结构级别的单个对等方:

    • [edit protocols msdp peer address]

    • [edit protocols msdp group group-name peer address]

    • [edit logical-systems logical-system-name protocols msdp peer address]

    • [edit logical-systems logical-system-name protocols msdp group group-name peer address]

    • [edit routing-instances routing-instance-name protocols msdp peer address]

    • [edit logical-systems logical-system-name routing-instances routing-instance-name protocols msdp peer address]

    • [edit logical-systems logical-system-name routing-instances routing-instance-name protocols msdp group group-name peer address]

如果在组级别禁用 MSDP,则会禁用组中的每个对等方。

示例:配置 MSDP

将路由器配置为充当 PIM 稀疏模式集合点和 MSDP 对等方: