zoukankan      html  css  js  c++  java
  • Mininet-wifi典型用法

    1. 执行 mn 命令未指定一个控制器的话,它会默认采用 ovsc 控制,ovs-controller


    1. Mininet-wifi如何和ryu配合?

           ryu-manager ryu.app.simple_switch_13       先要启动ryu,然后启动mininet-wifi去连接ryu

           mn --topo=linear --switch=user --ap=user --controller=remote,ip=192.168.0.193,port=6653

                   ryu可以指定其它端口:
                   ryu-manager --ofp-listen-host '192.168.0.127' --ofp-ssl-listen-port 11884 --ofp-tcp-listen-port 11884 ryu.app.simple_switch_13


    1. 目前已经有的网络拓扑(下面都是使用的RYU控制器和ofsoftswitch交换机):
      1. minimal

        创建两个host,一个switch,拓扑不能指定个数。

                         mn --topo=minimal --switch=user --ap=user --controller=remote,ip=192.168.0.193,port=6653

    1. single

            创建两个host,一个switch,可以指定参数,如果参数输入3,表示创建3个host,一个switch。

            mn --topo=single,3 --switch=user --ap=user --controller=remote,ip=192.168.0.193,port=6653

    1. reversed

            reversed(反向拓扑) 和 single的效果是一样的。

            mn --topo=reversed,5 --switch=user --ap=user --controller=remote,ip=192.168.0.193,port=6653

    1. linear

            创建5个AP,创建5个station,组成一条线

            mn --wifi --topo=linear,5 --switch=user --ap=user --controller=remote,ip=192.168.0.193,port=6653

    1. tree

            --topo=tree,3,2  : 拓扑模型,交换机的深度或者层数,每个交换机下连接的主机或者交换机个数。

            --topo=tree,3,2 : 三层,第一层1个交换机,第二层2个交换机,第三层4个交换机,主机:4 x 2 = 8

            --topo=tree,3,3 : 三层,第一层1个交换机,第二层3个交换机,第三层9个交换机,主机:9 x 3 = 27

            --topo=tree,3    : --topo=tree,3,2效果一样。

            创建tree型拓扑不能带--wifi参数,带--wifi参数创建不起来。

            tree 测试过10层网络拓扑,创建了1024个host,1023个switch,最终的结果是创建不起来,可能大概要耗时一天,cpu全都占用完了。

            mn --topo=tree,3 --switch=user --ap=user --controller=remote,ip=192.168.0.193,port=6653

    1. torus

            创建一个圆环面型拓扑,创建不起来。

            mn --topo=torus --switch=user --ap=user --controller=remote,ip=192.168.0.193,port=6653

     

    1. 5switch的线型组网:

    clip_image001[4]

     

    1. 3层树形拓扑组网:

    clip_image002[4]



    1. 自定义网络拓扑
      1. 我是在mininet-wifi的工程目录下面增加一个custom目录,这里存放新增的网络拓扑文件。

    clip_image003[4]


    1. custom目录下新增mytopo.py文件。新增一个子类继承 Topo_WiFi,新增的拓扑类的 __init__ 函数里面 创建各个站点和link,文件代码如下:


    frommn_wifi.topoimportTopo_WiFi

     

    classMyTopo(Topo_WiFi):

    "Simpletopologyexample."

     

    def__init__(self):

    "Createcustomtopo."

     

    #Initializetopology

    Topo_WiFi.__init__(self)

     

    #addstationsandaccesspoints

    sta1=self.addStation('sta1')

    sta2=self.addStation('sta2')

    sta3=self.addStation('sta3')

    sta4=self.addStation('sta4')

    sta5=self.addStation('sta5')

    ap1=self.addAccessPoint('ap1')

    ap2=self.addAccessPoint('ap2')

    ap3=self.addAccessPoint('ap3')

    ap4=self.addAccessPoint('ap4')

    ap5=self.addAccessPoint('ap5')

    ap6=self.addAccessPoint('ap6')

     

    #addlinks

    self.addLink(ap1,ap2)

    self.addLink(ap1,ap3)

    self.addLink(ap2,ap4)

    self.addLink(ap2,sta2)

    self.addLink(ap3,ap5)

    self.addLink(ap3,ap6)

    self.addLink(ap4,sta1)

    self.addLink(ap5,sta3)

    self.addLink(ap5,sta4)

    self.addLink(ap6,sta5)

     

    #addtotopo

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

     

    1. 指定mn的参数如下:

    --wifi --custom ./custom/mytopo.py --topo=mytopo --switch=user --ap=user --controller=remote,ip=192.168.0.193,port=6653


    1. 最后创建出来的拓扑图如下:

    clip_image004[4]

     

    1. 执行pingall,可以看到所以节点都可以ping通。
  • 相关阅读:
    牛客网编程练习之网易2017校招题:下厨房
    牛客网编程练习之网易2017校招题:数字翻转
    牛客网编程练习之京东2017校招题:幸运数
    牛客网编程练习之去哪儿网2017校招题:身份证分组
    牛客网编程练习之网易2017校招题:解救小易
    牛客网编程练习之腾讯2017校招题:游戏任务标记
    Fiddler实现对手机抓包
    sshpass笔记
    图片反色
    LintCode题解之统计数字
  • 原文地址:https://www.cnblogs.com/matthew-2013/p/12974868.html
Copyright © 2011-2022 走看看