购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2 智能网络关键支撑技术

随着业务需求的多样化,现有移动通信网络日益复杂化,网络运营成本和硬件设备制造成本逐渐增加。值得注意的是,近年来NFV和SDN分别通过软件与硬件解耦、逻辑集中式的控制功能,实现网络资源的灵活编排与部署,能够降低网络运营与设备制造成本,有望在网络智能化演进中发挥重要的作用。因此,接下来本节将围绕支撑网络智能化的关键技术 NFV和SDN展开介绍,包含其基本原理、相关研究及发展情况。

2.2.1 NFV

本节首先总结了传统网络设备软硬件耦合的缺陷,其次介绍了软硬件耦合向NFV的演进过程,最后介绍了NFV架构和NFV平台。

1.NFV简介

传统网络的网络设备(如基带处理设备、路由交换机、负载均衡设备等)通常基于专用硬件实现,网络功能与专用硬件耦合度较高。未来用户需求将更加多样化和差异化,网络需要根据不同的用户需求,如时延、可靠性等,提供不同的网络性能,而传统网络功能与专用硬件紧耦合的特点造成了诸多限制,主要包括以下几个方面。

(1)功能迭代更新慢

将新功能引入网络设备时,需重新设计实现相关网元,然后通过命令行、网管系统等方式手动地更新网络功能模块,这些方式难度高、耗时长,难以适配快速变化的功能需求 [20]

(2)业务拓展受硬件制约

网络设备在部署之初即分配了固定的硬件资源,网络设备所能承载的业务量受限于部署的硬件资源大小。当业务量超过一定规模(例如,交换机存储的路由路径或标签的数量超过了存储资源的上限)后,仅能通过人工更换硬件资源(如CPU、硬盘)的方式保障业务的服务质量,可能导致短期内网络设备无法快速响应业务需求。

(3)硬件资源的过量配置

由于业务存在明显的时空差异,网络难以预测业务需求 [21] 。因此,通常情况下,在网络建成之初,需要过量配置硬件资源,保证网络所能支撑的业务量超过业务量峰值。当业务量较低时,过量的硬件资源配置将导致硬件资源浪费,提高了网络运营的成本。

(4)封闭的网络生态

网络设备在完全标准化前,各个厂商通常采用独有的网络功能设计实现方法。例如,不同厂商的网络设备接口采用不同的数据传输协议,导致不同厂商的网络设备封闭程度高,相互之间不具备互操作性 [20]

可见,传统软硬件紧耦合的网络设备和功能限制了网络可扩展性,增加了网络部署成本,降低了网络运维效率,亟须发展新的技术以消除上述局限性。

近年来,NFV技术快速发展。NFV可以实现软件与硬件的解耦,将具备特定网络功能的软件搭载在通用硬件上,便于网络的功能升级,降低部署成本,提高运维效率。根据欧洲电信标准组织(European Telecommunications Standards Institute, ETSI)的定义,NFV旨在使用通用的、标准的高性能服务器、交换机和存储设备构建网络节点,使网络功能可以基于软件实现部署和升级,无须更换新的网络设备,从而改变网络演进的方式 [22]

相比于传统的网络功能与硬件设备紧耦合的方式,NFV能够在通用的硬件资源上实现多样化的网络功能,实现了软件功能与硬件设备的解耦,使得网络设备开发商可以将更多的精力放在软件功能的开发上,无须过多关注软件和硬件的耦合,为网络功能的灵活扩展提供了便利。

网络采用NFV可以实现开放系统互连(Open System Interconnection,OSI)模型中各层的网络功能,例如,NFV 可用于实现用户服务功能(如防火墙、流量检查、入侵检测等)、虚拟化核心网关功能(如防火墙、性能增强代理、调度、网络地址转换、媒体转码等)和无线前端功能(如调制和编码)等 [23] 。但对于运行速度、能耗效率要求较高的网络功能,FPGA 等专用硬件相比于 NFV更有优势。

2.NFV架构

为了将NFV标准化,ETSI定义了统一的NFV架构,NFV架构主要包含网络功能虚拟化设施(Network Function Virtualization Infrastructure,NFVI)、虚拟化网络功能(Virtualized Network Function,VNF)和管理与编排(Management and Orchestration,MANO)3个部分 [24] 。ETSI定义的NFV架构如图2-1所示。

其中,NFVI 由硬件(如计算硬件、存储硬件和网络硬件)资源以及对硬件资源进行抽象和虚拟化的虚拟化层(如管理程序(Hypervisor)等)组成,负责将硬件资源转化为 VNF 所必需的虚拟资源(如虚拟计算、虚拟存储和虚拟网络)。

VNF能够在NFVI上运行,并且完全基于软件部署,而不依赖硬件。VNF是对网络功能的虚拟化实现,并且可以根据需要对其进行解构和聚合,例如,将一个VNF拆分成多个子VNF,或者将多个子VNF聚合为一个VNF。此外,VNF管理系统可以管理和控制多个VNF,从而形成一个软硬件解耦的网络节点。

MANO主要负责NFVI和VNF的编排和生命周期管理,并与运营商的业务和运营支撑系统进行交互,以帮助运营商维护虚拟化资源。

图2-1 ETSI定义的NFV架构

3.NFV平台

参考ETSI定义的NFV架构,业界开发了VMware、基于内核的虚拟机(KVM)等基于虚拟机的NFV平台,以及基于Docker的轻量化NFV平台等,并广泛应用于实际网络的功能部署。

(1)基于虚拟机的NFV平台

基于虚拟机的NFV平台使用虚拟化层(如Hypervisor)管理虚拟机,每个虚拟机都有自己的操作系统、应用程序和支撑文件。为了保证不同网络功能之间的隔离, NFV平台每运行1个网络功能都需要启动1台虚拟机,不同的网络功能在不同的虚拟机中运行 [25] 。然而,NFV平台的每台虚拟机都需要配备操作系统,即便网络功能只占用1 MB的内存空间,虚拟机也需要为网络功能配置数百MB的内存空间来用于操作系统的安装 [26] 。因此,基于虚拟机的 NFV 平台通常需要消耗大量的计算、存储资源,难以用于网络资源受限的场景。

(2)基于Docker的NFV平台

考虑虚拟机对计算、存储的过度占用主要源于操作系统级的资源隔离方式,虚拟化引擎Docker提供了进程级的资源隔离方案,通过减少操作系统的资源占用来实现虚拟化平台的轻量化 [27]

容器、镜像和镜像仓库是 Docker 的关键构成元素,同时也是实现进程级隔离的基础。容器是网络功能运行的环境,容器之间相互隔离,通过在不同的容器中部署不同的网络功能可以实现网络功能之间的隔离。区别于每台虚拟机都需要单独配置操作系统,不同的容器可以共享宿主机的操作系统,从而减少操作系统带来的额外的计算资源消耗。例如,能支持数十个虚拟机的宿主机,在相同的资源条件下可支持数百个容器。镜像是一组只读文件,提供容器创建、运行、管理及维护所需的程序、库、资源以及配置参数。在创建完成后,镜像不可根据容器的需求进行修改,因此,Docker在云端创建的镜像仓库,用来集中存放用于不同网络(如核心网、接入网)的镜像文件。用户可以根据本地需求从云端下载对应的镜像文件,也可以将本地创建的镜像文件上传到镜像仓库中进行保存,以供自己或他人下载并使用。作为容器创建的模板,一个镜像上可以创建多个容器实例。通常一个镜像文件的大小只有数十MB,便于在网络节点上存储和传输 [26] 。虚拟机与Docker的对比如图2-2所示。

图2-2 虚拟机与Docker的对比

作为一种轻量化的虚拟化平台解决方案,Docker的优势在于采用了进程级的资源隔离,减少了操作系统对计算资源、存储资源的占用,在相同的硬件能力下可以运行更多的网络功能实例,提高了网络节点资源的利用率。同时,由于不需要额外启动操作系统,Docker的启动速度可以达到秒级,相较于虚拟机分钟级的启动速度有了明显的提升。此外,Docker支持对镜像文件和基于镜像文件创建的多组容器进行打包,以便将其迁移到其他网络节点进行部署。

