说,我有一个255.255.255.242的子网,我在该子网内有一个已知的IP说192.168.1.101。
现在,我计算IP范围的方式是:
在子网掩码中,找到第一个不是255的八位字节。在我的例子中,它是第4个八位位组,它的242.所以取256并减去242,这给了我们14.所以我们现在知道这些网络,192.168.1.x网络,都有14的范围。所以只需开始列出它们......
192.168.1.0
192.168.1.14
192.168.1.28
....42
....56
....70
....84
....98
....112
我们可以在此停止。我的地址192.168.1.101属于.98网络。 .98包含从192.168.1.98到192.168.1.111的所有IP地址,因为我们知道192.168.1.112启动下一个网络。
我想确认一下,这是否是最合适和最简单的过程。
答案 0 :(得分:36)
网络掩码是一系列1位。这些位必须是顺序的,没有0个间隙。使用1位的任何内容都是网络的一部分,剩下的任何内容都对该网络中的主机分配有效。 255.255.255.224有27“1”位,这意味着它是一个/ 27网络。
要计算此权限,您需要将IP转换为数字表示。例如,255.255.255.224是11111111 11111111 11111111 11100000,即4294967264. 192.168.1.101是3232235877(11000000 10101000 00000001 01100101)。
如果您使用IP并按位并使用网络掩码,则会为您提供网络地址。这是范围的底端:
11111111 11111111 11111111 11100000 (mask)
11000000 10101000 00000001 01100101 (ip)
-----------------------------------
11000000 10101000 00000001 01100000 = 192.168.1.96 (network address)
掩码的补码(按位NOT)为您提供范围的大小:
00000000 00000000 00000000 00011111 = 31
因此,该IP的范围在192.168.1.96-192.168.1.127之间。 (127 = 96 + 31)
答案 1 :(得分:0)
感谢你们Joe和dig_123但是,Joe的答案可以用/ 28子网澄清,而不是所说的/ 27女巫会更接近他的榜样并且落在92-112之间。
所以,乔,如果我明白你的意思,你说你采取子网的八位字节;确定增量位值并将其添加到SN八位字节中的子网值,这应该给出范围并提供网络,第一主机,最后一个主机和广播地址的值。那是对的吗?即在我的例子中,第四个八位位组将是240,增量将是16.由于第四个八位位组中的值是96,它落在16位增量的计算范围内,实际上它落在96和112之间,这是16位范围中的一个,因此我们可以得出结论,此示例的网络地址为:
0-15
15-31
32-47
48-63
64-79
80-95
96-111
112-127
128
NW 192.168.1.96 /28
1st 192.168.1.97 /28
Last 192.168.1.110 /28
Bcast 192.168.1.111 /28
答案 2 :(得分:0)
向Joe的回答添加一些内容:如果您想以编程方式更多地执行操作(假设有关按位运算符的知识)。
你已经知道只有最后一个号码会改变,但是这种方法可以用于稍微不同的方式,如我稍后所示。
Number from mask: 224
Number from IP: 101
使用例如python或你最喜欢的计算器程序:
Start address byte: 224 & 101 = 96
End address byte: (~224 & 255) | 96 = 127
(~224 & 255)
只是在244中的每一位(即最后5位)中设置为1;或者将结果与96
复制只是复制第一个地址的前3位。
所以,结果是预期的:192.168.1。 96 - 192.168.1。 127 。
如果面具在最后一个数字之前结束,则程序非常相似;让我们举个例子:
让我们使用255. 224 .0.0作为掩码,并使用相同的IP地址(192. 168 .1.101)。
同样只有一个数字要处理,现在是第二个位置:168。
Start address byte: 224 & 168 = 160
End address byte: (~224 & 255) | 160 = 191
现在,左边的数字(第一个位置)保持不变(192),右边的其余数字从0到255(取决于他们的要求,也可能是1到254)
所以解决方案是:192。 160 .0.0 - 192. 191 .255.255