我已经阅读了许多有关VPC,CIDR和子网的文章和帖子,但是我仍然觉得其中的解释令人困惑。
许多解释都无法避免使用领域知识或技术术语。
对于获得基本编程,二进制程序等知识的人,还有更基本的解释吗?
我想知道在AWS VPC的背景下。
答案 0 :(得分:0)
CIDR如何表示IP地址范围?
以IP地址开头:
xx.xx.xx.xx
这实际上代表四个8位数字。
每个点之间都有一个点。
由于它们是8位数字,因此可以是0到255(十进制)。
它们经常显示为xx.xx.xx.xx
,因为这是指它们是四个8位数字,以hexadecimal(基数16)格式显示。 {'1}}(十进制)以“十六进制”格式表示为255
因此,数字范围从FF
到00.00.00.00
-以十六进制表示
或以FF.FF.FF.FF
到0.0.0.0
十进制
出于考虑要表示多少个IP“地址”(即多少个单个IP地址)的目的,您可以执行255 * 255 * 255 * 255(即4228250625)。因为使用了四个8位数字,所以将它们相乘产生那个数字。是2 * 32。您会注意到32是8 + 8 + 8 + 8,这就是255.255.255.255
好的,现在就到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
,这表示xx.xx.xx.xx
到10.0.0.0
的范围,即10.0.0.255
数字。
那行得通吗? !
好吧,首先我们给出的可能是范围的起始地址-255
,尽管实际上有点误导,因为CIDR编号会影响它。
因此,让我们一步一步走。
这可能是最难理解也是最基本的知识。
因此取“ 24”。这意味着(方便使用24!),您认为第一 24位,即10.0.0.1
是固定的(请参见bitmask)。 xx.xx.xx.xx的最后8位只能更改,即您有一个范围,范围是从10.0.0
到10.0.0.0
这是最初最令人惊讶的事实之一:
10.0.0.255
,/28
等。更小可用的IP地址范围!!! 这是因为/30
CIDR号指的是固定的位数,固定的位数越多,可以更改的位数就越小,从而产生一个范围,因此< em>较小范围。这就是为什么/ 32没有范围的原因,因为您说的是所有4 xx.xx.xx.xx个数字(8 + 8 + 8 + 8 = 32)都是固定的。而对于10.0.0.1/24,您可以使用/nn
到10.0.0.0
,因为24表示前三个数字(同样是8 + 8 + 8位=前三个数字)是固定的),只有最后8位(即10.0.0.255
中的'zz
')可以在此范围内更改。再举一个例子:10.0.0.0/16(因此前两个8位数字是固定的)表示从10.0.0.0到10.0.255.255。
因为此行为是由于网络掩码xx.aa.bb.zz
引起的,如果您提供了10.0.0.0/24
,{{1},则产生10.0.0.0
到10.0.0.255
的范围将产生相同的结果}或10.0.0.0/24
请访问https://ipaddressguide.com/cidr
的在线转换器使用aws会给您10.0.0.0/16作为您的VPC,这意味着“ 10.0”部分将保持不变。因此,这意味着如果您要在其中的子网中需要较小的内容,例如10.0.0.73/24
或10.0.99.17/24
,那么您将可以拥有多个子网。
接下来可能有点出乎意料的是,在VPC子网内不得重叠。但是,您可以使用该范围的多个VPC。第二部分进行一些解释:
共有三个IP范围被设为PRIVATE,因此它们永远不会“公开”使用。这些使每个网络都可以将其用作“内部”地址。他们是也许很熟悉的
10.0.0.0/24
因此,当您获得一个使用10.0.0.0/16范围的VPC时,您将在“ a”网络中获得一个专用网络。就好像您是在家中使用单个网络的“一个”用户一样。您可以创建另一个VPC因为它使用了另一个网络(例如,您家中有第二个路由器),并且在该网络上10.0.0.0./16可用。
当前,每个区域的默认限制为5个VPC。 。由于每个VPC使用专用子网范围,因此对于不同的子网来说它们实际上可以相同,也可以不同,但是,如果您希望VPC能够相互通信(使用VPC对等),这将是一个问题,因为这样做时子网不能重叠(否则路由器将不知道要为两个地址中都存在的给定地址选择哪个子网)。
任何其他更正我很高兴加入维基风格。我不是在捍卫自己的知识,只是在试图分享我认为我所知道的东西,并帮助其他人理解这个令人困惑的概念!
这是您在aws中执行的操作: