安装floodlight

参考链接:http://www.sdnlab.com/19189.html

从github下载源码,并编译安装

  1. $ sudo apt-get install build-essential ant python-dev
  2. $ wget https://codeload.github.com/floodlight/floodlight/zip/v0.91 -o floodlight.zip
  3. $ unzip floodlight.zip
  4. $ cd floodlight
  5. $ ant

成功编译后运行并访问http://localhost:8080/ui/index.html

  1. $ java -jar target/floodlight.jar

生成拓扑并连接控制器floodlight,利用控制器floodlight查看图形拓扑

由上图的目标拓扑编写代码如下

  1. #!/usr/bin/python
  2. __author__ = "tr3e"
  3. from mininet.topo import Topo
  4. class MyTopo( Topo ):
  5. def __init__( self ):
  6. Topo.__init__( self )
  7. s1 = self.addSwitch('s1')
  8. s2 = self.addSwitch('s2')
  9. s3 = self.addSwitch('s3')
  10. s4 = self.addSwitch('s4')
  11. h1 = self.addHost('h1')
  12. h2 = self.addHost('h2')
  13. h3 = self.addHost('h3')
  14. self.addLink(h1,s2,1,1)
  15. self.addLink(h2,s3,1,1)
  16. self.addLink(s2,s1,2,1)
  17. self.addLink(s3,s1,2,2)
  18. self.addLink(s1,s4,3,1)
  19. self.addLink(s4,h3,2,1)
  20. topos = { 'mytopo': ( lambda: MyTopo() ) }

运行mininet生成上述拓扑

利用控制器floodlight可以查看图形拓扑为

利用字符界面下发流表,使得‘h1’和‘h2’ ping 不通

利用字符界面下发流表,通过测试‘h1’和‘h3’的联通性,来验证openflow的hardtime机制

SDN2017 第二次实验作业的更多相关文章

  1. C语言第二次实验作业

    PTA ================= 11-6 方阵循环右移 --------------- 本题要求编写程序,将给定n×n方阵中的每个元素循环向右移m个位置,即将第0.1.....n-1列变换 ...

  2. C高级第二次PTA作业

    6-7 删除字符串中数字字符 1.设计思路: (1)算法: 第一步:定义一个字符数组item,输入一个字符串赋给字符数组item.调用函数delnum, 第二步:在函数delnum中定义循环变量i=0 ...

  3. Linux内核实验作业四

    实验作业:使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用 20135313吴子怡.北京电子科技学院 [第一部分]使用库函数API来获取用户标识号.库函数为getuid() 代码如下: ...

  4. 实验作业:使gdb跟踪分析一个系统调用内核函数

    实验作业:使gdb跟踪分析一个系统调用内核函数(我使用的是getuid) 20135313吴子怡.北京电子科技学院 [第一部分] 根据视频演示的步骤,先做第一部分,步骤如下 ①更新menu代码到最新版 ...

  5. Linux内核实验作业六

    实验作业:分析Linux内核创建一个新进程的过程 20135313吴子怡.北京电子科技学院 [第一部分]阅读理解task_struct数据结构 1.进程是计算机中已运行程序的实体.在面向线程设计的系统 ...

  6. Linux内核实验作业七

    实验作业:Linux内核如何装载和启动一个可执行程序 20135313吴子怡.北京电子科技学院 [第一部分]理解编译链接的过程和ELF可执行文件格式 1.编译链接的过程 2.ELF可执行文件格式 一个 ...

  7. 2019 SDN第二次上机作业

    2019 SDN第二次上机作业 1. 利用mininet创建如下拓扑,要求拓扑支持OpenFlow 1.3协议,主机名.交换机名以及端口对应正确,请给出拓扑Mininet执行结果,展示端口连接情况 创 ...

  8. 2016福州大学软件工程第二次团队作业——预则立&&他山之石成绩统计

    第二次团队作业--预则立&&他山之石成绩统计结果如下: T:团队成绩 P:个人贡献比 T+P:折算个人成绩,计算公式为T+T/15*团队人数*P 学号 组别 Team P T+P 03 ...

  9. 20145330《Java程序设计》第二次实验报告

    20145330<Java程序设计>第二次实验报告 实验二 Java面向对象程序设计 实验内容 1.初步掌握单元测试和TDD 2.理解并掌握面向对象三要素:封装.继承多态 3.初步掌握UM ...

随机推荐

  1. Docker swarm 实战-部署wordpress

    Docker swarm 实战-部署wordpress 创建一个overlay的网络 docker network create -d overlay demo 6imq8da3vcwvj2n499k ...

  2. Microsoft Office MIME Types

    经常需要查找Microsoft Office MIME Types,终于在MSDN网上找到,摘录如下,以备查阅与参考:http://blogs.msdn.com/b/vsofficedeveloper ...

  3. WCF发布多个服务

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using WcfServi ...

  4. [javaEE] Servlet的调用过程和生命周期

    在http协议的请求头中获取到要访问的资源,查找web.xml文件找到对应的servelet Sevlet的生命周期 Servlet在第一次被访问的时候,服务器创建出Servlet对象,创建出对象以后 ...

  5. PHP的openssl_encrypt方法的JAVA和JS的实现

    这次在JAVA项目中遇到了要使用PHP的openssl_encrypt这个方法来进行加密以下是内容分享: 在PHP中加密内容是: // openssl_encrypt($data, $method, ...

  6. Tomcat9.0环境搭建与源码编译

    使用IntelliJ IDEA  搭建Tomcat9.0项目   准备条件:   下载源码 这里我们下载的Tomcat的源码版本是9.0.12. 下载地址: https://tomcat.apache ...

  7. php中的static静态变量

    今天碰到了一个php的小试题,一直没有明白为什么第三次循环是static静态变量没有起作用呢?想了好久才明白原理. <?php class MyClass{ function add($b){ ...

  8. 函数表达式(JavaScript高程笔记)

    函数声明 特点:函数声明提升(执行代码之前解析器会先读取函数声明,并使其在执行任何代码之前可用,意味着可以把函数声明放在调用语句之后) function functionName(arg0,arg1) ...

  9. HTML/CSS学习(二)

    续...... ============================================================================================ ...

  10. 面向对象的JS随笔

    Scoping 全局与局部 全局变量可用在所有环境中,局部变量只可用在局部 js中连接变量至一个从未声明的变量,后面的变量自动提升成一个全局变量(不要这样用,不易阅读) 只有function(){中才 ...