我有一个定制的 ADC 设备,它通过寻址 UDP 数据包输出数据。
我已将该设备插入 4 端口交换机。
我有一台 Windows Embedded Standard 7 机器,它是该数据的正常接收者。为了能够接收数据(使用 LabVIEW),Windows 网络适配器 IPv4 设置必须具有与 UDP 数据包目标相对应的静态 IP 地址。
我想添加第二台 Windows 机器(这只是普通的 Win 7 Pro)来同时捕获数据,但是当所有设备都连接到交换机时,Win 7 Pro 机器会识别出 IP 地址冲突,并且不会采用所需静态 IP 地址的设置。 (网络适配器设置显示已输入正确的值,但 ipconfig 显示它实际上并未设置。)
两台Windows机器都不需要传输网络数据,只需要能够接收来自ADC设备的UDP数据。
有什么方法可以禁用 Windows 网络的“IP 地址冲突检测”功能?
答案1
您不能/不应该尝试在计算机上使用相同的 IP,因为可能会出现很多问题:首先,路由器无法知道哪个网络 MAC 与正确的(真实)IP 相关。
你可以做什么:
1-镜像端口,以便第二台计算机接收进入第一个端口的所有流量,然后放置/运行该程序,以便它可以捕获他收到的所有流量,尽管没有被寻址到他的IP(阅读有关混杂模式的内容, 例如)
2 - 不要使用路由器,而是使用交换机,这样所有端口总是会接收相同的数据包,然后再次在程序中监听该数据包。
答案2
或者,您可以研究使用多播来解决此问题。如果您可以对 ADC 进行编程以将流量发送到多播组,然后让您的两个 Windows 客户端订阅该组。由于您正在发送 UDP,这应该对您有利。但是,您需要一个支持 IGMP 监听的交换机。
或者让您的 ADC 只发送数据包进行广播,然后让您的 Windows 主机监听该数据包。