仅用于记录,如有侵权,请联系删除
方法1
1,安装
larry@larry-VirtualBox:~$ sudo apt-get install mininet
2,使用
参考链接:https://blog.youkuaiyun.com/wuliangtianzu/article/details/82689347
larry@larry-VirtualBox:~$ sudo mn --topo=single,5 --controller=remote,ip=127.0.0.1,port=6653
备注:自己电脑运行的floodlight控制器运行的ip和端口,
我的是:ip=127.0.0.1,port=6653
3, 使用的问题
(1):SyntaxError: Non-ASCII character ‘\xe5’ in file /home/larry/repos/mininet_works/fattree.py on line 1
解决办法:
在第一行加上下面代码即可:
#!usr/bin/python
# -*- coding: utf-8 -*-
(2):Exception: Invalid topo name mytopo
解决办法: 就是mytopo这个实例,没有创建,因为python的语法对缩进很敏感,原有的参考代码,没有定格,使得其没有创建
4,修改后胖树代码
参考代码:https://blog.youkuaiyun.com/xueer767/article/details/73249446
#!usr/bin/python
# -*- coding: utf-8 -*-
#创建网络拓扑,代码可以直接使用
from mininet.topo import Topo
from mininet.net import Mininet
from mininet.node import RemoteController,CPULimitedHost
from mininet.link import TCLink
from mininet.util import dumpNodeConnections
class MyTopo( Topo ):
"Simple topology example."
def __init__( self ):
"Create custom topo."
# Initialize topology
Topo.__init__( self )
L1 = 2
L2 = L1 * 2
L3 = L2
c = []
a = []
e = []
# add core ovs
for i in range( L1 ):
sw = self.addSwitch( 'c{}'.format( i + 1 ) )
c.append( sw )
# add aggregation ovs
for i in range( L2 ):
sw = self.addSwitch( 'a{}'.format( L1 +i + 1 ) )
a.append( sw )
# add edge ovs
for i in range( L3 ):
sw = self.addSwitch( 'e{}'.format( L1 +L2 + i + 1 ) )
e.append( sw )
# add links between core and aggregation ovs
for i in range( L1 ):
sw1 = c[i]
for sw2 in a[i/2::L1/2]:
self.addLink( sw2, sw1 )
# add links between aggregation and edge ovs
for i in range( 0, L2, 2 ):
for sw1 in a[i:i+2]:
for sw2 in e[i:i+2]:
self.addLink( sw2, sw1 )
#add hosts and its links with edge ovs
count = 1
for sw1 in e:
for i in range(2):
host = self.addHost( 'h{}'.format( count ) )
self.addLink( sw1, host )
count += 1
#实例化类
topos = { 'mytopo': ( lambda: MyTopo() ) }
#注意:‘mytopo’这个参数必须和命令行--topo的参数一致,如果不一致,运行时报“Exception: Invalid topo name mytopo2”
方法2
参考连接:https://blog.youkuaiyun.com/daihanglai7622/article/details/84754443
注:其中安装了java,配置环境,在配置文件末尾加入;重启后生效
在两个地方都改了
(1)命令1
sudo gedit ~/.bashrc
(2)命令2
sudo gedit /etc/profile
立即生效:
#同样,需要使用命令使环境变量立即生效
source /etc/profile