2.2.2 SDN

面向差异化、极致化的用户需求,网络需要提供更加多样化的服务,这使得网络配置的复杂度逐渐增加,而传统软硬件耦合的网络部署相对固定,无法适应快速变化的多样化网络应用 [28] 。2008 年,Mckeown 等 [29] 提出 OpenFlow,其核心思想是将传统网络设备的两个功能模块数据平面和控制平面分离,通过集中式控制器,采用标准化接口对各种网络设备进行管理和配置。通过 OpenFlow,网络管理员能够以可编程的方式定义和修改网络流量、指定转发规则以及实施流量策略,从而使网络资源的设计、管理和使用具备更多的可能性。2013 年, Kirkpatrick [30] 将“控制、数据分离”的思想进行扩展,提出 SDN 的概念。SDN是在OpenFlow的基础上提出的一种网络架构,其支持多协议、灵活的控制器选择、统一管理、动态适应性等功能,进而实现更加灵活和可控的网络管理,极大地推动了下一代互联网的发展。

1.SDN架构

SDN 是一种控制平面与数据平面分离的网络,提供一个逻辑上集中的控制平面,借助集中式网络资源视图对全网的分布式网络单元进行管理。在传统网络中,每台设备都包含独立的控制平面和数据平面。不同厂商的设备控制、转发机制也有所不同,控制软件与网络硬件设备具有强耦合特性,因而,传统网络在面向新型网络业务、流量路径或策略调整时,操作复杂,运维难度大,升级速度慢。而SDN实现了控制软件和网络硬件设备的解耦,使得控制平面和数据平面可以独立演进。SDN通过逻辑集中的、开放的、可编程的控制平面以及统一的、标准化的南向接口(Southbound Interface,SBI),可以实现更加自动化、更加高效的网络配置,从而解决传统网络中网络硬件设备间由于协议、接口差异导致的难以灵活管控等问题。SDN架构如图2-3所示,主要包含3层,自下而上分别为基础设备层、控制层和应用层。

图2-3 SDN架构

具体而言,基础设备层是主要由物理交换机、线路连接器等网络设备构成的基础转发网络。该层主要负责用户流量数据的转发,通常基于不同转发流表将流量数据转发到对应的目的地址。其中,转发过程中所需的转发流表由控制层生成,而基础设备层主要关注设备的硬件性能,从而实现数据的高速转发。

控制层主要由SDN控制器组成,集中式地控制基础设备层的全部网络设备,负责基础设备层拓扑、带宽等资源的编排以及网络内部交换路径和业务路由的生成,并实时处理网络状态变化事件、更新网络状态,使得运营商能够便捷地进行网络配置和新协议的部署。控制层和基础设备层之间的数据接口一般统称为控制数据平面接口(Control-Data-Plane Interface,CDPI),也可称为南向接口,用于传输数据转发流表和规则。目前,开放网络基金会(Open Networking Foundation,ONF)一直致力于推动发展和统一 OpenFlow 标准,并将其推为 CDPI 的标准接口。其中, OpenFlow 标准给出了交换机,主要用于查找和转发数据的一个或多个流表,并定义了设备按照流表转发的多种匹配规则,如基于时间顺序、基于优先级、基于目的地址等。

应用层位于控制层之上,主要包含面向业务的网络应用或功能,如入侵检测、负载均衡等。其中,网络管理人员只需对网络进行管理和运维,不需要关注基础设备层网络设备的技术细节,通过简单的编程便可实现新网络应用或功能的快速部署。应用层和控制层之间的数据交互接口统称为北向接口(Northbound Interface,NBI)。在用户业务的实现过程中,应用程序可将整体业务服务分解为多个功能模块,按照应用程序接口(Application Program Interface,API)标准传输至控制层;控制层根据API功能数据,调度基础设备层,向用户提供网络资源服务。此外,用户可通过不同权限的 NBI对网络端口、流量或业务进行监控。

