您的回答是正确的,除了有分类的地址不再存在。因特网在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
S上的号码:。所以你的前缀是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 = 256如果使用/25
你有一个前缀128个地址,一个/26
具有64个地址等
这样,您也可以分裂的前缀。 192.0.2.0/24
可拆分为192.0.2.0/25
和192.0.2.128/25
。而且这些可以一次又一次分割,直到您有一个只包含单个地址的前缀:a /32
。
回到这个例子。要获得(至少)50个服务器地址,我需要整理下一个2的幂。即2 = 64.要拥有多个地址,我需要一个/26
前缀。对于我需要四舍五入为128(2 )的客户端设备,所以我们需要一个/25
。对于客人来说,下一个2的次幂是64(2 ),所以一个/26
。
所以我们需要将/24
拆分成/25
和两个/26
s。一个可能的解决方案是:
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
我很高兴,我说得对。还要感谢第二个例子!我听说过CIDR,但我们的老师想要从基础开始。 – 2014-10-07 10:59:05
CIDR *是基础知识。子网掩码和有类的东西是遗留问题;) – 2014-10-07 11:04:15