这维基百科文章IPv4 地址上规定每个八位字节的有效范围是 0-255。但是,当我在 Windows 7 PC 上输入一个故意超出范围的数字时,IP 地址第一个八位字节的有效范围被通知为 1-223(而不是 0-255):
这适用于IP address
、Default gateway
和的第一个八位字节,Preferred DNS sever
但Alternate DNS server
不适用于Subnet mask
。所有其他八位字节都允许 0-255。我们现场有一些 Windows CE 6.0 机器,这些机器允许所有八位字节为 0-255。
- 为什么我的 Windows 7 机器仅报告第一个八位字节的有效范围为 1-223,以及为什么与 Windows CE 不同?
- IP 地址八位字节的规则是什么?
- 在撰写有关 IP 设置的技术博客时,假设有效范围为 0-255(并忽略模糊的限制)是否可以安全地进行,或者我应该更加巧妙地涵盖一些例外情况?
注意!我并不关心输入的 IP 地址是否真的有效……我只关心输入 IP 地址时的低级规则!
注意:我问过我们的 IT 部门。他们也不知道答案,只是让我去查阅维基百科!
答案1
IPv4 地址只是一个 32 位数字,例如00001010000010110000110000001101
。十进制八位字节表示法只是为了方便人们阅读。每个八位字节为 8 位,例如00001010.00001011.00001100.00001101
,然后将其转换为十进制数( )。由于 8 位可以表示从到 的10.11.12.13
数字,因此每个八位字节只能有一个该范围内的数字。0
255
八位字节边界并没有什么特别或神奇之处;它们是人为的。从文本表示(十进制八位字节)的角度考虑 IPv4 地址确实会让你陷入一些复杂的思维并导致错误。计算机和网络设备只会看到和使用二进制数字。许多网络学生想在不先转换为二进制的情况下操纵 IPv4 地址,这是一条失败之路。
有效的单播 IPv4 地址最大为223.255.255.255
。大于该地址的是多播地址(1110
地址的前四位以 开头 =224.0.0.0
至239.255.255.255
)或保留地址(1111
地址的前四位以 开头 =240.0.0.0
至255.255.255.255
)。该地址255.255.255.255
是有限广播地址。
RFC 5735,特殊用途 IPv4 地址对 IPv4 特殊用途地址进行了概述。
答案2
1-223 涵盖 A/B/C 类网络,即您的 PC 将使用的网络。
224+ 适用于 D 类(多播)和 E 类(未使用)网络,它们都不适合 Windows PC。