其他分享
首页 > 其他分享> > 实验4:开源控制器实践——OpenDaylight

实验4:开源控制器实践——OpenDaylight

作者:互联网

SDN实验4:开源控制器实践——OpenDaylight

实验目的

实验要求

(一)基本要求

通过sudo mn --topo=single,3 --controller=remote,ip=127.0.0.1,port=6633 --switch ovsk,protocols=OpenFlow13搭建拓扑后,执行pingall,并在之前运行好的ODL中查看拓扑,如下图所示:

Postman下发流表

通过Postman请求Restful API,进行流表下发,URL和json文件如下所示:

URL:

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

json文件

{
    "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"
        }
    ]
}

先执行h1 ping h3,再通过send按钮下发流表,可以看到json文件中的配置生效:

进阶要求

个人总结

遇到的问题和解决方案

运行了sudo mn --topo single,3 --mac --switch ovsk --controller remote,ip=127.0.0.1,port=6633,protocols=Openflow13后,h1无法ping通h3

解决方法:参考链接,执行命令./pox/pox.py forwarding.hub后即可ping通h1和h3主机

Postman无法send request,如图所示报错:

解决方法:没有打开ODL,要打开ODL才能请求成功。搜到的通常解决方法是Setting-Proxy-去掉勾选的Use the system proxy,但由于当时都没开ODL所以效果不明显。

send之后ping命令丝毫没有受到影响,一直在进行成功的ping命令

解决方法:之后重启了虚拟机,再来一次,这个问题就自己消失了

重新尝试进行实验时,pox报错:

解决方法:停止ODL后重新尝试即可

个人感想

这次作业做了比较久,一些没有见过的报错,以及一些预料之外的问题,让整个实验的时间都被延长了。在开始实验之前,环境的配置也花了一定的时间,实验后期虚拟机频繁出现未响应的现象,但好像还没有什么解决方法。在实验过程中,对Postman通过json文件下发流表的过程获得了更全面的了解。(除了耐心的各种尝试之外,还是需要注重经验的积累,不然容易花很多时间在处理报错和debug上)

标签:控制器,Postman,--,流表,ping,开源,ODL,OpenDaylight
来源: https://www.cnblogs.com/CCchaos/p/15357943.html