gpt4 book ai didi

amazon-vpc - 传递子网的 CIDR block 后出现 'Must be valid Ipv4 CIDR' 错误

转载 作者:行者123 更新时间:2023-12-01 11:14:31 33 4
gpt4 key购买 nike

我在 AWS 上创建了一个 VPC(公共(public)子网和私有(private)子网),IPV4 CIDR block 为 10.0.0.0/26 (即它可以有 2^6 = 64 个 IP 地址以及一个子网地址和一个广播地址)。我想创建以下两个子网,但我得到 Must be valid Ipv4 CIDR错误:

  • 带有 10.0.0.0/28 的公共(public)子网CIDR block 和
  • 带有 10.0.0.8/28 的私有(private)子网CIDR block

  • 如果我将子网掩码设为 /28我想将地址分成两个子网,地址将在 10.0.0.0 [10.0.0.00000000] - 10.0.0.15 [10.0.0.00001111] 范围内.另一方面,如果我将 CIDR block 作为 10.0.0.16/28 ,我没有收到任何错误。为什么 AWS 提供 Must be valid Ipv4 CIDR CIDR block 错误为 10.0.0.8/28 ?

    最佳答案

    /28 有 2^(32-28) = 2^4 = 16 个地址,因此 block 的全零地址的最后一个八位字节必须能被 16 整除(其最低有效位必须为 0 0 0 0) . 8 的 LSB 为 1 0 0 0。

    10.0.0.8/28 是无效的 CIDR block 。 10.0.0.0 到 .15 以 CIDR 表示法表示为 10.0.0.0/28。

    应要求澄清上述被数字 16 整除的重要性:

    并不是地址的数量可以被最后一个 block 整除,而是在 CIDR 表示法 x.x.x.x/n 中,每个 block 的大小始终为 2^(32-n) 个地址,并且 x.x.x.x 必须指定 block 中的第一个地址当您指定一个 block 时。

    将 IPv4 地址 x.x.x.x 转换为二进制,您将得到一个 32 位数字。地址 x.x.x.x 的 (32-n) 最低有效位必须为 0。这是 block 中的第一个 (0th) 地址,也称为“全零”地址,因为未屏蔽位 - 最后的 32- n 位——全为 0。为子网指定 CIDR block 时,这是必须指定的地址。

    在/28 block 的情况下,请注意 - 根据定义 - 任何以二进制表示的数字,其最低有效 32-28 = 4 位为 0 0 0 0 也可被 2^(32-28) = 16 整除,而任何其他数字都不是。

    对于大小为/24 到/32 的 block ,这种数学运算对人类来说更容易,因为您不需要在心理上将整个 x.x.x.x 转换为二进制——您只需要四个八位字节中的最后一个。

    可以从 10.0.0.0/26 的超网派生的唯一可能的/28 子网是:

    10.0.0.0/28    .0 to .15
    10.0.0.16/28 .16 to .31
    10.0.0.32/28 .32 to .47
    10.0.0.48/28 .48 to .63

    关于amazon-vpc - 传递子网的 CIDR block 后出现 'Must be valid Ipv4 CIDR' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54411123/

    33 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com