VPC网络
VPC网络
overlay vs underlay
基于某个通信网络之上构建出的另一个逻辑通信网络即为overlay或underlay网络。
下图为overlay网络功能示意图
隧道转发的本质是将容器双方的通信报文分别封装成各自宿主机之间的报文,借助宿主机的网络“隧道”完成数据交换。这种虚拟网络的基本要求是各宿主机只需支持隧道协议即可,对于底层网络没有特殊要求。
VXLAN协议是目前最流行的Overlay网络隧道协议之一,它也是由IETF定义的NVO3(Network Virtualization over Layer 3)标准技术之一,采用L2 over L4(MAC-in-UDP)的报文封装模式,将二层报文用三层协议进行封装,可实现二层网络在三层范围内进行扩展,将“二层域”突破规模限制形成“大二层域”。
Overlay 网络是建立在另一个计算机网络之上的虚拟网络,所以它不能独立出现,Overlay 底层依赖的网络就是 Underlay 网络,这两个概念也经常成对出现。
Underlay 网络是专门用来承载用户 IP 流量的基础架构层,它与 Overlay 网络之间的关系有点类似物理机和虚拟机。Underlay 网络和物理机都是真正存在的实体,它们分别对应着真实存在的网络设备和计算设备,而 Overlay 网络和虚拟机都是依托在下层实体使用软件虚拟出来的层级。
Underlay网络就是传统IT基础设施网络,由交换机和路由器等设备组成,借助以太网协议、路由协议和VLAN协议等驱动,它还是Overlay网络的底层网络,为Overlay网络提供数据通信服务。
VPC vs VPN
专有网络(VPC)与VPN二者属于不同的范畴,专有网络(VPC)是一个二层隔离的网络环境,VPN则是一种远程访问技术,利用公网架设专用网络。
VPC是公有云上自定义的逻辑隔离网络空间,是一块可我们自定义的网络空间。VPC主要是一个网络层面的功能,其目的是让我们可以在云平台构建出一个隔离的、自己能够管理配置和策略的虚拟网络环境。我们可以在VPC环境中管理自己的子网结构,IP地址范围和分配方式,网络的路由策略等。
VPC是地域级别的资源,是不能跨地域部署的。可用区是指同一个地域内,电力和网络互相独立的物理区域,在同一地域内可用区与可用区之间内网互通。每个VPC包含的云产品实例不能分布在不同的地域,可以分布在同一地域的不同可用区。
VPC翻译过来是虚拟私有云,但也叫私有网络,专有网络。从服务和技术角度来划分,它既是一种云也是一种网络。
-
虚拟私有云
VPC是这么一种云,它由公有云管理,运行在公共资源上,但是保证每个用户之间的资源是隔离,用户在使用的时候不受其他用户的影响,感觉像是在使用自己的私有云一样。用户可以在公有云上创建一个或者多个VPC,每个部门一个VPC。对于需要连通的部门创建VPC连接。
同时,用户也可以通过VPN将自己内部的数据中心与公有云上的VPC连接,构成混合云。
-
专有网络
从技术角度来看,VPC是用户专属的一个二层网络。经典网络和VPC他们之间最核心的区别是:经典网络提供的是多用户共享的网络,而VPC提供的是用户专属的网络。经典网络模型本身有很多问题,二层网络内的所有设备默认是可以通信的。这就好比大家都挤在一个房间里,彼此的隐私很难保障一样。稍有不慎,云主机就可能被同网络的其他用户恶意攻击。而VPC能够为每个用户一个专属独立的二层网络。这样相当于给每个用户分了个房间,用户的隐私更容易得到保障。就算有恶意攻击,一般也要走到网关或者VPN设备,在这些集中的设备上,网络流量更可控。
由于每个用户都有专属的二层网络,那说明VPC模式下的可用二层网络的数量是远超经典模式的。虽然各家都没有公布自己的实现细节,但是这里有点类似VXLAN和VLAN的关系。VXLAN可以有1600万个二层网络,VLAN只有4000多个二层网络。如果采用VXLAN之类的技术,则可以保证在一个region里面为1600万个用户每人分到一个二层网络。
不论是对用户还是公有云服务商,VPC都是一个更好的选择。对于用户来说,首先可以任意定义VPC内的IP地址。其次VPC像是一个容器,装载着所有的云主机,同时又与其他的VPC隔离。第三,用户还可以用各种连接服务(VPN,NAT等)将VPC与现有的网络连接起来。这样对用户来说,既保证了网络隔离,又能提供按需的网络连通。对公有云服务商来说,VPC实际上就是SDN在公有云的应用。软件可控,Overlay使得服务商的硬件利用率提高,对硬件厂商的依赖程度降低。在这个基础上,公有云服务商还能够提供更好的网络服务。