综上,一方面,SDN将控制平面与数据平面分离,实现了独立于底层硬件网络功能的部署、更新。相比传统网络,SDN摆脱了硬件设备对网络架构的限制,便于更多应用程序的快速部署。网络管理人员通过单个控制设备即可控制所有网络组件,这简化了网络操作,提升了网络管理效率。另一方面,SDN利用OpenFlow标准化接口技术,使得控制层和基础设备层的信息交互,实现转发流表的下发以及网络状态变化的上传,促进了网络流量的可控性,从而满足用户个性化的需求。SDN屏蔽了复杂的硬件设备代码或实现细节,并基于开放标准向第三方提供了丰富的 API,以及更为便捷、开放的网络应用创新平台。网络管理员可以通过编辑公共API来管理多个设备,从而快速开发、部署和更新多样化的网络业务。

由SDN架构内容可知,控制平面和数据平面是SDN的关键模块。接下来,本书将围绕SDN的控制平面和数据平面的具体工作过程和研究进展进行介绍。

2.SDN控制平面

SDN控制平面由一个或多个SDN控制器组成,承载创建和控制网络所需的数据,即负责在交换机之间创建连接和交换协议数据,控制数据从源主机到目的主机的端到端路径中交换机之间的路由方式。传统网络中,控制平面的路由协议和数据平面的转发功能是紧耦合的,两者在同一个整体中实现,位于同一台路由器中。而SDN将控制平面功能作为一项单独的服务,分离了数据平面和控制平面,其控制平面功能通常置于一台远程控制器中,可通过编程控制。

SDN 控制平面提供了数据平面数据处理转发前所必需的各种网络信息和转发表项。路由信息库(Routing Information Base,RIB)与转发信息库(Forward Information Base,FIB)如图2-4所示。控制平面在本地建立了保存全局所有网络路由信息的数据集,即 RIB;数据平面则将 RIB中的活跃路由(当前正在使用和生效的路由)复制到转发表项,即 FIB,并根据 FIB 指定数据包的目的地址、设备接口以及下一跳信息等。在与网络中其他控制平面通信的过程中,RIB 总是保持其一致性,FIB 则复制 RIB 中的最佳路由信息作为数据包的转发决策,包括目的网络、下一跳信息和转发属性等。RIB负责决策路由,FIB负责转发分组:即RIB建立的主要目标是实现路由协议和静态路由选择,而FIB是由RIB中的最优路由条目导入的,是真正指导数据转发的表,包含了路由器在转发报文时所必需的一组最小信息。

图2-4 RIB与FIB

SDN 控制平面是连接基础设备层网络设备与上层应用的桥梁:一方面,通过SBI 协议对基础设备层的网络设备进行集中管理、状态监测和转发决策,从而处理和调度数据平面的流量;另一方面,通过NBI向上层应用开放多个层次的可编程能力,允许网络用户根据特定的应用场景灵活地制定各种网络策略。它负责管理和控制所有网络协议的运行,如生成树协议、虚拟局域网协议、地址解析协议、各种路由协议和多播协议等,需要准确了解整个网络环境的网络设备、连接链路和交互协议等情况,并在网络状况发生改变时及时做出调整,以维护网络的正常运行。

SDN控制平面的研究主要围绕SDN控制器设计展开,包括南向网络控制和北向业务支撑 [31-32] 。南向网络控制,一方面利用上行通道对基础设备层的网络设备上报的信息进行统一的监控和统计,并制定相关策略和下发表项,另一方面利用下行通道对网络设备实施统一控制,主要包括链路发现 [33-34] 、拓扑管理 [35] 、策略制定 [36] 、表项下发等。具体如下。

①链路发现获得SDN全网信息,是实现网络控制的基础。在传统网络中,链路发现是由各网元单独进行的,而SDN中的链路发现由控制器统一完成。

②拓扑管理是为了实时监控和采集SDN交换机的信息,从而反馈工作状态和链路连接状态,这是因为SDN控制器需要定时更新交换机工作状态和网络拓扑视图。值得注意的是,当网络规模较大时,拓扑管理机制需要收集网络中每个SDN交换机的信息,收敛速度较慢,从而影响网络状态的实时反馈,尤其是在节点失效的情况下,原有SDN交换机的信息反馈链路中断,拓扑管理机制收敛速度将以几何级数增长。

