【发布时间】:2011-02-01 10:31:09
【问题描述】:
我们的网络设备很少,它们的 IP 地址为 0.0.0.1,以确保它们不会与新环境中的任何其他设备发生冲突(因此 10.x.x.x、172.16.x.x或 192.168.xx 范围)直到配置。 DHCP 不是解决方案,因为现场可能没有 DHCP 服务器。
设备将侦听 UDP 广播并通过广播进行应答,直到通过这种方式获得新的 IP 地址。
这在 Windows XP 上运行良好 - 但在 Windows 7 上很糟糕:配置程序没有从仍然具有 0.0.0.1 的设备接收应答数据包。 Wireshark 看到数据包,然后它们被系统转储。
问题:是否有任何原因(RFC?)实际上禁止在本地环境中使用此地址?还是只是 MS 过于谨慎了? 在哪里我可以看到他们为什么认为这个地址“无效”?哪些范围现在也真的“无效”了?
知道 PC 端 (Win 7) 的解决方法吗?
我知道不建议将 0.xxx 地址用于工作场所,但正是因为这个原因 - 有一个未使用的地址 - 它工作得很好。
编辑:根据他们的论坛,有一个名为“Netburner”的设备可能面临类似的问题。见:http://forum.embeddedethernet.com/viewtopic.php?f=5&t=612&p=2198 巧合的是,有人知道一些背景信息吗?
【问题讨论】:
-
你的网卡配置中有那个子网吗?许多系统会丢弃来自非本地子网的广播数据包。
-
您能改用以太网广播数据包吗?删除整个 TCP/IP 路由堆栈似乎是一个好处。
-
@thkala:我们会检查这个。感谢您的提示。尽管如此 - RFC1918 允许在本地使用 any ip 地址,但由于缺点,他们只是不推荐它。
-
@minastaros:非本地是指与您的计算机不在同一子网中的子网。从安全的角度来看,阻止此类广播非常有意义。
-
@sarnold:哦,这些设备已经在现场使用了一段时间。所以切换不会那么容易,新的 Win 7 PC 软件应该能够处理“旧”(=当前)设备......你到底有什么想法,某种 ARP ping东西?
标签: networking windows-7 ip-address broadcast