示例:配置 IGMP 侦听
了解组播侦听
路由器等网络设备主要在数据包级别或第 3 层运行。其他网络设备,如网桥或 LAN 交换机,主要在帧级别或第 2 层运行。组播主要在第 3 层数据包级别起作用,但有一种方法可以在帧级别将第 3 层 IP 组播组地址映射到第 2 层 MAC 组播组地址。
路由器可以处理第 2 层和第 3 层寻址信息,因为必须处理帧及其地址才能访问里面的封装数据包。路由器可以运行第 3 层组播协议(如 PIM 或 IGMP),并确定转发组播内容的位置或者接口上的主机何时加入或退出组。但是,网桥和 LAN 交换机作为第 2 层设备,不应访问其帧携带的数据包内部的组播信息。
那么,网桥和其他第 2 层设备如何确定接口上的设备何时加入或离开组播树,或者连接 LAN 上的主机是否希望接收特定组播组的内容?
答案是让第 2 层设备实施组播侦听。组播侦听是一个通用术语,适用于第 2 层设备在第 3 层数据包内容上“窥探”的过程,以确定为处理或转发帧而采取哪些操作。还有更具体的窥探形式,例如 IGMP 侦听或 PIM 侦听。在所有情况下,窥探都涉及配置为在第 2 层运行的设备可以访问通常“禁止的”第 3 层(数据包)信息。侦听可以提高这些设备中的组播效率。
另见
了解 IGMP 侦听
侦听是第 2 层设备(如瞻博网络 MX 系列以太网服务路由器)实施一系列程序来“窥探”第 3 层数据包内容以确定要执行哪些操作来处理或转发帧的常规方法。更具体的侦听形式,如互联网组成员协议 (IGMP) 侦听或协议无关组播 (PIM) 侦听,与组播一起使用。
第 2 层设备(LAN 交换机或网桥)处理组播数据包和包含组播数据包的帧的方式与第 3 层设备(路由器)处理广播的方式大致相同。因此,第 2 层交换机通过将数据包(帧)的副本转发到交换机的每个处于转发状态的其他网络接口上,来处理具有组播目标媒体访问控制 (MAC) 地址的到达帧。
但是,这种方法(在设备可以到达的任何位置发送组播帧)并不是最有效地利用网络带宽的方法,特别是对于 IPTV 应用。IGMP 侦听的功能是“窥探”交换机接口接收到的 IGMP 数据包,并构建组播数据库,类似于组播路由器在第 3 层网络中构建的数据库。使用此数据库,交换机只能将组播流量转发到具有相关接收方的下游接口上,并且该技术可以更有效地利用网络带宽。
您可以为路由器上的每个网桥配置 IGMP 侦听。没有限定学习的桥接实例只有一个学习域。对于具有合格学习的网桥实例,窥探将在网桥的每个学习域中单独运行。也就是说,IGMP侦听和组播转发将在网桥的每个学习域中独立进行。
本讨论重点介绍没有限定学习的桥接实例(在设备上形成一个学习域的实例)。因此,所有提到的接口都是网桥或 VPLS 实例的逻辑接口。
在讨论 IGMP 侦听时,有几个相关概念很重要:
网桥或 VPLS 实例接口可以是组播路由器接口,也可以是主机端接口。
IGMP 侦听支持代理模式或不支持代理模式。
使用集成路由和桥接 (IRB) 时,如果路由器是 IGMP 查询器,则在任何第 2 层接口上收到的任何留下消息都将导致在所有第 2 层接口上进行特定于组的查询(因此,可能会在所有第 2 层接口上收到一些相应的报告)。但是,如果第 2 层的某些接口也是路由器(第 3 层)接口,则不会在这些接口上转发来自其他第 2 层接口的报告和离开。
如果 IRB 接口用作组播转发缓存条目中的传出接口(由路由过程确定),则输出接口列表将展开为相应网桥中第 2 层接口的子集。该子集基于窥探的组播成员资格信息,该信息来自网桥窥探进程安装的组播转发缓存条目。
如果未配置侦听,则 IRB 输出接口列表将扩展到网桥中的所有第 2 层接口。
Junos OS 不支持在虚拟交换机上的 VPLS 配置中使用 IGMP 侦听。CLI 中不允许此配置。
另见
IGMP 侦听接口和转发
IGMP 侦听将设备接口分为组播路由器接口和主机端接口。组播路由器接口是沿组播路由器方向的接口。如果网桥上的接口至少满足以下条件之一,则该接口被视为组播路由器接口:
它在网桥实例中被静态配置为组播路由器接口。
接口上正在接收 IGMP 查询。
所有其他非组播路由器接口的接口都被视为主机端接口。
在配置了IGMP侦听的桥接接口上接收到的任何组播流量都将根据以下规则进行转发:
任何 IGMP 数据包都会被发送到路由引擎进行窥探处理。
目标地址为 224.0.0/24 的其他组播流量将泛洪到网桥的所有其他接口上。
其他组播流量将被发送到所有组播路由器接口,但仅发送到主机有兴趣接收该组播组的主机端接口。
另见
IGMP 侦听和代理
如果没有代理安排,IGMP 侦听不会生成或引入查询和报告。它只会“窥探”从其所有接口(包括组播路由器接口)收到的报告,以构建其状态和组 (S,G) 数据库。
如果没有代理,IGMP 消息的处理方式如下:
查询 — 在组播路由器接口上收到的所有常规和特定于组的 IGMP 查询消息都将转发至网桥上的所有其他接口(组播路由器接口和主机端接口)。
报告 — 在网桥的任何接口上收到的 IGMP 报告将被转发到其他组播路由器接口。如果接收接口存在组播路由条目,则将接收接口添加为该组的接口。此外,还会为该接口上的组设置组计时器。如果此计时器过期(即,在 IGMP 组计时器期间没有此组的报告),则该接口将作为该组的接口被移除。
离开 — 在网桥的任何接口上收到的 IGMP 离开消息将被转发到网桥上的其他组播路由器接口。当主机组中不再有任何成员时,离开组消息可减少组播路由器停止转发组播流量所需的时间。
代理侦听可减少发送到 IGMP 路由器的 IGMP 报告数量。
配置代理侦听时,IGMP 路由器将无法执行主机跟踪。
作为其主机端接口的代理,代理模式下的 IGMP 侦听会对从组播路由器接口上的 IGMP 路由器接收的查询进行回复。在主机端接口上,代理模式下的 IGMP 侦听充当 IGMP 路由器,并在这些接口上发送常规查询和特定于组的查询。
IGMP 侦听仅直接生成特定于组的查询。从组播路由器接口收到的常规查询会泛洪到主机端接口。
IGMP 侦听生成的所有查询都使用 0.0.0.0 作为源地址发送。此外,IGMP 侦听生成的所有报告都以 0.0.0.0 作为源地址发送,除非有要使用的配置源地址。
代理模式在组播路由器接口上的功能与在主机端接口上的功能不同。
另见
组播路由器接口和 IGMP 侦听代理模式
在组播路由器接口上,为响应 IGMP 查询,代理模式下的 IGMP 侦听会发送报告,其中包含在网桥的所有主机端接口上获知的组的汇总信息。
除了答复查询外,代理模式下的 IGMP 侦听还会将组播路由器接口上收到的所有查询、报告和离开转发到其他组播路由器接口。IGMP 侦听会保留在此接口上学习的成员身份信息,但不会针对在此接口上收到的离开消息发送特定于组的查询。如果在计时器持续时间内没有关于同一组的报告,它只会超时在此接口上获知的组。
对于所有组播路由器接口上的主机,生成常规查询和特定于组的查询的是 IGMP 路由器,而非 IGMP 侦听代理。
另见
主机端接口和 IGMP 侦听代理模式
代理模式下的 IGMP 侦听不会在主机端接口上发送任何报告。IGMP 侦听处理在这些接口上收到的报告,并在接口上收到离开消息时,将特定于组的查询发送到主机端接口。主机端接口不会生成定期常规查询,而是转发或泛洪从组播路由器接口收到的常规查询。
如果已从主机端接口中移除组,并且这是该组的最后一个主机端接口,则会向组播路由器接口发送离开。如果在主机端接口上收到组报告,并且这是该组的第一个主机端接口,则会向所有组播路由器接口发送报告。
另见
IGMP 侦听和桥接域
VLAN 上的 IGMP 侦听只允许用于旧版 vlan-id all 情况。在其他情况下,有一个特定的桥接域配置可以确定特定于 VLAN 的 IGMP 侦听配置。
另见
配置 IGMP 侦听
要配置互联网组管理协议 (IGMP) 侦听,请包含 IGMP-snooping 语句:
igmp-snooping { immediate-leave; interface interface-name { group-limit limit; host-only-interface; immediate-leave; multicast-router-interface; static { group ip-address { source ip-address; } } } proxy { source-address ip-address; } query-interval seconds; query-last-member-interval seconds; query-response-interval seconds; robust-count number; vlan vlan-id { immediate-leave; interface interface-name { group-limit limit; host-only-interface; immediate-leave; multicast-router-interface; static { group ip-address { source ip-address; } } } proxy { source-address ip-address; } query-interval seconds; query-last-member-interval seconds; query-response-interval seconds; robust-count number; } }
您可以在以下层级包含此语句:
[编辑桥域 bridge-domain-name 协议]
[编辑路由实例 routing-instance-name 、桥接域 bridge-domain-name 协议]
默认情况下,IGMP 侦听处于未启用状态。在 VLAN 级别配置的语句仅适用于该特定 VLAN。
另见
配置特定于 VLAN 的 IGMP 侦听参数
除语句外traceoptions
,使用该igmp-snooping
语句配置的所有 IGMP 侦听语句都可以在 VLAN 级别使用相同的语句进行限定。要在 VLAN 级别配置 IGMP 侦听参数,请添加vlan
以下语句:
vlan vlan-id; immediate-leave; interface interface-name { group-limit limit; host-only-interface; multicast-router-interface; static { group ip-address { source ip-address; } } } proxy { source-address ip-address; } query-interval seconds; query-last-member-interval seconds; query-response-interval seconds; robust-count number; }
您可以在以下层级包含此语句:
[edit bridge-domains bridge-domain-name protocols igmp-snooping]
[edit routing-instances routing-instance-name bridge-domains bridge-domain-name protocols igmp-snooping]
另见
示例:配置 IGMP 侦听
此示例说明如何配置 IGMP 侦听。IGMP 侦听可以减少来自 IP 组播应用的不必要流量。
要求
此示例使用以下硬件组件:
一台 MX 系列路由器
一台第 3 层设备充当组播路由器
开始之前:
配置接口。请参阅 安全设备接口用户指南。
配置内部网关协议。请参阅 适用于路由设备的 Junos OS 路由协议库。
配置组播协议。此功能适用于以下组播协议:
DVMRP系列
PIM-DM系列
PIM-SM型
PIM-SSM
概述和拓扑
IGMP 侦听控制交换网络中的组播流量。当未启用 IGMP 侦听时,第 2 层设备会从其所有端口广播组播流量,即使网络上的主机不需要组播流量也是如此。启用 IGMP 侦听后,第 2 层设备会监控 IGMP 加入,并将从每个连接主机发送到组播路由器的消息留下。这使得第 2 层设备能够跟踪组播组和关联的成员端口。第 2 层设备使用这些信息做出智能决策,并仅将组播流量转发至预期的目标主机。
此示例包含以下语句:
代理 — 使第 2 层设备能够主动过滤 IGMP 数据包,以减少组播路由器上的负载。对前往组播路由器上游的联接和离开进行过滤,以便组播路由器只有一个组条目,而不管有多少活动侦听器已加入组。当侦听员离开群组,而其他侦听器仍保留在组中时,留下消息将被过滤,因为组播路由器不需要此信息。从路由器的角度来看,组的状态保持不变。
immediate-leave — 当仅连接一个 IGMP 主机时,该
immediate-leave
语句使组播路由器能够立即从接口中移除组成员资格,并禁止发送任何特定于组播组的查询。在 IGMPv2 接口上配置此功能时,请确保 IGMP 接口仅连接一个 IGMP 主机。如果多台 IGMPv2 主机通过同一接口连接到 LAN,并且一台主机发送离开消息,则路由器会从组播组中移除接口上的所有主机。路由器将与正确保留在组播组中的主机失去联系,直到它们发送加入请求以响应来自路由器的下一个常规组播侦听器查询。
在运行 IGMP 版本 3 (IGMPv3) 侦听的路由器上启用 IGMP 侦听时,路由器收到类型为 BLOCK_OLD_SOURCES 的报告后,路由器会抑制发送组和源查询,但依靠Junos OS主机跟踪机制来确定是否从接口中删除特定的源组成员身份。
query-interval — 通过配置 IGMP 查询器路由器发送常规主机查询消息以请求成员身份信息的时间间隔,可以更改在子网上发送的 IGMP 消息数。
默认情况下,查询间隔为 125 秒。您可以配置 1 到 1024 秒范围内的任何值。
query-last-member-interval — 用于更改设备检测组最后一个成员丢失所需的时间。
最后一个成员查询间隔是特定于组的查询消息之间的最长时间,包括为响应离开组消息而发送的消息。
默认情况下,最后一个成员的查询间隔为 1 秒。您可以配置 0.1 到 0.9 秒范围内的任意值,然后配置 1 到 1024 秒的 1 秒间隔。
query-response-interval — 配置路由器等待接收主机查询消息响应的时间。
默认情况下,查询响应间隔为 10 秒。您可以配置 1 到 1024 秒范围内的任何值。此间隔应小于语句中设置的
query-interval
间隔。robust-count — 提供微调以允许子网上的预期数据包丢失。它基本上是在超时组之前要等待的间隔数。如果子网数据包丢失率很高,并且 IGMP 报告消息可能会丢失,则可以等待更长的时间间隔。
默认情况下,稳健计数为 2。您可以配置 2 到 10 间隔范围内的任何值。
group-limit — 配置可加入接口的组播组(或 IGMPv3 中的 [S,G] 通道)数量限制。达到此限制后,将忽略新报告,并丢弃所有相关流,而不是泛洪。
默认情况下,可以加入接口的组数没有限制。您可以在 0 到 32 位数字的范围内配置限制。
host-only-interface — 将 IGMP 侦听接口配置为专用主机端接口。在主机端接口上,收到的 IGMP 查询将被丢弃。
默认情况下,接口可以面向其他组播路由器或主机。
multicast-router-interface — 将 IGMP 侦听接口配置为专门面向路由器的接口。
默认情况下,接口可以面向其他组播路由器或主机。
static — 静态配置具有组播组的 IGMP 侦听接口。
默认情况下,路由器会动态了解接口上的组播组。
配置
程序
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到层 [edit]
级的 CLI 中,然后从配置模式进入 commit
。
set bridge-domains domain1 domain-type bridge set bridge-domains domain1 interface ge-0/0/1.1 set bridge-domains domain1 interface ge-0/0/2.1 set bridge-domains domain1 interface ge-0/0/3.1 set bridge-domains domain1 protocols igmp-snooping query-interval 200 set bridge-domains domain1 protocols igmp-snooping query-response-interval 0.4 set bridge-domains domain1 protocols igmp-snooping query-last-member-interval 0.1 set bridge-domains domain1 protocols igmp-snooping robust-count 4 set bridge-domains domain1 protocols igmp-snooping immediate-leave set bridge-domains domain1 protocols igmp-snooping proxy set bridge-domains domain1 protocols igmp-snooping interface ge-0/0/1.1 host-only-interface set bridge-domains domain1 protocols igmp-snooping interface ge-0/0/1.1 group-limit 50 set bridge-domains domain1 protocols igmp-snooping interface ge-0/0/3.1 static group 225.100.100.100 set bridge-domains domain1 protocols igmp-snooping interface ge-0/0/2.1 multicast-router-interface
分步过程
下面的示例要求您在各个配置层级中进行导航。有关 CLI 导航的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用 CLI 编辑器。
要配置 IGMP 侦听,请执行以下操作:
配置桥接域。
[edit bridge-domains domain1] user@host# set domain-type bridge user@host# set interface ge-0/0/1.1 user@host# set interface ge-0/0/2.1 user@host# set interface ge-0/0/3.1
启用 IGMP 侦听并将路由器配置为代理。
[edit bridge-domains domain1] user@host# set protocols igmp-snooping proxy
将 ge-0/0/1.1 接口上允许的组播组数限制配置为 50。
[edit bridge-domains domain1] user@host# set protocols igmp-snooping interface ge-0/0/1.1group-limit 50
将路由器配置为在收到来自某个接口的离开消息时立即从该接口移除组成员身份,而无需等待交换任何其他 IGMP 消息。
[edit bridge-domains domain1] user@host# set protocols igmp-snooping immediate-leave
在端口上静态配置 IGMP 组成员身份。
[edit bridge-domains domain1] user@host# set protocols igmp-snooping interface ge-0/0/3.1 static group 225.100.100.100
将接口配置为专门面向路由器的接口(以接收组播流量)。
[edit bridge-domains domain1] user@host# set protocols igmp-snooping interface ge-0/0/2.1 multicast-router-interface
将接口配置为专门面向主机的接口(丢弃 IGMP 查询消息)。
[edit bridge-domains domain1] user@host# set protocols igmp-snooping interface ge-0/0/1.1 host-only-interface
配置 IGMP 消息间隔和可靠性计数。
[edit bridge-domains domain1] user@host# set protocols igmp-snoopingrobust-count 4 user@host# set protocols igmp-snooping query-last-member-interval 0.1 user@host# set protocols igmp-snooping query-interval 200 user@host# set protocols igmp-snooping query-response-interval 0.4
如果完成设备配置,请提交配置。
user@host# commit
结果
输入 show bridge-domains
命令以确认您的配置。
user@host# show bridge-domains domain1 { domain-type bridge; interface ge-0/0/1.1; interface ge-0/0/2.1; interface ge-0/0/3.1; protocols { igmp-snooping { query-interval 200; query-response-interval 0.4; query-last-member-interval 0.1; robust-count 4; immediate-leave; proxy; interface ge-0/0/1.1 { host-only-interface; group-limit 50; } interface ge-0/0/3.1 { static { group 225.100.100.100; } } interface ge-0/0/2.1 { multicast-router-interface; } } } }
验证
要验证配置,请运行以下命令:
显示 IGMP 侦听接口
显示 IGMP 侦听成员资格
显示 IGMP 侦听统计信息
配置 IGMP 侦听追踪操作
跟踪操作记录有关路由协议操作的详细消息,例如发送和接收的各种类型的路由协议数据包以及路由策略操作。您可以通过包含特定的跟踪标志来指定记录哪些跟踪操作。
在层次结构下igmp-snooping
启用 traceoptions 将启用 IGMP 侦听。相应地,在层次结构下igmp-snooping
禁用 traceoptions 也会禁用 IGMP 侦听。
下表描述了可以包含的标志。
旗 |
描述 |
---|---|
都 |
跟踪所有操作。 |
客户端通知 |
跟踪通知。 |
常规 |
跟踪一般流程。 |
群 |
跟踪组操作。 |
主机通知 |
跟踪主机通知。 |
离开 |
跟踪离开组消息(仅限 IGMPv2)。 |
正常 |
跟踪正常事件。 |
包 |
跟踪所有 IGMP 数据包。 |
政策 |
跟踪策略处理。 |
查询 |
跟踪 IGMP 成员资格查询消息。 |
报告 |
跟踪成员身份报告消息。 |
路线 |
跟踪路由信息。 |
州 |
跟踪状态转换。 |
任务 |
跟踪路由协议任务处理。 |
定时器 |
跟踪计时器处理。 |
您可以在全局或路由实例中配置 IGMP 侦听的跟踪操作。以下示例显示了全局配置。
要为 IGMP 侦听配置跟踪操作,请执行以下操作:
另见
配置 IGMP 或 MLD 侦听版本
概述
根据 RFC 4541,默认情况下,侦听会在属于 VLAN 或参与窥探的网桥域的接口上以 IGMPv3 模式启用。MLD 侦听默认为 MLDv2。当连接到 CPE 的路由器发送 IGMPv3 或 MLDv2 常规查询以刷新 IGMP 组信息时,按照 RFC 工作的标准 CPE 或终端主机应该能够处理和响应 IGMP v2/v3 或 MLDv1/v2 查询。
不符合 RFC 4541 的终端主机或 CPE 设备不会响应从启用侦听的 L2 设备发送的 IGMPv3 或 MLDv2 查询。此版本不匹配可能会导致流量中断。
您可以为与 L2 组播关联的 VLAN 或网桥域显式指定 IGMP 或 MLD 侦听版本。这可以确保路由器使用配置的 IGMP 或 MLD 侦听版本发送 IGMP 或 MLD 启动查询或定期常规查询(当为 L2 查询器配置时)。这反过来又确保了非投诉 CPE 设备以 IGMP 或 MLD 组/报告信息进行响应。这有助于在无法响应更高版本的 IGMP 或 MLD 查询的主机和 CPE 中保持组播流活跃。
IGMP 或 MLD 侦听版本在 VLAN 或网桥域上配置,适用于该 VLAN 或网桥域下的所有接口 (IFL)。
VLAN 或网桥域的 IGMP/MLD 侦听版本配置可以通过两种方式完成,默认路由实例(全局实例)或在特定路由实例中完成。
通过版本配置,MCSNOOPD(允许从第 2 层设备进行第 3 层检查的组播侦听过程)使用以下命令刷新来自主机的报告:
-
启动查询:这是每当在 VLAN 或网桥域中启用窥探时发送的常规 IGMP 查询。当 MCSNOOPD 首次构建 VLAN 或网桥域成员的接口状态时,或者当 VLAN 或网桥域的接口(IFL 或 IFD)发生抖动时,将发送此查询。
-
L2 查询器:这是一项周期性功能,可以在为侦听而启用的特定 VLAN 或桥接域中显式启用。
-
代理:IGMP 或 MLD 代理报告从远程查询器接收 IGMP 或 MLD 查询数据包的情况。
在 EVPN 部署中,此侦听版本配置仅适用于面向接入的接口。
非代理模式
如果没有代理安排,IGMP 侦听不会生成或引入查询和报告。它只会窥探从其所有接口(包括组播路由器接口)收到的报告,以构建其状态和组 (S,G) 数据库。
-
当接口发生翻动或者添加 VLAN 或网桥域的新成员时,将生成启动查询。启动查询是常规 IGMP 或 MLD 查询消息(源 IP 地址 = 0.0.0.0),将通过具有配置版本的接口发送,或者默认为 IGMPv3 或 MLD v2。
-
如果为 VLAN 或网桥域启用了 L2 查询器功能,则会生成定期查询(默认计时器为 125 秒),并将其发送到配置版本的所有 VLAN 或网桥域成员,或者默认为 IGMPv3 或 MLDv2 查询。
代理模式
在此模式下,代理侦听可减少发送到 IGMP 路由器的 IGMP 报告数量。
-
启动查询的行为方式与非代理模式相同。
-
启用 L2 查询器后,其行为方式与非代理模式相同。
-
用于响应从对等方收到的常规查询生成的 IGMP 报告的版本基于主机兼容性模式,并按如下方式确定:
-
如果没有版本配置,则在接收到版本较低的查询时,模式将设置为最低版本,并启动相应的查询器存在计时器。当查询器存在计时器到期时,版本将更改为 IGMPv3 或 MLDv2,具体取决于接口运行的协议。
-
使用版本配置时,在接收到版本较低的查询时,模式将设置为最低版本,并启动相应的查询器存在计时器。例如,在查询器存在计时器到期时,版本会根据 config 语句
set routing-instance <routing-instance-name> protocols igmp-snooping version <version>
设置的版本更新为配置的版本。
-
-
响应离开时生成的特定于组的查询基于 IGMP 或 MLD 报告的最低版本和配置的接口版本。如果配置的接口版本较低,则使用该版本实现组兼容性。
另见
将未知组播流量泛洪限制至 L2 环境中的组播路由器接口
将 L2 组播流泛洪限制为每个 VLAN 或网桥域级别的组播路由器接口。通过根据 IGMP 或 MLD 加入消息将组播数据的泛洪限制到组播-路由器接口,可以限制未知组播流量,从而提高带宽利用效率。
让我们以 L2 组播视频场景为例,其中路由器 R1 和 R2 启用了 IGMP/MLD 侦听。

