实验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;

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

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

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

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

  • 用Postman创建请求
    url:http://127.0.0.1:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:1/flow-node-inventory:table/0/flow/1
    json:
    实验4:开源控制器实践——OpenDaylight
    实验4:开源控制器实践——OpenDaylight
    执行h1 ping h3后用postman发送请求
    实验4:开源控制器实践——OpenDaylight

    (二)进阶要求

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

四、个人总结

  • 实验难度:因为有过Java开发的经验,对于Postman的使用以及api文档都不陌生,所以感觉这次的实验难度比较简单,就是在安装环境那一块有点不顺畅

  • 遇到的问题:

    1. 在安装OpenDaylight的插件时,直接复制了老师PDF文档中的命令,结果命令自带的换行符导致安装失败,后来重新输入命令也不行,一直打不开UI界面,最后把OpenDaylight删除掉重新解压再重新用命令安装插件解决 (直接复制命令到虚拟机要谨慎啊)
    2. 在安装Ryu时没有配置pip镜像源一直报超时,后来更换豆瓣的镜像源但是在豆瓣的仓库中找不到依赖。。最后换了清华的镜像源解决 (不谈了,清华nb)
    3. 查看Ryu版本时也是直接复制了PDF上的ryu –version 结果报错,后来自己手敲的成功,发现是因为PDF上的‘–’有问题,最后自己输入ryu --version才有结果 (还是不能过分依赖实验文档)
  • 个人感想
    这次在api文档中找api的过程让我深刻感受到英语的重要性,连单词都看不懂来找纯英文的api文档真的太痛苦了,最后还是借助百度完成api的整理。

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


下一篇:[论文笔记]Delving into Transferable Adversarial Examples and Black-box Attacks(ICLR2017)