可能重复:
IPv4子网划分如何工作?
我正在修改Cisco CCNA1的networking。 我正在努力回答的一个问题是:
以下哪个IPv4地址是vaild子网地址:
我无法知道如何知道子网地址是否有效。
非常感谢
IP地址是32位长,掩码也是32位。 当您执行地址和掩码的逻辑AND
时,您将获得子网地址。 有关如何确定networking前缀,请参阅此维基百科部分。
我的思维快捷方式适用于networking掩码> = 25是我从32中减去掩码长度,并查看IP地址的最后八位字节…这是地址中的最大主机位(调用该数字h
)。 如果最后一个八位字节被2**h
整除,那么这是一个子网地址。
例如,172.16.4.127 32 - 26 = 6
… 32 - 26 = 6
。 2**6 = 64
和127 % 64 = 63
。 因此,172.16.4.127 不是有效的子网地址…实际上它是172.16.4.64/26子网的广播地址。 祝你CCNA考试顺利。
答案是全部或全部 ,取决于他们的意思。
对“有效”子网地址的正常理解是指定的范围内引用的地址是最低的。 因此/ 26(64个地址)将以64的倍数结束,并且27将以32的倍数结束。
您所引用的地址都不符合该规则。
你确定你把他们正确地复制了吗?
我这样看:B和E是有效的IP地址,我认为这就是“IPv4地址是子网地址”的含义,虽然问题的方式可能会引起误解。
当我迷失在networking地址(我同意,这是不容易的计算这些/ 26或/ 27),我只是问ipcalc工具为我做math。 但要小心,因为在CentOS / RHEL中的ipcalc
是一个完全不同的工具。
你运行ipcalc
并传递一些networking地址作为参数,它给你提供了所有有用的自解释信息(查看二进制networking掩码,你可以理解一个有效的networking地址是怎样记住的)。 以你的第一个地址为例(斜线前的空格是可选的)。
$ ipcalc 172.16.4.127 /26 Address: 172.16.4.127 10101100.00010000.00000100.01 111111 Netmask: 255.255.255.192 = 26 11111111.11111111.11111111.11 000000 Wildcard: 0.0.0.63 00000000.00000000.00000000.00 111111 => Network: 172.16.4.64/26 10101100.00010000.00000100.01 000000 HostMin: 172.16.4.65 10101100.00010000.00000100.01 000001 HostMax: 172.16.4.126 10101100.00010000.00000100.01 111110 Broadcast: 172.16.4.127 10101100.00010000.00000100.01 111111 Hosts/Net: 62 Class B, Private Internet
所以在你的情况下,172.16.4.127是172.16.4.64/26networking的广播。 并为一个完整的答案: