实验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:开源控制器实践——OpenDaylight

    • 运行ODL
      实验4:开源控制器实践——OpenDaylight

    • 游览器打开控制器UI
      实验4:开源控制器实践——OpenDaylight

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

    • pingall,同时在postman中send硬超时流规则
      实验4:开源控制器实践——OpenDaylight
      实验4:开源控制器实践——OpenDaylight

(二)进阶要求

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

    • 获取当前拓扑的所有交换机

      http://127.0.0.1:8181/apidoc/explorer/index.html#!/opendaylight-inventory(2013-08-19)/GET_nodes_get_358

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

    • 获取当前所有拓扑结构

      http://127.0.0.1:8181/apidoc/explorer/index.html#!/network-topology(2013-07-12)/GET_network_topology_get_171

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

    • 流表增删改查

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

    • 获取特定交换机端口的状态

      http://127.0.0.1:8181/apidoc/explorer/index.html#!/opendaylight-inventory(2013-08-19)/GET_node_connector_get_9
      实验4:开源控制器实践——OpenDaylight

(三)心得

实验难度:

  • 本次实验以环境安装为主,内容为使用Postman模拟http请求下发硬超时流规则和ODL API文档的查看,难度较低。

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

  • 在安装Ryu 过程时,当 在ryu 目录安装功能需要的扩展包时,遇到HTTP timeout情况,多次尝试无果后,尝试删除ryu目录重新进行安装步骤,依旧没有得到解决,后面想起来可能是因为运营商问题,切换至手机热点重新运行安装命令解决该问题。

心得:

  • 本次实验与上次内容相似,主要考察是对于ODL API的使用掌握和一些工具的安装,总体上不难,更考验自己的耐心。
  • 对ODL的只有了初步的了解,使用起来也是一知半解,后续还需要进一步掌握对ODL REST API的使用。
上一篇:实验4:开源控制器实践——OpenDaylight


下一篇:Jmeter——HTTP协议的接口压力测试环境搭建