③策略制定是南向网络中的核心技术之一,针对不同层次的传输需求,制定相应的转发策略并生成对应的流表项。流表生成算法是影响控制器优化水平的关键因素。由于SDN控制器具有全局的网络资源视图以及集中管控的优势,相比传统网络有可能获得更好的优化性能。策略制定的结果需要通过下发表项来实现。下发表项可分为主动和被动两种模式。主动下发表项是在数据流到达前,预先下发设定的规则,避免每次都需访问控制器,但考虑数据流的多样性,流表项的管理工作变得复杂,难以设置与维护;被动下发表项则在数据流到达后,利用控制器中的存储信息,制定高效的流表转发规则,但会增加流表项的设置时间,在复杂网络中这将导致策略部署和流表项设置延迟等。

北向业务支撑主要是通过NBI向上层业务应用或资源管理系统提供灵活的网络资源抽象视图,并以软件编程的形式调度各种网络资源 [37] 。研究人员从用户角度或运营商角度出发,根据业务应用需求,提出了至少20种NBI规范,但至今尚未形成统一共识 [38] 。因此,目前SDN NBI研发的关键是标准化。一方面,一些开源平台(如OpenDaylight、开放网络操作系统(ONOS)等)正在加快SDN的部署,尝试通过支持更多网络应用落地,形成相应的标准规范;另一方面,一些标准化组织(如ONF、因特网工程任务组(IETF)等)通过分析不同的应用领域,推进多层次化NBI框架发展,并对NBI功能、协议等进行标准化定义 [39]

当前,SDN控制器还处在研究与发展的阶段,且多由一些开源项目提出。其现有的商用产品主要在开源SDN控制器上进一步优化和修改。开源SDN控制器的介绍见表2-1。

表2-1 开源SDN控制器的介绍

3.SDN数据平面

数据平面也称为转发平面,负责确定传入的数据包的去向并确保其被正确地发送到目的地址 [40] 。数据包头包含数据包源地址以及目的地址等信息,数据平面利用这些信息来引导网络流量。

传统网络数据平面与SDN数据平面如图2-5所示。数据平面通过一系列链路层操作来处理到来的数据包。首先需要采集传入的数据包,同时执行基本的数据完整性检测。完成之后,数据平面通过查询从控制平面复制的 FIB(在某些情况中可能是多个 FIB)来处理一个格式正常的数据包,并识别数据包的目的地址。该过程被称为快速数据包处理,除了查询和匹配已编程的FIB来识别数据包的目的地址,不需要额外的操作。而当数据包不能匹配已有规则时,例如,当检测到一个未知的目的地址时,数据包会被发送到控制平面,由控制平面利用RIB来进一步处理。

图2-5 传统网络数据平面与SDN数据平面

在数据包处理流程上,SDN数据平面与传统网络数据平面基本一致,区别主要包括两个方面。

①传统网络数据平面转发主要与协议相关,仅支持有限的用户配置,不支持编程自定义,但SDN数据平面处理流程中的所有模块,包括拆分与解析、转发策略匹配和转发调度,都是可编程的、与协议无关的。

②传统网络数据平面转发依赖于各设备中保存的二层介质访问控制地址转发表或者三层网际协议地址路由表,但SDN数据平面转发则将传统多层转发表抽象成流表,整合了全网各层次的网络配置信息,提供了丰富的数据转发规则。

在OpenFlow标准(OpenFlow协议是SDN控制平面与数据平面分离的基础)中,数据以“流”为单位进行处理,根据不同的流执行不同的策略。“流”是在同一时间,经过同一网络中具有某种共同特征(属性)的数据的抽象表示,一般由网络管理员定义。例如,访问同一目的地址的数据可以被视为一个流。流表则是针对特定流的策略表项的集合,负责数据包的查找与转发。OpenFlow V1.0流表如图2-6所示,一张流表包含一系列流表项,主要包括包头域、计数器、动作表,具体如下。

