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


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

    一、实验目的

    熟悉 Postman 的使用;熟悉如何使用 OpenDaylight 通过 Postman 下发流表。

    二、实验任务

    流表有软超时和硬超时的概念,分别对应流表中的 idle_timeout 和 hard_timeout。

    • idle timeout:如果值为非 0,那么在对应的时间内如果没有数据包匹配流表,

    时间到该流表将被删除;值为 0 不设软超时机制。

    • hard timeout:如果值为非 0,那么在对应的时间内不论是否有数据包匹配流

    表,时间到流表都会被删除;值为 0 不设硬超时机制。

    参考链接:https://www.sdnlab.com/22563.html

    本实验通过 OpenDaylight 及 Postman 下发关于硬超时的流表,实现拓扑内主机

    h1 和 h3 在一定时间内的网络断开。Postman 是一个 http 请求工具,可用于 REST

    API 的接口调试。实验拓扑如下:

    三、实验步骤

    1. 实验环境

    安装了 Ubuntu 16.04.5 Desktop amd64 的虚拟机

    2.实验过程

    (1)Postman 安装

    参考链接:https://www.postman.com/downloads/

    站点会监测系统版本,请下载 Linux 版本,解压到/home/ubuntu/你的用户名/目

    录下即可。指导书示例目录:/home/ubuntu/sdn/Postman,进入上述目录,运行

    Postman 文件即可。

    tar -zxvf 压缩文件名.tar.gz
    

    (2)清理旧数据

    • 启动 OpenDaylight,通过 Postman 的 Delete 动作清空残留流表
    distribution-karaf-0.6.4-Carbon/bin/karaf
    

    • 清空Minninet

      $ sudo mn -c 
      

    (3)生成拓扑并连接 OpenDaylight

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

    正常情况下,三台主机是互通的。

    如果不通,可能控制器有旧的流表残留。

    (4)使用 Postman 填入 JSON 格式的 http 请求

    先在 Mininet CLI 中运行 h1 ping h3,再在 Postman 处选择动作 PUT,填入硬超时流表内容,可以先阅读一下流表的内容,关注 match 匹配字段以及对应的 instructions 指令中的动作 action,这里是直接 drop 数据包。为了让流表能够匹配,将优先级 priority 调到最大。点击右上角 send,发送请求。

    硬超时流表内容如下:

    http://127.0.0.1:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:1/flow
    
    node-inventory:table/0/flow/1
    
    {
    
     "flow": [
    
     {
    
     "id": "1",
    
     "match": {
    
     "in-port": "1",
    
     "ethernet-match": {
    
     "ethernet-type": {
    
     "type": "0x0800"
    
     }
    
     },
    
     "ipv4-destination": "10.0.0.3/32"
    
     },
    
     "instructions": {
    
     "instruction": [
    
     {
    
     "order": "0",
    
     "apply-actions": {
    
     "action": [
    
     {
    
     "order": "0",
    
     "drop-action": {}
    
     }
    
     ]
    
     }
    
     }
    
     ]
    
     },
    
     "flow-name": "flow1",
    
     "priority": "65535",
    
     "hard-timeout": "10",
    
     "cookie": "2",
    
     "table_id": "0"
    
     }
    
     ] 
    
    } 
    

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

    三、实验心得

    一开始发现主机互不相通,所以又做了一遍流表的清空操作。

  • 相关阅读:
    BZOJ4552 Tjoi2016&Heoi2016排序 【二分+线段树】*
    BZOJ4547 Hdu5171 小奇的集合 【矩阵快速幂优化递推】
    BZOJ1113 Poi2008 海报PLA【单调栈】【水】
    BZOJ1510 POI2006 Kra-The Disks 【模拟】
    BZOJ 2530 Poi2011 Party 【枚举】
    BZOJ4292 PA2015 Równanie 【暴力水题】
    BZOJ1801 Ahoi2009 chess 中国象棋 【DP+组合计数】*
    【干货】高精度模板【加,减,乘,快速幂】
    BZOJ1220 HNOI2002 跳蚤 【容斥原理+高精度】*
    BZOJ1412 ZJOI2009 狼和羊的故事 【网络流-最小割】
  • 原文地址:https://www.cnblogs.com/runrun225/p/13780549.html
Copyright © 2020-2023  润新知