系统管理指南:IP 服务

为 IPv4 地址创建网络掩码

在进行子网划分的过程中,需要选择一个网络范围的网络掩码。网络掩码确定主机地址空间中有多少位以及哪些位表示子网号,有多少位以及哪些位表示主机号。请记住,完整的 IPv4 地址由 32 位组成。其中最多可用 24 位、最少可用 8 位表示主机地址空间,具体取决于地址类。网络掩码是在 netmasks 数据库中指定的。

如果计划使用子网,必须在配置 TCP/IP 之前确定网络掩码。如果计划将安装操作系统作为网络配置的一部分,Oracle Solaris : 安装程序将要求您提供网络的网络掩码。

32 位 IP 地址由网络部分和主机部分组成,如设计 IPv4 寻址方案中所述。32 位分为 4 个字节。根据网络类的不同,将每个字节分别指定给网络号或主机号。

例如,在 B 类 IPv4 地址中,左边的 2 个字节指定给网络号,而右边的 2 个字节指定给主机号。在 B 类 IPv4 地址 172.16.10 中,您可以将右边的 2 个字节指定给主机。

如果要实现子网划分,您需要将指定给主机号的字节中的某些位应用到子网地址。例如,16 位的主机地址空间可为 65,534 台主机提供地址。如果将第三个字节应用到子网地址,第四个字节应用到主机地址,则可以为最多 254 个网络提供地址,其中每个网络中最多具有 254 台主机。

主机地址字节中的哪些位应用到子网地址及主机地址是由子网掩码确定的。使用子网掩码从用作子网地址的字节中选择位。尽管网络掩码位必须是连续的,但它们不需要与字节边界对齐。

通过使用按位逻辑 AND 运算符,可以将网络掩码应用到 IPv4 地址。此操作将选出地址的网络号和子网号位置。

可以采用二进制表示法来说明网络掩码。可以使用计算器进行二进制到十进制的转换。以下示例显示了网络掩码的十进制格式和二进制格式。

如果将网络掩码 255.255.255.0 应用到 IPv4 地址 172.16.41.101,则结果为 IPv4 地址 172.16.41.0

172.16.41.101 & 255.255.255.0 = 172.16.41.0

此操作的二进制格式如下所示:

10000001.10010000.00101001.01100101(IPv4 地址)

11111111.11111111.11111111.00000000(网络掩码)进行 AND 操作

现在,系统查找网络号 172.16.41,而不是 172.16。如果您的网络号是 172.16.41,则此编号便是系统检查并找到的编号。因为最多可以为 IPv4 地址空间的第三个字节指定 254 个值,所以通过子网划分可以为 254 个网络创建地址空间,之前地址空间只可用于一个网络。

如果只需要为两个附加网络提供地址空间,则可以使用以下子网掩码:

255.255.192.0

此网络掩码将生成以下结果:

11111111.11111111.1100000.00000000

此结果仍然保留 14 位,供主机地址使用。因为所有 0 和 1 都是保留的,所以必须至少为主机号保留 2 位。