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

发布时间:2022-07-04 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了实验4:开源控制器实践——OpenDaylight脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

一、实验目的

1.能够独立完成OPEnDaylight控制器的安装配置;

2.能够使用Postman工具调用OpenDaylight API接口下发流表。

二、实验环境

1.下载虚拟机软件oracle VisualBox或VMware;

2.在虚拟机中安装Ubuntu 20.04 Desktop amd64,并完整安装Mininet

三、实验要求

(一)基本要求

1.配置JAVA环境,下载并解压安装OpenDaylight,版本选择Carbon 或 Beryllium;

2.下载并解压安装Postman;

3.利用Mininet平台搭建下图所示网络拓扑,并连接OpenDaylight控制器;

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

  • 打开ODL,启动完成后打开浏览器访问http://127.0.0.1:8181/index.htML进入ODL图形化界面
  • 在命令行中输入sudo mn --topo=single,3 --mac --controller=remote,ip=127.0.0.1,port=6633 --swITch ovsk,PRotocols=OpenFlow13构造上述拓扑
  • 执行pingall在ODL中查看搭建好的拓扑

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

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

4.通过Postman工具调用OpenDaylight提供的API下发流表,实现拓扑内主机h1和h3网络中断10s。

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

(二)进阶要求

1.查找资料,整理和记录ODL控制器主要的REST API文档,包括但不限于ODL提供的文档链接,获取拓扑的交换机、获取流表状态数量、获取特定交换机端口的状态、新增修改和删除流表等。

(1)获取拓扑的交换机

  • URL:http://127.0.0.1:8181/apidoc/explorer/index.html#!/network-topoLOGy(2013-07-12)/GET_network_topology_get_171

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

(2)获取指定交换机信息

  • URL:http://127.0.0.1:8181/apidoc/explorer/index.html#!/opendaylight-inventory(2013-08-19)/GET_node_get_5

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

(3)获取特定交换机端口的状态

  • URL:http://127.0.0.1:8181/apidoc/explorer/index.html#!/opendaylight-port-statistics(2013-12-14)/get_node_connector_statistics_post_0

    @H_304_89@

(4)流表的增删改查

  • URL:http://127.0.0.1:8181/apidoc/explorer/index.html#!/opendaylight-inventory(2013-08-19)/GET_table_get_200

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

四、个人总结

  • 实验难度:适中
  • 实验过程遇到的困难及解决办法:
    • 在安装JAVA时,需将压缩包提前放在/usr/local/java目录下,在虚拟机中发现没有找到这个文件夹,询问同学后发现,可以将压缩包到虚拟机中任意位置,然后用sudo mv /usr/local/java命令将文件夹移入指定目录下。
    • 在安装ODL插件时发现出现错误,但输入命令三次后就可以了。
    • 安装Ryu时,在下载码的时候第一次发现等了很久还是不行,重新输入了一次后就可以了。
    • 安装Ryu时,在ryu目录安装 OF-config,NETCONF,BGP,Zebra 等功能需要的扩展包这一步输入sudo pip install -r tools/optional-requires命令,等了许久后出现错误ERROR : Could not find a version that satisfies the requirenent lxnl!=3.7.0,>=2.3(fron -r tools/optional-requires( line 1)) (From versions: none)以为和之前一样多试几次就可以了,没想到一直不行,查询资料后发现可能是使用的镜像源的问题,但还不知道怎么解决,询问同学后学习到可以采用清华镜像源,输入的命令改为sudo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r tools/optional-requires,在安装 Ryu,在 ryu 目录允许命令时,输入的命令也要改为sudo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple .
    • 在使用Postman模拟http请求下发硬超时流规则的时候,直接复制老师给的网址却出现errorThe value '1n' for key 'id' specified in the URI doesn't match the value '1查询资料后没有找到结果,重新做了一次实验后发现还是有问题,询问助教后发现原来是复制网址的时候多了一个换行符。
  • 个人感想:

这次实验要先安装新的实验环境,再完成实验。安装实验环境的过程对我来说比较艰辛,好几次都出现错误,通过不断地搜索资料并询问同学,才安装清楚。这次实验主要学习了用Postman调用OpenDayLight提供的API下发流表操作,实验内容不是很难,主要是对ODL和Postman使用不熟悉,操作起来不是很难,通过这次实验也熟悉了一些,但发现在使用ODL的过程中,多次出现虚拟机卡顿现象。

脚本宝典总结

以上是脚本宝典为你收集整理的实验4:开源控制器实践——OpenDaylight全部内容,希望文章能够帮你解决实验4:开源控制器实践——OpenDaylight所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。