zoukankan      html  css  js  c++  java
  • 2019 SDN上机第4次作业

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

    (1)配置java环境

    在终端输入命令:

    sudo sudo gedit ~/.bashrc
    

    (2)对bashrc文件进行修改,在文件底部添加以下语句

    export JAVA_HOME=/usr/local/java/jdk1.8.0_211
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
    export PATH=${JAVA_HOME}/bin:$PATH
    

    (3)解压安装OpenDayLight控制器
    版本为:0.4.4-Beryllium-SR4

    2. 启动并安装插件

    (1)进入ODL的文件夹,在终端输入以下命令:

    ./karaf
    

    (2)安装feature,输入以下面命令:

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

    (3)打开控制器UI
    打开浏览器访问http://127.0.0.1:8181/index.html,登入进入ODL图形化界面

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

    from mininet.topo import Topo
    class MyTopo(Topo):
    
        def __init__(self):
    
            # initilaize topology
            Topo.__init__(self)
    
            # add hosts and switches
            h1 = self.addHost('h1')
            h2 = self.addHost('h2')
            h3 = self.addHost('h3')
            s1 = self.addSwitch('s1')
            # add links
            self.addLink(h1, s1, 1, 1)
        self.addLink(h2, s1, 1, 2)
        self.addLink(h3, s1, 1, 3)
    topos = {'mytopo': (lambda: MyTopo())}
    

    命令行运行

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

    结果

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

    mininet查看链路连接情况:

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

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

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

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

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

  • 相关阅读:
    事务/数据库操作之事务,开启回滚提交
    python连接数据库、cursor fetch语句处理
    order by 排序输出、插入
    表的查询,
    android权限大全
    uniapp ios端证书打包+开发环境
    uniapp在app端白屏报错
    数字递增动画js插件-countUp.js
    窗口滚动时,判断元素与视野的关系-js代码
    Linux安装Nginx并配置站点
  • 原文地址:https://www.cnblogs.com/zys99/p/11920361.html
Copyright © 2011-2022 走看看