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

一、实验目的

  • 能够独立完成OpenDaylight控制器的安装配置;
  • 能够使用Postman工具调用OpenDaylight API接口下发流表。

二、实验环境

  • 下载虚拟机软件Oracle VisualBox或VMware;
  • 在虚拟机中安装Ubuntu 20.04 Desktop amd64,并完整安装Mininet;

三、实验要求

3.1 基本要求

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

3.1.2 下载并解压安装Postman

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

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

  • 启动ODL后,打开浏览器访问http://127.0.0.1:8181/index.html,账号:admin,密码:admin
  • 在命令行中输入如下指令创建拓扑:
sudo mn --topo=single,3 --mac --controller=remote,ip=127.0.0.1,port=6633 --switch ovsk,protocols=OpenFlow13

  • 执行pingall指令后可以在ODL中可视化查看搭建好的拓扑
    实验4:开源控制器实践——OpenDaylight
  • Mininet中ping测试截图
    实验4:开源控制器实践——OpenDaylight

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

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

3.2 进阶要求

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

  • 获取拓扑的交换机
    • 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
  • 获取特定交换机端口的状态
    • 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

四、个人总结

  • 实验难度:适中
  • 实验过程遇到的困难及解决办法
    • 在安装java环境的时候,创建了/usr/local/java文件夹,但是在要移动压缩包到这个文件夹时,却找不到这个文件夹,于是使用的mv命令,来将压缩包移动至/usr/local/java文件夹里。
    • 在安装ODL时,发现直接复制黏贴老师给的pdf里的命令,会发现缺少-或空格,于是要认真比对后再黏贴。
    • 在安装ryu时,使用pip命令时发现老是连接不上,于是改用国内镜像源来下载安装。
  • 个人感想:在本次实验中,配置环境配置了老半天,下载各种软件和插件,中途还遇到了各种各样的小毛病,所幸都找到方法解决了。之前在做实验的时候,就一直想知道,命令建立的拓扑要怎么才能看见,这次实验使用的ODL实现了这个想法,感觉挺有意思的。之前就听说Postman是用来测试接口的软件,但是一直没用过,通过这次实验,我应该可以在另外一个科目使用postman更加得心应手。在完成进阶要求的时候,找的确实心累,上网查了不少资料。
上一篇:实验4:开源控制器实践——OpenDaylight


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