必威体育Betway必威体育官网
当前位置:首页 > seo技术

VPC的发展历史 VPC与SDN的关系

时间:2020-03-19 11:06:04来源:seo技术作者:seo实验室小编阅读:0次「手机版」
 

   VPC文是一种虚拟私有云。但在某些情况下,它也被翻译成私有网络或专有网络。这实际上有点令人困惑。VPC是指云还是网络?答案是VPC既是云又是网络模型,但应该从服务和技术的角度分别看待它。

 
  VPC的发展历史
 
  经典网络 VS VPC
 
  AWS的网络产品,在VPC之前称为EC2-Classic。去年的一个热点文章《关于阿里云的经典网络问题》说的就是这两种网络模式:Classic和VPC。他们之间最核心的区别是:经典网络提供的是多用户共享的网络,而VPC提供的是用户专属的网络。
 
  这里的网络就是指二层网络,经典网络模型本身有很多问题,其中最大的问题就是安全问题。除非加了特定的防火墙规则去拦截,二层网络内的所有设备默认是可以通信的。这就好比大家都挤在一个房间里,彼此的隐私很难保障一样。稍有不慎,云主机就可能被同网络的其他用户恶意攻击。而VPC能够为每个用户一个专属独立的二层网络。这样相当于给每个用户分了个房间,用户的隐私更容易得到保障。就算有恶意攻击,一般也要走到网关或者VPN设备,在这些集中的设备上,网络流量更可控。
 
  由于每个用户都有专属的二层网络,那说明VPC模式下的可用二层网络的数量是远超经典模式的。虽然各家都没有公布自己的实现细节,但是这里有点类似VXLAN和VLAN的关系。VXLAN可以有1600万个二层网络,VLAN只有4000多个二层网络。公有云与私有云的区别在于用户数量巨大。如果采用VLAN,每个用户一个二层网络,那最多只能带4000多个用户,公有云许多用户还是只有1-2个云主机那种,那必然不能满足公有云的需求,所以在早期的经典网络模式下,不得不让多个用户挤在一个网络里面。而如果采用VXLAN之类的技术,则可以保证在一个region里面为1600万个用户每人分到一个二层网络。
 
  因为VPC是一个用户专属的网络,用户可以任意定义VPC内云主机的IP地址。二层隔离了,IP地址想怎么玩就怎么玩。而在经典网络模式下,大家挤在一个二层网络里面,IP地址首先要保证不要重合,这对用户和服务商来说都不是一件心情愉快的事情。
 
  VPC的网络Overlay
 
  从AWS公布的资料[2] 看,VPC的数据封装与VXLAN这类网络Overlay技术也很像。从下图可以看出,桔色的VPC中,10.0.0.2发往10.0.0.3的网络数据,最终被封装成主机之间的通信报文。
 
  原始的二层帧,被VPC标签封装,之后封装在另一个IP报文里面。这与VXLAN的封装方式可以说是一模一样。不过需要澄清的是,AWS在2010年就已经开始应用VPC,而VXLAN标准是2014年[3]才终稿。AWS的VPC或许和VXLAN不一样,但是按照VXLAN理解VPC的overlay会更容易些。
 
  VPC使用网络Overlay之后,可以构建一个L3之上的L2。这样一个VPC内的虚机,可以任意的在数据中心分布。实际中云主机肯定不是任意分布的,会有一些主机的调度优化算法,但是至少,网络不会成为限制云主机部署的因素。举个反例,如果使用VLAN,虚机必须部署在支持相应VLAN的设备上,哪怕这个设备已经接近饱和,而其他的设备却是空置的。如下图,因为左边的机架不支持相应的网络,对应的云主机只能往右边的机架塞,直到塞满。而同时,左边的机架负载还不到50%。
 
  Overlay使得VPC不再受网络硬件的限制,VPC内的云主机可以部署在整个机房。
 
  VPC与SDN的关系
 
  AWS在2017年提出,VPC是构建在软件(代码)之上,VPC就是SDN[4]。我们前面说过,VPC是一个二层网络,是一个构建在L3之上的L2 Overlay网络。这里说VPC就是SDN,实际上是指,VPC受SDN所控制。AWS的VPC依靠一个叫Mapping Service的组件工作。当虚机之间要通信的时候,请求先发到Mapping Service,再由它找到目的虚机对应的信息(例如目的虚机所在的主机IP地址),Mapping Service用对应的信息,封装成Overlay数据(类似于封装成VXLAN数据),再进行传输。
 
  如果是一个三层通信,传统上是要发到网关,由网关转发到目的虚机。而对于AWS的VPC,Mapping Service同样也会完成三层通信的信息查找,数据封装。这样连路由器都省了。
 
  这里的Mapping Service,与SDN控制器的作用可以说是一样的。SDN控制器掌握了所有的网络信息,当需要进行二层,三层通信时,SDN控制器会根据网络数据包下发OpenFlow流表,使得虚机之间直接通信。
 
  如果说Mapping Service是SDN控制器,那么更具体点,它还是一个分布式SDN控制器,因为每个主机上都有一个Mapping Service的缓存。通过这种分布式,可以实现高速运算处理。
 
  VPC相关的网络资源
 
  VPC虽然指的是专有网络,但是跟网络配套的资源有很多,这些网络资源都是以VPC为单位来划分。也就是说,定义在一个VPC内的网络资源,只能被这个VPC内的虚机所使用。这在前面讲服务的时候提到过。这些资源[5]可以概括如下:
 
  最后
 
  不论是对用户还是公有云服务商,VPC都是一个更好的选择。对于用户来说,首先可以任意定义VPC内的IP地址。其次VPC像是一个容器,装载着所有的云主机,同时又与其他的VPC隔离。第三,用户还可以用各种连接服务(VPN,NAT等)将VPC与现有的网络连接起来。这样对用户来说,既保证了网络隔离,又能提供按需的网络连通。对公有云服务商来说,VPC实际上就是SDN在公有云的应用。软件可控,Overlay使得服务商的硬件利用率提高,对硬件厂商的依赖程度降低。在这个基础上,公有云服务商还能够提供更好的网络服务。
分享到:

栏目导航

推荐阅读

热门阅读