从IP范围计算子网掩码

时间:2014-10-07 09:33:02

标签: networking ipv4

这是我作为家庭作业的一项任务,我似乎无法理解。我的老师很难在课堂上解释它。所以我在这里:

问题: 以下主机地址范围的子网掩码是什么? 99.224.0.1 - 99.239.255.254

我的解决方案(或者我的解决方案) 首先,我用二进制文件写下了IP:

99.224.0.1
01100011.11100000.00000000.00000001
99.239.255.254
01100011.11101111.11111111.11111110

我所知道的是这是一个A级网络。而且我认为它必须与位的差异有关,所以我开始比较。 (最高的第一个)

01100011.11101111.11111111.11111110 
01100011.11100000.00000000.00000001 (diff)
-----------------------------------
00000000.00001111.11111111.11111111

由于网络/广播地址,我忽略了最后一位。

现在我可以转过来并拥有子网掩码了吗?:

11111111.11110000.00000000.00000000
255.240.0.0

我的问题是:我的方法是否正确?有没有更简单的方法(手工或计算)?

如果我距离正确的方法还很远,有人可以帮我理解吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

你的回答是正确的,除了有类别的地址不再存在。互联网在1993年转移到Classless Inter-Domain Routing (CIDR)所以你的术语有点过时了;)

目前,IP网络可以使用路由前缀。前缀是由该范围中的第一个地址定义的IP地址范围,以及地址开头的固定位数。你的例子很好地证明了这一点。

您的示例范围为99.224.0.1 - 99.239.255.254。实际上它是99.224.0.0 - 99.239.255.255,因为在子网上使用时,第一个和最后一个地址是保留的(但仍然是子网和前缀的一部分)。

我们已经拥有的前缀中的第一个地址:99.224.0.0。您可以从二进制计算中看到前缀长度(稍加修改):

01100011.11101111.11111111.11111111
01100011.11100000.00000000.00000000
----------------------------------- (xor)
00000000.00001111.11111111.11111111
----------------------------------- (not)
11111111.11110000.00000000.00000000

只需计算开头1的数量: 12 。所以你的前缀是99.224.0.0/12。此前缀涵盖与01100011.1110****.********.********匹配的所有地址。

当将前缀长度作为子网掩码编写时,确实得到255.240.0.0


这里有点偏离主题,因为它是关于网络而不是计算子网掩码的算法,但可能有帮助:一个如何规划网络寻址的例子:

让我们说,对于我的办公楼,我获得了IP地址192.0.2.0/24(即192.0.2.0 - 192.0.2.255,子网掩码255.255.255.0,256个地址)。我需要50个服务器地址,100个员工设备地址和40个客人地址。

因为寻址使用前缀,所以你得到的所有东西都是2的幂。如果使用/24,你有一个256个地址的前缀。完整地址为32位,前24位是固定的,因此您还有8位可供使用。 2 8 = 256.如果您使用/25,前缀为128个地址,/26有64个地址等。

这样你也可以拆分前缀。 192.0.2.0/24可以分为192.0.2.0/25192.0.2.128/25。这些可以一次又一次地拆分,直到你有一个只包含一个地址的前缀:/32

回到例子。要获得(至少)50个服务器地址,我需要将其舍入到下一个2的幂。即2 6 = 64.要拥有那么多地址,我需要/26字首。对于客户端设备,我需要舍入到128(2 7 ),因此我们需要/25。对于客人来说,2的下一个幂是64(2 6 )所以/26

因此,我们需要将/24拆分为/25和两个/26。一种可能的解决方案是:

Client devices:  192.0.2.0/25
Servers:         192.0.2.128/26
Guests:          192.0.2.192/26

在我们的设备上配置这些子网后,每个子网的第一个和最后一个地址变得特殊(网络和广播地址),因此我们可以将这些范围用于我们的设备:

Client devices:  192.0.2.1   - 192.0.2.126
Servers:         192.0.2.129 - 192.0.2.190
Guests:          192.0.2.193 - 192.0.2.254