如何计算子网中的主机数?
在计算机网络中,IP 地址是标识 Internet 或本地网络上的设备的唯一地址。使用 IP 地址,我们可以找到有关 IP 地址类别和该网络中连接的计算机数量(该网络中的 IP 地址范围)、网络 IP 地址、广播地址的信息。
查找在给定 IP 地址中连接的计算机数量的步骤
1)识别IP地址的类别
要查找网络中连接的计算机数量,首先我们需要识别 IP 地址的类别,IP 地址有 5 类,它们是 A、B、C、D、E。
ipv4的每个IP地址由32位组成,分为4个八位组,1个八位组=8位,看第一个八位组就可以找到给定IP地址的类别。每个类别的范围如下表所示。
Classes | range |
---|---|
A | 0 to 127 |
B | 128 to 191 |
C | 192 to 223 |
D | 224 to 239 |
E | 240 to 255 |
示例:如果给定的 IP 地址是 64.19.23.0,那么第一个八位字节是 64,范围是 0 到 127,因此给定的 IP 地址属于A 类。
2)查找网络IP地址
要查找网络IP地址我们需要默认掩码值,每个类的默认掩码值不同,下表给出了每个类的默认掩码值
Classes | Default mask |
---|---|
A | 255.0.0.0 |
B | 255.255.0.0 |
C | 255.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)查找连接到该网络的主机数量或计算机数量
它所属的类将告诉可以连接到该网络的主机范围,如下表所示。Classes Number of networks possible Number of hosts possible in 1 network Number of usable hosts in 1 network A 126 224 224 – 2 B 16384 65536 65534 C 221 256 254 D no networks no hosts – E no networks no 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