美文网首页
AWS - 子网划分策略

AWS - 子网划分策略

作者: 水雨田 | 来源:发表于2019-03-30 23:03 被阅读0次

IPV4地址分类

传统的IP地址分类将IP地址分为了A类,B类,C类,D类和E类。其中A类,B类和C类是正常使用的,而D类用来做组播,E类是保留使用的。

     ---------      -----      -----      -----
A类 | 0******* | . | Host | . | Host | . | Host |
     ---------      -----      -----      -----
0 ~ 126

127 (01111111) 是一个A类地址,是给loopback testing保留的,不能在network中使用。

     ---------      --------      -----      -----
B类 | 10****** | . | NetWork | . | Host | . | Host |
     ---------      --------      -----      -----
128 ~ 191

     ---------      --------      --------      -----
C类 | 110***** | . | NetWork | . | NetWork | . | Host |
     ---------      --------      --------      -----
192 ~ 223    
     

私有IP地址

一般来说内网都用private ip address,而外网都用public ip address。

Class Private Address Range
A 10.0.0.0 ~ 10.255.255.255
B 172.16.0.0 ~ 172.31.255.255
C 192.168.0.0 ~ 192.168.255.255

VPC

Amazon Virtual Private Cloud (Amazon VPC) 是AWS云中的自定义虚拟私有网络, 它在逻辑上与 AWS 云中的其他虚拟网络隔绝。VPC与你在数据中心中运行的传统网络极其相似,你可以在你定义的VPC内启动 AWS 资源。

当创建一个VPC时,我们需要指定它的VPC CIDR。我们创建的是私有网络,所以我们VPC CIDR可以从私有地址里任意选择。但是如果我们是在设计一个大的组织的网络,那么就需要按需分配你的VPC CIDR,这是因为在大型组织里,我们经常会遇到两个VPC需要不经过共有网络实现互联,这需要两个VPC CIDR没有冲突。

假设,我们现在有一个A类子网地址:10.0.0.0/16,这个地址前16位是网络部分,后16位是主机部分。如果我们不继续对这个子网进行子网划分的话那么这个网络可以容纳216-2(65534)台主机。为了便于网络管理减少IP地址浪费减少网络广播风暴,我们需要继续进行子网划分。

让我们进入真实的项目情景中。通常情况下一个项目会用3个部署环境:

  • Dev(开发环境)
  • Staging(类生产环境)
  • Production(生产环境)

如果我们的服务需要支持Production环境Region级别的High Availability(高可用性),比如需要同时部署在Tokyo Region和Singapore Region以提供高可用性,那么Production环境就包含了Tokyo和Singapore两Region。为了实现环境之间的隔离,我们每个独立的环境都会创建独立的VPC,对这个项目来说,我们需要创建4个VPC:

  • Dev Singapore(开发环境)
  • Staging Singapore(类生产环境)
  • Production Tokyo(生产环境)
  • Production Singapore(生产环境)

VPC Subnet

VPC Subnet就是对VPC网络子网划分后的子网,我们可以在指定的VPC Subnet内启动AWS 资源。每个子网必须完全位于一个可用区内,并且不能跨越区域

通常,在一个VPC中我们会创建3种类型的VPC Subnet:

  • Public Subnet
  • NAT Subnet
  • Private Subnet

为了提供High Availability(高可用性),通常我们会把服务部署在多个Availability Zones(可用区)上。

比如,我们现在需要将服务部署在Singapore Region的可用区ap-southeast-1aap-southeast-1b,那么我们的Subnet会是:

  +-------------------------VPC--------------------------+
  |                                                      |
+----+ap-southeast-1a+----+      +----+ap-southeast-1b+----+
| |                       |      |                       | |
| | +-----------------+   |      |   +-----------------+ | |
| | | Public Subnet A |   |      |   | Public Subnet B | | |
| | +-----------------+   |      |   +-----------------+ | |
| |                       |      |                       | |
| |                       |      |                       | |
| | +-----------------+   |      |   +-----------------+ | |
| | | Nat Subnet A    |   |      |   | Nat Subnet B    | | |
| | +-----------------+   |      |   +-----------------+ | |
| |                       |      |                       | |
| |                       |      |                       | |
| | +-----------------+   |      |   +-----------------+ | |
| | | Private Subnet A|   |      |   | Private Subnet B| | |
| | +-----------------+   |      |   +-----------------+ | |
| |                       |      |                       | |
+-------------------------+      +-------------------------+
  |                                                      |
  +------------------------------------------------------+

而将服务部署在Tokyo Region的可用区ap-northeast-1aap-northeast-1c,那么我们的Subnet会是:

  +-------------------------VPC--------------------------+
  |                                                      |
