0

我有一个 D-Link DGS-1210-10P,带有两个 VLAN(10.104和 192.168 ...... 我在每个网络上都有一个摄像机,每个网络上的计算机上有两个 NIC。

在 D-Link 上关闭 IGMP 后,我可以使用 Microsoft DiscoveryClient 发现两个摄像头,以及一些允许我指定要发送多播消息的 NIC 的自定义端点。打开 IGMP 后,我只能看到 10.104 网络。

foreach (string id in getAdapterIds())
{
   DiscoveryClient dc = new DiscoveryClient(new UdpDiscoveryEndpointByNIC(DiscoveryVersion.WSDiscoveryApril2005, id));
   dc.FindProgressChanged += _real_FindProgressChanged;
   dc.FindAsync();
}

我确实在 Wireshark 中看到了 IGMP 消息(两个来源都是我的计算机,目标是正确的多播地址)

Source        Destination     Protocol Length Info
10.104.128.37 239.255.255.250 IGMPv2   60     Membership Report Group
192.168.1.1   239.255.255.250 IGMPv2   60     Membership Report Group

我的问题归结为:DiscoveryClient 是否会自动加入 IGMP 组并且应该正常工作?我怀疑我缺少一些基本的 IGMP 理解,或者一些 D-Link 路由器设置。

4

1 回答 1

0

像往常一样,我在提出问题后立即找到答案:

问题是路由器上的 IGMP 设置不正确。

所以,

企业 VLAN

1)禁用“查询者状态”,因为企业交换机已经是查询者

2)启用“快速离开”

隔离 VLAN

1)启用“查询器状态”,因为每个VLAN都需要一个查询器

2)启用“快速离开”

于 2016-08-30T13:35:32.363 回答