SDN对外接口协议探究

2019-09-10 07:22冒佳明
现代信息科技 2019年16期
关键词:网络设备控制器

摘  要:SDN软件定义网络作为目前网络行业中最炙手可热的新技术正在蓬勃发展,越来越多传统网络设备厂商和互联网公司也在持续跟进并不断丰富和完善各自的SDN网络解决方案。在主流的SDN网络解决方案中,根据可编程接口方向层级可分为南向接口和北向接口,南向接口通常作为SDN控制器对网络设备进行控制的接口协议;北向接口通常用于SDN控制器对接业务应用系统和第三方系统的协议。本文简要阐述业内主流的SDN对外的南北向接口协议及适应的场景。

关键词:SDN;网络设备;控制器;北向接口;南向接口

中图分类号:TP393.0     文献标识码:A 文章编号:2096-4706(2019)16-0053-03

Abstract:SDN software definition network as the hottest new technology in the network industry is developing vigorously. More and more traditional network equipment manufacturers and internet companies are continually following up and constantly enriching and improving their SDN network solutions. In the mainstream SDN network solution,according to the direction hierarchy of programmable interface,it can be divided into south-facing interface and north-facing interface. The south-facing interface is usually used as the interface protocol of SDN controller to control network equipment. The north-facing interface is usually used for the protocol of SDN controller docking business application system and third-party system. This paper briefly describes the industry’s mainstream SNN external north-south interface protocol and adaptation scenarios.

Keywords:SDN;network equipment;controller;north-facing interface;south-facing interface

1  SDN概述

SDN(Software Defined Network,软件定义网络)是一种新型网络设计理念,其核心理念是通过对网络硬件设备的控制层面和转发层面分离,通过控制层面由集中控制系统(SDN控制器)对网络进行弹性管理和灵活控制,实现各类业务应用通过调用控制器所提供的相关接口来满足不同业务系统对网络转发需求,同时借助于集中控制系统的灵活可编程能力,動态定制调整网络模式和策略,为业务创新,应用创新提供良好支撑。

SDN作为网络行业最热门的前沿技术,从2006年概念被提出,经历了10多年的发展,目前已经在数据中心、园区网等领域得到广泛应用和规模部署,使网络具备灵活编程、动态感知以及自动编排等能力。在SDN网络中,按照可编程接口的层级可以分为南向接口与北向接口:南向接口对网络硬件设备进行统一控制和可视化管理,实时监控网络运行状态和设备运行健康度;北向接口对接业务及第三方应用,方便对网络资源进行灵活调用。SDN网络架构,如图1所示。

目前主流的SDN南北向接口众多,其中最为知名的南向接口为开放网络基金会(Open Networking Foundation,ONF)制定的OpenFlow协议,北向接口事实上标准为RESEful,其他标准化组织如IETF等制定的南北向接口协议,也在实际应用中被广泛采用。

2  北向接口协议

SDN北向接口是SDN控制器层向上层业务应用开放的接口,使业务应用层能快速调用控制器层实现网络资源和能力。通过SDN北向接口,业务应用可以通过灵活软件编程方式调用网络相关资源;同时主流的网络管理系统也可以通过控制器的北向接口实现对整个网络的资源状态、网络运行状态、网络设备运行状态进行统一运维信息的收集,并对网络资源进行统一安排和调度。

北向接口设计的目的主要为业务应用提供网络资源服务,其设计通常密切联系业务应用需求,具有业务多样化的特征。目前,在SDN网络中北向接口仍然没有统一标准,下面将对业内主流的SDN控制器进行梳理。

REST北向接口:目前在市场占有率超过60%的ODL(Open Daylight)控制器中,采用REST(Representational State Transfer)API作为北向接口对接第三方业务应用。REST描述了一种架构样式的网络系统(如Web应用程序),作为一种独特软件架构风格,REST因其操作简单,设计逻辑清晰,已作为主流技术被大多数公司所应用。

REST通过约束条件和原则的应用程序将会更加有效、可扩展、安全、可靠,为灵活对接提供一种便利,REST API主要基于HTTP、XML、HTML、URI、JSON等主流协议和标准。

在北向接口的设计上,RESTful便于用户根据业务需要进行二次开发实现自身特定应用需求,在ODL中,基于YANG模型通过YANG Tools生成北向接口来实现跟业务应用的对接。

其他主流的控制器,如Big Switch的Floodlight控制器,Ryu控制器等,也均使用REST API作为北向接口跟业务应用层提供接口对接。

3  南向接口协议

3.1  OpenFlow

OpenFlow是由斯坦福大学的Nick McKeown教授首先提出,创造之初用来研究新型校园网网络架构、协议,考虑到实际的网络创新思想验证,故而提出OpenFlow的控制转发分离架构,将控制逻辑从网络设备盒子中引出来,研究者可以对其进行任意的编程从而实现新型的网络协议、拓扑架构而无需改动网络设备本身。

