基于YANG模型传送SDN北向开放API的报告

基于YANG模型传送SDN北向开放API的定义,开源平台架构及可编程技术研究报告

北京邮电大学

信息光子学与光通信国家重点实验室

2015.3

目录

1. SDN被向接口 2

REST API 2

1.2 RESTful 4

1.3 SDN北向接口发展现状与趋势 4

2.开源实现的SDN北向接口&YANG 5

2.1 YANG 5

2.2 OpenDaylight 6

3. SDN北向接口标准化 23

3.1 ONF NBI-WG 23

3.2 IRTFIETF相关工作组 24

4. 学术界关于北向接口的研究 25

VTN 25

4.2 Nox&Pox 26

5. 部分SDN初创公司关于REST API主要应用 27

5.1 Big Switch Networks 27

5.2 Embrane 27

6. 总结 28

 

 

 

 

 

 

 

 

 

 

 

 

 

1. SDN被向接口

根据接口特性可以将北向接口分为强耦合接口(应用编程接口)、松耦合接口以及基于状态的功能接口三种。

1)强耦合API包括进程内API和进程间API。进程内API主要由控制器提供用于在控制器内实现编程功能;进程间API主要由控制器外部部件用来同控制器通信以执行功能或者交换/读取状态。

2) 松耦合接口由外部部件以松耦合的方式与控制器通信,通常并不需要立即响应,也不需要直接或即时同步出现。

3) 基于状态的功能接口包括主要以处理状态为主的API,其功能就是设置和读取状态以及通知状态改变。功能性API提供一套功能以供编程使用,如编程库或SDK,包括系统和协议,它们并不通过过程调用,而是

通过状态改变。

REST API

1.1.1 REST 简介

REST 从资源的角度来观察整个网络,分布在各处的资源由URI确定,而客户端的应用通过URI来获取资源的表示方式。获得这些表徵致使这些应用程序转变了其状态。随着不断获取资源的表示方式,客户端应用不断地在转变着其状态,所谓表述性状态转移(Representational State Transfer)。表象化状态转变或者表述性状态转移。

这一观点不是凭空臆造的,而是通过观察当前Web互联网的运作方式而抽象出来的。设计良好的网络应用表现为一系列的网页,这些网页可以看作的虚拟的状态机,用户选择这些链接导致下一网页传输到用户端展现给使用的人,而这正代表了状态的转变。

REST是设计风格而不是标准。基于HTTP,URI,以及XML这些现有的广泛流行的协议和标准,伴随着REST,HTTP协议得到了更加正确的使用。REST通常基于使用HTTP,URI,和XML以及HTML这些现有的广泛流行的协议和标准。

• 资源是由URI来指定的。

• 对资源的操作包括获取、创建、修改和删除资源,这些操作正好对应HTTP协议提供的GET、POST、PUT和DELETE方法。

• 通过操作资源的表现形式来操作资源

• 资源的表现形式则是XML或者HTML,取决于读者是机器还是人,消费Web服务的刻苦软件还是Web浏览器。当然也可以是任何其他的格式。

1.1.2 REST的优点 

• 可以利用缓存Cache来提高响应速度。

• 通讯本身的无状态性可以让不同的服务器处理一系列请求中的不同请求,提高服务器的扩展性。

• 浏览器即可作为客户端,简化软件需求。

• 不需要额外的资源发现机制。

• 在软件技术演进中的长期兼容性更好。

1.1.3 REST vs SOAP 

1) 成熟度

SOAP虽然发展到现在已经脱离了初衷,但是对于异构环境服务发布和调用,以及厂商的支持都已经达到了较为成熟的情况。不同平台,开发语言之间通过SOAP来交互的web service都能够较好的互通(在部分复杂和特殊的参数和返回对象解析上,协议没有作很细致的规定,导致还是需要作部分修正)。REST国外很多大网站都发布了自己的开发API,很多都提供了SOAP和REST两种Web Service,根据调查部分网站的REST风格的使用情况要高于SOAP。但是由于REST只是一种基于Http协议实现资源操作的思想,因此各个网站的REST实现都自有一套,在后面会讲诉各个大网站的REST API的风格。也正是因为这种各自实现的情况,在性能和可用性上会大大高于SOAP发布的web service,但统一通用方面远远不及SOAP。由于这些大网站的SP往往专注于此网站的API开发,因此通用性要求不高。由于没有类似于SOAP的权威性协议作为规范,REST实现的各种协议仅仅只能算是私有协议,当然需要遵循REST的思想,但是这样细节方面有太多没有约束的地方。REST日后的发展所走向规范也会直接影响到这部分的设计是否能够有很好的生命力。总的来说SOAP在成熟度上优于REST。

