我想知道这个特殊用途地址的作用是什么。
类似的0.0.0.0/8代表没有分配IP的主机,但与0.0.0.0/32地址不一样
有什么区别?
我想知道这个特殊用途地址的作用是什么。
类似的0.0.0.0/8代表没有分配IP的主机,但与0.0.0.0/32地址不一样
有什么区别?
根据 IANA,这是有关 IP 地址分配的权威来源。0.0.0.0/8 保留:
从IANA IPv4 地址空间注册页面:
Prefix Designation Date WHOIS RDAP Status [1] Note 000/8 IANA - Local Identification 1981-09 RESERVED [2]
和脚注[2]:
0.0.0.0/8 保留用于自我识别 [RFC1122],第 3.2.1.3 节。协议保留。权威注册见【IANA注册机构iana-ipv4-special-registry】。
RFC1122指出:
3.2.1 互联网协议——IP
3.2.1.3 Addressing: RFC-791 Section 3.2 We now summarize the important special cases for Class A, B, and C IP addresses, using the following notation for an IP address: { <Network-number>, <Host-number> } or { <Network-number>, <Subnet-number>, <Host-number> }(a) { 0, 0 }
This host on this network. MUST NOT be sent, except as a source address as part of an initialization procedure by which the host learns its own IP address. See also Section 3.3.6 for a non-standard use of {0,0}.
(3.3.6节涉及全零广播地址)
结论
0.0.0.0/8 是互联网的第一个/8网络,它是保留的。
0.0.0.0/32 是 Internet 的第一个主机地址,作为 0.0.0.0/8 网络的一部分,它被保留。
甲0.0.0.0地址仅在本地使用作为初始化过程,IE DHCP / BOOTP的一部分。这个过程是本地的,它不涉及子网掩码,所以没有 /32 的概念。
我认为您将网络与地址混淆了,因为数据包具有源地址和目标地址,但没有掩码信息。这意味着任何主机地址都是地址的完整 32 位。
0.0.0.0/8当主机不知道自己的地址时(例如,在 DHCP 请求中),网络中的地址可以用作源地址,但它们永远不能用作目标地址,因为无法为主机分配地址那个网络。
这在RFC 1122,Internet 主机要求——通信层中有详细说明:
(a) { 0, 0 } This host on this network. MUST NOT be sent, except as a source address as part of an initialization procedure by which the host learns its own IP address. See also Section 3.3.6 for a non-standard use of {0,0}. (b) { 0, <Host-number> } Specified host on this network. It MUST NOT be sent, except as a source address as part of an initialization procedure by which the host learns its full IP address.
/8路由器在路由表中使用网络掩码(或掩码长度,例如)来确定将发往特定地址的数据包发送到何处。目标地址被屏蔽以查看它是否匹配任何路由表条目,如果它不匹配任何路由表条目,则丢弃该数据包。每个 IPv4 地址都在0.0.0.0/0网络中,因此每个地址都将与路由表中的该网络匹配,这就是将其用作默认路由的原因。路由器会丢弃它们没有路由的任何流量,但由于0.0.0.0/0匹配每个地址,因此在其路由表中具有该网络的路由器对每个地址都有一个匹配项。