OpenFlow是最早在SDN网络中定义的一个控制层面与转发层面之间的通信接口协议标准,从2009年发布第一个1.0版本以来,先后经历了1.1版本、1.2版本、1.3版本、1.4版本、1.5版本、1.5.1版本等演进过程。OpenFlow允许SDN控制器访问和配置网络设备转发层面,其中网络设备可以是硬件设备,也可以是虚拟化。

OpenFlow作为最早应用在SDN网络中的协议,其本质是将网络设备的转发层和控制层面彻底分离,OpenFlow作为转发层面和控制层面之间使用标准的协议通信使用;控制层面由集中的SDN控制器进行网络管理和流表的下发,转发层面从SDN控制器获取流表后,基于流的方式进行数据的转发。

OpenFlow网络中由OpenFlow网络设备和控制器组成,并通过安全通道(OpenFlow channel)连接。OpenFlow网络设备与控制器之间通过TLS或者TCP建立安全通道,进行OpenFlow消息友好交互,实现相应表项的灵活下发、实时查询及运行状态上报等功能。

3.2  NETCONF

NETCONF(Network Configuration Protocol)协议由RFC 6241进行定义和规范,为网络设备安装、操作、配置信息以及删除等提供相关工作机制。NETCONF本质上是基于XML的协议类型,支持可编程,实现对网络设备配置管理,使用简单的基于RPC(Remote Procedure Call)机制实现客户端和服务器之间的通信,完成网络设备的设置、参数获取、信息统计、设备状态等。

NETCONF具有灵活的可编程能力,数据项均含有特定元素名称和方位,多个厂家之间网络设备通过映射XML,可以获得相似效果从而大大增强开发的便利性。目前业内主流厂家的网络设备之中均已支持NETCONF协议。在SDN网络中,SDN控制器通过使用NETCONF协议可以方便灵活地对网络设备进行管理和配置,为传统网络像SDN网络迁移提供便利。

NETCONF协议为分层架构:内容层、操作层、RPC层和通信协议层。其中基于RPC协议确定了一套各客户端激活的用户操作配置数据库RPCs,比如get-config(获取配置)、edit-config(编辑配置)与copy-config(复制配置)等。由管控的设备特定额外RPCs所实施的数据模块,可被各个客户端用于操作特定的设备配置数据以及状态数据。对每个数据模块可用的RPCs被确定为整个模块的YANG定义的一部分。

3.3  PCEP

PCEP(Path Computation Element Communication Protocol)路径计算单元协议是由IETF的PCE工作組于2006年为MPLS网络域间流量工程(即显式路由)等应用提出的,目的是为支持集中化路径计算而提出的用于传递路径信息的标准协议,目的是为了解决MPLS TE无法自动算路的限制。

PCEP由PCC和PCE组成。PCC作为MPLS TE隧道管理者,实现MPLS TE隧道的建立、资源预留等功能。PCE Server实现TEDB计算带约束路径的软件系统。由MPLS TE隧道进入节点PCC向PCE Server请求所需要的LSP路径,PCE Server通过计算后,将计算结果返回,PCC通过下发RSVP-TE建立对应的LSP转发路径。

PCEP通过RFC 4657定义PCE和PCC之间通信标准。通过RFC 5440定义协议的实施标准。通过PCEP主要为了传递LSP转发路径信息,随着SR(Segment Routing)源路由协议在SDN网络中的广泛应用,PCEP协议通过扩展支持SR。通过SDN控制器计算完路径后,实现MPLS标签转换成SR标签,并将PCEP协议下发给网络设备,网络设备则通过SR-TE转发路径进行数据包的转发。

3.4  BGP-LS

BGP-LS(BGP Link-state)由RFC 7752定义的,是对BGP协议的扩展,确切的说是在MP-BGP协议的基础之上进一步的扩展。最初的BGP协议中只能传递IPv4的路由信息,这显然不能满足当前的网络需求,更不能满足SDN网络需求。因此通过对BPG协议扩展,实现了对IPv4、IPv6、LinkState以及FlowSpec路由信息的传递。基于链路状态的IGP(内部网关协议,例如:OSPF/ISIS协议)中,各个网络设备通过收集和交互链路状态形成自己的网络状态数据库并依此进行内部路由的计算,BGP-LS通过对BGP协议的扩展将IGP收集链路状态信息传递到网络外部的路径计算SDN控制器中。

在BGP-LS协议中存在对应Node、Link、Prefix三种NLRI封装格式和其它链路状态相关的属性值。其中Node NLRI携带网络节点描述信息和属性值;Link NLRI携带链路两端设备标识和一系列该单向链路的属性值信息(例如:端口IP、链路对端IP、链路带宽等);Prefix NLRI携带了对应网络节点的网络前缀属性。网络外部的路径计算实体(例如:SDWAN中的SDN控制器)经过分析、整合后供流量调度、网络可视化等功能组件使用。在SDN网络中主要用于网络拓扑收集,可以使拓扑收集更加简单高效地进行。

传统网络中由于网络不透明,链路和链路流量可视化程度不高,造成运维管理人员很难管控整个网络。SDN网络中通过控制器和网络设备建立BGP邻居关系,从而实时的获取网络设备节点信息、链路信息和拓扑信息,并通过算法将网络组网架构可视化。

