1.安装mininet
2.用字符命令生成拓扑,并测试连通性,截图
3.用可视化界面生成拓扑,并测试连通性,截图
拓扑图: 命令行显示:4.用Python脚本生成一个Fat-tree型的拓扑,截图
- 写好脚本
from mininet.topo import Topofrom mininet.net import Mininetfrom mininet.node import RemoteController,CPULimitedHostfrom mininet.link import TCLinkfrom mininet.util import dumpNodeConnectionsclass 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 +=1topos = { 'mytopo': ( lambda: MyTopo() ) }
运行脚本
sudo screen mn --custom ./fattree.py --topo mytopo
- 执行过程