第5章SDN 管控技术 知识导读 传统承载网络的管理和控制功能有限,主要是通过网络管理系统(NetworkManagement System,NMS)实现网络设备的硬件管理、性能监控、参数配置等。随着客户及运营商需求 的变化以及网络功能的增加,5G 承载网要求能快速实现网络调整,即实现网络的可编程、自 动化。 承载网的SDN(软件定义网络)管控技术是指可编程实现对承载网设备的管理和控制, 实现网络自动化运维,提升管控效率。其中,管理功能主要指硬件、软件、告警、性能、日志、 配置等各类资源和数据的管理,控制功能主要指通过控制器实现无须人为参与的闭环决策 控制、隧道托管给NMS 的重路由功能等。 本章将讲解承载网的SDN 背景、架构和关键技术,并介绍SPN 的SDN 方案。 学习目标 .了解SDN 的网络管理架构。 .了解SDN 管控的关键技术。 .掌握NETCONF 、RESTCONF 接口的基本概念及网络位置。 .掌握网络IS-IS 分域规则。 .掌握网络BGP-LS 、PCEP 部署方案。 .了解SPN 的SDN 管控架构。 能力目标 .掌握BGP-LS 现网规划的能力。 .掌握IS-IS 现网分域的能力。 1 SDN 管控技术背景 5. SDN 管控技术是一种将设备控制与传送分离并直接可编程的新兴网络架构。5G 承载 网的SDN 管控技术是将SDN 的集中化智能控制与5G 承载网面向数据优化的高效多业务 传送能力、电信级的高可靠性、端到端的QoS保障结合起来的全新承载网络架构。通过开 放性的应用和服务,增强网络资源的智能化调度能力,使客户与网络资源之间的关系扁平 化,从而提升运维管理和业务运营效率。 SDN 控制功能的核心为应用软件参与对网络行为的定义,通过自动化业务部署简化网 络运维,通过开放的APP 进行快速业务创新,即使承载网具备控制与传送分离、逻辑集中控 制、开放的编程接口等技术特征,具体如下: (1)控制与传送分离。控制平面与分组传送设备在逻辑上独立部署,减少分组传送设 备上的分布式网络协议,从而降低分组传送设备的复杂性。通过控制与传送分离,可支持控 制平面与传送平面的独立发展。 (2)逻辑集中控制。为达到全网资源的高效利用,SDN 实现了控制功能逻辑集中化。 相比传统分布式控制平面,集中控制可以掌握全局网络资源,进行最优的控制决策,实现网 络资源全局最优利用。 (3)开放的编程接口。通过标准的可编程网络控制接口,SDN 使承载网可向外部应用 开放网络资源信息,允许第三方业务应用灵活利用网络资源,实现网络和业务的持续演进和 不断创新。开放的编程接口有利于承载网走向开放和合作的业务开发和经营模式。 2 SDN 管控架构 5. SDN 管控架构如图5-1所示。 图5- 1 SDN 管控架构 采用SDN 管控技术,在现网部署中可对传送平面、控制平面、管理平面、应用/协同平面 进行软件服务化设计、共云平台部署,以实现SDN 管理、控制、应用集成部署。 1. 传送平面 简单理解,传送平面就是由承载网设备连接成的具有业务传送能力的网络。 传送平面提供两点或多点之间的双向或单向的用户业务传送能力,也可以提供控制和 网络管理信息的传送。此外,传送平面提供信息传输过程中的OAM 、保护恢复、业务SLA 保证、时钟同步等功能。传送平面承载和传送客户层的各种业务,并保证客户业务信息的透 明性。 2. 控制平面 控制平面由支持分层部署的控制器组成,对传送平面的转发行为进行无须人为参与的 109 闭环决策控制,并向上层应用/协同平面提供控制策略北向接口。 控制器根据业务需求生成转发行为控制数据,并逐层分解控制粒度,最终下发到传送平 面各节点,控制网络的业务转发、保护、恢复等行为。控制器应支持分层分域部署,以满足大 规模网络的组网要求,分层部署的控制器之间通过带外控制通道互连。上层控制器可连接 多个下层控制器,完成跨下层控制域的业务统一控制。 控制平面应具备高可靠性、高安全性,应配置防火墙以防止外部网络或客户对网络的攻 击,并且控制平面失效不应影响传送平面业务转发。 3. 管理平面 管理平面包括EMS/SNMS 、OSS 系统,完成对承载网的网络管理和维护。在网络演进 过程中,为保持和已有系统的兼容性,应支持与传统管理平面进行协同工作,并保持数据的 一致性。 4. 应用/协同平面 应用/协同平面由协同器(orchestrator)、应用服务器(APPserver)、应用客户端(APP client)组成。应用/协同平面通过调用应用/协同平面与控制平面接口(A-CPI)对网络进行 操作。协同器是应用/协同平面中负责业务协同的组件,包括业务编排、业务策略管理等功 能,屏蔽网络技术差异,实现网络资源的协同应用和全网资源的动态可视化构建。协同器向 APP 提供面向业务模型的应用与协同器接口(A-OPI), 方便第三方APP 灵活定制运营商 的网络资源。 5. 系统平面间接口 在SDN 管控系统架构中,各平面通过软件接口进行交互并协同工作。各平面间的接口 有以下5个: (1)传送平面与控制平面接口(D-CPI )。用于控制平面对传送平面设备资源的调度、配 置以及状态获取。D-CPI 定义了网元级资源信息模型,实现了控制平面对传送资源的统一 调度。D-CPI 应能支持多样化接口形式并能兼容现有网元接口。 (2)应用/协同平面与控制平面接口(A-CPI )。控制平面通过A-CPI 对应用/协同平面 提供网络级的抽象能力和服务。A-CPI 定义了网络级资源信息模型,实现了网络能力抽象。 (3)管理平面与传送平面接口(D-MPI )。管理平面通过该接口可对网元实施管理,实 现光通道的建立、确认和监视,并在需要时对其进行保护和恢复。 (4)控制平面与管理平面接口(C-MPI )。用于控制平面与管理平面的信息交互,管理 平面通过C-MPI 对控制器进行管理和维护。 (5)应用/协同平面与管理平面接口(A-MPI )。用于应用/协同平面与管理平面的信息 交互,通过A-MPI,应用/协同平面可从管理平面获取存量资源信息,实现与管理平面的 协作。 各平面内不同部件通过软件接口进行交互。平面内接口有以下4个: (1)控制平面层间接口(C-CPI )。用于分层部署的控制器之间进行资源的协同调度和 控制,每层控制器和其他层控制器之间均可通过C-CPI 交互。C-CPI 定义了基于控制域的 网络级资源信息模型,实现了全网控制器分层分域协同控制。上层控制器通过C-CPI 对多 个下层控制器的网络资源进行调度。 (2)应用与协同器接口(A-OPI )。用于协同器向应用提供基于业务级的抽象能力。A 110 OPI定义了业务级接口和模型,与具体使用的网络技术无关。业务级接口便于应用聚焦子 业务开发,而不必关心具体的网络技术,降低了应用开发难度。 (3)应用客户端与应用服务器间接口。用于应用/协同平面内应用客户端与应用服务 器之间的信息交互。 (4)管理平面层间接口(M-MPI )。现存的EMS/SNMS的北向接口用于OSS从EMS/ SNMS获取网络存量资源信息和进行自动化业务配置,相关内容不在本书讨论范围之内。 3 SDN 管控关键技术 5. SDN管控关键技术包括控制器、BGP-LS 、PCEP 、NetConf、RestConf和数据建模语言 YANG 。前5项技术在网络中的位置如图5-2所示。 图5- 2 SDN 管控关键技术在网络中的位置 5.1 控制器 3. 控制器可分层部署,实现网络的集中控制功能。控制器实际上是运行在服务器上的软 件系统,同时连接着应用、管理平面和承载网设备,具有承上启下的桥梁作用。运营商可以 通过该桥梁实现灵活的网络部署,例如实现跨IS-IS域、跨设备厂商甚至跨承载网设备类型 的灵活网络部署。 1.简介 控制器对网络进行集中控制。当承载网由多家厂商的设备组网时,厂商控制器与NMS 合并设置,构成区域控制器(DomainControler,DC)实现区域控制,由超级控制器(Super Controler,SC)管理DC实现跨厂商管控,数个控制器构成网络的控制平面,如图5-3所示。 控制器实现网络拓扑和资源统一管理、网络抽象、路径计算、策略管理等功能,同时提供协议 适配层和应用接口适配层。 2.逻辑架构 控制器逻辑架构应包括北向接口协议适配层、业务层、策略层、网络层、资源抽象层以及 南向接口协议适配层6个层次,同时还包括告警、性能、日志、数据库以及S-SCN接口和SMCN接口等通用模块,如图5-4所示。 111 图5- 3 多控制器部署示意图图5- 4 控制器逻辑架构 控制器逻辑架构中各层和各模块支持的功能如下: () 北向接口协议适配层支持对业务适配的网络资源编程和控制接口,北向接口建议 采用RestConf协议。 () 业务层支持L2VPN 、L3VPN 、TDM 仿真等业务的建立、拆除、修改功能,业务层使 用策略层提供的各种策略完成业务选路和保护恢复、QoS、OAM 属性设置。 () 策略层支持网络和业务所需的策略管理功能,包括路由策略、保护恢复策略、QoS 策略、OAM 策略、安全策略等。 () 网络层支持对网络进行抽象,屏蔽物理网络细节,实现网络拓扑管理、管道连接管 理。资源抽象层可提供物理网络抽象模型和虚拟网络抽象模型,用于路径计算。 () 资源抽象层支持收集网元资源(包括网络中节点、端口等资源)的信息。 (6)南向接口协议适配层支持对下层控制器、传送平面网元的接口适配和下发。在网 络演进过程中,也可采用控制器与网管的私有接口进行传送平面南向接口适配。 (7)通用功能模块提供网络必要的告警、性能和日志查询功能。 (8)S-SCN 接口是控制器与控制器之间以及控制器与网元之间安全可靠的传输通道。 控制器还应支持与管理平面互通的接口。 (9)S-MCN 接口是管理平面之间以及管理平面与网元之间安全可靠的传输通道。 (10)数据库负责业务、策略、资源、告警、性能等数据的存储和同步。 3. 控制平面 数个控制器构成控制平面。控制平面总体架构如图5-5所示,包括分层部署的控制器 以及相关接口。 控制平面使用的接口如下: (1)控制平面通过D-CPI 与传送平面进行交互,对传送平面的网元进行控制操作并获 取网元相关资源的状态信息。 112 图5- 5 控制平面总体架构 (2)控制平面通过A-CPI与应用/协同平面进行交互,通过开放可编程接口向应用/协 同平面提供网络服务。 (3)在控制平面分层部署的情况下,不同层次的控制器之间通过C-CPI进行交互,完成 全网SPN资源的协同控制。 5.2 BGPLS 3. BGP-LS(BorderGatewayProtocolLinkState,携带链路状态的边界网关控制协议),是 一种集中控制协议,是BGP的扩展应用,用于控制器搜集网络实时拓扑状态。该协议汇总 IGP收集的拓扑信息并传送给上层控制器,实现网络拓扑监控、流量调优、重路由等功能。 1.简介 每个路由器都维护一个或多个数据库,用于存储任何给定区域内与节点、链路相关的链 路状态信息。存储在这些数据库中的链路属性包括本地/远端IP地址、本地/远端接口标识 符、链路度量和TE(TraficEnginering,流量工程)度量、链路带宽、保留带宽、CoS(Clas-of- Service,服务等级)保留状态、优先级、共享风险链路组(SharedRiskLinkGroup,SRLG )。路由 器的BGP进程可以从这些数据库中恢复拓扑并将其发布给使用者。 链路状态和TE信息的收集和发布如图5-6所示。 图5- 6 链路状态和TE信息的收集和发布 发送BGP报文的设备称为BGPSpeaker,相互交换报文的Speaker之间互称对等体 113 (per )。BGPSpeaker支持信息发布策略的配置。BGPSpeaker可以从LSDB(Link-State Database)或TED(TraficEngineringDatabase,流量工程数据库)中分发真实的物理拓 扑,也可以创建一个抽象拓扑[由虚拟路径连接的虚拟聚合节点,聚合节点可以是同一个 POP(PointOfPresence,因特网接入点)的多台路由器]。抽象拓扑也可以是物理节点(或 链路)和虚拟节点(或链路)的组合。通过配置BGPSpeaker的拓扑信息更新频率,可以减 小网络中拓扑更新信息的流量。 BGP-LS(RFC7552)产生前,网元使用IGP(OSPF协议或IS-IS协议)收集网络的拓扑 信息,存在以下 IGP将各个域的拓扑信息单独上送给上层控制器。在这种拓扑收集方式下, 几个问题: (1)对上层控制器的计算能力要求较高,且要求控制器也支持IGP及其算法。 (2)当涉及跨IGP域拓扑信息收集时,上层控制器无法看到完整的拓扑信息,无法计算 端到端的最优路径。 (3)不同的路由协议分别上送拓扑信息给上层控制器,控制器对拓扑信息的分析处理 过程比较复杂。 BGP-IGP发现的拓扑信息由BGP汇总后上送给上层控制器, LS产生后,利用BGP强 大的选路和算路能力带来以下几点优势: (1)降低对上层控制器计算能力的要求,且不再对控制器的IGP能力有要求。 (2)BGP将各个进程或各个自治系统(AutonomousSystem,AS)的拓扑信息进行汇 总,直接将完整的拓扑信息上送给控制器,有利于路径选择和计算。 (3)网络中所有拓扑信息均通过BGP上送控制器,使拓扑上报协议归一化。 2.BGP-LS路由 BGP-LS在原有BGP的基础上引入了一系列新的NLRI(NetworkLayerReachabilityInformation,网络层可达性信息)携带链路、节点和IPv4/IPv6前缀相关信息,这种新的 NLRI称为链路状态NLRI(Link-StateNLRI )。BGP-LS采用MP_REACH_NLRI(多协议 可达NLRI)和MP_UNREACH_NLRI(多协议不可达NLRI)属性作为链路状态NLRI的 容器,即链路状态NLRI是作为MP_REACH_NLRI或者MP_UNREACH_NLRI属性携 带在BGP的Update消息中的。 一共有6种BGP-LS路由,分别用来携带节点、链路、路由前缀信息、IPv6路由前缀信 息、SRv6SID路由信息和TE策略路由信息。这几种路由相互配合,共同完成拓扑信息的 传输。 BGP-LS主要定义了如下几种链路状态NLRI:NodeNLRI(节点NLRI )、LinkNLRI (链路NLRI )、IPv4TopologyPrefixNLRI(IPv4拓扑前缀NLRI )、IPv6TopologyPrefix NLRI(IPv6拓扑前缀NLRI )。下面给出各种NLRI的报文格式。 (1)NodeNLRI报文格式如图5-7所示 。 NodeNLRI报文各字段解释如下 : .Protocol-ID:协议标识,如IS-IS 、OSPF和BGP等,8位。 .Identifier:标识符,在运行IS-IS 、OSPF多实例时,用于标识不同的协议实例,64位。 .LocalNodeDescriptors:本地节点描述符,由一系列节点描述符sub-TLV组成,长 度可变。 114 图5- 7 NodeNLRI 报文格式 (2)LinkNLRI 报文格式如图5-8所示。 图5- 8 LinkNLRI 报文格式 LinkNLRI 报文各字段解释如下: .Protocol-ID:协议标识,如IS-IS 、OSPF 和BGP 等,8位。 .Identifier:标识符,在运行IS-IS 、OSPF 多实例时,用于标识不同的协议实例,64 位。 .LocalNodeDescriptors:本地节点描述符,由一系列节点描述符sub-TLV 组成,长 度可变。 .RemoteNodeDescriptors:远端节点描述符,长度可变。 .LinkDescriptors:链路描述符,长度可变。 (3)IPv4/IPv6TopologyPrefixNLRI 报文格式如图5-9所示。 图5- 9 IPv4/IPv6TopologyPrefixNLRI 报文格式 IPv4/IPv6TopologyPrefixNLRI 报文各字段解释如下: .Protocol-ID:协议标识,如IS-IS 、OSPF 和BGP 等,8位。 .Identifier:标识符,在运行IS-IS 、OSPF 多实例时,用于标识不同的协议实例,64 位。 115 .LocalNodeDescriptors:本地节点描述符,由一系列节点描述符sub-TLV组成,长 度可变。 .PrefixDescriptors:前缀描述符,长度可变。 与此同时,针对上述NLRI,BGP-LS还定义了相应的属性,用于携带节点、链路和 IPv4/IPv6前缀相关的参数和属性。BGP-LS属性是以TLV[Tag(标签)、Length(数据的 长度)、Value(数据)]的形式和对应的NLRI携带在BGP-LS消息中。这些属性都属于 BGP可选非传递属性,主要包括NodeAtribute(节点属性)、LinkAtribute(链路属性)和 PrefixAtribute(前缀属性)。 3.典型组网 1)IGP域内拓扑信息收集 如图5-10所示,A、B、C和D之间通过IS-IS协议达到IP网络互联的目的。A、B、C和 D同属于域10,都是Level-2设备。在这种情况下,只 需要A、B、C和D中的任何一台设备部署BGP-LS特 性并与控制器建立BGP-LS邻居关系便可以达到整个 网络拓扑收集和上送的目的。但是,为了拓扑上送的 可靠性,往往选择两台或两台以上设备都部署BGPLS特性并与控制器建立BGP-LS邻居关系。由于网 络中的设备收集的拓扑信息相同,所以它们之间可以 互相作为备份,当有设备出现故障时依然保证拓扑信 息的及时上送。 2)BGP自治域间拓扑信息收集 如图5-11所示,A和B属于同一自治系统,两者 之间建立IS-IS邻居关系。A为自治系统内部的一台非BGP设备。B和C之间建立EBGP (ExternalBoardGatewayProtocol,外部边界网关协议)连接。在这种情况下,由于BGP(未 使能BGP-LS)不能传递拓扑信息,所以AS100内的设备和AS200内的设备上收集的拓扑 信息不同(都只能收集本自治系统的拓扑信息),所以此时要求AS100和AS200两个自制 系统中都至少有一台设备使能BGP-LS特性并与控制器建立BGP-LS邻居关系。每个自治 系统中有两台或两台以上设备与控制器相连,则可以保证拓扑收集与上送的可靠性。 图5-10IGP域内拓扑信息收集 图5-11 BGP自治域间拓扑信息收集 4.部署实例 图5-12给出了BGP-LS部署实例。 每个IS-IS域内至少选取两台设备与控制器建立BGP-LS连接(逻辑连接),设备将通 116 117 图5-12 BGP-LS部署实例 过IS-IS域搜集的网络拓扑信息LSDB等通过BGP-LS上报给控制器。核心IS-IS域选取 一对核心设备启用BGP-LS,接入汇聚IS-IS域选取骨干汇聚对(IS-IS分层点)设备启用 BGP-LS。 同一对骨干汇聚点带多个IS-IS进程时,启用一个BGP-LS将多个进程绑定到一个 BGP-LS会话上。 以华为SPN 设备的BGP-LS全局配置为例,其脚本示例如下,其中3.3.3.3为BGP-LS Server的IP地址。 #b gp 10 peer3.3.3.3 as-number 10 #l ink-state-family unicast peer3.3.3.3 enable # 同时,需要在对应的IS-IS配置中使能BGP-LS: #i sis 1 ****(此部分配置省略) bgp-ls enable level-2 # 5.3.3 PCEP PCEP(PathComputationElementcommunicationProtocol,路径计算单元通信协议) 是一种集中动态控制协议,用于设备向控制器请求隧道算路以及控制器向设备下发隧道标 签栈信息,即网络路径的请求和计算。PCEP面向连接,效率高。 1.简介 为实现更好的网络控制,承载网网络设备和SDN 控制器应支持PCEP,并通过PCEP 将集中算路结果实时下发到网络设备,或由网络设备向控制器提交算路申请。在PCEP模