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

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

    • 解压并安装

    • 配置环境
    sudo gedit ~/.bashrc
    
    export JAVA_HOME=/home/user/fzusdn/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. 启动并安装插件

    • 安装插件
    cd fzusdn/ODL/distribution-karaf-0.4.4-Beryllium-SR4/bin
    ./karaf
    
    feature:install odl-restconf odl-l2switch-switch-ui odl-openflowplugin-all odl-mdsal-apidocs odl-dlux-core odl-dlux-node odl-dlux-yangui
    
    • 安装成功

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

    • 拓扑:

    • python代码:
    from mininet.topo import Topo
    class Mytopo(Topo):
        def __init__(self):
            Topo.__init__(self)
            sw=self.addSwitch('s1')
            count=1
            for i in range(3):
                    host = self.addHost('h{}'.format(count))
                    self.addLink(host,sw,1,count)
                    count = count + 1
    topos = {'mytopo': (lambda:Mytopo())}
    
    • 运行
    sudo mn --custom odllab.py --topo mytopo --controller=remote,ip=127.0.0.1,port=6633 --switch ovsk,protocols=OpenFlow13
    

    • 控制器端的拓扑

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

    选择PUT方式下发流表,node/openflow:1,table:0,flow:1
    id:1,in-port:2(交换机连接h2的端口),ethernet-type:0x0800(表示以太网帧是ip协议)

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

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

    flow-name 流表项名字,可不填
    priority 流表项优先级,要大于odl下发的默认流表,这里设置成最大65535
    hard-timeout 硬超时,流表项下发后生效时长,这里设置为20
    cookie 可不填,为方便在ovs中查找下发成功的流表项可以设置成容易找的到值如0x02(要填16进制)
    table_id 流表id 默认为0

    先在mininet中执行h2 ping h3,再send

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

    通过OpenDayLight的北向接口下发流表

    利用OpenDayLight北向接口查看已下发的流表

  • 相关阅读:
    ArcGIS JS 学习笔记1 用ArcGIS JS 实现仿百度地图的距离量测和面积量测
    WGS84,GCJ02, BD09坐标转换
    离线地图切片及使用解决方案
    ArcGIS API for JavaScript 加载独立GeoWebCache发布的Wmts服务
    如何利用已有的切片文件生成TPK
    arcgis api for silverlight(时间感知层)
    arcgis api for silverlight(行为和行动)
    开篇有益
    关于vue项目中表格所遇到的问题(三)
    关于vue项目中表格所遇到的问题(二)
  • 原文地址:https://www.cnblogs.com/ruifeng1/p/11900347.html
Copyright © 2011-2022 走看看