如何计算 IP 地址子网范围?

How can you calculate IP address subnet ranges?

如果给你:

Number of needed subnets: 2
Network Address: 195.223.50.0

我可以回答以下问题:

Address Class: C
Default Subnet Mask: 255.255.255.0
Custom Subnet Mask: 255.255.255.192
Total number of subnets: 2^2 = 4 Total number of host addresses: 2^6 (8-2 = 6)
Number of usable addresses: 2^6 -2
Number of bits borrowed: 2

但是……如果我被问到……

What is the 3rd subnet range?
What is the subnet number for the 2nd subnet?
What is the subnet broadcast address for the 1st subnet?
What are the assignable addresses for the 3rd subnet?

我将如何回答这些问题...我从该过程中只记得查看自定义子网掩码 (192) 中的最后一个数字,然后执行 256 - 192 以获得 64,然后使用 64 递增某些内容。但我不确定每个问题在问什么。请帮助,并针对每个问题逐步解释。

此外,如果我在这种情况下面对 B 的地址 Class,会有什么不同?

这真的不是编程问题,我们通常不再使用分类寻址(A、B、C、D...),因为现在一切都是 CIDR 和 VLSM (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)

但是因为您使用的子网掩码 255.255.255.192 相当于 /26 (64 IPS)。要计算每个 CIDR 的 ips 数量,您可以使用以下公式 num ips (/x) = 2^(32-x) 所以 /26 = 2^(32-26)2^664

剩下的基本上就是二进制数学。

1 /24 = 2 /25 1 /25 = 2 /26 1 /26 = 2 /27 等等。

因此,当将 /24 分解为 /26 子网时,您将得到 4 个子网,每个子网包含 64 台主机。

(重要的是要记住每个子网的大小总是 2 的幂,并且它们总是需要从位边界开始)。

所以第一个子网将从 .0 开始(情况并非总是如此,因为如果给定一个 /27 并且需要将其分解为 4 个 /29,它可能会从不同的数字,但在 /24 的第一个子网的情况下是 0)

子网IP为网络,子网最后一个IP为广播,其余ip为可用主机地址。

要计算可用的 IP,您将使用 2^(32-x)-2。所以在你的 /26 的情况下,每个子网将有 62 个可用的 IPS。

回到第一个子网。

195.223.50.0/26
195.223.50.0 是网络(第一个地址) 195.223.50.64 是广播(最后地址) 195.223.50.1 - 195.223.50.62 是可用主机

下一个子网的网络是 195.223.50.64,下一个是 195.223.50.128,最后一个是 195.223.50.192

使用 /16(传统 class b 网络的标准子网大小)时的不同之处在于,您从 2^16 (65k) IPS 开始分解为子网,而不是2^8(256),你有更大的浪费空间。