+----+ap-northeast-1a+----+      +----+ap-northeast-1c+----+
| |                       |      |                       | |
| | +-----------------+   |      |   +-----------------+ | |
| | | Public Subnet A |   |      |   | Public Subnet B | | |
| | +-----------------+   |      |   +-----------------+ | |
| |                       |      |                       | |
| |                       |      |                       | |
| | +-----------------+   |      |   +-----------------+ | |
| | | Nat Subnet A    |   |      |   | Nat Subnet B    | | |
| | +-----------------+   |      |   +-----------------+ | |
| |                       |      |                       | |
| |                       |      |                       | |
| | +-----------------+   |      |   +-----------------+ | |
| | | Private Subnet A|   |      |   | Private Subnet B| | |
| | +-----------------+   |      |   +-----------------+ | |
| |                       |      |                       | |
+-------------------------+      +-------------------------+
  |                                                      |
  +------------------------------------------------------+

现在我们来列一下我们一共要创建多少Subent:

Dev Singapore VPC:

  • Public Subnet A
  • Public Subnet B
  • NAT Subnet A
  • NAT Subnet B
  • Private Subnet A
  • Private Subnet B

Staging Singapore VPC:

  • Public Subnet A
  • Public Subnet B
  • NAT Subnet A
  • NAT Subnet B
  • Private Subnet A
  • Private Subnet B

Production Singapore VPC:

  • Public Subnet A
  • Public Subnet B
  • NAT Subnet A
  • NAT Subnet B
  • Private Subnet A
  • Private Subnet B

Production Tokyo VPC:

  • Public Subnet A
  • Public Subnet C
  • NAT Subnet A
  • NAT Subnet C
  • Private Subnet A
  • Private Subnet C

我们现在已经知道,我们需要创建4个VPC,24个VPC Subnet。那么我们要直接将10.0.0.0/16划分为四个子网(VPC),然后再对四个子网继续划分子网(VPC Subnet)吗?回答这个问题之前,我们先想一下如果现在就将其划分为四个子网,那么以后我们有其他的环境要创建怎么办?

最好的办法就是按需划分网络,为了按需划分网络我们得提前预估网络需要容纳多少台主机。

如果我们的每个VPC Subnet网络需要容纳100台主机。通过计算:27 - 5 = 123 > 100,我们得知主机位需要7位就可以满足我们需求。主机部分7位,则网络部分25位。

至于什么要减5:

The first four IP addresses and the last IP address in each subnet CIDR block are not available for you to use, and cannot be assigned to an instance. For example, in a subnet with CIDR block 10.0.0.0/24, the following five IP addresses are reserved:

  • 10.0.0.0: Network address.

  • 10.0.0.1: Reserved by AWS for the VPC router.

  • 10.0.0.2: Reserved by AWS. The IP address of the DNS server is always the base of the VPC network range plus two; however, we also reserve the base of each subnet range plus two. For VPCs with multiple CIDR blocks, the IP address of the DNS server is located in the primary CIDR. For more information, see Amazon DNS Server.

  • 10.0.0.3: Reserved by AWS for future use.

  • 10.0.0.255: Network broadcast address. We do not support broadcast in a VPC, therefore we reserve this address.

VPC CIDR 划分

由于每个VPC是由6个VPC Subnet组成,通过计算:23 = 8 > 6,所以VPC CIDR网络部分需25 - 3 = 22位,主机部分10位:

VPC CIDR 网络部分 主机部分
Dev VPC 00001010 00000000 000000 00 00000000
Staging VPC 00001010 00000000 000001 00 00000000
Production Singpore VPC 00001010 00000000 000010 00 00000000
Production Tokyo VPC 00001010 00000000 000011 00 00000000

我们将10.0.0.0/16划分成了26 = 64个/22的子网,而我们只使用了其中的4个/22的子网。

VPC Subnet CIDR 划分

Dev VPC Subnet CIDR

现在我们再来将Dev环境VPC CIDR10.0.0.0/22划分成VPC Subnet CIDR:

VPC Subnet 网络部分 主机部分
Public Subnet A 00001010 00000000 00000000 0 0000000
Public Subnet B 00001010 00000000 00000000 1 0000000
NAT Subnet A 00001010 00000000 00000001 0 0000000
NAT Subnet B 00001010 00000000 00000001 1 0000000
Private Subnet A 00001010 00000000 00000010 0 0000000
Private Subnet B 00001010 00000000 00000010 1 0000000
未使用 00001010 00000000 00000011 0 0000000
未使用 00001010 00000000 00000011 1 0000000

转换成VPC Subnet CIDR:

VPC Subnet VPC Subnet CIDR
Public Subnet A 10.0.0.0/25
Public Subnet B 10.0.0.128/25
NAT Subnet A 10.0.1.0/25
NAT Subnet B 10.0.1.128/25
Private Subnet A 10.0.2.0/25
Private Subnet B 10.0.2.128/25
Staging VPC Subnet CIDR

现在我们再来将Staging环境VPC CIDR10.0.4.0/22划分成VPC Subnet CIDR:

