什么是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、Subnet与CIDR的更多相关文章

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

    VPC中涉及几个概念: VPC 子网 路由表 Internet网关 安全组 今天来讲讲这几个概念之间的关系. 1. VPC 说的就是VPC,当然VPC范围是最大的,VPC即virtual privat ...

  2. How to create a jump server in AWS VPC

    本来是写的Word文档,给其他国家的同时看的,所以一开始就是英文写的,也没打算翻译成为中文了,顺便抱怨下,网上资料找了很久的资料都没有看到介绍怎么在单机环境下搭建RD Gateway的,写本文的目的是 ...

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

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

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

    转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/47153421 本文出自[我是干勾鱼的博客] 1 网络配置 EC2即亚马逊AWS云 ...

  5. AWS CloudFormation Template

    { "AWSTemplateFormatVersion" : "2010-09-09", "Parameters" : { "Ba ...

  6. 在AWS中创建NAT节点

    NAT, Network Address Translation,即网络地址转换.当内部网络的主机想要访问外网,但是又不想直接暴露给公网,可以通过NAT节点来访问外网.这样做有两个好处,第一是内网的主 ...

  7. aws中的路由表

    参考官方文档: 由表中包含一系列被称为路由的规则,可用于判断网络流量的导向目的地. 在您的 VPC 中的每个子网必须与一个路由表关联:路由表控制子网的路由.一个子网一次只能与一个路由表关联,但您可以将 ...

  8. aws 试题

    /* Domain 1 Design Resilient Architectures 1. Which of the following statements regarding S3 storage ...

  9. 浅谈VPC (转)

    来源于知乎:https://zhuanlan.zhihu.com/p/33658624 VPC全称是Virtual Private Cloud,翻译成中文是虚拟私有云.但是在有些场合也被翻译成私有网络 ...

随机推荐

  1. CentOS7 搭建Kafka(一)zookeeper篇

    CentOS7 搭建Kafka(一)zookeeper篇 近几年当红小生Kafka备受各路英雄好汉追捧,一点不比老前辈RabbitMQ和ActiveMQ差,因为流行,所以你就得学啊:我这么懒,肯定是不 ...

  2. JavaScript特效之图片特效放大,缩小,旋转

    效果图如下: 效果代码如下: <!doctype html> <html lang="en"> <head> <meta charset= ...

  3. SLAM: Orb_SLAM中的ORB特征

    原文链接:什么是ORB 关于Orb特征的获取:参考 最新版的OpenCV中新增加的ORB特征的使用 ORB是是ORiented Brief 的简称,对Brief的特定性质进行了改进. ORB的描述在下 ...

  4. python3:语法变动 及新特性

    python3.0 对python2.x 升级后重大语法变动,幸好留下2.7.6及后续2版本,保持一些语法兼容. 原始地址:http://hi.baidu.com/jxq61/item/3a24883 ...

  5. 利用string 字符串拷贝

    序言:对于laws的代码,完全从Matlab中转来.其中用到了字符串复制和对比的函数. C++要求: 输入字符串,根据字符串,来确定选择数组,用于下一过程 MatLab代码: (1).文件calLaw ...

  6. python sqlalthemy 总结

    orm 数据状态的预知识 瞬时状态:刚创建的对象还没有被Session持久化.缓存中不存在这个对象的数据并且数据库中没有这个对象对应的数据为瞬时状态这个时候是没有OID. 持久状态:对象经过Sessi ...

  7. eas之dep的前置脚本和后置脚本

    dep的前置脚本和后置脚本,什么时候写,是这样解释的:    前置脚本是在方法前执行,后置脚本是在方法后执行    1.比如保存扩展,如果你要在保存前校验某个字段的值,你要在前置脚本中写,如果要保存后 ...

  8. C++ 对象创建的问题

    一.C++对象的创建: 对象创建的注意事项: 1.对象数组里的个数,就是创建对象的个数,普通数组一样:下标从0 到数组里数字 -1: 2.类名*  对象指针   <-->  这里只是一个指 ...

  9. PHP统计当前在线用户数实例

    HTML 我们在页面上放置一个显示当前在线人数的div#total以及一个用于展示访客地区分布的列表#onlinelist,默认我们在列表中放置一张与加载动画图片,后面我们用jQuery控制当鼠标滑向 ...

  10. 阿里云oss用做文件存储工具类

    package com.fsk.fsksystem.util; import java.io.IOException; import java.io.InputStream; import java. ...