2019 SDN上机第4次作业

2019 SDN上机第4次作业

作业链接

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

OpenDayLight是java实现的,因此需要先配置java环境,参考链接

OpenDaylight官网

OpenDaylight Beryllium版本下载地址,本次实验请安装下面这个版本↓↓↓↓↓

2. 启动并安装插件

安装插件

Beryllium版本的插件安装

​ feature:install odl-restconf

​ feature:install odl-l2switch-switch-ui

​ feature:install odl-openflowplugin-all

​ feature:install odl-mdsal-apidocs

​ feature:install odl-dlux-core

​ feature:install odl-dlux-node

​ feature:install odl-dlux-yangui

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

img

代码:

class MyTopo( Topo ):

    "Simple topology example."

    def __init__( self ):

 

    # Initialize topology

    Topo.__init__( self )

    

    sw1 = self.addSwitch('s1')



    h1 = self.addHost('h1')

    h2 = self.addHost('h2')

    h3 = self.addHost('h3')



    self.addLink(h1,sw1,1,1)

    self.addLink(h2,sw1,1,2)

    self.addLink(h3,sw1,1,3)



    topos = { 'mytopo': ( lambda: MyTopo() ) }

保存为sdn4.py控制台运行:

sudo mn --custom ./sdn4.py --topo mytopo --controller=remote,ip=127.0.0.1,port=6633 --switch ovsk,protocols=OpenFlow13

注意事项:

新建的py脚本文件权限要改为可执行

要求提交控制器端的拓扑图

需要在CLI中先pingall

拓扑图:

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

ODL具体设置:

  • get要改成put,node/openflow:1,table/0,flow/不超过1024,flow id为1,in-port为2,type为0x0800(2048),目的地址为10.0.0.3/32

instruction list中order为0,action list中order为0

hard-timeout为20 priority为20

timeout效果图:

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

Preview:

下载并解压安装Postman

Postman下发流表

Postman查看流表

原文地址:https://www.cnblogs.com/passguan/p/11900483.html