📜  如何计算子网中的主机数?

📅  最后修改于: 2022-05-13 01:57:02.185000             🧑  作者: Mango

如何计算子网中的主机数?

在计算机网络中,IP 地址是标识 Internet 或本地网络上的设备的唯一地址。使用 IP 地址,我们可以找到有关 IP 地址类别和该网络中连接的计算机数量(该网络中的 IP 地址范围)、网络 IP 地址、广播地址的信息。

查找在给定 IP 地址中连接的计算机数量的步骤

1)识别IP地址的类别

要查找网络中连接的计算机数量,首先我们需要识别 IP 地址的类别,IP 地址有 5 类,它们是 A、B、C、D、E。
ipv4的每个IP地址由32位组成,分为4个八位组,1个八位组=8位,看第一个八位组就可以找到给定IP地址的类别。每个类别的范围如下表所示。

Classesrange
A0 to 127
B128 to 191
C192 to 223
D224 to 239
E240 to 255

示例:如果给定的 IP 地址是 64.19.23.0,那么第一个八位字节是 64,范围是 0 到 127,因此给定的 IP 地址属于A 类

2)查找网络IP地址

要查找网络IP地址我们需要默认掩码值,每个类的默认掩码值不同,下表给出了每个类的默认掩码值

ClassesDefault mask
A255.0.0.0
B255.255.0.0
C255.255.255.0
D
E

找到默认掩码值后,与给定的IP地址进行AND运算,得到网络IP地址。

示例:如果给定的 IP 地址是 64.0.0.8,通过将每个八位字节替换为相应的二进制值将其转换为二进制格式,则给定 IP 地址的二进制格式将为 01000000.00000000.00000000.00001000。

现在取IP地址所属的默认掩码值(来自上表),将该默认掩码值转换为其二进制格式,A类的默认掩码为255.0.0.0转换为二进制格式将是
11111111.00000000.00000000。 00000000
现在执行它们之间的AND操作

0 1 000000.00000000.00000000。 00001000
1 1 111111.00000000.00000000。 00000000
0 1 000000.00000000.00000000.00000000 => 64.0.0.0

将得到的答案转换为十进制格式以获取网络 IP 地址。给定 IP 地址 64.0.0.8 的网络 IP 地址为64.0.0.0

3)查找连接到该网络的主机数量或计算机数量

它所属的类将告诉可以连接到该网络的主机范围,如下表所示。

ClassesNumber of networks possibleNumber of hosts possible in 1 networkNumber of usable hosts in 1 network
A126224224 – 2
B163846553665534
C221256254
Dno networks no hosts
Eno networksno hosts

[注: D 类保留用于组播、群组电子邮件/广播,D 类中可能的 IP 地址为 2 28

E 类保留用于实验和研究/军事目的, E 类中可能的 IP 地址为2 28 ]

简单来说,任何网络中的主机数都可以用公式 = 2 x – 2 计算,其中x是 IP 地址中主机 ID 的位数。

为什么要减去 2?

因为 第一个和最后一个地址不用于任何主机,因为第一个 IP 用于表示整个网络 ID ,而最后一个 IP 用作广播地址

例子:给定的IP地址是192.168.254.1,它属于C类,当我们对默认掩码为C类的IP地址进行AND运算时,我们得到网络IP地址为192.168.254.0,这是用来表示的IP地址整个网络和广播地址将是该网络的最后一个 IP 地址,即 192.168.254.255

4) 广播地址

广播地址有限播和直播两种

  • 有限广播:当同一网络中的主机想要向其网络内的所有主机广播消息时,广播地址为 255.255.255.255
  • 直接广播:当另一个网络中的主机想要向另一个网络中的所有主机广播消息时,广播地址将如上计算。

例1:求9.1.5.31的Class、网络IP地址、主机(计算机)数、广播地址

答:查找给定IP地址所属的类
第一个八位字节的值为 9,范围为 0 到 127,因此给定的 IP 地址属于A 类。
查找网络 IP 地址
表中给出的 A 类的默认掩码是 255.0.0.0

执行AND 操作以获取网络 IP 地址
9.1.5.31 => 00001001.00000001.00000101.00011111
255.0.0.0 => 11111111.00000000.00000000.00000000
00001001.00000000.00000000.00000000 => 9.0.0.0 IP 地址 = 9.1.5.31,网络地址 = 9.0.0.0
因此,网络 ID 位 = 8(第一个八位字节),主机 ID 位 = 24(后三个八位字节)

给定 IP 地址的网络 IP 地址是9.0.0.0
每个网络中的主机数量为 2 24 – 2
广播IP地址为9.255.255.255

例2:求201.20.30.40的Class、网络IP地址、主机(计算机)数、广播地址

答:查找给定IP地址所属的类
第一个八位字节的值为 201,其范围在 192 到 223 之间,因此给定的 IP 地址属于C 类。
查找网络 IP 地址
表中给出的 C 类的默认掩码是 255.255.255.0

执行AND 操作以获取网络 IP 地址
201.20.30.40 => 11001001.00010100.00011110.00101000
255.255.255.0 => 11111111.11111111.11111111.00000000
11001001.00010100.00011110.00000000 => 201.20.30.0
IP 地址 = 201.20.30.40,网络地址 = 201.20.30.0
因此,网络 ID 位 = 24(前三个八位字节),主机 ID 位 = 8(最后一个八位字节)

给定 IP 地址的网络 IP 地址是201.20.30.0
每个网络中的主机数量为 2 8 – 2= 254
广播IP地址为201.20.30.255