很可能子网掩码让你失望了。只要您记住以下规则不再适用,您应该没问题。
最终有类寻址归结为地址中的最重要(或“前导”)位。不多也不少。
- A类:最高有效位以
0
- B 类:最高有效位以
10
- C类:最高有效位以
110
“类”来自它们分割地址空间以在“主机”和“网络”之间使用的方式。请记住,当时(从 ARPANET 时代开始),子网掩码不存在,并且网络旨在从地址本身推断出来。因此,考虑到上述情况,这就是他们提出的(这旨在作为二进制表示 - 每个N
或H
表示 32 位地址中的一个位):
- A类:(
NNNNNNNN.HHHHHHHH.HHHHHHHH.HHHHHHHH
更少的网络,更多的主机)
- B类:(
NNNNNNNN.NNNNNNNN.HHHHHHHH.HHHHHHHH
更多网络,更少主机)
- C类:(
NNNNNNNN.NNNNNNNN.NNNNNNNN.HHHHHHHH
更多的网络,更少的主机)
这里的N
代表地址的网络部分, 代表地址H
的主机部分,或者他们在当时称它为“其余字段”。
结合之前关于最重要位的内容,我们有以下内容:
- A 类:0.0.0.0 - 127.255.255.255
- B 类:128.0.0.0 - 191.255.255.255
- C 类:192.0.0.0 - 223.255.255.255
将这些范围转换为二进制可能会使这更清楚:
A级
0.0.0.0
-----------
[0]0000000.00000000.00000000.00000000
127.255.255.255
-----------
[0]1111111.11111111.11111111.11111111
^
most significant bit = 0
B级
128.0.0.0
-----------
[10]000000.00000000.00000000.00000000
191.255.255.255
-----------
[10]111111.11111111.11111111.11111111
^
most significant bits = 10
C级
192.0.0.0
-----------
[110]00000.00000000.00000000.00000000
223.255.255.255
-----------
[110]11111.11111111.11111111.11111111
^
most significant bits = 110
这些范围内的每个地址都将共享一个共同的前导位。这个故事的寓意是,如果您能记住前导位应该是什么(A 类为 0,B 类为 10,C 类为 110),那么确定地址本来属于哪个“类”非常简单in. 或者,如果小数更容易:
- A 类:地址中的第一个八位字节介于 0 和 127 之间(包括 0 和 127)
- B 类:地址中的第一个八位字节介于 128 和 191 之间(包括 128 和 191)
- C 类:地址中的第一个八位字节介于 192 和 223 之间(包括 192 和 223)
在测试、考试或其他任何事情中让某人在“有类寻址”上搞砸的最简单方法是通过子网掩码使用误导。再次记住,子网掩码不适用于确定地址的类别。这很容易忘记,因为正如其他人所说,无类寻址和路由已经存在了二十多年,并且子网掩码和 CIDR 表示法在行业中无处不在。