IPv4 地址和子网掩码
本部分描述如何在 ASA 中使用 IPv4 地址。IPv4 地址是采用点分十进制记法的 32 位数字:从二进制转换为十进制数字的四个 8 位字段(八位组),字段之间用点分隔。IP 地址的第一个部分标识主机所在的网络,而第二个部分标识给定网络上的特定主机。网络号字段称为网络前缀。给定网络上的所有主机都共享同一网络前缀,但必须有唯一的主机号。对于有类 IP,地址类确定网络前缀与主机号之间的边界。
类
IP 主机地址划分为三个不同的地址类:A 类、B 类和 C 类。每个类在 32 位地址内的不同点固定网络前缀与主机号之间的边界。D 类地址保留用于组播 IP。
-
A 类地址(1.xxx.xxx.xxx 至 126.xxx.xxx.xxx)仅将第一个八位组用作网络前缀。
-
B 类地址(128.0.xxx.xxx 至 191.255.xxx.xxx)将前两个八位组用作网络前缀。
-
C 类地址(192.0.0.xxx 至 223.255.255.xxx)将前三个八位组用作网络前缀。
由于 A 类地址具有 16,777,214 个主机地址,B 类地址具有 65,534 个主机,因此您可以使用子网掩码将这些庞大的网络分为较小的子网。
专用网络
如果在网络上需要大量地址,但不需要在互联网上路由这些地址,则可以使用互联网编号分配机构 (IANA) 推荐的专用 IP 地址(请参阅 RFC 1918)。以下地址范围指定为不应通告的专用网络:
-
10.0.0.0 到 10.255.255.255
-
172.16.0.0 至 172.31.255.255
-
192.168.0.0 到 192.168.255.255
子网掩码
通过子网掩码,您可以将单个 A 类、B 类或 C 类网络转换为多个网络。利用子网掩码,可以创建扩展网络前缀,从而将主机号中的位添加到网络前缀中。例如,C 类网络前缀始终包含 IP 地址的前三个八位组。但是,C 类扩展网络前缀还使用第四个八位组的一部分。
如果使用二进制表示法而不是点分十进制表示法,则有助于理解子网掩码。子网掩码中的位与互联网地址一一对应:
-
如果 IP 地址中的对应位是扩展网络前缀的一部分,则该位会设置为 1。
-
如果该位是主机号的一部分,则会设置为 0。
示例 1:如果您有 B 类地址 129.10.0.0,并要将第三个八位组全部用作扩展网络前缀而不是主机号的一部分,则必须将子网掩码指定为 11111111.11111111.11111111.00000000。该子网掩码将此 B 类地址转换为等效的 C 类地址,其中的主机号仅包含最后一个八位组。
示例 2:如果您只想将第三个八位组的一部分用于扩展网络前缀,则必须将子网掩码指定为类似 11111111.11111111.11111000.00000000 的形式,这种形式的子网掩码仅将第三个八位组中的 5 位用于扩展网络前缀。
您可以将子网掩码编写为点分十进制掩码或 /位数(“斜杠位数”)掩码。在示例 1 中,对于点分十进制掩码,您可以将每个二进制八位组转换为十进制数:255.255.255.0。对于 /位数掩码,可以添加数字 1s: /24。在示例 2 中,十进制数为 255.255.248.0,/位数为 /21。
您还可以将第三个八位组的一部分用于扩展网络前缀,从而将多个 C 类网络构建成一个更大的超网。例如,192.168.0.0/20。
确定子网掩码
请参阅下表以根据所需的主机数来确定子网掩码。
注 |
子网的第一个和最后一个数字已保留,但 /32 除外,该数字用于标识单个主机。 |
主机数 |
/位掩码 |
点分十进制掩码 |
---|---|---|
16,777,216 |
/8 |
255.0.0.0 A 类网络 |
65,536 |
/16 |
255.255.0.0 B 类网络 |
32,768 |
/17 |
255.255.128.0 |
16,384 |
/18 |
255.255.192.0 |
8192 |
/19 |
255.255.224.0 |
4096 |
/20 |
255.255.240.0 |
2048 |
/21 |
255.255.248.0 |
1024 |
/22 |
255.255.252.0 |
512 |
/23 |
255.255.254.0 |
256 |
/24 |
255.255.255.0 C 类网络 |
128 |
/25 |
255.255.255.128 |
64 |
/26 |
255.255.255.192 |
32 |
/27 |
255.255.255.224 |
16 |
/28 |
255.255.255.240 |
8 |
/29 |
255.255.255.248 |
4 |
/30 |
255.255.255.252 |
不使用 |
/31 |
255.255.255.254 |
1 |
/32 |
255.255.255.255 单个主机地址 |
确定要与子网掩码配合使用的地址
以下各节介绍如何确定要与 C 类规模和 B 类规模网络的子网掩码配合使用的网络地址。
C 类规模网络地址
对于主机数介于 2 和 254 之间的网络,第四个八位组是主机地址数量的倍数,从 0 开始。例如,下表显示 192.168.0.x 的 8 主机子网 (/29)。
注 |
子网的第一个和最后一个地址已保留。在第一个子网示例中,不能使用 192.168.0.0 或 192.168.0.7。 |
掩码为 /29 的子网 (255.255.255.248) |
地址范围 |
---|---|
192.168.0.0 |
192.168.0.0 到 192.168.0.7 |
192.168.0.8 |
192.168.0.8 到 192.168.0.15 |
192.168.0.16 |
192.168.0.16 到 192.168.0.31 |
— |
— |
192.168.0.248 |
192.168.0.248 到 192.168.0.255 |
B 类规模网络地址
要确定将与主机数在 254 和 65,534 之间的网络的子网掩码配合使用的网络地址,您需要确定每个可能的扩展网络前缀的第三个八位组的值。例如,您可能想要为类似于 10.1.x.0 的地址构建子网,在该地址中,前两个八位组是固定的,因为它们用于扩展网络前缀中,第四个八位组是 0,因为所有位都用于主机号。
要确定第三个八位组的值,请按照以下步骤操作:
-
通过用 65,536(使用第三个和第四个八位组的地址的总数)除以所需的主机地址数,计算出可从网络构建的子网数量。
例如,65,536 除以 4096 个主机等于 16。因此,4096 个地址有 16 个子网,每个都位于 B 类规模网络上。
-
通过用 256(第三个八位组值的数量)除以子网数量,确定第三个八位组值的倍数:
在本示例中,256/16 = 16。
第三个八位组是 16 的倍数,从 0 开始。
下表显示网络 10.1 的 16 个子网。
注 |
子网的第一个和最后一个地址已保留。在第一个子网示例中,不能使用 10.1.0.0 或 10.1.15.255。 |
掩码为 /20 的子网 (255.255.240.0) |
地址范围 |
---|---|
10.1.0.0 |
10.1.0.0 到 10.1.15.255 |
10.1.16.0 |
10.1.16.0 到 10.1.31.255 |
10.1.32.0 |
10.1.32.0 到 10.1.47.255 |
— |
— |
10.1.240.0 |
10.1.240.0 到 10.1.255.255 |