可能重复:
子网划分如何工作?
为了参加 CCNA 考试,我必须学习如何手动划分子网。但我做起来真的很难。我总是卡住。
以下是一个例子:
138.248.184.17/18 - IP
255.255.192.0 - 子网掩码
192 = 二进制 1100 0000
并且我知道 IP 地址中的 184 是“感兴趣的八位字节”。
好吧,我知道了……然后我迷路了。
我知道我需要将 192(我认为?)的网络位全部设置为 0 作为网络 ID,然后将广播 ID 全部设置为 1。问题是我如何知道 11000000 中的哪部分是网络,哪部分是主机?
答案1
首先,阅读链接的帖子。
别担心。我明白准备你的RFC 1149沉船后的网络。
您不需要将整个 IP 转换为二进制。您已经知道前两个八位字节,因为掩码全为 1(255 = 11111111),所以是 138.248.something。
由于您正在执行按位 AND 运算,因此您需要将第三个八位字节转换为二进制,直到最后一个八位字节结束。将网络掩码的八位字节转换为二进制:192 = 11000000。在这里,您只需要检查第三个八位字节的前两位,因为您知道其余位为零。184 小于 192,因此它必须以 10 开头,因为如果它以 11 开头,则必须为 192 或更大。因此,网络的第三个八位字节为 128。
第四个是 0,因为网络掩码的第四个八位字节是 0。
138.248.128.0
ipcalc
可以帮助你检查你的数学。
$ ipcalc 138.248.184.17/18
Address: 138.248.184.17 10001010.11111000.10 111000.00010001
Netmask: 255.255.192.0 = 18 11111111.11111111.11 000000.00000000
Wildcard: 0.0.63.255 00000000.00000000.00 111111.11111111
=>
Network: 138.248.128.0/18 10001010.11111000.10 000000.00000000
HostMin: 138.248.128.1 10001010.11111000.10 000000.00000001
HostMax: 138.248.191.254 10001010.11111000.10 111111.11111110
Broadcast: 138.248.191.255 10001010.11111000.10 111111.11111111
Hosts/Net: 16382 Class B