SDN实验---Ryu的应用开发(四)北向接口RESTAPI

2021-05-17 20:29

阅读:399

标签:ble   图片   blank   https   height   min   obs   alt   ict   

软件定义网络基础---REST API概述

软件定义网络基础---REST API的设计规范

二:掌握Ryu基本RESTAPI使用方法

(一)Ryu的RESTAPI

技术图片

技术图片

(二) REST应用样例:app/ofctl_rest.py

技术图片

1.所提供的样例API接口

# REST API
#

# Retrieve the switch stats
#
# get the list of all switches
# GET /stats/switches
#
# get the desc stats of the switch
# GET /stats/desc/
#
# get flows desc stats of the switch
# GET /stats/flowdesc/
#
# get flows desc stats of the switch filtered by the fields
# POST /stats/flowdesc/
#
# get flows stats of the switch
# GET /stats/flow/
#
# get flows stats of the switch filtered by the fields
# POST /stats/flow/
#
# get aggregate flows stats of the switch
# GET /stats/aggregateflow/
#
# get aggregate flows stats of the switch filtered by the fields
# POST /stats/aggregateflow/
#
# get table stats of the switch
# GET /stats/table/
#
# get table features stats of the switch
# GET /stats/tablefeatures/
#
# get ports stats of the switch
# GET /stats/port/[/]
# Note: Specification of port number is optional
#
# get queues stats of the switch
# GET /stats/queue/[/[/]]
# Note: Specification of port number and queue id are optional
#       If you want to omitting the port number and setting the queue id,
#       please specify the keyword "ALL" to the port number
#       e.g. GET /stats/queue/1/ALL/1
#
# get queues config stats of the switch
# GET /stats/queueconfig/[/]
# Note: Specification of port number is optional
#
# get queues desc stats of the switch
# GET /stats/queuedesc/[/[/]]
# Note: Specification of port number and queue id are optional
#       If you want to omitting the port number and setting the queue id,
#       please specify the keyword "ALL" to the port number
#       e.g. GET /stats/queuedesc/1/ALL/1
#
# get meter features stats of the switch
# GET /stats/meterfeatures/
#
# get meter config stats of the switch
# GET /stats/meterconfig/[/]
# Note: Specification of meter id is optional
#
# get meter desc stats of the switch
# GET /stats/meterdesc/[/]
# Note: Specification of meter id is optional
#
# get meters stats of the switch
# GET /stats/meter/[/]
# Note: Specification of meter id is optional
#
# get group features stats of the switch
# GET /stats/groupfeatures/
#
# get groups desc stats of the switch
# GET /stats/groupdesc/[/]
# Note: Specification of group id is optional (OpenFlow 1.5 or later)
#
# get groups stats of the switch
# GET /stats/group/[/]
# Note: Specification of group id is optional
#
# get ports description of the switch
# GET /stats/portdesc/[/]
# Note: Specification of port number is optional (OpenFlow 1.5 or later)

# Update the switch stats
#
# add a flow entry
# POST /stats/flowentry/add
#
# modify all matching flow entries
# POST /stats/flowentry/modify
#
# modify flow entry strictly matching wildcards and priority
# POST /stats/flowentry/modify_strict
#
# delete all matching flow entries
# POST /stats/flowentry/delete
#
# delete flow entry strictly matching wildcards and priority
# POST /stats/flowentry/delete_strict
#
# delete all flow entries of the switch
# DELETE /stats/flowentry/clear/
#
# add a meter entry
# POST /stats/meterentry/add
#
# modify a meter entry
# POST /stats/meterentry/modify
#
# delete a meter entry
# POST /stats/meterentry/delete
#
# add a group entry
# POST /stats/groupentry/add
#
# modify a group entry
# POST /stats/groupentry/modify
#
# delete a group entry
# POST /stats/groupentry/delete
#
# modify behavior of the physical port
# POST /stats/portdesc/modify
#
# modify role of controller
# POST /stats/role
#
#
# send a experimeter message
# POST /stats/experimenter/

(三)Ryu官方文档:https://ryu.readthedocs.io/en/latest/app/ofctl_rest.html

三:实验开始 

(一)开启Ryu控制器

ryu-manager ofctl_rest.py simple_switch_13.py --observe-links --verbose  #除了使用RESTAPI之外,我们还要保证ryu控制器正常处理交换机逻辑

技术图片

(二)开启Mininet

sudo mn --controller=remote --mac --topo=tree,2,2

技术图片 

(三)使用Curl发送URL请求

1.获取到所有交换机Get the list of all switches which connected to the controller.

$ curl -X GET http://localhost:8080/stats/switches

技术图片

2.获取交换机的描述信息Get the desc stats of the switch which specified with Datapath ID in URI.

$ curl -X GET http://localhost:8080/stats/desc/1

技术图片 

3.其他类似

(四)Postman实验(更美观)

1.安装postman

2.获取交换机信息

技术图片

 

SDN实验---Ryu的应用开发(四)北向接口RESTAPI

标签:ble   图片   blank   https   height   min   obs   alt   ict   

原文地址:https://www.cnblogs.com/ssyfj/p/11766615.html


评论


亲,登录后才可以留言!