CIDR 范围如何指定其中的 IP 地址?

Mic*_*ant 0 ip bitmask cidr

我已经阅读了许多有关 VPC、CIDR 和子网的文章和帖子,但我仍然发现其中的解释令人困惑。
许多解释都不可避免地避免使用领域知识或技术术语。
对于掌握基本编程、二进制等知识的人来说,是否有更基本的解释?
我想知道 aws VPC 的背景。

Mic*_*ant 5

CIDR 如何表示 IP 地址范围?

从 IP 地址开始:

xx.xx.xx.xx
Run Code Online (Sandbox Code Playgroud)

这实际上代表了4 个 8 位数字
每个之间有一个点。
由于它们是 8 位数字,因此可以是从 0 到 255(十进制)。
它们经常显示为,xx.xx.xx.xx因为这是指它们作为四个 8 位数字,以十六进制(基数 16)格式显示。以“十六进制”格式255(十进制)写为 FF

所以数字范围是从00.00.00.00FF.FF.FF.FF- 十六进制
0.0.0.0255.255.255.255十进制

为了考虑这代表了多少个 IP“地址”,即有多少个单独的 IP 地址,您可以执行 255 * 255 * 255 * 255,即 4228250625。因为您使用了四个 8 位数字,所以您将它们相乘以产生数字。是2*32。你会注意到 32 是 8 + 8 + 8 + 8,这是 4 个 8 位数字xx.xx.xx.xx

好的,现在介绍 CIDR。上述所有 8 位、基数 16 和十六进制/二进制信息都会有用...
所以 CIDR 是 IP 的范围。
例如,您可能需要 10.0.0.0 到 10.0.0.255 的范围,即 255 个 IP。您可以使用上述格式(即 10.0.0.1 到 10.0.0.255)编写此内容,但还有另一种方法可以实现,那就是使用 CIDR - 无类域间路由。我们继续称之为 CIDR。因此,使用 CIDR,您可以使用如下格式引用范围:

10.0.0.0/24

这意味着 的范围10.0.0.010.0.0.255255数字。

那么这有效吗?!

好的,首先我们给出了可能被认为是范围 - 的起始地址10.0.0.1,尽管这实际上有点误导,因为 CIDR 编号会影响它。
那么让我们一点一点地来吧。

“/24”指的是左侧保持固定的位数。

这可能是最难但也是最重要的部分。

所以取“24”。这意味着(方便地使用 24!)您认为24 位,即10.0.0固定的(请参阅bitmask)。只有 xx.xx.xx.xx 的最后 8 位可以更改,即您有一个范围,从10.0.0.010.0.0.255

这是最令人惊讶的事实之一:

CIDR 数字越大,例如、等,可用的 IP 地址范围越小!!!/28/30

这是因为/nnCIDR 编号指的是有多少位被固定,固定的位越多,可以更改产生范围的位就越少,因此范围越小。这就是为什么 /32 没有范围,因为你说所有 4 个 xx.xx.xx.xx 数字 (8 + 8 + 8 + 8 = 32) 都是固定的。而对于 10.0.0.1/24,您可以使用 from10.0.0.010.0.0.255因为 24 表示前三个数字(同样 8 + 8 + 8 位 = 前 3 个数字)是固定的)并且只有最后 8 位,即zz中的 ' 'xx.aa.bb.zz可以更改对于这个范围。再举一个例子:10.0.0.0/16(因此前两个 8 位数字是固定的)表示 10.0.0.0 到 10.0.255.255。

因为此行为是由于网络掩码造成的10.0.0.0/24,如果您提供了网络掩码10.0.0.0,它10.0.0.255会产生相同的结果10.0.0.0/2410.0.0.73/24或者10.0.99.17/24

请访问https://ipaddressguide.com/cidr查看在线转换器

使用 aws,您将获得 10.0.0.0/16 作为您的 VPC,这意味着“10.0”部分将保持固定。因此,这意味着如果您想要一个子网,您需要一个较小的子网,例如10.0.0.0/2410.0.1.0/24可以拥有多个子网。

接下来可能有点出乎意料的是,VPC 内的子网不得重叠。但是,您可以拥有多个使用该范围的 VPC。第二部分需要一些解释:

有三个 IP 范围被保留为私有,因此它们永远不会“公开”使用。这些允许每个网络使用这些地址作为“内部”地址。他们可能是熟悉的

10.0.0.0 to 10.255.255.255
172.16.0.0 to 172.31.255.255
192.168.0.0 to 192.168.255.255
Run Code Online (Sandbox Code Playgroud)

因此,当您获得使用 10.0.0.0/16 范围的 VPC 时,您将在“a”网络内获得一个专用网络。就好像您是家里的“一个”用户使用单个网络一样。您可以创建另一个 VPC,因为它使用另一个网络(例如您家里有第二个路由器),并且该网络 10.0.0.0./16 可用。当前每个区域
的默认限制为 5 个 VPC 。由于每个 VPC 都使用私有子网范围,因此它们实际上可以是对于不同的子网和不同的子网都是相同的,但是如果您希望 VPC 能够相互通信(使用 VPC 对等互连),这将是一个问题,因为这样做时子网不能重叠(否则路由器不知道为两者中都存在的给定地址选择哪个子网)。 在此输入图像描述


任何其他更正我很乐意纳入维基风格。我不是在捍卫我的知识,只是想分享我认为我所知道的并帮助其他人理解这个令人困惑的概念!

在 aws 中执行此操作的方法如下:

在此输入图像描述 在此输入图像描述 在此输入图像描述

没有!你必须避免在 10.0 内 - 现有的公共子集!

在此输入图像描述 在此输入图像描述 在此输入图像描述 在此输入图像描述

结果

在此输入图像描述