2) 效率和易用性

SOAP协议对于消息体和消息头都有定义,同时消息头的可扩展性为各种互联网的标准提供了扩展的基础,WS-*系列就是较为成功的规范。但是也由于SOAP由于各种需求不断扩充其本身协议的内容,导致在SOAP处理方面的性能有所下降。同时在易用性方面以及学习成本上也有所增加。REST被人们的重视,其实很大一方面也是因为其高效以及简洁易用的特性。这种高效一方面源于其面向资源接口设计以及操作抽象简化了开发者的不良设计,同时也最大限度的利用了Http最初的应用协议设计理念。同时,在我看来REST还有一个很吸引开发者的就是能够很好的融合当前Web2.0的很多前端技术来提高开发效率。例如很多大型网站开放的REST风格的API都会有多种返回形式,除了传统的xml作为数据承载,还有(JSON,RSS,ATOM)等形式,这对很多网站前端开发人员来说就能够很好的mashup各种资源信息。

因此在效率和易用性上来说,REST更胜一筹。

3) 应用设计与改造

REST对于资源型服务接口来说很合适,同时特别适合对于效率要求很高,但是对于安全要求不高的场景。而SOAP的成熟性可以给需要提供给多开发语言的,对于安全性要求较高的接口设计带来便利。

1.2 RESTful

满足以下架构约束条件和原则的应用程序或设计就是RESTful:

1. 客户端和服务器结构

2. 能够利用Cache机制

3. 层次化的系统

4. 连接协议具有无状态性

5. 统一接口

6. 按需代码(Code on Demand

1.3 SDN北向接口发展现状与趋势

1.3.1 北向接口发展简述

网络开放是产业发展的必然趋势,不但能够为设备的网络带来变革,还可以进一步细分产业链,带来新的产业发展机遇。在网络通信领域,从网络开放性的角度来理解SDN,可以将SDN抽象出图1所示的北向接口、南向接口、东西向接口3中接口类型,其中,SDN通过南向接口实现数据网络中控制平面与数据平面的分离,以ONF的OpenFlow协议和IETF的ForCES、OVSDB、NETCONF+YANG、PCEP等协议为典型代表;东西向接口负责解决多个设备控制平面之间的协同工作的问题;

 

图1  SDN接口示意

从应用的角度自北向南看SDN北向接口是用户业务以及各种网络业务开发者有效控制和利用网络的门户,开发者能与软件编程的形式调用各种网络资源;从网络运营角度自南向北看,SDN北向接口是通过控制器向上层业务应用开放的接口,SDN向上提供资源抽象,实现软件可编程控制的网络架构,上层的网络资源管理系统或者网络应用可以通过控制器的北向接口,全局把控整个网络的资源状态,并对资源进行统一调度。

北向接口方案制定成为当前SDN领域竞争的焦点,目前尚未形成统一的标准。不同的参与者或者从用户角度出发,或者从运营商角度出发,提出了很多方案,甚至部分传统的网络设备厂商在其现有设备上提供了编程接口供业务应用直接调用。如CiscoONE方案,基本不涉及原有网元设备的智能分离,仅通过管理面编程开放有限的能力,缺陷是创新业务的开发和部署困难,与硬件厂商捆绑缺乏兼容性。总体而言,当前SDN北向接口发展一方面由各开源平台推动,力图通过支持更多网络应用落地,造成事实标准;另一方面通过各个标准组织对北向接口的分类、框架、协议等进行标准化定义;还有学术界的知名SDN专家,站在本领域的研究前沿,也在积极探索北向接口的制定。

 

2.开源实现的SDN北向接口&YANG

2.1 YANG

Yang Tools Plugin通过各个Plugin的model定义来自动生成API、Service Interface和相应Java代码。

YANG初始作为NETCONF的建模语言被创建出来,在整个NETCONF的配置协议体系中,YANG用来描述具体网元的配置、状态、通知时间、操作维护的数据信息以及之间的约束关系。在NETCONF+NETMOD联合配置框架下工作时,

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值