• 2019 SDN上机第4次作业


    1. 解压安装OpenDayLight控制器(本次实验统一使用Beryllium版本)

    2. 启动并安装插件

    启动OpenDayLight控制器:

    在命令行中打开OpenDayLight控制器

    安装插件:

    输入以下命令,进行插件安装

    feature:install odl-restconf
    feature:install odl-l2switch-switch-ui
    feature:install odl-openflowplugin-all
    feature:install odl-mdsal-apidocs
    feature:install odl-dlux-core
    feature:install odl-dlux-node
    feature:install odl-dlux-yangui
    

    3. 用Python脚本搭建如下拓扑,连接OpenDayLight控制器

    创建Python脚本a.py,代码如下所示:

    命令行运行

    sudo mn --custom ./a.py --topo mytopo --controller=remote,ip=127.0.0.1,port=6633 --switch ovsk,protocols=OpenFlow13
    

    结果

    pingall测试连通性

    4. 在控制器提供的WEB UI中下发流表使h2 20s内ping不通h3,20s后恢复

    mininet查看链路连接情况:

    火狐浏览器访问http://127.0.0.1:8181/index.html,进入ODL图形化界面

    ODL下发流表项设置:
    依次点击Yang UI>Opendaylight-inventory>config>nodes>table>flow:

    id:流表项id,为任意值,不冲突即可
    in-port:流表项匹配的进入端口,这里需填h2对应的port号
    ethernet-type:以太网类型0x0800

    layer-3-match:ipv4-match 三层匹配为ipv4匹配
    ipv4-source:数据包源ip匹配项(这里由于port1进入的数据包只可能是h2发送的所以可以不填)ipv4-destination:数据包目的ip匹配项。

    新增instruction list这是流表项匹配到数据报后要执行的指令
    instruction:apply-actions-case 执行动作
    action drop-action-case 丢包动作(转发动作为output-action 并要在output-node-connector填写转发端口)

    priority 流表项优先级,要大于odl下发的默认流表,这里设置成最大65535
    hard-timeout 硬超时,流表项下发后生效时长
    table_id 流表id 默认为0

    在mininet中进行h2 ping h3,点击send,由于设置了前20s不同,结果如图,icmp_seq会延迟20s

    5. 借助Postman通过OpenDayLight的北向接口下发流表,再利用OpenDayLight北向接口查看已下发的流表。

    把preview里的url复制到地址栏,消息方式选择PUT,type设置为Basic Auth,填写账户和密码。

    将preview的消息粘贴在文本框中,修改id和url里的flow为2,防止与之前的流表重合,点击send后下发成功,然后改为GET并send查看刚下发的流表,如下图

  • 相关阅读:
    Winform编程总结2—常用的XML读写
    SQL点滴4—筛选数据列的类型,字段大小,是否可为空,是否是主键,约束等等信息
    SSIS常用的包—发送Email任务
    SSIS常用的包—FTP任务
    Centos 下同时安装 Mysql4 和 Mysql5,二进制方式
    iptables 学习笔记
    em是否到了退出的时候
    CentOs 5.2设置DVD为本地yum源
    WAMP环境配置
    Silverlight学习笔记:布局之stackpanel
  • 原文地址:https://www.cnblogs.com/yxyolo/p/11930542.html
Copyright © 2020-2023  润新知