2019 SDN上机第4次作业

有些话、适合烂在心里 提交于 2019-12-05 05:21:57

1. 解压安装OpenDayLight控制器

Java配置

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

2. 启动并安装插件

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

python代码

from mininet.topo import Topo
from mininet.net import Mininet
from mininet.node import RemoteController,CPULimitedHost
from mininet.link import TCLink
from mininet.util import dumpNodeConnections

class MyTopo(Topo):

    def __init__(self):

        # initilaize topology
        Topo.__init__(self)
    
    s=[]
    for i in range(1):
            sw = self.addSwitch('s{}'.format(i+1))
            s.append(sw)
    count=1 
        for i in range(3):
            host = self.addHost('h{}'.format(count))
            self.addLink(s[0],host)
            count += 1
      
        
topos = {'mytopo': (lambda: MyTopo())}

打开控制器UI

运行结果

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

在mininet中用links查询链路连接情况

ODL下发流表项




h2 ping h3 中断又恢复的截图

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

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

Body中将消息格式设置成json,上传方式设置为raw

将ODL的preview中的消息粘贴在文本框内,把流表项id改为2同时url后的flow id也要改为2,点击send后下发成功


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

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