1.安装mininet
2.用字符命令生成拓扑,并测试连通性,截图
3.用可视化界面生成拓扑,并测试连通性,截图
拓扑图:
命令行显示:
4.用Python脚本生成一个Fat-tree型的拓扑,截图
- 写好脚本
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 ):
def __init__( self ):
"Create custom topo."
# Initialize topology
Topo.__init__( self )
L1 = 2
L2 = L1*2
L3 = L2
s = []
a = []
e = []
for i in range(L1):
sw = self.addSwitch('s{}'.format(i+1))
s.append(sw)
for i in range(L2):
sw = self.addSwitch('a{}'.format(i+1))
a.append(sw)
for i in range(L3):
sw = self.addSwitch('e{}'.format(i+1))
e.append(sw)
for i in range(L1):
sw1 = s[i]
for sw2 in a[0:]:
self.addLink(sw2,sw1)
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)
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() ) }
运行脚本
sudo screen mn --custom ./fattree.py --topo mytopo
- 执行过程