Windows Azure虚拟网络(1):概述

来源:互联网 发布:gcc下载 windows 编辑:程序博客网 时间:2024/06/06 11:19

对于很多公有云的用户来说,一个需要解决的问题是如何让公有云里面的资源和服务与自己已有的服务器或者应用对接,这些已有的服务可能运行在自己的机房,也可能托管在IDC服务商那里,还有可能运行在其他公有云平台上。目前主流的公有云平台提供的解决方案都是采用VPC(virtual private cloud)或者VDC(virtual datacenter)的方式。VPC是对用户运行在公有云上的资源而言的,让一个公有云区域看起来就像自己私有的云一样。用户自己的资源可以相互访问,而与其他用户的资源则是隔离的,无法互访,从而实现安全性,另外用户可以从外部将自己的PC或者本地局域网连入这个VPC。用户的应用可以跨越局域网和公有云,即能获得公有云的好处,又不需要迁移已有的业务。


实现VPC的方式有很多种,这属于网络虚拟化的范畴,也是目前SDN的热点。传统的方案多用VLAN。VLAN由网络设备直接支持,成熟可靠,但VLAN有数量上的的限制(最多4096个),于是包括思科、华为之类的网络设备厂商开发了新的标准,使VLAN可以突破该限制,并且更灵活,更可靠。而另一方面,以VMware、微软等虚拟化厂商以及一些新兴的网络虚拟化企业开始着重于完全依赖软件实现网络隔离,这些技术不依赖于网络设备,甚至对网络拓扑没有要求,也是未来的发展重点。无论采用哪种技术,VPC的技术要求至少包括:

  • 逻辑可定义:用户可以自行创建、管理VPC,可以定义哪些资源属于自己的VPC
  • 云中的互通性:同一个VPC内的资源具备网络连通性,至少支持3层IP协议,能支持2层协议更好
  • 远程互通性:用户可以将远程的资源通过安全的方式接入到云中的VPC中,实现端到端安全性
  • 隔离性:不同VPC的用户资源不具备连通性,任何网络报文均不可达,用户无法从自己的VPC或者公共区域向另一个用户的VPC发起嗅探和攻击

而进一步的VPC要求包括:

  • VPC可以跨越多个云数据中心
  • 提供更加灵活的网络配置,包括自定义网络拓扑、自定义路由、自定义网关、自定义防火墙甚至自定义网络设备(交换机、路由器、负载均衡器等)

说了这么多,我们看下Windows Azure的VPC是如何实现的。如下图所示

Windows Azure上的虚拟网络服务(virtual network)就是实现VPC的技术。目前的版本具备如下的能力:

  • 用户可以自定义虚拟网络,在每个虚拟网络内,可以自定义网段、每个网段的IP地址段(只能是9, 172, 192.168打头的IP)
  • 在部署IaaS虚拟机、PaaS云服务时,用户可以选择将虚拟机部署到用户指定的虚拟网络,从而具备目标的IP地址范围,以及相应的网络权限
  • 同一虚拟网络内的资源使用内网IP进行互访。不同虚拟网络的资源使用公网IP进行互访
  • 站点到站点互通:用户可以通过远程VPN设备(可以是VPN硬件,也可以是一台Windows server enterprise服务器)将远程的局域网连入指定的虚拟网络,实现3层网络互通
  • 点到站点互通:用户可以通过Windows PC的VPN客户端,连人指定的虚拟网络,实现3层网络互通

在虚拟网络出现以前,Windows Azure还还提供一个叫Virtual connect的软件,可以实现点到点互通。

另外,为了设计合理的网络,我们也需要了解虚拟网络的局限性,这具体包括:

  • 同一个虚拟机无法同时加入两个网络,因为虚拟机只能有一个网卡
  • 无法控制2层网络,如MAC地址
  • 不支持广播、多播
  • 不支持IPv6
  • 对虚拟机只能指定子网,不能指定IP
  • 不支持让多个远程站点同时接入一个虚拟网络
  • 多个虚拟网络不能对接,虚拟网络间的通讯需要走公网IP
  • 虚拟网络不能跨区域
  • 虚拟网络一旦被使用就无法灵活调整,所以部署前要提前规划好

后续,我将进一步举例说明如何配置虚拟网络及VPN

原创粉丝点击