IGMP Proxy
RouterOS 中的 IGMP Proxy 功能通过转发 IGMP 帧来实现组播路由,对于某些拓扑而言是 PIM-SM 的更简单替代方案。它支持基本组播转发且资源占用极低,但不支持复杂的路由配置和环路检测。
IGMP Proxy
Internet Group Management Protocol(IGMP)代理可以实现组播路由。它转发 IGMP 帧,通常用于不需要 PIM 之类更高级协议的场景。
IGMP 代理功能
- 进行组播路由的最简单方式。
- 可用于因某些原因不适合使用 PIM-SM 的拓扑。
- 它比 PIM-SM 消耗的资源略少。
- 配置简单。
另一方面,IGMP 代理不太适合复杂的组播路由配置。与基于 PIM 的解决方案相比,IGMP 代理不支持多个上游接口,也不会检测或避免路由环路。
默认情况下,IGMP 代理上游接口会发送 IGMPv3 成员关系报告,并会根据收到的查询检测上游设备(例如组播路由器)使用哪个 IGMP 版本。如果收到 IGMPv1/v2 查询,上游端口将回退到较低的 IGMP 版本。当 IGMPv1/v2 查询器存在计时器(400s)到期后,它会恢复为 IGMPv3。IGMP 代理的下游接口只会发送 IGMPv2 查询。
警告
RouterOS v7 的主 system 包中已提供 IGMP 代理配置。较旧的 RouterOS 版本需要安装额外的 multicast 包才能使用 IGMP 代理。有关更多详细信息,请参见 Packages。
示例
要将所有来自 ether2 接口的组播数据转发到连接订阅者的下游 bridge 接口,请使用以下配置。两个接口都应具有 IP 地址。
/routing/igmp-proxy/interface
add interface=ether2 upstream=yes
add interface=bridge1
[admin@MikroTik] /routing/igmp-proxy/interface/print
Flags: U - UPSTREAM
Columns: INTERFACE, THRESHOLD
# INTERFACE THRESHOLD
0 U ether2 1
1 bridge1 1
你可能还需要在上游接口上配置 alternative-subnets,以防组播发送者地址位于本地路由器无法直接到达的 IP 子网中:
/routing/igmp-proxy/interface
set [find upstream=yes] alternative-subnets=192.168.50.0/24,192.168.60.0/24