SDN第四次上机作业

开源控制器实践--OpenDayLight

一、基本

Mininet拓扑生成并连接控制器的结果

Mininet中ping测试

二、进阶

1.获取当前所有拓扑结构

URL格式:http://IP:端口/restconf/operational/operational/network-topology:network-topology

URL示例:http://127.0.0.1:8181/restconf/operational/network-topology:network-topology

2.获取当前指定拓扑结构

URL格式:http://IP:端口/restconf/operational/operational/network-topology:network-topology/topology/TopologyID

URL示例:http://127.0.0.1:8181/restconf/operational/network-topology:network-topology/topology/flow:1

1.获取当前所有拓扑结构中的所有交换机节点信息

URL格式:http://IP:端口/restconf/operational/opendaylight-inventory:nodes

URL示例:http://127.0.0.1:8181/restconf/operational/opendaylight-inventory:nodes

2.获取当前指定拓扑结构中的指定交换机节点的信息

URL格式:http://IP:端口/restconf/operational/opendaylight-inventory:nodes/node/交换机ID

URL示例:http://127.0.0.1:8181/restconf/operational/opendaylight-inventory:nodes/node/openflow:1

3.获取当前指定拓扑结构中的指定交换机节点中指定端口连接的信息

URL格式:http://IP:端口/restconf/operational/opendaylight-inventory:nodes/node/交换机ID/opendaylight-inventory:node-connector/连接ID

URL示例:http://127.0.0.1:8181/restconf/operational/opendaylight-inventory:nodes/node/openflow:1/opendaylight-inventory:node-connector/openflow:1:2

4.获取当前指定拓扑结构中的指定交换机节点中单个FlowTable的信息

URL格式:http://IP:端口/restconf/operational/opendaylight-inventory:nodes/node/交换机ID//table/FlowTable的ID

URL示例:http://127.0.0.1:8181/restconf/operational/opendaylight-inventory:nodes/node/openflow:1/table/0

5.获取当前指定拓扑结构中的指定交换机节点中单个FlowTable中指定Flow的信息

URL格式:http://IP:端口/restconf/operational/opendaylight-inventory:nodes/node/交换机ID//table/FlowTable的ID/flow/FlowID

URL示例:http://127.0.0.1:8181/restconf/operational/opendaylight-inventory:nodes/node/openflow:1/table/0/flow/L1switch-0

6.添加流表

在URL地址栏中输入以下命令:

http://127.0.0.1:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:1/table/0/flow/1 (注意:如果是下发多条flow entry每次下发需要更改flow id的值,相应的URL地址中的table/0/flow/1中的1就是所对应的flow id,也需要修改。)

提交方式:PUT

7.修改流表

在URL地址栏中输入以下命令:

http://127.0.0.1:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:1/table/0/flow/1

提交方式:PUT
Use Body:
要修改的流表中的tableid,flowid,cookie,idletimeout,hardtimeout,flags,counters和duration都要保持不变,其他字段则可以被修改。

8.删除流表

在URL地址栏中输入以下命令:

在URL地址栏中输入以下命令:

http://127.0.0.1:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:1/table/0/flow/1(通过获取交换机的流表信息,查询要删除流表的tableid和flowid。在URL中输入相应的tableid和flowid)

提交方式:DELETE

(主要参考的链接:
https://www.sdnlab.com/15173.html
http://www.manongjc.com/article/68123.html)

三、总结

  本次实验首先是配置环境。安装了java、OpenDaylight以及Postman。在这一步需要注意的是Postman的下载,Linux版本写的很小,第一次装成了Postman Agent以为就是这个文件,后来跟做完的同学讨论才发现是装错了。
  然后就是基础实验部分。本次的实验有很多的小细节在pdf的截图上没有圈出来,要自己一一对应。比如说第一张拓扑生成截图要到浏览器里输入网址,找到Topo的图形化界面;Postman操作界面里每一个可选框的对应属性都要符合,有些没特别标注出来的例如Type的类型Basic Auth要注意对应;还有就是实验指导说明的注意事项,以及在实验结束之前不要sudo mn -c(不过脑的被pdf迷惑然后重来)。
  接着就是进阶部分,首先是参考了前面做完的同学的内容找一点思路,然后去网上查了一些资料,但是感觉除了文档链接其他内容也不是很明白。
  总结一下,刚开始做其实并不是很理解,然后像无头苍蝇按照错误的思路去网上搜索了奇怪的东西,做了很久没什么结果才妥协去看了看已经完成的同学的博文,然后请教了一下才明白pdf的真正内容。重新做了一遍,是能够熟练的做出来了,但是其实就是机械的去做了一系列操作,并不能够说中间如果哪里出错了我能自己及时找出错误,包括平常的课堂小测,实验能够熟练做出来了,但小测只有个别题是自己知道的,还是比较欠缺思考。

posted @ 2021-10-03 00:03  hqqqql  阅读(101)  评论(0编辑  收藏  举报