网络虚拟化:痛并快乐着

  1. 云栖社区>
  2. 博客>
  3. 正文

网络虚拟化:痛并快乐着

青衫无名 2017-09-04 13:16:35 浏览1109

服务器虚拟化改变了IT运营方式,随着越来越多的网络被虚拟化,现在数据中心正在面临另一种变革技术。引入网络功能虚拟化(NFV),单个物理主机能够承载一个多层应用,甚至没有网络流量穿越物理网络。网络功能虚拟化使虚拟化网络设备或网络功能成为了可能,用户能够因网络虚拟化所具备的众多优势而获益。

NFV的基础是虚拟交换机,这和服务器虚拟化一样古老,最基本的形式是为运行在单台物理主机之上的虚拟机提供二层连接。经过几年的发展,虚拟化厂商已经给虚拟交换机增加了新功能。

从逻辑角度看,虚拟交换机提供了许多与传统架顶交换机相同的功能。现在,一台虚拟交换机配置几个VLAN是很常见的。虚拟机通过虚拟交换机进行通信是网络虚拟化的一个基本示例。

同时,VLAN之间的流量是通过虚拟交换机与物理网络之间的trunk提供的。流量流经主机服务器的物理端口。物理服务器端口实际上是作为虚拟交换机的上联端口。如果两台虚拟机在同一台物理主机上运行,但位于不同的VLAN中,那么这两台虚拟机通信的话,流量需要经过物理网络。这时,防火墙用于过滤两台主机之间的流量。

引入NFV使网络虚拟化更上一层楼。一个简单的例子就是虚拟防火墙。2层防火墙一直在标准的x86物理硬件上运行。和任何其他的x86工作负载一样,防火墙可以作为一台虚拟设备进行交付。现在考虑刚才提到的位于不同VLAN中的两台虚拟机需要彼此通信,在每个VLAN中增加一个虚拟防火墙并连接一个虚拟端口使得虚拟机通信不需要借助物理主机成为了可能。。

流量仍旧位于物理主机内部,结果就是物理网络无法感知虚拟机之间的通信。在单台主机内,我们已经建立了一个虚拟网络,该虚拟网络同样扩展到了物理主机。

大多数服务器虚拟化平台引入了分布式交换机概念,分布式虚拟交换机是一个跨越多台主机的虚拟交换机。集中控制器作为分布式交换机的控制与数据层。

在VMware中,控制器是vCenter。在KVM以及XenServer中,控制器是开放的vSwitch数据库。在物理环境中,分布式交换机可与堆叠交换机架构相媲美。每台物理主机上的交换模块是集中管理的分布式虚拟交换机的一个组件。

物理网络参与hypervisor之间的网络流量交换。不需要物理网络参加虚拟机之间的流量交换。分布式虚拟交换机在底层物理网络之上形成了一个逻辑网络层。独立的NFV设备运行在网络层之上。

以二层应用为例,虚拟防火墙能够位于一台主机之上而虚拟机能够位于另一台主机之上。虚拟机之间的路由及流量过滤实际上是底层主机之间的数据包交换。

使用网络虚拟化,我们在hypervisor内重建了抽象的物理网络。随之即来的问题是:目的是什么呢?

网络虚拟化的技术优势很多。网络虚拟化考虑了应用及工作负载的可移动性。2层域很轻松地扩展到了数据中心之间、平台之间比如公有云以及内部基础设施。然而大多数特性可以通过使用额外的网络技术实现。一个例外便是使用网络分割虚拟工作负载。

网络虚拟化优势最引人瞩目的技术用例之一一直是能够进行网络分割。网络分割在某些时候指的是微分割,这样企业就能够在工作负载之间创建细粒度的规则。与传统的基于IP分段创建规则的3层防火墙不同,网络分割允许在虚拟机这一层级过滤规则—与IP分段无关。虚拟机这一层级的分割考虑到了零信任策略的实施。

零信任安全性用例

零信任策略没有假定一个节点因为共享一个网络分段就接收隐式的信任关系。在网络层控制安全性需要一台能够检测所有2层流量的安全设备。使用物理设备进行上述过滤有些不切实际。由于虚拟交换机位于hypervisor内核内部,在hypervisor级进行过滤的CPU成本与使用物理设备执行相同检测的成本相比,几乎可以忽略不计。在虚拟网络中扩展零信任安全性符合实际情况。

当将网络控制器的概念与网络虚拟化结合在一起时,技术路线图将更加有趣。将控制面板以及数据面板从物理网络中抽象出来,企业就能够支持真正的敏捷环境。考虑到网络是一个叠加,它能够运行在任何网络之上,包括公有云供应商。

部署混合云存在的挑战之一是二层网络域及安全性的分离。例如,亚马逊AWS使用IP 表管理实例之间的零信任。管理员必须管理两个独立的防火墙策略才能够允许流量从内部计算机流向运行在AWS内的计算机。使用网络虚拟化,可以通过单个网络控制器管理策略,网络控制器从CMP或网络管理系统接收策略。

VMware的NSX是在网络以及x86虚拟堆栈之间提供令人兴奋的整合产品的示例。NSX防火墙能够管理基于虚拟机的零信任策略。由于防火墙规则以及虚拟机都是vCenter内的对象,所以策略能够与虚拟机共存亡。融合管理是一个功能强大的抽象化。

不得不忍受防火墙规则审计的企业将会对短暂的NSX防火墙规则感兴趣。例如,一个防火墙规则允许两台虚拟机之间通过HTTP流量。如果vCenter中的一台虚拟机被删除了,那么防火墙规则就被删除了。防火墙规则抽象简化了安全性审计。

多数企业还没有做好将整个基础设施转换为应用开发及基础设施管理组合模型的准备。网络虚拟化的优势之一是其允许逐步部署,而不仅仅是简单地直接交钥匙。

典型应用将是由云管理技术比如OpenStack运行的基础设施被隔离的部分。底层的技术设施可以是通过运行OpenDayLight的白盒交换机互联的所有hypervisor。当需要运行更多的应用时,可以增加其他的hypervisor或者通过公有云供应商扩展基础设施。对开发人员来说所有的都是虚拟基础设施,没有任何关系。

网络虚拟化的复杂性

网络虚拟化并非不存在挑战。尽管网络控制器技术已经改进,但管理虚拟网络仍旧是一个令人沮丧的命题。某些问题加剧源自网络控制器自身不成熟;某些问题源自物理网络与虚拟网络之间缺少可见性。

管理虚拟与物理网络并没有什么标准。如果你需要强大的数据管理功能,那么最好采用来自Cisco、Juniper或Brocade的集成管理工具。然而这违反了有一个网络层独立于物理网络的初衷。

第二个挑战是将虚拟网络的灵活性扩展至物理网络。诸如网络分割特性只有在流量流经hypervisor时才是有用的。如果通信发生在两台物理主机之间,那么零信任策略必须通过独立于虚拟网络的物理组件实现。这变得难以维护,而且与在内部以及公有云资源之间维护安全域的挑战相类似。

与服务器虚拟化的效果类似,网络虚拟化有显著改变数据中心网络的潜能。但采用SDN需要全新的思考,SDN被视作是破坏了传统的IT实践。对已经大部分实现了虚拟化并寻求部署云或Platform 3.0应用的组织来说,网络虚拟化具有重大价值。对传统的企业应用来说,除了针对虚拟机实现了网络分割,网络虚拟化的优势几乎可以忽略不计。


作者:何妍

来源:51CTO