实验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控制器;
  • ./distribution-karaf-0.6.4-Carbon/bin/karaf
    先启动ODL控制器
    sudo mn --topo=single,3 --controller=remote,ip=127.0.0.1,port=6633 --switch ovsk,protocols=OpenFlow13
    再构造如图所示的拓扑

    ping测试,在ODL中查看拓扑:
  1. 通过Postman工具调用OpenDaylight提供的API下发流表,实现拓扑内主机h1和h3网络中断10s。

(二)进阶要求

  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

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

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

  • 获取交换机中某个流表信息
    URL:http://127.0.0.1:8181/apidoc/explorer/index.html#!/opendaylight-inventory(2013-08-19)/GET_table_get_194

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

四、实验心得

  • 收获总结
    • 错误:ping测试时无法连通
      • 查错:
        • 控制器没有成功连接
        • ODL有插件安装不成功
      • 尝试卸载ODL并重新安装插件后,成功开启所有功能
      • 再次ping能成功连通
    • 错误:
      • 原因:URL地址错误,应改为:
  • 心得
    实验前的环境配置和软件的安装花费了较多的时间,这次安装软件使我学到了如何在Linux环境下下载压缩包和使用命令解压压缩包。实验难度中等,没有太过复杂的地方,但是需要注意细节,比如说应该先开启ODL控制器之后再建立拓扑,在使用Postman工具调用OpenDaylight提供的API下发流表时,也必须注意URL地址要正确。通过本次实验,我学习到ODL控制器的安装和使用方法,学会了如何借助ODL图形化界面可视化查看拓扑,对Postman工具的使用也有了一定的了解。
posted @ 2021-10-04 19:38  POOH_BEAR  阅读(81)  评论(0编辑  收藏  举报