0.0.0.0是有效的IP地址吗?我希望我的程序能够存储它作为没有使用地址的指示,但如果它实际上有效则不起作用.
pax*_*blo 47
它是有效的,因为它包含四个八位字节,每个八位字节在0到255的范围内.然而,这不是可用作为一个真正的IP地址.
RFC1700 (a)规定0.0.0.0/8(0.<anything>.<anything>.<anything>)仅作为源地址保留.您可以进入看似您拥有此地址的情况,但这通常是因为没有为您分配地址(例如,通过DHCP).
另请参阅关于IPv4的Wikipedia条目.
(a)虽然这个RFC现在被认为是过时的,但就给定的行为而言仍然是正确的.它的替代品https://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtml仍然具有相同的文本,详细说明了0.0.0.0地址的使用.
Yes, it is an IP address but it is reserved.
0.0.0.0/8 - 此块中的地址指的是"此"网络上的源主机.地址0.0.0.0/32可以用作该网络上该主机的源地址; 0.0.0.0/8内的其他地址可用于指代此网络上的指定主机
让我们看一下OP在这里提出的问题.
0.0.0.0是有效的IP地址吗?
是.这在技术上是一个有效的IP地址,其他答案描述了它的许多不同用途(我不会在这里重新发布维基百科链接......或者我可能).
因此我相信paxdiablo的答案是最正确的,但让我们看一下你问题的背景.
我希望我的程序能够存储它作为没有使用地址的指示,但如果它实际上有效则不起作用.
这完全取决于您的使用案例.鉴于这是一个程序员论坛,让我们考虑一下这个观点.
如果您的软件存储实际的互联网地址 - 服务器位置,您的网站访问者,复制/镜像或备份站点,Web服务或数据库服务器等 - 那么这将是完全有效的.互联网上的任何机器都不会分配此地址,也不会解析为有效连接.
另一方面,如果您正在编写防火墙或路由器固件,那么这个地址确实具有特殊含义; 默认路由,接受任何IP源/目的地,阻止所有IP源/目的地,全部捕获全部等,如其他人所述.但是,我要指出,如果您在此级别编码,您应该对网络协议有足够的了解,以便首先不需要问这个问题.
因此,我假设大多数查看此问题的人都属于第一类,并建议这是一种存储空,空或缺少IP地址的完全有效的方法,如果有某些原因导致null无法使用实际值.即使您忽略了验证检查,并且您的软件确实尝试连接到此IP地址,也无法建立连接.
出于所有意图和目的,是的。由句点分隔的四个数字中的每一个的值范围为 0-255,因此 0.0.0.0 在技术上是有效的。
但我认为世界上没有人真正拥有该知识产权。
编辑:好的,它是为默认路由保留的,但它仍然有效。
| 归档时间: |
|
| 查看次数: |
65493 次 |
| 最近记录: |