3.2 网络功能虚拟化和软件定义网络
软件定义网络(SDN)是一种用于创建可编程、应用感知和开放智能网络的架构。架构的关键是数据转发与控制平面的分离,以及标准协议和抽象的建立。然而,SDN也适用于支持更加开放的、以软件为中心的方法(用于为网络控制平面和数据平面开发新的抽象),以及通过API公开网络功能的能力。我们将在第 6章中对 SDN进行详细讨论。下面,我们分析 SDN和 NFV之间的关系。
SDN可以充当 NFV的引擎,因为控制平面和数据平面的分离使独立控制平面软件的虚拟化成为可能。NFV还可以充当 SDN的引擎,因为当在标准硬件上运行的软件中实现数据平面和/或控制平面时,其实现方案之间的分离大大简化。SDN视图如图 3.5所示。
图3.5SDN视图
SDN是学术界基于所开展的工作于 2009年提出的,重点是将控制平面与转发平面分开,以便于以太网交换机对转发决策进行集中化处理;目标是在转发规则方面提供更高的灵活性和适应 性,同时简化转发设备,而无须复杂的分布式路由协议。OpenFlow(Foundation)作为一种新协议, 用于支持中央控制器和转发设备之间的通信。
这些概念的最初应用是大型数据中心。复杂的编排技术应运而生,用于支持虚拟机的部署和移动性,主要支持IT应用。但是,数据中心网络缺乏支持此类环境的灵活性。如果将工作负载从一台服务器转移到另一台服务器上,则必须手动配置网络 VLAN/IP寻址以支持其新位置中的工作负载。这通常意味着对路径中的所有交换机进行重新配置。为了在现有网络上解决这一 问题,新的叠加技术出现,用于支持现有网络架构的顶层虚拟网络。这些技术包括LISP(思科)、VMWareNSX(VMWare)、OpenStackNeutron(OpenStack)、TRILL(TransparentInterconnectionof lotsofLinks,多链路透明互联),甚至多协议标签交换(MPLS)。
这将为硬件供应商打开大门,以开发可从内部完全支持这些叠加协议的新架构交换机。虽然新交换机确实提供了更高的网络灵活性,但它们往往是供应商专有的,且还与硬件、软件和控制紧密结合。尽管这可能满足单一企业数据中心的要求,但是对于需要支持来自诸多不同供应商网络功能的运营商基础设施而言,它并不是顽健的。SDN与 NFV在同一 COTS硬件平台上结合使用是实现服务提供商端到端网络的关键。与硬件、软件功能和控制有关的决策选择需要独立且基于具有良好定义 API 的开源架构。