图2-6 OpenFlow V1.0流表

(1)包头域

包头域中标明了数据包转发过程中所需的链路层、网络层和传输层标识,如数据包源地址、目标地址、VLAN优先级等。

(2)计数器

计数器用于统计与数据流量相关的信息,对交换机中的每张流表、每个数据流、每个设备端口及每个转发队列进行维护,如数据包数量、数据包查询次数、数据包匹配次数和错误发生次数等。

(3)动作表

动作表用于指示交换机在收到匹配的数据包后对其进行的下一步操作,如转发、丢弃、修改包头域等。

SDN交换机接收数据包后,首先在本地的流表上查找是否存在匹配流表项。数据包从第一个流表开始匹配,经过流水线处理,可能会遍历多个流表。流水线处理的好处是允许数据包被发送到接下来的流表中进一步处理,或允许元数据信息在流表中流动。如果某个数据包成功匹配了流表中某个流表项,则更新这个流表项的“计数”,同时执行这个流条目中的“操作”;如果没有匹配成功,则将该数据流的第一条报文或报文摘要转发至控制器,由控制器决定转发端口。

数据平面的查表采用硬件查表和通用处理器查表两种技术。硬件查表技术可以实现高速率、高准确度的数据包转发性能 [40] ,在网元设备(尤其是高带宽的网元设备)设计中占有重要地位。硬件转发的设计目标主要针对数据包线速转发,在设计时需要考虑多种因素,包括板卡和机架等的空间、预算、能效以及吞吐量的目标需求等。因而,针对特定目标定制的硬件线速转发数据平面存在诸多方面的差异,如数据包长度、所需的存储器类型(速率、带宽、大小和位置)以及运行预算(对数据包操作的数量、序列或类型)等的差异。这种异构性限制了硬件线速转发数据平面的可扩展性能。近年来,受云计算增长和创新的推动,针对中低性能需求的通用处理器查表技术得到了快速发展和广泛应用,使基于集成电路转发芯片定制的网元设备成本降低,适用范围扩大。

总结而言,SDN具备高度灵活的响应和动态管理策略。其最重要的意义在于减轻了手动配置网络的负担,降低了网络负载调度的成本,实现了网络的自优化。相比于传统网络,SDN具有更多优势。首先,SDN分离数据平面和控制平面,使得应用升级与设备更新换代相互独立,优化了新型网络应用的部署过程;其次,SDN抽象简化了网络模型,极大降低了网络管理中繁杂的手工操作,能够更加灵活地控制网络;最后,控制器的逻辑中心可以通过控制器获取全局网络信息,实时优化网络,提升网络性能。无论是对当前网络环境的分析还是对突发情况的应对,SDN都能够基于当前网络状态及时做出决策响应。

当前,学术界、产业界和标准化组织共同推动SDN的发展,并将SDN与其他技术深度融合。例如,大数据及人工智能技术可以通过对网络数据、业务数据、用户数据的精准分析与挖掘,实现对 SDN 的精准控制和对创新业务的开发利用 [41] ,并对网络环境进行优化以保障网络的稳定性。同时,面向业务灵活开放的云服务平台,尤其是超大规模数据中心,云计算与SDN北向接口配合可以实现网络资源的高效调度,以满足不断涌现的移动应用,并相互促进发展 [42-43] 。此外,光通信技术的发展提高了网络传输速率 [44-45] ,可以降低网络部署成本和维护成本,有效地支撑了SDN落地应用。

长期来看,SDN与新型信息技术的结合仍具备极大的挑战,但新型信息技术与SDN之间的互相融合及互相促进不可忽视。此外,产业界和学术界对SDN的研究与分析必须考虑大数据、人工智能等新型信息技术因素,在提高SDN性能的同时也需要防止SDN架构固化并形成新型信息技术运用的障碍。 rRA+8zJIz4GRUIqS0uBnmrQgIWozOFtEM5DvkmRo0M6tv6ZksgG/t47LtfP5IBiZ

点击中间区域
呼出菜单
上一章
目录
下一章
×