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

  • 在命令行中输入相应命令构建拓扑,使用pingall命令后在ODL中可查看已搭建的拓扑

  • Mininet中ping测试截图

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

(二)进阶要求

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

  • 流表增删改查
URL:http://127.0.0.1:8181/apidoc/explorer/index.html#!/opendaylight-inventory(2013-08-19)/GET_flow_get_215

  • 获取拓扑的交换机
URL:http://127.0.0.1:8181/apidoc/explorer/index.html#!/network-topology(2013-07-12)/GET_network_topology_get_171

  • 获取特定交换机端口的状态
URL:http://127.0.0.1:8181/apidoc/explorer/index.html#!/opendaylight-port-statistics(2013-12-14)/get_node_connector_statistics_post_0

  • 获取指定交换机信息
URL:http://127.0.0.1:8181/apidoc/explorer/index.html#!/opendaylight-inventory(2013-08-19)/GET_node_get_5

四、个人总结

  • 实验难度:一般

  • 实验过程遇到的困难及解决办法:

    • 实验开始时需要先安装Java环境,但老师所给的pdf文件中所指出的目录非“显性”,于是询问同学解决方法,学习到可以先将压缩包从外粘贴至虚拟机的文件夹的任意位置。然后利用sudo mv 文件名 需要移动到的文件目录这个命令将压缩包移至目标目录/usr/local/java,再利用tar命令解压之。

    • Java配置环境变量时,在文末追加的内容有一部分是需要根据jdk实际版本修改,起初想当然地以为版本和老师pdf的一样,于是在验证安装版本时结果和老师不同。于是检错发现jdk未根据实际版本修改,虽然老师在pdf中已重点强调,但我还是由于疏忽没有做好这个地方。

    • 解压安装OpenDaylight后,第一次启动需要安装插件,Carbon版本和Beryllium版本有所不同,根据pdf中的内容,安装插件时直接复制了feature及以后的内容,无法安装,反复安装多次无果。询问已经做完实验的同学,复制pdf的内容flow和service中间的-丢失了导致了安装的失败。在此处累计的经验在后续复制pdf中的命令时,发生类似情况则粘贴后比对和pdf中的原内容,同样能够解决问题。

    • 安装Ryu时,按照pdf前几个操作可以正常实现,但到了第4步:在 ryu 目录安装 OF-Config,NETCONF,BGP,Zebra 等功能需要的扩展包时无法安装成功,安装多次出现红色报错文字或连接有问题等意外,由于先前采用清华源镜像的方式,此处使用这种方式成功完成了第4步。但到了第5步又开始出现红色报错,于是更新源后重复操作了两次,最后终于成功。

  • 个人感想:这次实验内容不是太难,我认为这次实验主要难点和消耗时间的地方在于安装环境。安装时出现了很多小问题,发现自己对基本的一些命令还是不太熟悉,对于学过的东西如使用清华源镜像以及源的更新不懂得活学活用。在这次环境配置时,又对这些内容进行了进一步的巩固复习。另外本次实验用到了Postman,老师上课时说这个工具还是比较常用的,用前还是比较好奇的,以及以前从未接触过OpenDaylight,此次实验对这些东西都有了一个初始的接触和了解。

原文地址:https://www.cnblogs.com/Sweetxinxin/p/15363083.html