zoukankan      html  css  js  c++  java
  • AWS之VPC、Subnet与CIDR

    什么是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。

  • 相关阅读:
    基于红帽5裁剪一个简单的Linux
    Linux系统初始化流程
    bash学习记录
    ubuntu 上安装MySQL
    Effective Modern C++ 条款4:掌握查看型别推导结果的方法
    Effective Modern C++ 条款3:理解decltype
    ubuntu 环境下向GitHub上传(push)每次都需要用户名密码问题
    Effective Modern C++ 条款2:理解auto型别推导
    Effective Modern C++  条款1:理解模板型别推导
    ubuntu16.04环境编译gSOAP
  • 原文地址:https://www.cnblogs.com/blfbuaa/p/6893113.html
Copyright © 2011-2022 走看看