通常,您会获得带有子网掩码的地址。例如:
192.168.0.0/16
但假设你没有得到地址,你就必须假设地址。
给出的主机为:
下设5个部门:
- 心率 = 60
- 营销 = 60
- 编码 = 60
- 测试 = 60
- 控制部门 = 5
因此主机总数为 60*4+5=245
即您需要 8 位主机地址(这是不正确的,但请继续)。您得到了 256 个地址。
但你应该牺牲初始和结束 IP 地址。因此所需的 IP 总数变为 245+5*2=255
我知道这是不正确的,因为您无法在子网划分中分配 62 个 IP 地址,而只能分配 64 个。
那么是否存在什么公式或某物可以让我根据直接给出的主机数量找出子网掩码?
我很清楚,我可以选择主网络子网掩码为 /1,这样我的工作就完成了。但那会让我看起来很疯狂。
答案1
如何查找主网络子网掩码?
下设5个部门:
- 心率 = 60
- 营销 = 60
- 编码 = 60
- 测试 = 60
- 控制部门 = 5
首先建立5个方程式:
4*(2^x-2)=60*4-
即 2^x -2 =60 --方程 1)
2^y - 2=5 ---方程2)
找出 x 和 y 的值。
x=log_2(60+2)
y=log_2(5+2)
所需子网掩码=z=32-xy=23
因此 /23 是主要网络子网掩码。
另一种更简单的方法是用二进制来思考。
因为 60 台主机只能位于 64 个 IP 地址空间中。而 5 台主机位于 8 个 IP 地址中。所以 64*4+8=264
log_2(264)=9
即需要 9 位来表示 264 个地址。
因此子网掩码=32-9=23。
对于喜欢使用数学而不是计算的人来说,经验答案是:
(2^log_2(每个子网的主机数+2)) 的总和。
求和范围从第一个部门到第 n 个部门。
但请注意不要使用计算器,因为它会产生错误的结果。
首先计算 log_2(每个子网的主机数+2)
然后计算它的2次方。
例如:对于 60,log_2(62)=6
那么 2^6 =64
同样,对于另外 4 个子网,它变为 64*4=256
然后对于最终子网
log_2(7)=3
2^3=8
因此需要 256+8=264 个 IP 地址。
log_2(264)=9
因此这些主机数量需要 9 位。即 32-9=23 作为子网掩码。