实验:访问floodlight提供的REST API
更新日期:
Floodlight控制器是由Big Switch Network公司主导的基于Java语言开发的SDN控制器。Floodlight提供了功能强大的REST接口,为SDN的设计和管理提供了很大的便捷。这篇博客把之前做的关于访问REST API的实验整理出来,方便以后源代码的解读工作和增加floodlight模块的工作。
建立拓扑
建立拓扑
通过如下图所示,建立一个拓扑。
在floodlight图形化界面上查看交换机、主机和拓扑信息
交换机
主机:这里的主机数不是确定的,而是一直在变化。
拓扑
将REST API对应的url绑定到特定的资源上
通过查看源代码可看到如何将REST API和特定资源绑定,下图所示的是和显示拓扑相关的API
在floodlight源代码中,web包中的*WebRoutable.java中一般都是这样的功能。
一些具体实验
- 列出交换机集群
访问http://192.168.1.148:8080/wm/topology/switchclusters/json
{“00:00:00:00:00:00:00:01”:
[“00:00:00:00:00:00:00:03”,
“00:00:00:00:00:00:00:02”,
“00:00:00:00:00:00:00:05”,
“00:00:00:00:00:00:00:04”,
“00:00:00:00:00:00:00:06”,
“00:00:00:00:00:00:00:07”,
“00:00:00:00:00:00:00:01”]}
- 所有的link
访问http://192.168.1.148:8080/wm/topology/links/json
[{“src-switch”:”00:00:00:00:00:00:00:01”,”src-port”:2,”dst-switch”:”00:00:00:00:00:00:00:05”,”dst-port”:3,”type”:”internal”,”direction”:”bidirectional”},
{“src-switch”:”00:00:00:00:00:00:00:02”,”src-port”:2,”dst-switch”:”00:00:00:00:00:00:00:04”,”dst-port”:3,”type”:”internal”,”direction”:”bidirectional”},
{“src-switch”:”00:00:00:00:00:00:00:05”,”src-port”:2,”dst-switch”:”00:00:00:00:00:00:00:07”,”dst-port”:3,”type”:”internal”,”direction”:”bidirectional”},
{“src-switch”:”00:00:00:00:00:00:00:01”,”src-port”:1,”dst-switch”:”00:00:00:00:00:00:00:02”,”dst-port”:3,”type”:”internal”,”direction”:”bidirectional”},
{“src-switch”:”00:00:00:00:00:00:00:05”,”src-port”:1,”dst-switch”:”00:00:00:00:00:00:00:06”,”dst-port”:3,”type”:”internal”,”direction”:”bidirectional”},
{“src-switch”:”00:00:00:00:00:00:00:02”,”src-port”:1,”dst-switch”:”00:00:00:00:00:00:00:03”,”dst-port”:3,”type”:”internal”,”direction”:”bidirectional”}]
- 关于交换机
访问/wm/core/controller/switches/json 获取网络中所有交换机的信息。
最后
下一步可以根据结果和源代码,更深入的了解floodlight的工作流程。进而写出适合自己项目的模块。