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的真正内容。重新做了一遍,是能够熟练的做出来了,但是其实就是机械的去做了一系列操作,并不能够说中间如果哪里出错了我能自己及时找出错误,包括平常的课堂小测,实验能够熟练做出来了,但小测只有个别题是自己知道的,还是比较欠缺思考。