zoukankan      html  css  js  c++  java
  • 实验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控制器;

    • 在命令行中输入相应命令构建拓扑,使用pingall命令后在ODL中可查看已搭建的拓扑

    • Mininet中ping测试截图

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

    (二)进阶要求

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

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

    • 获取拓扑的交换机
    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-port-statistics(2013-12-14)/get_node_connector_statistics_post_0
    

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

    四、个人总结

    • 实验难度:一般

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

      • 实验开始时需要先安装Java环境,但老师所给的pdf文件中所指出的目录非“显性”,于是询问同学解决方法,学习到可以先将压缩包从外粘贴至虚拟机的文件夹的任意位置。然后利用sudo mv 文件名 需要移动到的文件目录这个命令将压缩包移至目标目录/usr/local/java,再利用tar命令解压之。

      • Java配置环境变量时,在文末追加的内容有一部分是需要根据jdk实际版本修改,起初想当然地以为版本和老师pdf的一样,于是在验证安装版本时结果和老师不同。于是检错发现jdk未根据实际版本修改,虽然老师在pdf中已重点强调,但我还是由于疏忽没有做好这个地方。

      • 解压安装OpenDaylight后,第一次启动需要安装插件,Carbon版本和Beryllium版本有所不同,根据pdf中的内容,安装插件时直接复制了feature及以后的内容,无法安装,反复安装多次无果。询问已经做完实验的同学,复制pdf的内容flow和service中间的-丢失了导致了安装的失败。在此处累计的经验在后续复制pdf中的命令时,发生类似情况则粘贴后比对和pdf中的原内容,同样能够解决问题。

      • 安装Ryu时,按照pdf前几个操作可以正常实现,但到了第4步:在 ryu 目录安装 OF-Config,NETCONF,BGP,Zebra 等功能需要的扩展包时无法安装成功,安装多次出现红色报错文字或连接有问题等意外,由于先前采用清华源镜像的方式,此处使用这种方式成功完成了第4步。但到了第5步又开始出现红色报错,于是更新源后重复操作了两次,最后终于成功。

    • 个人感想:这次实验内容不是太难,我认为这次实验主要难点和消耗时间的地方在于安装环境。安装时出现了很多小问题,发现自己对基本的一些命令还是不太熟悉,对于学过的东西如使用清华源镜像以及源的更新不懂得活学活用。在这次环境配置时,又对这些内容进行了进一步的巩固复习。另外本次实验用到了Postman,老师上课时说这个工具还是比较常用的,用前还是比较好奇的,以及以前从未接触过OpenDaylight,此次实验对这些东西都有了一个初始的接触和了解。

  • 相关阅读:
    yolo_to_onnx ValueError: need more tan 1 value to unpack
    yolo_to_onnx killed
    C++ 实现二维矩阵的加减乘等运算
    Leetcode 1013. Partition Array Into Three Parts With Equal Sum
    Leetcode 1014. Best Sightseeing Pair
    Leetcode 121. Best Time to Buy and Sell Stock
    Leetcode 219. Contains Duplicate II
    Leetcode 890. Find and Replace Pattern
    Leetcode 965. Univalued Binary Tree
    Leetcode 700. Search in a Binary Search Tree
  • 原文地址:https://www.cnblogs.com/Sweetxinxin/p/15363083.html
Copyright © 2011-2022 走看看