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

    1.配置JAVA环境

    (1)在终端输入如下命令:

    sudo gedit ~/.bashrc
    

    (2)将最后四行复制到终端:

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

    2.启动OpenDayLight并安装插件

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

    ./karaf 
    

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

    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)打开控制器UI

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

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

    (1)Python代码,文件命名为mytopo.py:

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

    (2)打开ODL

    (3)创建拓扑并进行pingall

    通过命令执行文件

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

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

    (1)在控制器的Web中依次打开 Yang UI-->Opendaylight-inventory-->config-->nodes-->table-->flow

    (2)首先使用links查询链路连接情况

    可以看出h1连接s1的port1,h2连接s1的port2, h3连接s1的port3

    故可以让下发策略使port2进来的目的IP为h3的数据包都drop掉,这样就可以ping不通

    (3)参数设置

    (4)参数设置完成后,按下图所示设置,再点击send,令h2在20秒内无法ping通h3

    如图

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

    (1)打开postman,将ODL的preview里的url复制到地址栏,消息方式选PUT;IP为控制器所在的PC的IP;type选择Basic Auth ;用户名和密码是ODL的登录账号和密码都是admin

    (2)Body中将消息格式设置成json,上传方式设置为raw,将ODL的preview中的消息粘贴在文本框内,点击send后下发成功

    (3)发送成功后改为GET并send查看刚刚下发的流表项

  • 相关阅读:
    javax.servlet.http.HttpServletRequest接口(HTTP版本)
    javax.servlet.http.HttpServletResponse接口(HTTP版本)
    AOP简介AOP是什么?
    javax.servlet.ServletResponse接口(协议无关版本)
    HttpSession接口中的方法(Jsp中的session类的用法)
    网页只允许中国用户访问
    PHP API获取天气预报,以及使用飞信API,给好友发
    php正则表达式抽取email地址函数
    完美解决PHP中文乱码问题
    PHP汉字转换拼音
  • 原文地址:https://www.cnblogs.com/tinygod/p/11895463.html
Copyright © 2011-2022 走看看