第1章 SDN/NFV概述
1.1 SDN/NFV介绍
互联网产业的迅猛发展不仅催生了云计算等新技术的涌现,也促使大量互联网创新应用取得巨大成功。在此期间,互联网业务及其核心收益,也由以往的以网络运营商管道接入为主,向着以用户体验为核心的应用价值进行转变,传统管道服务的日益低值化,促进了运营商不断寻求适应新型业务发展的网络新技术。
然而,当前建立在尽力而为IP网络及其运营支撑系统之上的运营商承载网络,由于智能化承载控制平面的缺失,以及业务与网络设备的紧耦合造成的系统封闭性,存在着网络资源利用率低、新业务部署周期长、感知和差异化保障不足、网络维护复杂困难等诸多问题,严重影响了移动互联网时代的竞争力。
为此,积极开拓信息和网络应用新技术,建设开放、高扩展、敏捷、智能化新型网络,为客户提供便捷、丰富、个性化、高体验的网络服务,已成为通信业和网络运营商的最新发展目标。在这个背景下,以研究新技术、新架构为目标的SDN和NFV技术应运而生,相关的网络技术变革不仅已成为业界共识,而且将逐步成为未来运营商业务与网络转型的核心技术。
本章将简要阐述SDN/NFV技术的架构和特点以及这两者之间的关系。
1.1.1 SDN架构和技术特点
软件定义网络(Software Defined Networking, SDN)起源于斯坦福大学的校园网络,是一种新型的网络架构和技术,它的核心设计理念是将传统IP网络的数据转发和路由控制进行分离,实现集中控制,分布转发,通过软件可编程的方式来简化和优化网络[1]。
图1-1所示为目前业界理解的SDN一般架构,主要由以下三个层面组成:基础设施层、控制层、应用层。
图1-1 SDN的逻辑架构[2]
• 基础设施层由转发设备组成,主要负责数据处理、转发和状态收集等功能。
• 控制层由SDN控制软件组成,可通过OpenFlow(OF)、PCEP(Path Computation Element Communication Protocol,路径计算单元通信协议)等标准化协议与下层进行通信,控制底层网络设备的转发行为,处理数据平面的资源编排,维护网络拓扑、状态信息等。控制层还将网络能力进行抽象,向应用层提供开放的API(应用程序接口)[3]。
• 应用层由众多业务和应用软件构成,这些软件可根据控制层抽象的网络信息执行相应的控制算法,形成网络策略,然后将控制策略通过控制层转化为流量控制命令下发给转发设备。
SDN技术自出现以来,形成了众多流派,可以大致将其分为两大类:SDN过渡技术和OpenFlow。其中,I2RS(Interface to the Routing System)和overlay是最具代表性的SDN过渡技术。I2RS是IETF成立的SDN工作组,其出发点是维持现有路由体系架构不变,在网络设备上提供专用接口供用户开发应用。overlay是Big Switch、VMware等厂商主导的虚拟化解决方案,其核心思路是采用VxLAN(Virtual extensible Local Area Network,虚拟可扩展局域网)、NVGRE(Network Virtualization using Generic Routing Encapsulation,网络虚拟化通用路由封装)、STT(Stateless Transport Tunneling)协议等隧道技术在物理网络上叠加虚拟的逻辑网络。用户可以灵活定义逻辑网络、调整网络策略。而ONF定义的OpenFlow遵循控制与转发分离的设计原则,其转发层由OpenFlow交换机组成,控制层与转发层之间通过标准化的OpenFlow协议(南向接口)进行通信,控制器可通过“流匹配”的方式定义网络转发规则,向交换机下发相应的流表,OpenFlow交换机执行相应流表的动作即可高速转发数据包[4]。
从上述SDN技术的几种不同实现方式,可以总结出以下几大技术特征。
• 控制与转发分离:将传统IP设备的控制面和转发面进行分离,转发设备抽象为一个通用的受控的网络设备,只关注转发和存储能力,与业务特性彻底解耦。控制面则通过控制协议控制转发面的流量行为。
• 集中控制:将网络信息进行抽象处理构成统一的控制平台,实现逻辑上的集中式控制,从而获取网络资源的全局信息,并根据全局状态实现资源的全局调度和优化,提高网络控制的灵活性。
• 开放可编程:通过开放的API,应用层可以告知控制层如何进行网络资源操作才能更好地满足业务需求(如带宽、时延、计费等)。另外,用户还可根据业务需求定制网络功能,实时配置网络参数,加快业务响应速度,缩短业务开通时间。
• 网络虚拟化:SDN通过软件控制简化的底层网络硬件,突破传统网络操作系统与专用硬件紧耦合的组织架构,将网络由静态的物理网络转变为面向用户、面向应用的动态逻辑网络[5]。
1.1.2 NFV架构和技术优势
网络功能虚拟化(Network Functions Virtualisation, NFV)最初是由全球领先的7家电信运营商提出的,旨在通过虚拟化技术实现软硬件的解耦,将网元功能抽象为独立的应用,并部署于基于标准服务器、存储、交换机构建的统一平台上。NFV改变了运营商构建网络的方法,不再依赖于专用的网络设备,通过标准的大容量的IT设备即可实现网络功能。
ETSI网络功能虚拟化行业规范工作组(ETSI NFV ISG)是目前业界一致认可的NFV相关标准体系研究的领跑者和主要推动者,主要由以下5个工作组组成:IFA、TST、EVE、REL、SEC[6],目前它已经制订和发布了NFV虚拟化需求、NFV用户案例、NFV体系框架等多个文档。图1-2所示为ETSI提出的NFV架构。
图1-2 ETSI定义的NFV架构
整个NFV架构从下至上可以分为3层:基础设施层、虚拟网络层和运营支撑层。
基础设施层主要包括NFV基础设施(NFV Infrastructure, NFVI)及虚拟化基础设施管理(Virtualize Infrastructure Management, VIM)系统,其中,NFVI主要包括物理硬件层和虚拟化层,虚拟化层将物理硬件层的计算、存储、网络等硬件资源抽象为虚拟计算资源、虚拟存储资源、虚拟网络资源,从而将软件功能与底层硬件进行解耦,为虚拟网络层的VNF提供部署、管理和执行的环境。VIM的主要功能是实现对NFVI资源(包含硬件资源和虚拟资源)的管理和监控。
虚拟网络层主要包括虚拟网络功能(Virtualize Network Function, VNF)、网元管理系统(Element Management System, EMS)与VNF管理系统(VNF Manager, VNFM)。VNF是部署在虚拟机上的虚拟化网元,其网络功能及对外的运维接口与物理的专用设备保持一致。EMS是VNF的业务网络管理系统,通常由VNF厂商提供,完成传统的网元管理功能及虚拟化环境下的新增功能。VNFM主要负责VNF的资源及生命周期相关的管理,如网元的实例化、扩容与缩容等功能。
运营支撑层主要包括OSS/BSS与编排器(orchestrator)。OSS/BSS除支持传统网络管理功能外,还支持在虚拟化环境下与orchestrator的交互,完成维护与管理功能。orchestrator负责网络业务、VNF与资源的总体管理,是整个NFV架构的控制核心。
orchestrator、VNFM与VIM合起来称为MANO(NFV Management and Orchestration),主要解决虚拟化网络的部署和网络资源调度等问题。
NFV通过虚拟化技术实现软硬件的解耦和功能抽象,使网元功能运行在通用的x86服务器上。如果网络功能和性能都能达到要求,NFV将会给网络运营商带来巨大的价值:
• 网络设备功能不再依赖于专用硬件,标准的x86服务器设备成本相对较低,可降低昂贵的网络建设成本;
• 通过开放的API可以获得更灵活的网络能力,使用软件加载的方式即可完成新业务的上线、业务的更新等,大大减少新业务的建设周期;
• 通过调整相应VNF的虚拟资源即可实现网络能力的弹性伸缩,因此,可根据实际业务的需求按比例扩大、减少相应的网络规模,灵活性好,扩展性高;
• 通过统一平台的集中化管理,可充分实现资源的灵活共享,能有效提高管理和维护的效率。
1.1.3 对SDN与NFV关系的理解
随着互联网产业的迅猛发展,业务承载需求发生了翻天覆地的变化,研究新技术、新架构进行网络变革已成为业界共识,SDN和NFV技术应运而生,逐渐成为下一代网络架构发展的核心技术。那么,它们之间究竟有着怎样的关系呢?
显然,这两者的侧重点不同。首先,SDN是软件定义网络,侧重于实现控制和转发的分离,将转发设备功能简化,通过标准化的接口实现IP数据包分组转发的集中控制。而NFV是网络功能虚拟化,侧重于网元功能的变革上,将传统专用网络设备的功能和硬件进行解耦,使网元功能部署于标准服务器、存储设备、交换机构建的统一平台上,从而使网络不再依赖于专有硬件,降低运营商的网络建设成本和运维成本。
其次,SDN的概念是2009年提出的,相对NFV的提出时间(2012年)较早,标准化程度也相对较高。SDN已有OpenFlow为代表的标准化南向接口协议,且处于持续更新中,而NFV尚无完善的标准协议,但有具备指导性意义的白皮书。
再次,SDN起源于校园网,在数据中心和企业网中已出现成功的商用案例,并将逐步应用于广域网。而NFV由运营商提出,目前主要的应用有运营商的移动核心网设备、网络边缘设备等。
虽然SDN与NFV的设计理念完全不同,但它们之间有一定的合作关系。NFV白皮书对SDN和NFV的关系做出了相应的说明[6]。总体来说,SDN和NFV是相互补充但又互不依赖的关系,如图1-3所示。虽然SDN和NFV可以独立部署,但如果两者协同应用将是一个强大的组合:结合SDN提出的控制平面和数据平面分离的方法,NFV可以提高性能、兼容现有部署、简化运维工作;反之,NFV可通过提供SDN可运行的基础设施来支持SDN。目前研究较热的业务功能链(Service Function Chaining, SFC)就是SDN与NFV紧密结合的应用案例,在NFV平台上部署SDN控制器,动态控制NFV虚拟网元之间的网络连接或者数据流,从而通过组合不同的网元实现丰富的网络能力,如图1-4所示。
图1-3 SDN和NFV的关系
图1-4 SDN与NFV结合的应用案例