我有一个带有两个VLAN的D-Link DGS-1210-10P(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路由器设置。
答案 0 :(得分:0)
像往常一样,我在提问后立即找到答案:
问题是路由器上的IGMP设置不正确。
所以,
公司VLAN
1)禁用"查询器状态",因为公司交换机已经是查询器
2)启用"快速离开"
隔离的VLAN
1)启用"查询状态",because each VLAN needs a querier
2)启用"快速离开"