背景
我正在研究子网划分,发现我对问题的回答与讲师的回答不符。
注意:这是我选择了解自己的东西。不是我必须参加的课程。
我尝试过:在线搜索,联系我正在学习的课程所在的网站,在超级用户和其他堆栈交换网站上搜索类似问题。
问题
给定 IP 地址 172.20.0.0。/16 计算可容纳 100 台主机的子网掩码,同时最大限度地增加可用子网的数量。
我的答案
使用公式 2^n -2 并从 B 类子网掩码 255.255.0.0 开始,我计算出我需要借用 7 位。
初始子网掩码:1111 1111.1111 1111.0000 0000.0000 0000
我的回答:1111 1111.1111 1111.1111 1110.0000 0000 (255.255.254.0)
导师的回答
导师回答:1111 1111.1111 1111.1111 1111.1000 0000 (255.255.255.128)
如果您能解释我是否/哪里出错了,我将不胜感激。
你说得对,2 ^ 7 是 2 的最低幂,至少是 100。关于 IP 网络掩码需要用完 7 位也是正确的。
本练习中的 16 位掩码是上限,实际上没有限制,因为它留下 16 个可用的低位,而您只需要 7 位。
由于您使用的是 32 位中的 7 位,因此剩下 25 位是您不需要的。网络掩码是 25 位,它确实给出了 1111 1111.1111 1111.1111 1111.1000 0000 (255.255.255.128)。
此网络掩码用于您将创建的子网。由于您留下了 16-7=9 位,因此您可以创建 2^9=512 个不同的子网,其中每个子网都有上述网络掩码(大概是在内部分配给分配了初始 16 位网络掩码的虚构组织)。
您在答案中从 16 的初始网络掩码中取出了 7 位。但是,这部分不是您的,因为您由任何中央机构/ISP 仅分配了低 16 位。
当一个问题指定了主机的数量,而不指定网络的数量时,您想要从右到左(第 25-32 位)计数位。目标是确定主机需要多少位,所有剩余位都将用于网络。
如果问题指定了多个子网而没有指定任何有关主机数量的信息,则您从左到右(第 17-24 位)计数位。
可能值得退后一步,首先关注所需的结果,然后再看数学。
另一种问问题的方法是“什么是最小的子网 - 或 2 的最小幂 - 可以容纳 100 个主机/IP” - 这是一个由 128 个 IP 组成的子网,即 0-127,以 7 位表示。
因此,要计算出网络掩码,您将最后 7 位“0”,然后转换回来,这意味着
11111111.11111111.11111111.1000000 = 255.255.255.128
我怀疑绊脚石是这个“使用公式 2^n -2” - 我不确定它的来源或它与什么有关,但该公式在这里不适用。