我无法理解IP地址,特别是其中包含0的IP地址。
据我所知,主机ID全0的IP地址是指网络,例如128.52.0.0/16
。
IP地址的网络ID是否可以包含0且仍然有效?例如。带有子网掩码128.52.0.1
的{{1}}。
IP地址的主机ID是否可以包含0且仍然有效?例如。带有子网掩码255.255.255.0
的{{1}}。
另外,出于某种原因,我知道网络ID为0的IP地址是指在同一网络上具有主机ID的主机。例如。网络128.52.0.1
上具有子网掩码255.255.0.0
的{{1}}引用0.0.0.1
。这是对的吗?
答案 0 :(得分:4)
IP地址的网络ID是否可以包含0且仍然有效?例如。
128.52.0.1
子网掩码为255.255.255.0
?
是。网络ID的零八位字是完全可以的。
IP地址的主机ID是否可以包含0且仍然有效?例如。 128.52.0.1,子网掩码为255.255.0.0?
是。虽然您应该知道全零位主机ID是按惯例保留的,但是整个网络ID是完全正确的(就像全一位一样),主机ID的零八位位置是完全可以的。主机ID保留为广播地址,用于指代网络上的每个主机。)
另外,出于某种原因,我把它放到我的脑海里......
这是正确的,0.0.0.0/8
用于根据RFC5735进行自我识别:
0.0.0.0/8
- 此块中的地址是指“此”网络上的源主机。地址0.0.0.0/32
可用作此网络上此主机的源地址;0.0.0.0/8
中的其他地址可用于指代此网络上的指定主机([RFC1122],第3.2.1.3节)。
惯例是使用全1位表示每个“对象”,使用全零位表示该“对象”。引自"Internetworking with TCP/IP", Douglas E. Comer
:
在主机想要通过网络进行通信但尚不知道网络IP地址的情况下,使用netid 0尤为重要。主机暂时使用网络ID 0,网络上的其他主机将该地址解释为“此”网络。在大多数情况下,回复将完全指定网络地址,允许原始发件人记录它以供将来使用。
在“常规”世界中可能没有那么多使用它,因为BOOTP和DHCP在他们还不知道他们的网络ID的情况下使用有限的广播变体(所有一位)。但是,由于RFC尚未废弃,我猜它仍然有效。
答案 1 :(得分:0)
128.52.0.1只是128.52.0.0/16网络上的IP地址。在这种情况下,网络ID为128.52.0.0。 Subnetmask,howerver,为255.255.0.0。掩码255.255.255.0对应于/ 24子网。
你的最后一段似乎是正确的。