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

实验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控制器

  • 打开ODL控制器
./distribution-karaf-o.6.4-Carbon/bin/karaf

  • 构造上诉网络拓扑,并进行pingall测试
sudo mn --topo=single,3 --controller=remote,ip=127.0.0.1,port=6633 --switch ovsk,protocols=OpenFlow13

  • 执行pingall,并在ODL中查看拓扑

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

(二)进阶要求

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

(三)实验报告

1.请用Markdown排版;
2.将OpenDaylight、Postman的安装目录设定为:/home/用户名/学号,即和Mininet相同,所有实验相关代码文件保存在目录/home/用户名/学号/lab4/中;
OpenDaylight、Postman安装目录截图

3.(一)需要提交两张图,一是Mininet拓扑生成并连接控制器的结果,二是Mininet中ping测试截图,并体现个人信息,其余文字请勿赘述;

4.(二)不做必须要求,有完成的同学请提交所整理的API文档(选主要的即可,例如拓扑信息、链路信息、交换机流表信息等),形式不限。
5.个人总结,包括但不限于实验难度、实验过程遇到的困难及解决办法,个人感想,不少于200字。

个人总结

(一)遇到的问题及解决方法

  • 安装OpenDayLight时提示错误
Error executing command: Can't install feature odl-12switch-switch-ui/0.0.0: null

反复几次一直提示这个错误,参考查阅别人的经验,有总结反馈“注:该步部分 PDF 软件直接复制下来有的连接符会消失或变为空格,执行后会报类似错误,注意核对”,但是我输入命令的时候是手动输入的,应该不可能出现复制导致符号缺失或变化的情况。再仔细核对命令,确认命令无误后,就开始再继续找原因。

有人分享出现类似错误,有可能是因为“这种一般是这个feature的某个依赖未成功下载在本地maven库中”,于是在解压后的文件夹内找到在maven仓库下(位置/system/org/opendaylight/l2switch/features-l2switch/0.5.4-Carbon)找到features-l2switch-0.5.4-Carbon-features.xml文件,尝试进行定位是哪一个features出错。

打开后发现,命令中“12switch”与“l2switch”产生了混淆,字母l与阿拉伯数字1太相近以致于安装时命令未能准确识别。
最后也正常安装完成了。

  • 启动ODL后打开浏览器,输入网址后一直提示打不开

核查后发现是将http输入成https

  • 执行h1 ping h3命令后,没有停止10秒

解决办法:用postman下发流表时,Auth中的type选项要选择basci auth,并在右栏输入账号及密码“admin”即可。

(二)操作心得

一些操作上需要更加细心才可以,除了跟着pdf进行操作外,还要自己再思考复盘,特别是遇到问题时,多动手查询资料,查看别人碰到相关的问题解决的思路,特别是一些类似问题上,要触类旁通,自己尝试操作取发现问题并解决掉问题。

posted @ 2021-10-06 13:56  土二月  阅读(226)  评论(0编辑  收藏  举报