网络管理人员可以通过控制器实时查看全网的拓扑结构、链路状态、链路质量及流量路径等信息,提升网络综合管控能力。

BGP-LS主要具有如下优点:

(1)跨IGP域的拓扑收集能力。传统网络拓扑收集只能基于IGP单域进行,拓扑收集有局限性。BGP-LS支持多IGP域拓扑收集,设备把收集到的链路状态信息发送给控制器,实现了业务与流量的端到端管理和调度,还可以满足需要链路状态信息的各种应用需求。

(2)强大的可扩展能力。BGP-LS协议是基于BGP协议并在MP-BGP基础上的进一步扩展。BGP协议本身具有良好的可扩展性,BGP协议的路径属性由TLV三元组组成,可以将需要的信息添加到扩展TLV中,不需要对BGP协议的整个报文格式进行改动。BGP-LS对NRLI进行了扩展。

3.5  OVSDB

OVSDB管理协议(Open vSwitch Database Manage-ment Protocol),即开放虚拟交换机数据库管理协议,最初由VMware提出,主要用户负责和管理开源软件交换机(Open vSwitch,OVS)的开放虚拟交换机数据库(Open vSwitch Database,OVSDB),是一个用于实现对虚拟交换机可编程访问和配置管理的SDN管理协议。

OVSDB管理协议用来实现SDN控制器对网络中VTEP设备的管理和部署,交换模块支持VXLAN(Virtual eXten-sible Local Area Network)和OVSDB控制协议,可以将交换模块和VMware NSX控制器结合应用到SDN网络中。

OVSDB组成分为两个模块:

(1)OVSDB Server:此模块和VMware NSX控制器中的OVSDB Client及交换模块中的OVSDB Client通信,并维护OVSDB数据库。接收OVSDB Client发送的RPC报文,根据报文内容对数据库中的表项做相应的增、删、改、查处理。OVSDB Client会向OVSDB Server订阅表项,如果数据库中的表项有变化,OVSDB Server会主动通知订阅该表项的OVSDB Client。数据库中这些表项即为OVSDB Schema表。

(2)OVSDB Client:将从OVSDB Server订阅到的OVSDB Schema表信息翻译成交换模块的配置和表项,也会将交换模块的端口信息以及MAC地址信息等翻译成OVSDB Schema表,发送给OVSDB Server。

3.6  南向接口协议对比

SDN网络概念经过十多年的深入发展,南向接口协议由标准化组织IETF和主流设备厂家等不断完善演进,已很好地实现了与网络设备的对接纳管,为SDN网络的发展提供坚实基础。同时,我们也看到主流的南向接口由于其技术特点,应用的网络场景也不尽相同:OpenFlow协议,通过SDN控制器向网络设备下发转发流表,这样的南向接口协议必然无法应用到大型网络之中,无法灵活实现对海量的设备进行控制和管理,更多的用与小型企业网和数据中心;NETCONF协议,由于其灵活性支持对传统网络设备的纳管,因此也是用于最广泛的南向接口配置协议;PCEP协议,由于其协议特点更适合关于链路自动化调整;BGP-LS协议,在实际应用中主要与PCEP/SR等协议配合使用,SDN控制器通过BGP-LS协议收集全网运行状态信息,一旦网络发生变化,BGP-LS上报给SDN控制器,由SDN控制器通过PCEP/SR等技术下发新的转发隧道给网络设备;OVSDB管理协议,适合用于虚拟交换机的配置和管理。

4  结  论

SDN作为网络行业炙手可热的新技术,正在如火如荼地发展中,在面对众多业务应用和海量的网络设备时,主流SDN控制器支持的南北向接口协议类型也非常丰富且仍然在不断发展中,可以预见的是,在未来很长的一段时间内,多种南北向接口将会长期并存使用,但为了实现网络未来真正地做到集中统一纳管,南北向接口将趋于统一。

参考文献:

[1] 纳多,格雷.软件定义网络:SDN与OpenFlow解析 [M].北京:人民邮电出版社,2014.

[2] 程丽明.SDN环境部署与Open Daylight开发入门 [M].北京:清华大学出版社,2018.

[3] YY游戏云平台组.自主实现SDN虚拟网络与企业私有云 [M].北京:电子工业出版社,2017.

[4] 闫长江,吴东君,熊怡.SDN原理解析——转控分离的SDN架构 [M].北京:人民郵电出版社,2016.

[5] 张晨.云数据中心网络与SDN:技术架构与实现 [M].北京:机械工业出版社,2018.

作者简介:冒佳明(1991.02-),男,汉族,江苏泰州人,硕士研究生,工程师,研究方向:网络安全、自动化运维、软件定义网络等。

猜你喜欢
网络设备控制器
南京溧水电子3款控制器产品
网络设备的安装与调试课程思政整体设计
水泥生料立磨压差变参数二型模糊控制器设计
基于NFV的分布式SDN控制器节能机制
优化网络设备维护提高数据通信传输质量
智能液位控制器在排水系统中的应用