亚马逊 VPC n^2 -4 个 IP 地址? CIDR 块

Amazon VPC n^2 -4 IP Addresses? CIDR Block

我正在为我的实例创建一个新的 AWS VPC。但是,我注意到当我使用 CIDR 表示法创建 VPC 和 Public 子网时,AWS 指示我有 n^2 - 4(其中 n 是位数)个可用 IP 地址?这是为什么?

我了解到,当出现n^2 -2时,通常是为了去除位全0或全1的情况。但我不确定为什么是 - 在这种情况下是 4。

这里的 /28 表示有 11 个 IP 地址可用,而我预期为 15 或 13,而 251 当我预期为 255 或 253

Important

AWS reserves both the first four IP addresses and the last IP address in each subnet CIDR block; they're not available for you to use. For example, in a subnet with CIDR block 10.0.0.0/24, the following IP addresses are reserved: 10.0.0.0, 10.0.0.1, 10.0.0.2, 10.0.0.3, and 10.0.0.255.

— http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html

除了网络和广播地址之外,还有一个自动配置的默认网关,以及用于交付由每个子网中的 VPC 基础设施自动提供的服务的 IP 地址(如 DNS 解析器和 DHCP)。这些对您来说在很大程度上是透明的,但这就是地址的去向以及它们不可用于分配给子网中的实例的原因。

您无法使用每个子网 CIDR 块中的前四个 IP 地址和最后一个 IP 地址 使用,不能分配给实例。例如,在 CIDR 块为 10.0.0.0/24 的子网中,保留以下五个 IP 地址:

• 10.0.0.0: Network address.

• 10.0.0.1: Reserved by AWS for the VPC router.

• 10.0.0.2: Reserved by AWS for mapping to the Amazon-provided DNS.

• 10.0.0.3: Reserved by AWS for future use.

• 10.0.0.255: Network broadcast address.

由于AWS不支持在VPC中广播,所以他们保留了这个地址。

现在您知道了保留的 IP 地址是什么,您可能想知道如何计算给定 VPC[=] 的可用 IP 地址的总数 23=] CIDR 块?

使用公式计算一个正常的 CIDR 块然后减去 5,因为 AWS 使用前 4 个和最后一个地址。

  1. 掩码数减去32
  2. 将数字 2 提高到步骤 #1 中答案的次方。
  3. 减去 5,因为 AWS 使用了其中的 5 个。

示例:给定网络掩码 /27

Step 1) 32 - 27 = 5
Step 2)  2^5 = 32
Step 3)  32 - 5 = 27  Because VPC uses 5 addresses