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

  • 安装postman
    实验4:开源控制器实践——OpenDaylight

  • 安装opendaylight
    实验4:开源控制器实践——OpenDaylight

  • 在命令行中输入相应命令构建拓扑,然后进行pingall测试
    实验4:开源控制器实践——OpenDaylight

  • 连接OpenDaylight控制器,在ODL中可查看已搭建的拓扑
    实验4:开源控制器实践——OpenDaylight

  • 利用Postman工具调用OpenDaylight提供的API下发流表,实现拓扑内主机h1和h3网络中断10
    实验4:开源控制器实践——OpenDaylight

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

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

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

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

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

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

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

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

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

四、个人总结

  • 实验难度:适中
  • 实验过程遇到的困难及解决办法:
    1、遇到了该如何移动文件夹的问题,发现用sudo mv 文件名 目标文件夹即可实现文件夹的移动。
    2、一开始找不到/usr/local/在哪里,后面发现在other locations中的computer可以找到所有文件夹。
    3、安装opendaylight时遇到的问题是最多的,比如:
    1)解压安装包以后,运行karaf无法启动ODL,用carbon和beryllium都出现了问题,删除重试以后还是出现一样的问题,后来,发现二者出现的问题内容不一致,碳版本完全不行,但是铍版本的问题是permission denied,询问同学以后,只要用sudo chmod -R 777 文件名,将该文件夹所属所有子目录和文件都授予权限即可。
    2)除此之外,由于复制粘贴时换行有回车,所以会出现复制粘贴出错的问题,所以在安装插件以及进行后续实验时,出现了问题,导致后面pingall出现问题,后续实验出错,以及无法打开ODL图形化界面(界面显示404),于是便用sudo rm -rf 文件夹的命令删除了ODL文件夹中的data文件夹,重新安装了插件,后面实验也就能顺利进行了。
    4、安装ryu时,一开始无法安装依赖,但是好在底下有提示,建议尝试某某某命令解决,忘记截图了,但是应该是更新软件源,按照提示进行以后,顺利解决该问题。
    5、安装ryu时,无法下载源码,询问同学以后了解到可以改用国内镜像源来下载安装。git clone git://github.com/osrg/ryu.git
    6、清除旧的流规则后,下面报错,询问其他同学以后,好像也是一样的,继续往下做也没有问题,就没管它了、
  • 个人感想:本次实验难点主要在于各种环境的安装以及后续实验时,需要较为严格地按照步骤来做。对于安装,确实是一回生二回熟,但是第一遍各种小细节也确实是难搞,需要不断地思考哪里出错了,怎么解决。实验时,做的有点懵,主要在与各个实验步骤的顺序上面,可能我上课走神或者没记住吧哈哈哈哈,对于本次实验的意义以及作用还得继续思考一下,虽然做完了,但是感觉懵懵的。
上一篇:实验4:开源控制器实践——OpenDaylight


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