AWS之VPC、Subnet与CIDR

原创 2015年07月10日 11:13:30

什么是CIDR?

CIDR是英文Classless Inter-Domain Routing的缩写,中文是无类别域间路由,是一个在Internet上创建附加地址的方法,这些地址提供给服务提供商(ISP),

再由ISP分配给客户。CIDR将路由集中起来,使一个IP地址代表主要骨干提供商服务的几千个IP地址,从而减轻Internet路由器的负担。


为什么要选择CIDR,CIDR?

主要有如下两个作用:

1:就如之前介绍的CIDR可以减轻Internet路由器的负担

2:CIDR可以提高IP地址的利用率

再来介绍一下CIDR是如何实现以上两个功能的。


CIDR的一个最主要的动作就是路由聚合(route aggregation),通过该动作可以实现如上两个功能,接下来举例介绍CIDR是如何通过路由聚合实现这两个功能的。


一:CIDR功能之减轻Internet路由器的负担

假设我们有如下4个C类IP地址

1: 192.168.0.8  / 255.255.255.0 /11000000.10101000.00000000.00000000

2: 192.168.1.9  / 255.255.255.0 /11000000.10101000.00000001.00000000

3: 192.168.2.10 / 255.255.255.0 /11000000.10101000.00000010.00000000

4: 192.168.3.11 / 255.255.255.0 /11000000.10101000.00000011.00000000


可以看到以上4个IP地址的网络地址都不尽相同,所以在的路由表上面需要配置对应的4条路由到达相应的网络。


接下来做路由聚合,可以看到以上4个IP地址的二进制地址的前22位都是相同的,所以可以聚合成一个网络地址,这个网络地址的CIDR表达格式为192.164.0.0/22,该地址的解释为,这个网络的地址为192.164.0.0,且前22位为网络地址,后10位为主机地址。

因此现在可以将之前的4个C类地址配到这个网络下面,如此一来在路由器上面只需要配置一条路由到达192.164.0.0/22网络就可以了,从而达到减少路由器负担的目的。


二:CIDR功能之提高IP地址的利用率

假设我们建立一个局域网,这个局域网初步规划将会有500个主机,因此需要500个IP地址,500个IP地址就需要这个地址是个B类地址,这个B类地址格式如下

192.168.0.0 / 255.255.0.0 /11000000.10101000.00000000.00000000


这个B类地址拥有256*256=65536个主机地址,但是只需要500个主机地址,因此造成了IP地址浪费,接下来来做路由聚合,只需要500个主机地址,因此需要后9位为主机地址

后9位为主机地址意味着将会有512个主机地址,如此一来地址浪费将大大缩小,地址的利用率将大幅提高,聚合后的网络地址如下:

192.168.254.0/23 (192.168.254.0 / 255.255.254.0 /11000000.10101000.11111110.00000000)


在AWS的VPC和Subnet上如何应用CIDR?


在AWS上我们需要先创建一个VPC(Virtual Private Cloud)虚拟私有云,我们需要为这个云指定一个CIDR地址,然后向这个云中加入subnet并为每个subnet指定CIDR地址,最后我们向subnet添加主机,AWS

会根据subnet的CIDR所拥有的主机地址自动分配主机地址给主机,接下来举例说明该过程:

先创建一个VPC,该VPC的CIDR地址如下

default-vpc , 172.31.0.0/16 ,10101100.00011111.00000000.00000000

接下来可以向这个VPC里面添加如下subnet

default-subnet , 172.31.0.0/20  , 10101100.00011111.00000000.00000000

public-subnet  , 172.31.24.0/21 , 10101100.00011111.00011000.00000000

private-subnet , 172.31.16.0/21  ,10101100.00011111.00010000.00000000


从以上的二进制地址可以看出来所有subnet和VPC的网络地址的交集为10101100.00011111,即前16位相同 ,这正好为VPC的网络地址,因此可以顺利的将这3个subnet加入到VPC

接下来可以尝试着将如下一个subnet加入到VPC看是否能够成功

test-subnet , 172.31.0.0/21 ,10101100.00011111.00000000.00000000


这个地址是不可以加入到VPC的,其原因为test-subnet的21位网络地址与default-subnet的20位网络地址是重叠的,因此加入失败。


由此可以总结出AWS上配置VPC和subnet的规则即:所有subnet的网络是指必须是VPC网络地址的子集且不能与其他Subnet的网络地址重叠,这样一来就可以为VPC指定一条路由就可以到达VPC里面的所有Subnet。

相关文章推荐

一说就懂的AWS VPC亚马逊虚拟私有云

亚马逊VPC服务,虚拟私有云(Virtual Private Cloud),是把公有云上的云服务资源用网络隔离的方法模拟以用户为个体的云服务私有化服务,亚马逊官网上对其有如下定义: 简单来说...

亚马逊AWS学习——EC2的自定义VPC配置

EC2即亚马逊AWS云服务中的虚拟主机。创建EC2实例时如果使用的默认VPC并分配了公有IP是可以上网的。但我们经常需要自定义的网络环境,这时就需要自己定义VPC和子网了。...

Subnet分割[CIDR & VLSM

  • 2013年09月07日 19:21
  • 963KB
  • 下载

aws - The parameter groupName cannot be used with the parameter subnet

如果在aws的某一个zone里面,删掉默认的vpc,然后自己新建,那么当使用脚本去,例如boto,创建instance以及security groups的时候,会遇到:...

AWS VPC用户手册

  • 2015年04月06日 14:17
  • 3.32MB
  • 下载

【总结】学习AWS的VPC并通过快速上手实验室动手实操

AWS的VPC是云计算中网络运维的基石,是SDN能力的体现 VPC是一整套模拟传统网络运维的工具,包括: 子网 DHCP 防火墙(安全组) 路由表(NACL) DNS 网关 VPN等众多功能...
  • QXK2001
  • QXK2001
  • 2016年05月20日 22:04
  • 13046

亚马逊AWS学习——VPC里面几个概念的关系

VPC中涉及几个概念: VPC 子网 路由表 Internet网关 安全组 今天来讲讲这几个概念之间的关系。...

中国各省IP地址库CIDR格式

  • 2017年05月26日 13:38
  • 1.06MB
  • 下载

Linux 的dhcp启动异常之No subnet declaration for eth1 (192.168.48.134)

Linux 的dhcp启动异常之No subnet declaration for eth1 (192.168.48.134)

IP/Subnet Calculator Lib

 Introduction I created an IP/subnetting library using Java a long time ago, and the reason why ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:AWS之VPC、Subnet与CIDR
举报原因:
原因补充:

(最多只允许输入30个字)