-
2019-03-07 16:24:52
ODL:OpenDayLight控制器的北向API接口整理
1.获取当前所有拓扑结构
URL格式:http://IP:端口/restconf/operational/operational/network-topology:network-topology URL示例:http://192.168.21.130:8181/restconf/operational/network-topology:network-topology
2.获取当前指定拓扑结构
URL格式:http://IP:端口/restconf/operational/operational/network-topology:network-topology/topology/TopologyID URL示例:http://192.168.21.130:8181/restconf/operational/network-topology:network-topology/topology/flow:1
3.获取当前所有拓扑结构中的所有交换机节点的信息
URL格式:http://IP:端口/restconf/operational/opendaylight-inventory:nodes URL示例:http://192.168.21.130:8181/restconf/operational/opendaylight-inventory:nodes
4.获取当前指定拓扑结构中的指定交换机节点的信息
URL格式:http://IP:端口/restconf/operational/opendaylight-inventory:nodes/node/交换机ID URL示例:http://192.168.21.130:8181/restconf/operational/opendaylight-inventory:nodes/node/openflow:52242899592
5.获取当前指定拓扑结构中的指定交换机节点中指定端口连接的信息
URL格式:http://IP:端口/restconf/operational/opendaylight-inventory:nodes/node/交换机ID/opendaylight-inventory:node-connector/连接ID URL示例:http://192.168.21.128:8181/restconf/operational/opendaylight-inventory:nodes/node/openflow:1/opendaylight-inventory:node-connector/openflow:1:2
6.获取当前指定拓扑结构中的指定交换机节点中单个FlowTable的信息
URL格式:http://IP:端口/restconf/operational/opendaylight-inventory:nodes/node/交换机ID//table/FlowTable的ID URL示例:http://192.168.21.130:8181/restconf/operational/opendaylight-inventory:nodes/node/openflow:52242899592/table/0
7.获取当前指定拓扑结构中的指定交换机节点中单个FlowTable中指定Flow的信息
URL格式:http://IP:端口/restconf/operational/opendaylight-inventory:nodes/node/交换机ID//table/FlowTable的ID/flow/FlowID URL示例:http://192.168.21.130:8181/restconf/operational/opendaylight-inventory:nodes/node/openflow:52242899592/table/0/flow/L2switch-0
8.待完善
更多相关内容 -
中国电信物联网开放平台北向API调试工具+设备模拟器
2020-04-15 13:48:26中国电信物联网开放平台北向API调试工具-_GUI_APPDemo-master 中国电信物联网开放平台NB-IoT设备模拟器 -
Nbiot北向API测试工具
2018-12-19 20:20:48华为IOT平台的API调用工具,包含平台鉴权、设备列表查询、设备数据查询、设备管理、指令下发等一些功能,主要是方便自己工作中调试,包含了一个iot测试DEMO证书。 -
中国电信物联网开放平台_北向API Java SDK说明文档_v1.5 电信物联网
2019-03-19 08:34:52中国电信物联网开放平台北向API Java SDK说明文档_v1.5 -
中国电信物联网开放平台_北向API Java SDK说明文档_v1.0.doc
2018-03-27 14:32:23中国电信物联网开放平台_北向API Java SDK说明文档_v1.0,这个文档可以结合我的另一个电信北向demo资源来快速开发转接平台数据到自己的云平台 -
电信物联网开发者平台北向API_DEMO.zip
2021-02-07 15:31:37电信物联网开发者平台北向API_DEMO 2021年最新 -
中国电信物联网开放平台_北向API Java SDK说明文档
2018-08-06 16:10:30中国电信物联网开放平台_北向API Java SDK说明文档 中国电信物联网开放平台_北向API Java SDK说明文档 配套中国电信物联网平台1.5版本 -
SDN北向API是否需要标准化?
2020-10-18 02:24:47软件定义网络(SDN)控制器上的北向应用程序接口(API)正在快速发展中,但是现在仍没有标准出现。起初,管理SDN北向协议OpenFlow标准化工作的非盈利组织开放网络基金会(ONF)回避了北向API标准化的问题,它认为... -
电信物联网开发者平台北向API_DEMO源码,已实现所有API接口,都有例子
2018-03-27 14:23:31电信物联网开发者平台北向API_DEMO源码,已实现所有API接口,都有例子,帮助大家快速转接平台数据到自己的云平台,需要的拿走 -
使用北向API Java SDK的样例代码.zip
2019-10-18 10:59:53华为电信的北向接口 -
电信物联网开发者平台北向API_DEMO源码 maven项目
2018-11-20 10:37:26电信物联网开发者平台北向API_DEMO源码 -
5G 3GPP标准协议中英文对照翻译 23222-g50 功能架构和信息流,以支持3GPP北向API的通用API框架.docx
2020-02-20 13:28:075G 3GPP标准协议中英文对照翻译 23222-g50 功能架构和信息流,以支持3GPP北向API的通用API框架.docx -
基于北向API开发一个简单的应用,实现网络拓扑中最短路径的查找,并开发应用实现基于SDN网络的链路故障恢复...
2018-07-01 14:33:17一、实验内容内容:基于于北向API开发一个简单的应用,实现网络拓扑中最短路径的查找,并开发应用实现基于SDN网络的链路故障恢复功能。具体要求:1、在链路故障后,使用最短路径算法来选取新的传输路径。2、在网络中...一、实验内容
内容:基于于北向API开发一个简单的应用,实现网络拓扑中最短路径的查找,并开发应用实现基于SDN网络的链路故障恢复功能。
具体要求:
1、在链路故障后,使用最短路径算法来选取新的传输路径。
2、在网络中所有链路均正常的情况下,h1到h2的传输路径为h1às1às4às5àh2。假设此时s1às2的链路发生故障断开连接,那么此时路径h1às1às4às5àh2便不再可行。为了保证主机h1和h2之间的正常通信需要查找新的路径,在链路故障发生时,实现主机之间通过新的路径传输数据。当s1和s4之间断开连接时,h1和h2会及时发现链路故障,同时及时查找出新的路径h1às1às4às5àh2,通过新路径传输数据。
二、实验流程
三、实验步骤
1.网络拓扑搭建
运行结果:
2.启动RYU
添加有关链路故障恢复功能的函数,包括删除交换机流表项和获取端口信息两个函数:
defdelete_flow(self, src_ip=None, src_port=None, dst_ip=None, dst_port=None, datapath =None):
ofproto = datapath.ofproto
parser = datapath.ofproto_parser
inst =[parser.OFPInstructionActions(ofproto.OFPFC_APPLY_ACTIONS,actions)]
mod = parser.OFPFlowMod(datapath=datapath,out_port=dst_port,
out_group=ofproto.OFPG_ANY,
command=ofproto.OFPFC_DELETE,
match=None,instructions=inst)
datapath.send_msg(mod)
@set_ev_cls(ofp_event.EventOFPPortStatus,[CONFIG_DISPATCHER, MAIN_DISPATCHER, DEAD_DISPATCHER, HANDSHAKE_DISPATCHER])
defget_OFPPortStatus_msg(self, ev):
msg=ev.msg
datapath=ev.msg.datapath
dpid = msg.datapath.id
ofproto=datapath.ofproto
parser=datapath.ofproto_parser
port=msg.desc.port_no
#key1 = (dpid, port)
#dpidPort_to_ip=self.network_monitor.DpidPort_to_ip[key1]
reason=msg.reason
if reason==ofproto.OFPPR_MODIFY:
self.delete_flow(datapath=datapath,dst_port=port)
对于delete_flow函数,功能为删除交换机的流表项。调用RYU自带的parser.OFPFlowMod函数,对比add_flow函数,最主要的差别即为将内部的变量command变成ofproto.OFPFC_DELETE,代表流表删除。
对于get_OFPPortStatus_msg(self,ev)函数,功能为获取端口信息,一旦发生链路故障,获取发生故障的交换机的端口信息,然后调用delete_flow函数,删除这些交换机的流表信息。
运行结果:
3.分别h1 ping h2和h2 ping h1
结果:均可ping通。当h1 ping h2时,路径为s1às4às5,path含义:从switch1的1端口进,从switch1的3端口出,从switch4的1端口进,从switch4的2端口出,从switch5的2端口进,从switch5的3端口出。同理,h2 ping h1的路径为s5às4às1,均为最短路径。
4.重新进行h1 ping h2,并在ping的过程中手动断开switch1和switch4的连接
最初,传输路径为s1às4às5,当s1与s4断开,即网络传输路径发生链路故障,则流量传输路径变成了s1às2às3às5,也可看到客户端h1一直在发送数据,服务端h2也一直在接收数据。
-
电信云平台北向应用的api
2019-04-26 14:47:46api能够让开发者快速验证北向restful接口开放的能力,体验业务功能,熟悉业务流程。本Demo主要实现以下功能:应用鉴权、设备管理、消息订阅、数据采集、命令下发、批量任务。 -
SDN北向接口之REST API
2019-05-07 21:16:421.北向接口 2.北向接口的分类 2.1 功能性北向接口 2.2 基于意图的业务模型描述 3.北向接口的实现 4. REST API 4.1 REST的几个重要概念 4.2 REST的约束条件与原则 4.3 REST API的设计规范 4.3.1 资源的原型 ...
1.北向接口
北向接口是SDN应用平面与控制平面之间的接口,通过控制器向上层业务应用开放的接口,为上层业务应用和资源管理系统提供灵活的网络资源抽象。
2.北向接口的分类
功能型北向接口:自下而上看网络,重点在网络资源抽象及控制能力的开放,包括拓扑、L2VPN、L3VPN、Tunnel等
基于意图的北向接口:自上而下看网络,关注应用或者服务的需求,同网络的具体技术无关。
2.1 功能性北向接口
功能型北向接口对应了功能型网络模型和网管模型,关注的是我能做什么,面向具体的网络功能,接口与网络技术方案相关。基于意图的北向接口对应了网络业务模型,关注的是我要什么,主要用于描述SDN网络使用者的需求,主要包括连接服务、资源需求、访问控制、流处理和策略逻辑等内容。
2.2 基于意图的业务模型描述
意图是用户在某一个上下文环境中,基于意图的表达,意图可以由对象和操作或对象和结果组成。其中,对象主要包括面向用户的节点、连接和流信息;操作用于描述用户期望的行为,可以用某个条件下做某个动作,同时遵守某种约束的模式来表达,比如在满足带宽、时延等网络条件下,在匹配哪些节点不可互通等限制下,执行标记优先级,实现转发的操作;结果描述的是用户希望达到的状态,包括期待结果和避免结果两类,可以用期望达到某一状态或避免达到某一状态的子句来进行表述,比如预期保证带宽利用率大于80%,或者避免端到端时延大于100ms等。
3.北向接口的实现
REST API:SDN北向接口的主流实现方式。实现REST API的控制器有RYU、Floodlight、Opendaylight。
其他方案有:RPC、JAVA API、CORBA、SOAP等。
4. REST API
REST API是主流的北向接口实现方式。
REST,表述化状态转移,指的是一组架构约束条件和原则,而满足REST设计规范或者架构风格就称之为RESTful,遵循RESTful设计的API就是REST API。
4.1 REST的几个重要概念
- 资源
资源是信息(包含所有数据或功能)的抽象,在WEB中的实例是一个超文本引用指向的目标。比如在普通的博客应用中,资源可能是包括了用户、博文或评论等;而在SDN中,这里的资源可能是链路、交换机、流表等。
- 资源标识符
资源标识符标识组件之间交互涉及的特定资源,在WEB中的实例是URI(URL包括URL和URN两种形式)。URI为统一资源标示符,URL是统一资源定位符,URL是URI的一个子集,或者说是一种具体的实现。对于一个REST API来说,一个资源一般对应一个唯一的URI,简单来说即使,REST通过URI来暴露资源。
- 表述
表述是用一个表述来捕获一个资源当前或预期的状态,在WEB中的实例为HTML文档、JPEG图片等。
- 元数据
元数据是描述数据的数据,分为表述元数据和资源元数据,在WEB中的实例为媒体类型、最后修改时间、源连接等。
4.2 REST的约束条件与原则
- 客户-服务器:实现解耦,通过客户端用户接口和服务器数据存储的分离,提高了客户端的便捷性,也提高了服务端的可伸缩性。由于实现了解耦,就能够允许客户端和服务端分组优化,彼此之间不受影响。
- 无状态:要求来自客户端的每一个请求必须包含服务器处理该请求所需要的所有信息。由于每个请求都被单独考虑,因此提高了可见性和可靠性。同时由于服务端是无状态的,能够很方便的实现水平扩展,提高了可扩展性。
无状态可以直接定义到服务器的资源,不依赖于服务器的会话状态
- 缓存:要求一个请求的响应中的数据标记为是否可缓存。如果可以,服务端可以重用相同请求的响应数据,这样做的好处是减少了服务端和客户端之间的交互次数,提高了效率
- 统一接口:强调组件之间要有一个统一的接口。也就是说,客户和服务器之间通信的方法必须是统一化的,例如使用标准的HTTP动作GET、POST、PUT、DELETE等
- 分层系统:分层用于限制组件的行为,将架构分为若干等级的层,运训服务器和客户端之间的中间层,例如反向代理、API网关等,代替服务器对客户端的请求进行回应。而对于客户端来说都是透明的。它只关心收到的HTTP响应,而不关心与它通信的组件是谁,提高了系统的可扩展性,也增加了系统的复杂性
- 按需代码
4.3 REST API的设计规范
REST API是基于HTTP协议进行设计的,一个REST API请求可以表示为HTTP动词+URI的形式。HTTP动词描述操作,URI标识资源在REST API中,比较常用的HTTP动词有以下6个HEAD、GET、POST、PATCH、PUT、DELETE。HEAD用于获取某个资源的头部信息;GET用于获取资源;POST用于创建资源;PATCH用于更新资源的部分属性;PUT用于更新资源;DELETE用于删除资源。
4.3.1 资源的原型
资源的原型主要有以下几种
- 文档:文档是资源的单一表现形式,可以理解为一个对象或者数据库中的一条记录
- 集合:集合可以理解为资源的一个容器,可以向集合里面添加资源(文档),
- 仓库:仓库是客户端管理的一个资源库,客户端可以向仓库中新增资源或者删除资源,或者从仓库中获取资源
- 控制器:孔子其资源模型可以执行一个方法,支持参数输入,结果返回。
4.4 RESTful设计中URI命名的规范
4.4.1 资源命名规范
文档类型的资源用名词单数命名;集合类型和仓库类型的资源用名词复数命名;控制器类型的资源用包含动词的词语命名。
4.4.2 URI命名规范
在URI设计中,字段可以是变量,在实际使用中可以按需替换。
4.4.3 URI的格式规范
- URI中分隔符“/”一般用来对应资源层级的划分,“/”不应该出现在URI的末尾。
- URI中尽量使用连字符“-”代替下划线“_”的使用。连字符一般用来分割URI中出现的字符串,来提高URI的可读性。
- URI中统一使用小写字母。
- URI中不要包含文件(或脚本)的扩展名,例如不要出现.php或者.json之类的后缀名。
- 增删改查的操作不要体现在URI中。
4.5 URI的过滤
URI使用query字段作为查询的参数补充,以标识一个唯一的资源。query可以作为过滤条件使用;也可以作为资源列表分页标示使用。
4.6 HTTP状态响应码
Restful设计中,还需要正确使用HTTP的响应状态码
2**:2开头的标识操作成功
3**:3开头的标识重定向,资源位置发生了变化
4**:4开头的标识客户端错误
5**:5开头的标识服务器错误
常用状态码
说明
200
用于一般性的成功返回,不可用于请求错误返回
201
表示资源被创建
400
用于客户端一般性错误返回,其他4开头的错误,也可使用400,具体返回的错误信息可以放在body中
401
在访问一个需要认证的资源时,认证错误
404
表示找不到URI对应的资源
500
服务器处理请求时发生了意外
4.7HTTP元数据
RESTful设计中,还包括了元数据的设计,可以在HTTP头部设置元数据字段。
HTTP头部
- Content-Type表示body的数据格式,如Content-Type:application/json,表示主类型为application,数据格式是json。
- Content-Length:表示body数据体的大小。
- Last-Modified表示资源最后被修改的时间戳。
- ETag:表示服务器端资源版本的标示。
- Location:在响应header中使用
- Cache-Control,Expries,Date:通过缓存机制提升接口响应性能
4.8 Floodlight北向API
Floodlight北向API对外提供了四个模块,分别为OF流表、防火墙、ACL、多租户网络虚拟化。
ACL模块的API包括查询所有ACL规则、添加ACL规则、删除一条ACL、删除所有ACL。当设计使用POST动词创建ACL或使用DELETE动词删除某条ACL时,还需要在json中带上需要传输的数据。
-
SDN软件定义网络之北向接口概述和REST API设计规范
2021-07-26 16:37:03北向接口概述 分类:功能型、基于意图 北向接口的实现 REST API 相关概念 Roy Thomas Fielding博士 遵循RESTful设计的API就是REST API 规范、简洁 资源 REST是面向资源的设计 资源标识符 URI 统一资源标示符 URL ...文章目录
北向接口概述
分类:功能型、基于意图
北向接口的实现
REST API
相关概念
Roy Thomas Fielding博士
遵循RESTful设计的API就是REST API
规范、简洁
资源
REST是面向资源的设计
资源标识符
URI 统一资源标示符
URL 统一资源定位符,URL是URI的子集
表述
用一个表述来捕获一个资源当前或预期的状态
元数据
描述数据的数据,分为表述元数据和资源元数据
REST约束条件
REST API设计规范
HTTP动作(六个)
- HEAD
- GET
- POST
- PATCH
- PUT
- DELETE
资源的类型
响应状态码
Floodlight北向API实现功能
ACL模块示例:
curl为例的命令
-
中国电信物联网开放平台应用服务器证书(ca)-北向接口调用认证(最新版)
2019-08-07 10:15:25开发过程中,需要北向调用电信接口,用到ca证书,之前证书有可能过期,这是最新版的。 -
华为北向(HUAWEI NGFW Module V500R002C30 RESTCONF,NETCONF )API 开发指南
2021-09-16 13:05:53华为北向(HUAWEI NGFW Module V500R002C30 RESTCONF,NETCONF )API 开发指南 -
【IoT平台北向API调用】使用Postman调用Https接口
2019-10-14 10:41:52the url and parameters should be the same as that defined in the API document. 4.Test other APIs (e.g. register a new device) Set http command and https URL, and set headers: ... -
基于YANG模型传送SDN北向开放API的报告
2015-12-30 10:43:05基于YANG模型传送SDN北向开放API的定义,开源平台架构及可编程技术研究报告 北京邮电大学 信息光子学与光通信国家重点实验室 2015.3 目录 1. SDN被向接口 2 REST API 2 1.2 RESTful 4 1.3 SDN北向接口... -
什么是北向接口和南向接口?
2020-08-30 14:54:32首先看一下官方定义 A northbound interface is an interface that conceptualizes lower level ...北向接口是指,一个较低层次的接口连接更高层的层接口,通常绘制在体系结构概述的顶部。 A southbound interface -
api测试工具
2018-08-01 16:23:44接口测试工具,支持各种请求类型。一般用于程序猿(攻城狮)开发工程使用... -
北向接口
2018-01-29 10:45:29北向接口(Northbound Interface)是为厂家或运营商进行接入和管理网络的接口,即向上提供的接口。网络中使用接口编程开发各种应用系统管理被管理对象,管理的方法是采集和分析被管理对象在运行中产生的各种数据。在... -
什么是北向接口和南向接口
2019-04-11 15:18:07Northbound Interface/Southbound Interface南向接口:管理其他厂家网管或设备的接口,即向下提供的接口。北向接口:提供给其他厂家或运营商进行接入和管理的接口,即向上提供的接口。 ... -
Python之API:基于python语言调用华为云API(华为网站)实现特定功能
2019-04-14 23:08:55Python之API:基于python语言调用华为云API(华为网站)实现特定功能 目录 API服务申请(以人脸识别为例) 1、环境准备 2、SDK获取和安装 详细步骤图文教程 1、申请服务 2、开通服务 3、构造请求 4、认证... -
ryu--北向接口(流表的操作以及多控制器流表信息互通)
2021-09-14 09:41:36应用层编码 (1)原理 ryu控制器留有北向接口,即ofctl_rest.py,其通过restapi向应用层提供接口,应用层可以通过接口获取流表等信息并对流表进行操作。关于ryu的应用层接口的api使用,可以参考ryu docs:ryu.app.... -
电信物联网平台,java后台对接电信北向应用,订阅平台消息
2018-12-29 19:33:01最近由于工作需要,公司新产品血压计需要集成物联网卡,测量血压数据推送到自己的后台,其中踩了很多坑所以吧主要流程记录下来供大家参考: 1,微信公众号搜索"天翼物联产业联盟",关注后底部菜单... ... Profile开... -
C#通过https北向接口获取华为云数据.项目实例zip
2020-03-02 23:51:34本DMEO实现了华为云北向接口api的封装 主要有sdk和json两个封装,简单的实现了对接华为云数据,项目简单适合学习,封装性,可移植性高。 -
电信NB-LOT北向接入C#.rar
2019-11-05 13:23:14电信NB-LOT北向接入C# 天翼nb-iot对接,华为,主要是对接天翼nb-iot平台,请求其web api ,由于api版本经常更新,有可能与实际有不符,只需稍微改变参数,原理都是一样的。