

# 子网 CIDR 块
<a name="subnet-sizing"></a>

您的子网的 IP 地址以无类别域间路由（CIDR）表示法表示。子网的 CIDR 块可以与 VPC 的 CIDR 块相同（用于在 VPC 中创建单个子网），也可以是 VPC 的 CIDR 块的一个子集（用于在 VPC 中创建多个子网）。如果您在 VPC 中创建多个子网，子网的 CIDR 块不能重叠。

例如，如果创建其 CIDR 块为 `10.0.0.0/24` 的 VPC，则它支持 256 个 IP 地址。您可以将这个 CIDR 块分散到两个子网，每个子网支持 128 个 IP 地址。一个子网使用 CIDR 块 `10.0.0.0/25` (对于地址 `10.0.0.0` - `10.0.0.127`)，另一个子网使用 CIDR 块 `10.0.0.128/25` (对于地址 `10.0.0.128` - `10.0.0.255`)。

![\[具有 CIDR 块 10.0.0.0/24 的 VPC，分为两个子网。\]](http://docs.aws.amazon.com/zh_cn/vpc/latest/userguide/images/subnet-cidrs.png)


互联网上提供的工具可帮助您计算和创建 IPv4 和 IPv6 子网 CIDR 块。您可以通过搜索“子网计算器”或“CIDR 计算器”等术语来找到满足您需求的工具。您的网络工程组也可以帮助您判断可为子网指定哪些具体 IPv4 和 IPv6 CIDR 块。

## IPv4 的子网定型
<a name="subnet-sizing-ipv4"></a>

子网允许的 IPv4 CIDR 块大小在 `/28` 网络掩码与 `/16` 网络掩码之间。每个子网 CIDR 块中的前四个 IP 地址和最后一个 IP 地址无法供您使用，而且无法分配给任何资源（例如 EC2 实例）。例如，在具有 CIDR 块 `10.0.0.0/24` 的子网中，以下五个 IP 地址是保留的：
+ 10.0.0.0：网络地址。
+ 10.0.0.1：由 AWS 保留，用于 VPC 路由器。
+ 10.0.0.2：由 AWS 保留。DNS 服务器的 IP 地址是 VPC 网络范围的基址 \$1 2。对于包含多个 CIDR 块的 VPC，DNS 服务器的 IP 地址位于主要 CIDR 中。我们还为 VPC 中的所有 CIDR 块预留了每个子网范围加二的基址。有关更多信息，请参阅 [Amazon DNS 服务器](AmazonDNS-concepts.md#AmazonDNS)。
+ 10.0.0.3：由 AWS 保留，以供将来使用。
+ 10.0.0.255：网络广播地址。我们在 VPC 中不支持广播，因此我们会保留此地址。

如果您使用命令行工具或 Amazon EC2 API 创建子网，则系统会自动将 CIDR 块修改为其规范形式。例如，假设您为 CIDR 块指定 100.68.0.18/18，我们将创建一个 CIDR 块 100.68.0.0/18。

使用 [BYOIP](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html) 将 IPv4 地址范围设置为 AWS 后，您可以使用该范围内的所有 IP 地址，包括第一个地址（网络地址）和最后一个地址（广播地址）。

## IPv6 的子网定型
<a name="subnet-sizing-ipv6"></a>

如果您已向 VPC 关联 IPv6 CIDR 块，则可以将 IPv6 CIDR 块与 VPC 中的现有子网关联，或在创建新子网时执行此操作。可能的 IPv6 网络掩码长度介于 `/44` 和 `/64` 之间，增量为 `/4`。

互联网上提供的工具可帮助您计算和创建 IPv6 子网 CIDR 块。您可以通过搜索“IPv6 子网计算器”或“IPv6 CIDR 计算器”等术语来查找满足您需求的工具。您的网络工程组也可以帮助您判断可为您的子网指定哪些具体 IPv6 CIDR 块。

每个子网 CIDR 块中的前四个 IPv6 地址和最后一个 IPv6 地址无法供您使用，而且无法分配给 EC2 实例。例如，在具有 CIDR 块 `2001:db8:1234:1a00/64` 的子网中，以下五个 IP 地址是保留的：
+ `2001:db8:1234:1a00::`
+ `2001:db8:1234:1a00::1`：由 AWS 保留，用于 VPC 路由器。
+ `2001:db8:1234:1a00::2`
+ `2001:db8:1234:1a00::3`
+ `2001:db8:1234:1a00:ffff:ffff:ffff:ffff`

除了上述示例中 AWS 为 VPC 路由器预留的 IP 地址外，还为默认 VPC 路由器预留了以下 IPv6 地址：
+ 使用 EUI-64 生成的位于 FE80::/10 范围内的链路本地 IPv6 地址。有关链路本地地址的更多信息，请参阅[链路本地地址](https://en.wikipedia.org/wiki/Link-local_address)。
+ 链路本地 IPv6 地址 `FE80:ec2::1`。

如果您需要通过 IPv6 与 VPC 路由器通信，您可以将应用程序配置为与最适合您需求的地址通信。