2019 SDN上机第4次作业

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查看刚刚下发的流表项

posted @ 2019-11-21 23:14  _FWH  阅读(116)  评论(0编辑  收藏  举报