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命令就可以执行。

    作者:天际使徒
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Linux定时任务
    linux文件权限
    grep awk sed 三剑客
    用户管理
    find查找inode号删除文件
    find 查找文件或目录 及du命令
    11、注册新用户
    10、密码扩展,使用Flask-Login认证用户
    9、大型程序的结构
    8、目前flask程序结构
  • 原文地址:https://www.cnblogs.com/Horizon-asd/p/14929719.html
Copyright © 2011-2022 走看看