基于目前主流的隧道技术,专有网络VPC(Virtual Private Cloud)隔离了虚拟网络。每个VPC都有一个独立的隧道号,一个隧道号对应一个虚拟化网络。
虚拟化网络背景信息
随着云计算的不断发展,人们对虚拟化网络的要求越来越高,例如弹性(scalability)、安全性(security)、可靠性(reliability)和私密性(privacy),并且还有较高的互联性能(performance)等需求,因此催生了多种多样的网络虚拟化技术。
比较早的解决方案,是将虚拟机的网络和物理网络融合在一起,形成一个扁平的网络架构,例如大二层网络。随着虚拟化网络规模的扩大,这种方案中的ARP欺骗、广播风暴、主机扫描等问题会越来越严重。为了解决这些问题,出现了各种网络隔离技术,把物理网络和虚拟网络彻底隔开。其中一种技术是用户之间用VLAN进行隔离,但是VLAN的数量最大只能支持4096个,无法支撑巨大的用户量。
专有网络原理描述
基于目前主流的隧道技术,专有网络隔离了虚拟网络。每个VPC都有一个独立的隧道号,一个隧道号对应着一个虚拟化网络。
- 一个VPC内的ECS(Elastic Compute Service)实例之间的传输数据包都会加上隧道封装,带有唯一的隧道号标识,然后通过物理网络进行传输。
- 不同VPC内的ECS实例由于所在的隧道号不同,本身处于两个不同的路由平面,因此不同VPC内的ECS实例无法进行通信,天然地进行了隔离。
基于隧道技术和软件定义网络SDN(Software Defined Network)技术,阿里云在硬件网关和自研交换机设备的基础上推出了VPC产品。
专有网络逻辑架构
如下图所示,VPC包含交换机、网关和控制器三个重要的组件。交换机和网关组成了数据通路的关键路径,控制器使用自研协议下发转发表到网关和交换机,完成了配置通路的关键路径。配置通路和数据通路互相分离。VPC中的交换机是分布式的节点,网关和控制器都是集群部署且多机房互备,所有链路上都具备冗余容灾,提升了VPC的整体可用性。