(一)基本要求
- 利用Mininet平台搭建下图所示网络拓扑,并连接OpenDaylight控制器;
- 通过Postman工具调用OpenDaylight提供的API下发流表,实现拓扑内主机h1和h3网络中断10s。
点击查看代码
{
"flow": [
{
"id": "1",
"match": {
"in-port": "1",
"ethernet-match": {
"ethernet-type": {
"type": "0x0800"
}
},
"ipv4-destination": "10.0.0.3/32"
},
"instructions": {
"instruction": [
{
"order": "0",
"apply-actions": {
"action": [
{
"order": "0",
"drop-action": {}
}
]
}
}
]
},
"flow-name": "flow1",
"priority": "65535",
"hard-timeout": "10",
"cookie": "2",
"table_id": "0"
}
]
}
(二)进阶要求
查找资料,整理和记录ODL控制器主要的REST API文档,包括但不限于ODL提供的文档链接,获取拓扑的交换机、获取流表状态数量、获取特定交换机端口的状态、新增修改和删除流表等。
1.获取拓扑的交换机
http://127.0.0.1:8181/apidoc/explorer/index.html#!/opendaylight-inventory(2013-08-19)
2.获取拓扑结构
http://127.0.0.1:8181/apidoc/explorer/index.html#!/network-topology(2013-07-12)
3.流表信息
获取交换机中某个流表的信息
127.0.0.1:8181/apidoc/explorer/index.html#!/opendaylight-inventory(2013-08-19)/GET_flow_get_215
4.组表的查看
127.0.0.1:8181/apidoc/explorer/index.html#!/opendaylight-inventory(2013-08-19)/GET_group_get_141
5.获取特定交换机端口的状态
127.0.0.1:8181/apidoc/explorer/index.html#!/opendaylight-port-statistics(2013-12-14)/get_node_connector_statistics_post_0
6.获取指定交换机的信息
127.0.0.1:8181/apidoc/explorer/index.html#!/opendaylight-inventory(2013-08-19)/GET_node_get_5
实验小结:
这次基础部分难度挺小的,老师给的pdf就可以完全解决。虽然中间出了一些小问题。进阶部分通过查找资料,整理和记录ODL控制器主要的REST API文档,了解到获取拓扑的交换机、获取流表状态数量、获取特定交换机端口的状态、新增修改和删除流表等
遇到的问题和解决方法:当时先put再pingall,没有发现中间有间隔10秒时间。看到老师给的温馨提示之后,知道先在Mininet CLI中运行h1 ping h3,再在Postman处选择动作put,才能看见间隔十秒。
在建好拓扑后打开OpenDaylight的网页时找不到老师pdf所展示出来的界面,然后仔细摸索才知道那是用户界面。