我正在尝试将 IGMP 用于我的 NAVbus,因为它连接到了多个系统。我每 1/100 秒发送一个包。最初我打算使用 UDP,但想使用多播。但此网络未连接到路由器来执行 IGMP 任务。因为我使用的是同质网络(仅 ubuntu),交换机只有 cisco 2924xlen。所以这归结为有没有办法也可以将我的 NAVserver 盒用作 IGMP 服务器?谢谢
答案1
IGMP 是不是UDP 的多播替代品。正如其名称(“组管理协议”)所示,它是多播控制协议,用于管理群组成员资格为了UDP(和其他数据报协议)。
为了接收发往特定组的多播数据包(无论是 UDP 还是其他),您首先要发送 IGMP“加入组”请求。路径上的交换机将注意到您的端口想要订阅该组。
(到发送多播数据包,这不是必需的 - 您只需将常规 UDP 数据报发送到该组的 IP 地址即可。)
多播并不严格要求路由器才能工作——在像你这样的小型网络上,大部分多播将由路由器处理。开关(使用 IGMP 来记住哪些交换机端口订阅了哪些多播组)。
在您的文档中搜索“IGMP 侦听”和“IGMP 查询器”功能。
答案2
只是让你知道,UDP 可以使用多播。而 IGMP 使用裸 IP 数据包,这意味着你不需要路由器就可以工作。只要使用 IP 协议,任何类型的网络都应该可以工作。