2019 SDN上机第4次作业

别来无恙 提交于 2019-12-05 02:55:32

1.安装

安装ODL后安装插件

2.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())}

搭建拓扑后输入pingall检测连通性,同时在控制器端查看拓扑图:

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

输入links,查看端口连通情况,可以看到h2连接交换机的2号端口

在Yang UI界面输入node、table和flow的id,进入端口设置为2,ethernet-type设置为0x0800,设置ipv4-march中的源地址为10.0.0.2/32,目标地址为10.0.0.3/32


instruction与action的order设置为0

时间延迟设置为20s,table的id设置为0,因为没有下发过其它流表所以优先级暂时不设置

开始h2 ping h3后下发流表,查看连通断开与恢复的情况,可以看到第40秒开始,中断了20秒,然后才恢复通讯

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

在DLUX界面中点击预览,复制代码

关闭DLUX界面,但保留ODL开启,打开Postman,输入账号密码授权,再写入URL与代码后,实现调用ODL接口



预览如下:

{
    "flow": [
        {
            "id": "29",
            "match": {
                "in-port": "2",
                "ethernet-match": {
                    "ethernet-type": {
                        "type": "0x0800"
                    }
                },
                "ipv4-source": "10.0.0.2/32",
                "ipv4-destination": "10.0.0.3/32"
            },
            "instructions": {
                "instruction": [
                    {
                        "order": "0",
                        "apply-actions": {
                            "action": [
                                {
                                    "order": "0",
                                    "drop-action": {}
                                }
                            ]
                        }
                    }
                ]
            },
            "priority": "66",
            "hard-timeout": "20",
            "table_id": "0"
        }
    ]
}

再次开始h2 ping h3 ,Postman下发流表,查看连通断开与恢复的情况,可以看到第11秒开始,中断了20秒,然后才恢复通讯

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!