什么是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. BZOJ 1975 k短路 A*

    思路: 直接上A* //By SiriusRen #include <queue> #include <cstdio> #include <cstring> #in ...

  2. POJ 1659 Havel-Hakimi定理

    关于题意和Havel-Hakimi定理,可以看看http://blog.csdn.net/wangjian8006/article/details/7974845 讲得挺好的. 我就直接粘过来了 [ ...

  3. ACM_城市交通线(简单并查集)

    城市交通线 Time Limit: 2000/1000ms (Java/Others) Problem Description: A国有n座城市,编号为1~n,这n个城市之间没有任何交通线路,所以不同 ...

  4. Asp.net MVC访问框架页中嵌套的iframe页面时,如果session或cookie过期,登录验证超时怎样自动跳转到登录页

    一般登录验证的过滤器中,使用验证过滤器的Redirect方法,将请求重定向到指定的URL.但是如果我们要访问的页面是一个嵌套在框架页中的iframe页面时,这种重定向只会对iframe页面凑效,也就是 ...

  5. Jquery 获取父页面下指定iframe里的指定元素

    var div1=$("#iframe1",window.parent.document).contents().find("#div1");

  6. 浅谈Websocket、Ajax轮询和长轮询(long polling)

    浅谈Websocket.Ajax轮询和长轮询(long p0ll) 最近看到了一些介绍Websocket的文章,觉得挺有用,所以在这里将自己的对其三者的理解记录一下. 1.什么是Websocket W ...

  7. angular js 正序倒叙

      <!DOCTYPE html>   <html lang="en">   <head>   <meta charset="U ...

  8. 3A课程笔记分享_StudyJams_2017

    课程3A-面向对象编程(上) 概述 面向对象的思想在当今的软件开发中占据着主导地位. Java是一门完全面向对象的语言,是一种天然的分布式互联网软件的开发语言,在当今企业级应用中占据绝对领先地位,也是 ...

  9. for 循环 乘法口诀表

    用for循环写乘法口诀表: for(var i = 1; i <= 9; i++) { var c=''; for(var x = 1; x <= i; x++) {    c=c+x+' ...

  10. CNN结构:SPP-Net为CNNs添加空间尺度卷积-神经元层

    前几个CNN检测的框架要求网络的图像输入为固定长宽,而SPP-Net在CNN结构中添加了一个实现图像金字塔功能的卷积层SPP层,用于在网络中实现多尺度卷积,由此对应多尺度输入,以此应对图像的缩放变换和 ...