SRC1 和 SRC2 是带有视频头端的 IPTV 服务器,可生成多个 IPTV 频道 - CH1、CH2 和 CH3。路由器 R1 和 R2 上启用了 L2 查询器,以确保主机可以定期刷新报告,否则将超时并将接收方从组播转发中删除。
在上面的拓扑中,路由器 R2 的接收器关注接收信道 CH1 和 CH2,但也会接收来自 CH3 的组播流。这是因为它是一个组播路由器接口。
同样,路由器 R1 有一个仅对信道 CH3 感兴趣的接收器,但将通过组播路由器接口接收来自 CH1 和 CH2 的未经请求的组播流。
通过配置 no-flood-to-multicast-router-interfaces
,仅当组播路由器接口后面有感兴趣的接收方时,才发送组播流,从而有效地限制上述带宽效率低下的问题。
此功能特定于 L2 组播环境。
如果拓扑中存在启用了 PIM 的 L3 路由器(IGMP/MLD 查询器以隐式开启方式打开)并且 no-flood-to-multicast-router-interfaces
已启用,则可能会导致 L3 组播路由器后面的接收器出现流量中断。这是因为组播路由器通常会在看到来自最后一跳路由器 (LHR) 的 IGMP 加入时发送 PIM 加入消息。
必须根据您的网络设计 no-flood-to-multicast-router-interfaces
,谨慎使用。
限制 EVPN 环境中未知组播流量泛洪
让我们以一个典型的 EVPN 拓扑为例,这是一个启用了 SMET(选择性组播转发)的 EVPNoVXLAN 网桥叠加网络。对 EVPN 6 类路由进行播发,确保组播流量仅转发到感兴趣的接收方。
有些 IBC 头端设备连接到冗余外部组播路由器和下面的 EVPN 交换矩阵。由于这是网桥叠加,因此只有来自冗余外部组播路由器的 L2 连接,其中启用了 IRB,不会进行窥探。当流量需要从 IRB 出口时,进入外部组播路由器的组播流量将被桥接或 L2 交换。

将 SMET 桥接叠加交换矩阵缝合到冗余外部组播路由器端口后,进入一个组播路由器端口的组播流量会通过交换矩阵接入交换机绕回第二个组播路由器端口( 图 4 中的橙色虚线)。EVPN PE 设备通过 EVPN 核心吸引所有已知和未知组播流量。通常,EVPN PE 发送的 EVPN 3 类路由具有组播扩展社区标志,而其 NLRI 中没有设置 IGMP/MLD 侦听代理。通过设置配置语句, no-flood-to-multicast-router-interfaces
EVPN 3 类路由将使用组播扩展社区标志发送,并设置了 IGMP/MLD 侦听代理标志。因此,组播路由器接口不会吸引未知组播流量。
此功能通常在 EVPN 网桥叠加场景中实现。如果 L3 路由在外部组播路由器上运行,启用 no-flood-to-multicast-router-interfaces
这可能会导致流量中断。