为什么我们需要网络虚拟化
许多人认为,网络虚拟化最终会失败,因为它不提供等同于服务器虚拟化的好处。他们认为,不同于物理服务器,现有的网络设备已经具备监测和管理框架, 允许交换机达到或接近容量,同时易于管理操作。但这种观点完全是短视的和自私的。它认为网络是一个孤立的、独立的元素,与计算和存储资源的完全不同。
事实上,传统的三层体系结构正在大数据和云计算的新世界之下崩溃。应用程序如Hadoop与NoSQL数据库和云计算平台如Azure、 OpenStack和vCloud正从根本上改变网络架构。相比联网被管理为在数据中心连接分立元件的一种手段,可扩展的云基础架构的架构师必须考虑资源 的整体视图以建立一个单一的集成平台。从这个角度来看,网络的虚拟化变得绝对必要,以提供一种弹性的和可扩展的工作负载的引擎,而不是单独管理离散的物理 元件之间的连接。
从本质上讲,网络虚拟化是服务器虚拟化自然的和必要的进化。它允许整个数据中心作为一个单一的、巨大的(基本上是无限的)计算存储资源进行管理,能 够满足动态的应用程序工作负载的需求。从这个角度看,网络虚拟化提供完全相同的利用率、运营成本和效率优势,正是这些因素驱使服务器虚拟化的成功。
SDN架构
现在,让我们来看看这个网络虚拟化和弹性云工作负载的新世界的影响和要求。
SDN架构上图显示了一个软件定义网络的虚拟和物理视图。物理网络包括交换机、路由器和服务器。虚拟视图显示有多个逻辑上彼此隔离的网络。在服务器内这两种视 图之间的边界是OpenvSwitch(OVS),它执行对物理和虚拟网络之间进行映射所需的转向和encap/decap功能。OVS可以被实现为一个 纯软件的功能,虽然有通过虚拟隧道施加的繁重的处理负载性能的原因,一种混合硬件/软件的方法,使用虚拟化感知NIC,仍是优选的。
SDN的特征通常包括这些元素:覆盖网络(Overlay Networks),集中管理和标准化的API。前两个元素是必不可少的,而标准化的API的美好,允许在异构环境下的互操作性和均匀控制,以及避免专有的API。
覆盖网络的好处
覆盖网络改进虚拟网络之间的隔离,并使得基于虚拟机的工作负载更容易管理。每个虚拟域自己封装于外包中的网络和链路(基于VIP和VMAC的内包) 地址。这使得虚拟机完全独立地操作用来移动网络报文的实际物理地址。因此,从一台物理机到另一台物理机的虚拟机迁移,并不影响基于虚拟机的应用程序,应用 程序保留了相同的虚拟地址。相反,这一举动改变隧道虚拟地址到相应的物理地址的映射。这由集中管理平台进行,后文将详述。
集中式虚拟网络管理平台
SDN经常被描述为控制平面与数据平面的分离,其中控制平面决定特定数据包应该使用复杂的路由算法转发,数据平面完成实际的转发指示。事实上,通过 网络虚拟化,控制平面发挥的作用不只是转发决策。集中式虚拟网络管理平台(VNMP),如Open Daylight,具有物理和虚拟网络的完全可视性。该VNMP作为受信任的实体来执行虚拟网络的发现、路由、管理、监视和隔离。更高级别的应用如负载平 衡、威胁检测/防御,和业务流程能够调用VNMP的服务来执行所需要的功能,如虚拟机迁移或虚拟网络资源的访问控制。
一个让虚拟化网络的集中管理的价值非常清晰是例子:请考虑将虚拟机从一台物理服务器移动到另一台物理服务器(出于负载均衡或性能目的)。在纯物理网 络的旧世界,这样的举动将需要能够与虚拟机相关联的新的MAC和IP地址。这个新的信息需要被传播到网络中的每台服务器、交换机和路由器,需要应用级的改 变和路由表更新,以反映VM的新物理位置。现在想象一下,试图以自动化的方式非常快地做到这一点。在大型网络中有大量的服务器和交换机,自动更新几乎是不 可能的,几乎可以保证虚拟机迁移将导致显著的停机时间。而这一切,都是因为一个纯粹的虚拟实体(虚拟机)被不必要地绑在它目前正在托管的服务器的物理地 址。
网络虚拟化可以克服这个问题。VM的虚拟IP地址保持不变,因此不管应用程序还是物理网络基础设施都不需要改变。相反,只有从虚拟地址到物理地址的 映射需要被更新。因为集中式虚拟网络管理平台负责维持虚拟到物理地址的翻译,这发生在一个地方。结果是,VM迁移变得简单,只需要根据预期变化更新 VNMP。诚然,VNMP需要此信息推送到网络中的每个OVS实体,但比在一个物理网络所需的独立的更新,自动化变得更容易。
标准化的SDN API
为了避免厂商锁定,VNMP与嵌入式OVS代理进行通信以控制对虚拟网络的首选是标准化的API。OpenFlow是一个这样的API,并已经获得 了显著的关注度和广泛的业界支持。OpenFlow的灵活性,使得它可以用来接口到软件和硬件,通过厂商会聚于该API的硬件,控制其交换机硬件中的转发 平面,和嵌入在虚拟化优化的NIC中的硬件OVS。
总结
这些关键要素的结果,基于SDN,虚拟化网络能够:
控制和管理虚拟机之间的虚拟网络连接
监视和控制虚拟和物理资源之间的访问和通信
为虚拟资源的部署和操作更新提供灵活性
总之,虚拟化网络的这些功能允许基于SDN的数据中心提高运营效率,具有比传统的网络基础设施更好的可伸缩性。具体来说,SDN和网络虚拟化提高物 理资源的利用率,降低运营成本,并提供应用程序的效率。网络虚拟化、SDN和服务器虚拟化技术一同使用,能够为企业的CAPEX和OPEX带来更大的利好。