• 实验 6:OpenDaylight 实验——OpenDaylight 及 Postman实现流表下发


    一、实验准备

    1.实验环境

    • 安装了 Ubuntu 18.04.5 Desktop amd64 的虚拟机;

    2.任务要求

    • 熟悉 Postman 的使用;熟悉如何使用 OpenDaylight 通过 Postman 下发流表。
    • 本实验通过 OpenDaylight 及 Postman 下发关于硬超时的流表,实现拓扑内主机 h1 和 h3 在一定时间内的网络断开。
    • 拓扑,如下:

    3.所需工具

    • Mininet
    • OpenDaylight
    • Postman

    二、实验过程

    1.下载、试运行Postman

    sudo mkdir /home/ubuntu/lancl/myPostman
    sudo cp /home/ubuntu/Downloads/Postman-linux-x64-7.33.1.tar.gz /home/ubuntu/lancl/myPostman  //也可以选择文件管理窗口,进行可视化操作
    cd lancl/myPostman
    sudo tar -zxvf Postman-linux-x64-7.33.1.tar.gz
    
    • 运行Postman
    cd lancl/myPostman/Postman
    ./Postman
    
    • 首次开启,点击下方的灰色logo名,可以跳过登录注册;直接注册也行。

    2.开启OpenDaylight

    cd lancl/OpenDaylight
    ./distribution-karaf-0.6.4-Carbon/bin/karaf
    

    esp,遇到问题,如:

    *** Adding controller
    // Unable to contact the remote controller at 127.0.0.1:6633
    
    • 方法一:重装feature
    logout  //退出odl
    rm -rf distribution-karaf-0.6.4-Carbon/data  //清空安装目录下的data文件夹;
    ./distribution-karaf-0.6.4-Carbon/bin/karaf clean
    feature:install odl-restconf odl-l2switch-switch-ui odl-openflowplugin-flow-services-ui odl-mdsal-apidocs odl-dluxapps-applications
    

    • 方法二:重装odl
    // 删除整个文件夹
    cd lancl/OpenDaylight
    rm -rf distribution-karaf-0.6.4-Carbon
    // 重新解压安装
    tar -zxvf distribution-karaf-0.6.4-Carbon.tar.gz 
    ./distribution-karaf-0.6.4-Carbon/bin/karaf
    feature:install odl-restconf odl-l2switch-switch-ui odl-openflowplugin-flow-services-ui odl-mdsal-apidocs odl-dluxapps-applications
    

    3.通过 Postman 的 Delete 动作清空残留流表

    • DELETE
      http://127.0.0.1:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:1/
    • Authorization
      - TYPE:Basic Auth
      - Username/Password:admin
    • Send

    4.清空 Mininet 数据,生成拓扑并连接 OpenDaylight

    sudo mn -c
    sudo mn --topo=single,3 --controller=remote,ip=127.0.0.1,port=6633 --switch ovsk,protocols=OpenFlow13
    pingall
    

    • 如果不通:可能控制器有旧的流表残留(见步骤3);或者odl的feature没有安装好(见步骤2)。
    quit
    sudo mn -c
    

    5.使用 Postman 填入 JSON 格式的 http 请求

    • PUT
      http://127.0.0.1:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:1/flow-node-inventory:table/0/flow/1
    • Body-->raw-->JSON
      - 参考链接: JSON 格式的请求代码

    6.验证结果

    • 先在 Mininet CLI 中运行 h1 ping h3,
    h1 ping h3
    
    • 再在 Postman 处选择动作 PUT,填入硬超时流表内容-->步骤5-->Send

    • 最后,终止ping过程。

    ctrl+c
    

    图示,h1 ping h3 有 10 秒时间是中断的,结果符合预期。

    7.扫尾工作

    • 通过 Postman 的 Delete 动作清空残留流表;

    • 退出Mininet CLI,并清空 Mininet 数据;

    quit
    sudo mn -c
    exit
    
    • 退出odl;
    logout
    
    • 关闭Postman图形界面。
  • 相关阅读:
    基于水利遥测终端机的山洪灾害水雨情监测解决方案
    水利遥测RTU助力灌区渠道流量监测解决方案
    环保数采仪助力企业智慧用电工况监测系统
    Linq中SingleOrDefault、FirstOrDefault的用法
    private、 protected、 public、 internal 修饰符的访问权限
    Bootstrap 表格
    自我介绍
    周总结
    目前流行的源程序版本管理软件和项目管理软件都有哪些, 各有什么优缺点?
    “模仿”还是“创新”
  • 原文地址:https://www.cnblogs.com/lance-haha/p/13782493.html
Copyright © 2020-2023  润新知