是否可以在软件中模拟 IGMP 查询器?

是否可以在软件中模拟 IGMP 查询器?

我有一个可以进行 IGMP 监听的 L3 交换机,但它不能充当 IGMP 查询器,并且没有 IGMP 查询器连接到此网络。

是否有可能在软件中实现 IGMP 查询器,以便我的 L3 交换机可以监视它并进行相应的路由?

答案1

我实施了概念验证,发现它实际上是可以在软件中实现 IGMP 查询器

我的软件查询器得到了像真实查询器一样的处理,即客户端在收到提示时发送其报告,我可以通过Wireshark比较具有真实 IGMP 查询器的网络与没有查询器但运行该软件查询器的网络来验证。

软件查询器定期发送“IGMP 常规查询”,并且使用 WinPCap 捕获所有 IGMP 流量,它能够发送“IGMP 特定查询”消息以响应“IGMP 离开”消息。

注意:如果您想在运行软件 IGMP 查询器的同一主机(和 NIC)上订阅 IGMP 组,则似乎有必要使用(=欺骗)与您正在使用的接口不同的 IP 地址/MAC 地址组合,否则我的 Windows(8.1)例如无法正确检测 IGMP 版本。

答案2

IGMP 仅在广播域内使用,例如交换机内。域之间,任何路由的内容、多播组信息都通过另一种协议进行通信 - 这种协议几乎总是 PIM。

不过我不确定我是否理解了你的问题。客户端加入多播组,服务器不会强迫它加入组。如果路由器不支持 IGMP,客户端就无法跨路由器建立组成员关系。

相关内容