VPC Subnet 网络部分 主机部分
Public Subnet A 00001010 00000000 00000100 0 0000000
Public Subnet B 00001010 00000000 00000100 1 0000000
NAT Subnet A 00001010 00000000 00000101 0 0000000
NAT Subnet B 00001010 00000000 00000101 1 0000000
Private Subnet A 00001010 00000000 00000110 0 0000000
Private Subnet B 00001010 00000000 00000110 1 0000000
未使用 00001010 00000000 00000111 0 0000000
未使用 00001010 00000000 00000111 1 0000000

转换成VPC Subnet CIDR:

VPC Subnet VPC Subnet CIDR
Public Subnet A 10.0.4.0/25
Public Subnet B 10.0.4.128/25
NAT Subnet A 10.0.5.0/25
NAT Subnet B 10.0.5.128/25
Private Subnet A 10.0.6.0/25
Private Subnet B 10.0.6.128/25
Production Singapore VPC Subnet CIDR

现在我们再来将Production Singapore环境VPC CIDR10.0.8.0/22划分成VPC Subnet CIDR:

VPC Subnet 网络部分 主机部分
Public Subnet A 00001010 00000000 00001000 0 0000000
Public Subnet B 00001010 00000000 00001000 1 0000000
NAT Subnet A 00001010 00000000 00001001 0 0000000
NAT Subnet B 00001010 00000000 00001001 1 0000000
Private Subnet A 00001010 00000000 00001010 0 0000000
Private Subnet B 00001010 00000000 00001010 1 0000000
未使用 00001010 00000000 00001011 0 0000000
未使用 00001010 00000000 00001011 1 0000000

转换成VPC Subnet CIDR:

VPC Subnet VPC Subnet CIDR
Public Subnet A 10.0.8.0/25
Public Subnet B 10.0.8.128/25
NAT Subnet A 10.0.9.0/25
NAT Subnet B 10.0.9.128/25
Private Subnet A 10.0.10.0/25
Private Subnet B 10.0.10.128/25
Production Tokyo VPC Subnet CIDR

现在我们再来将Production Tokyo环境VPC CIDR10.0.12.0/22划分成VPC Subnet CIDR:

VPC Subnet 网络部分 主机部分
Public Subnet A 00001010 00000000 00001100 0 0000000
Public Subnet C 00001010 00000000 00001100 1 0000000
NAT Subnet A 00001010 00000000 00001101 0 0000000
NAT Subnet C 00001010 00000000 00001101 1 0000000
Private Subnet A 00001010 00000000 00001110 0 0000000
Private Subnet C 00001010 00000000 00001110 1 0000000
未使用 00001010 00000000 00001111 0 0000000
未使用 00001010 00000000 00001111 1 0000000

转换成VPC Subnet CIDR:

VPC Subnet VPC Subnet CIDR
Public Subnet A 10.0.12.0/25
Public Subnet B 10.0.12.128/25
NAT Subnet A 10.0.13.0/25
NAT Subnet B 10.0.13.128/25
Private Subnet A 10.0.14.0/25
Private Subnet B 10.0.14.128/25

相关文章

  • AWS - 子网划分策略

    IPV4地址分类 传统的IP地址分类将IP地址分为了A类,B类,C类,D类和E类。其中A类,B类和C类是正常使用的...

  • IP地址和子网划分学习笔记之《子网划分详解》

    转载自:IP地址和子网划分学习笔记之《子网划分详解》 一、 子网划分概述 1、为什么要划分子网? IPv4地址如果...

  • 子网划分

  • 子网划分

    为什么要子网划分? 在设计网络时使用有类IP地址会造成地址浪费 IP地址空间只能按照默认的类别使用,例如一个B类地...

  • 子网划分

    一、子网掩码 子网掩码是一种用来指明一个 IP 地址的哪些标识是主机所在的子网,以及哪些位标识的是主机的位掩码。 ...

  • 子网划分

    近期经常涉及到子网掩码和子网划分,因此写着这个关于子网划分教程,欢迎一起学习。 一、为什么要用子网掩码? 在使用T...

  • 子网划分

    子网划分IPV4地址:32位二进制构成 点分十进制标识存在网络位和主机位;同一广播域内所有设备具有相同的网络位,...

  • 子网划分

    借用主机位作子网位,划分出多个子网 可分为:等长子网划分:将一个网段等分成多个子网,每个子网的可用IP地址数量是一...

  • 子网划分

    需要划分m个子网,就借n个主机位为网络位(2^n=m)。每个子网有2(8-n)个地址,每个子网可用ip为2(8-n...

  • 子网与子网划分

    子网出现的背景及原因 因特网规模的急剧增长,对IP地址的需求激增,带来的问题是:IP地址资源的严重匮乏,路由表规模...

网友评论

      本文标题:AWS - 子网划分策略

      本文链接:https://www.haomeiwen.com/subject/rlhhbqtx.html