zoukankan      html  css  js  c++  java
  • mininet可视化(2021.6.25)

    相关的配置有很多教程,一笔带过。

    cd mininet/examples

    sudo python miniedit.py

    1.右击长按图标可配置控制器,交换机,主机。上方菜单栏Edit配置。

    下面是需要详细介绍的内容。

    2.左下角run运行

    3.此时右击长按图标可查看图标信息

    纠错!:下面的s1和s2之间需要链路,不然h3与h1h2ping不通,忘记连了。

    这里s1s2需要连接的原因:虽然s1与s2通过c0相连,但控制器c0只具备控制功能,不具备转发功能。

     

     相关的操作都可以右击长按打开主机图标进行操作。

     把topo保存成py文件。

     

     zj.py

    #!/usr/bin/python
    
    from mininet.net import Mininet
    from mininet.node import Controller, RemoteController, OVSController
    from mininet.node import CPULimitedHost, Host, Node
    from mininet.node import OVSKernelSwitch, UserSwitch
    from mininet.node import IVSSwitch
    from mininet.cli import CLI
    from mininet.log import setLogLevel, info
    from mininet.link import TCLink, Intf
    from subprocess import call
    
    def myNetwork():
    
        net = Mininet( topo=None,
                       build=False,
                       ipBase='10.0.0.0/8')
    
        info( '*** Adding controller
    ' )
        c0=net.addController(name='c0',
                          controller=RemoteController,
                          ip='127.0.0.1',
                          protocol='tcp',
                          port=6653)
    
        info( '*** Add switches
    ')
        s1 = net.addSwitch('s1', cls=OVSKernelSwitch, dpid='0000000000000001')
        s2 = net.addSwitch('s2', cls=OVSKernelSwitch, dpid='0000000000000002')
    
        info( '*** Add hosts
    ')
        h3 = net.addHost('h3', cls=Host, ip='10.0.0.3', defaultRoute=None)
        h2 = net.addHost('h2', cls=Host, ip='10.0.0.2', defaultRoute=None)
        h1 = net.addHost('h1', cls=Host, ip='10.0.0.1', defaultRoute=None)
    
        info( '*** Add links
    ')
        net.addLink(s1, h1)
        net.addLink(s1, h2)
        net.addLink(s2, h3)
        net.addLink(s1, s2)
    
        info( '*** Starting network
    ')
        net.build()
        info( '*** Starting controllers
    ')
        for controller in net.controllers:
            controller.start()
    
        info( '*** Starting switches
    ')
        net.get('s1').start([c0])
        net.get('s2').start([c0])
    
        info( '*** Post configure switches and hosts
    ')
    
        CLI(net)
        net.stop()
    
    if __name__ == '__main__':
        setLogLevel( 'info' )
        myNetwork()

    需要执行zj.py脚本,使用sudo python zj.py命令就可以执行。

    作者:天际使徒
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    js/Jquery table 内部控件计算和tr的生成
    反射 实体类的赋值/取值问题
    C#读取Excel 几种方法的体会
    水晶报表升级遇到的问题
    使用异或位运算符实现交换两个整数详解
    美国宇航局两万兆数据存储方案下载
    Flash全屏(转载)
    Unity3D实现动态加载游戏资源
    C#,ASP.NET jquery uploadify上传控件中文乱码解决办法
    HTML通过button触发inputfile控件上传文件的问题
  • 原文地址:https://www.cnblogs.com/Horizon-asd/p/14929719.html
Copyright © 2011-2022 走看看