一个简单的mininet搭建拓扑python模版

from mininet.topo import Topo
from mininet.net import Mininet
from mininet.node import RemoteController
from mininet.util import dumpNodeConnections
from mininet.log import setLogLevel
from mininet.cli import CLI

class MyTopo( Topo ):
    "Simple topology example."

    def __init__( self ):
        "Create custom topo."

        # Initialize topology
        Topo.__init__( self )

        # Add hosts and switches
        leftHost1 = self.addHost( 'h1' )
        leftHost2 = self.addHost( 'h2' )
        leftSwitch = self.addSwitch( 's3' )
        rightSwitch = self.addSwitch( 's4' )
        rightHost1 = self.addHost( 'h5' )
        rightHost2 = self.addHost( 'h6' ) 

        # Add links
        self.addLink( leftHost1, leftSwitch )
        self.addLink( leftHost2, leftSwitch )
        self.addLink( leftSwitch, rightSwitch )
        self.addLink( rightSwitch, rightHost1 )
        self.addLink( rightSwitch, rightHost2 )


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

if __name__=='__main__':
    setLogLevel('info')
    topo=MyTopo()
    net=Mininet(topo,controller=None)
    net.addController('c0',controller=RemoteController,ip='211.69.197.180',port=6653)
    net.start()
    dumpNodeConnections(net.hosts)

    CLI(net)

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是一个基本的mininet上MPTCP的python脚本。它创建了一个简单拓扑,其中有两个主机和一个交换机,然后在主机之间运行MPTCP流量测试。 ```python #!/usr/bin/python from mininet.topo import Topo from mininet.net import Mininet from mininet.node import CPULimitedHost from mininet.link import TCLink from mininet.log import setLogLevel, info def MPTCPTopo(): # 创建一个简单拓扑,包含两个主机和一个交换机 topo = Topo() topo.addHost('h1', cls=CPULimitedHost, cpu=.5) topo.addHost('h2', cls=CPULimitedHost, cpu=.5) topo.addSwitch('s1') topo.addLink('h1', 's1', bw=10, delay='5ms', loss=0) topo.addLink('h2', 's1', bw=5, delay='10ms', loss=0) return topo def MPTCPTest(): # 创建一个MPTCP测试 topo = MPTCPTopo() net = Mininet(topo=topo, host=CPULimitedHost, link=TCLink) net.start() h1, h2 = net.get('h1', 'h2') # 在h1启动iperf服务器 h1.cmd('iperf -s &') # 在h2启动iperf客户端,向h1发送MPTCP流量 h2.cmd('iperf -c %s -P 3 -i 1 -t 10' % h1.IP()) net.stop() if __name__ == '__main__': setLogLevel('info') MPTCPTest() ``` 该脚本创建了一个名为MPTCPTopo的函数来定义拓扑。它使用mininet.topo.Topo类来定义拓扑,然后添加两个主机和一个交换机。每个主机都被定义为mininet.node.CPULimitedHost类的实例,以模拟现实世界中的计算资源限制。 MPTCPTest函数使用MPTCPTopo函数来创建拓扑,并在两个主机之间运行MPTCP流量测试。它使用mininet.net.Mininet类来启动网络,并使用mininet.net.Mininet.get方法获取对主机的引用。然后,在h1上启动iperf服务器,并在h2上启动iperf客户端,向h1发送MPTCP流量。最后,该函数停止网络并退出。 要运行该脚本,请将其保存为文件(例如mptcp.py),然后在终端中运行以下命令: ``` sudo python mptcp.py ``` 该脚本需要在root权限下运行,以便使用mininet模拟网络。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值