SDN第二次上机作业

1、安装floodlight

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

使用老师给的镜像,安装时选择错误,导致每次操作结果不会保存,floodlight安装了不下三次。。。不过按照教程没有问题。

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

  • 拓扑图形

  • 脚本

from mininet.topo import Topo
class MyTopo(Topo):
 def __init__(self):

     #initilaize topology
     Topo.__init__(self)

     # add hosts and switches
     h1 = self.addHost('h1')
     h2 = self.addHost('h2')
     h3 = self.addHost('h3')

     s1 = self.addSwitch('s1')
     s2 = self.addSwitch('s2')
     s3 = self.addSwitch('s3')
     s4 = self.addSwitch('s4')

     # add links
     self.addLink(s1,s2,1,1)
     self.addLink(s1,s3,2,1)
     self.addLink(s1,s4,3,1)

     self.addLink(s2,h1,2,1)
     self.addLink(s3,h2,2,1)
     self.addLink(s4,h3,2,1)

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

  • 运行脚本

  • 测试连通性

  • floodlight查看拓扑

  • 遇见问题
    不懂为什么多出来了不少主机,这里出错过几次,第一次将主机IP设为127.0.0.1,最后pingall的时候发现均不通

    第二次改为主机IP,可能由于上次操作影响,导致只有h1,h2可以连通,关闭mininet,输入sudo mn -c后重试就可以了。

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

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

  • 做法:自我理解,按照自己的脚本,对于交换机S1,应该是对于1号端口进来,2号端口出去的数据丢弃掉,但是不会写,后面看了一下同学的博客,里面是针对MAC地址进行判断,将对应源MAC对应h1,目的MAC对应h2的丢弃掉(这里只是未将h2->h1丢弃)

  • 通过Floodlight查看h1,h2MAC地址

  • 流表

  • 测试连通性

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

  • 初始连通性测试

  • 流表

  • 再次测试连通性

posted @ 2017-12-11 18:20  抱朴  阅读(375)  评论(0编辑  收藏  举报