虚拟私有云VPC(Virtual Private Cloud)

大家购买云主机,无论是国内的阿里云还是亚马逊、谷歌的云的主机,在购买创建主机过程中都会碰到一个概念:VPC。那VPC是什么,创建主机时为何要配置VPC?

VPC的全称是 Virtual Private Cloud,中文有的叫专有网络,有的叫私有网络,核心就是能让你购买的一台或多台机器(或其它资源),能划分到一个私网中,与其它用户隔离,也可以把自己的多台资源的机器隔离(如果你需要的话)。VPC是随着云计算而产生的一种技术,是为了解决传统网络在云环境中无法满足的功能、安全性、灵活性而生的。

VPC的由来

一般的网络,比如我们的家用网络,会在路由器中配置网络地址段,如常见的192.168..,或10.*.*.*。在有电脑或手机接入路由器时,路由器会给这些设备分配一个网段内的 IP 地址,这些设备均在这个网段(子网)中,我们家里的设备之间就可以互相通信,电脑可以看NAS中的照片,手机可以投屏到电视机。

如果在机房呢?服务器接在交换机下,交换机上面再接路由器。在同一个路由器中的服务器可以相互通信了。如果要隔离,如同一个路由器下不同用户的服务器要隔离,或同一用户不同业务的服务器要相互隔离,则可以给每个要隔离的服务器创建vlan,使同一个vlan中的服务器可以相互通信,而归属不同vlan的服务器之间相互隔离,无法通信。

而在云计算环境中呢?普通的vlan无法满足云计算的需求。

  • vlan有数量限制,只能创建4000个。
    而云计算的体量大,用户数远超4000个,并且部分用户只有一两台主机,数量限制更加捉襟见肘;
  • vlan配置复杂,不灵活。
  • 受限于物理网络,无法跨地理位置。如在A机房中的服务器和要B机房中的db服务器是同一个业务,需要分到同一个网络中,vlan也是不能办到的。

为此,云计算的领先厂商亚马逊在2010年首先使用了VPC的技术(当然当时名字不叫VPC)。现在的VPC基本都是基于 overlay 技术,在三层网络之上构建二层网络来实现的。

VPC

以华为云为例:

192.168.0.0/16 的意义:

ipv4 是 32 位的, 192.168.0.0 转化为 32 位的二进制地址即是: 11000000 10101000 00000000 00000000 ,/16 代表其 32 位的前 16 位是固定的,只能改变( 32-16=) 16 位地址,则 ip 范围是:
11000000 10101000 00000000 00000000 - 11000000 10101000 11111111 11111111
转化过来就是:
192.168.0.0 - 192.168.255.255
对应的网关是: 255.255.0.0

想快速计算这些东西的话可以搜一下关键词“子网掩码计算器”

192.168.0.0/24 的意义:

192.168.0.0/24这是IP地址的一个规范写法,前面是IP地址,后面跟一个斜杠以及一个数字,这条斜杠及后面的数字称为网络掩码(network mask)。斜杠后面的数字表示有意义的比特位的个数(从左到右)。例如IP地址:255.255.255.255IPv4中最大可能的IP地址,每个数字(255)都是由8个比特位表示的,每个比特位非01,最大值即为11111111,即28=2560-255)。了解了IP地址之后,就很容易理解上述的写法了。比如192.168.0.0/24中的24表示从左到右的24位(也就是前24位)有效,那么剩下的8位可以是任意数值,可以是0-254之间的任一地址(255为广播地址)。同样192.168.0.0/32也很好理解,就是上述IP地址的前32位有效,也就是所有的位都是有效的,即为192.168.0.0

拓扑图

发布于 2020-06-21 17:05