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

    1 安装OpenDayLight控制器,启动并安装插件

    2 用Python脚本搭建如下拓扑:

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

    pingall,显示各主机都连通:

    控制器端拓扑图:

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

    下发流表过程:

    in-port=2 :对2号端口进来的数据进行限制


    instructio n: apply-actions-case (执行动作)
    action : drop-action-case (丢包动作)

    hard-timeout:硬超时,在流表下发之后改时间内的报文都会执行上文设置的丢弃动作

    流表内容设置好之后点击SEND,成功之后流表就会生效,在20秒内h2 无法ping通h3

    Preview:

    http://127.0.0.1:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:1/flow-node-inventory:table/0/flow/2
    
    {
        "flow": [
            {
                "id": "2",
                "match": {
                    "in-port": "2",
                    "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": "flow111",
                "hard-timeout": "20",
                "table_id": "0"
            }
        ]
    }
    

    links:

    在下发流表前,icmp_seq=1和icmp_seq=2的报文正常通信。
    在这时下发流表,之后的20秒都无法ping通:

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

    将preview的url复制到地址栏,输入odl的默认账号和密码admin

    使用PUT方法 下发流表:

    使用GET方法 查看刚刚下发的流表项

  • 相关阅读:
    浅谈 LCA
    树剖毒瘤题整理
    树链剖分&咕咕咕了好久好久的qtree3
    洛谷P4095新背包问题
    洛谷P4127同类分布
    洛谷P4124 手机号码
    数位dp好题整理+自己wa过的细节记录
    P4999烦(gui)人(chu)的数学作业
    洛谷P4317 花(fa)神的数论题(数位dp解法)
    网络流之最短路径覆盖问题
  • 原文地址:https://www.cnblogs.com/xzhcode/p/11900775.html
Copyright © 2011-2022 走看看