大家好,我是文思月!
每文一言:不要假装努力,结果不会陪你演戏!
本篇文章:
使用Mininet创建简单的网络拓扑,并创建网络拓扑脚本。
正文如下:
1. 最小网络拓朴
创建最小的网络拓扑,一个交换机和两个主机,交换机连接了两个主机:
sudo mn --topo minimal

2. 线性网络拓扑
创建一个线性的拓扑,一个交换机连接一个主机,总共创建了4个交换机和4个主机
sudo mn --topo linear,4

3. 单一网络拓扑
创建一个single类型的拓扑,一个交换机连接多个主机,这里是一个交换机连接4个主机
sudo mn --topo single,4

4. 树网络拓扑
创建一个树形的拓扑,设置fanout(出度)和depth(高度),高度指的是交换机的高度,出度指的是交换机出度,这里是一个交换机连接两个主机,交换机的高度是2
sudo mn --topo tree,fanout=2,depth=2

5. 创建简单网络拓扑脚本
1)根据–topo linear,3来写一个linear.py的脚本
from mininet.net import Mininet
from mininet.topo import SingleSwitchTopo
Single3 = SingleSwitchTopo(k=3)
net = Mininet(topo=Single3)
net.start()
net.pingAll()
net.stop()
创建linear.py文件到myCustom文件夹下,myCustom文件夹需要与mininet文件夹在同一目录下

然后给文件增加可执行权限
chmod +x linear.py
sudo python3 linear.py

2)根据–topo single,3来写一个single.py的脚本
from mininet.net import Mininet
from mininet.topo import SingleSwitchTopo
single3 = SingleSwitchTopo(k=3)
net = Mininet(topo=single3)
net.start()
net.pingAll()
net.stop()
给single.py文件增加可执行权限
chmod +x single.py
sudo python3 single.py

3)根据–topo tree,fanout=2,depth=2来写一个tree.py的脚本
from mininet.net import Mininet
from mininet.topolib import TreeTopo
Tree22 = TreeTopo(depth=2, fanout=2)
net = Mininet(topo=Tree22)
net.start()
net.pingAll()
net.stop()
给tree.py文件增加可执行权限
chmod +x tree.py
sudo python3 tree.py

6. 创建自定义网络拓扑脚本
1)自定义网络拓扑,一个交换机,两个主机。该文件为myTopo1.py,放在myCustom文件夹下
from mininet.net import Mininet
net = Mininet()
c0 = net.addController('c0')
h0 = net.addHost('h0')
h1 = net.addHost('h1')
s0 = net.addSwitch('s0')
net.addLink(h0, s0)
net.addLink(h1, s0)
h0.setIP('10.0.0.1', 24)
h1.setIP('10.0.0.2', 24)
net.start()
net.pingAll()
net.stop()
sudo python3 myTopo1.py

2)自定义网络拓扑,一个交换机,三个主机,可以对主机的CPU进行配置,还可以设置链路带宽band width,延迟delay,最大队列的大小max_queue_size,损耗率loss。该文件为myTopo2.py,放在myCustom文件夹下
from mininet.net import Mininet
from mininet.node import CPULimitedHost
from mininet.link import TCLink
net = Mininet(host=CPULimitedHost, link=TCLink)
c0 = net.addController()
s0 = net.addSwitch('s0')
h0 = net.addHost('h0')
h1 = net.addHost('h1', cpu=0.5)
h2 = net.addHost('h2', cpu=0.5)
net.addLink(s0,
h0,
bw=10,
delay='5ms',
max_queue_size=1000,
loss=10,
use_htb=True)
net.addLink(s0, h1)
net.addLink(s0, h2)
net.start()
net.pingAll()
net.stop()
sudo python3 myTopo2.py

以上就是Mininet创建简单网络拓扑,以及创建网络拓扑脚本的一些方法,后续会继续写Mininet的其他使用方法。
参考博客:
https://www.cnblogs.com/pullself/p/10162901.html











![深度学习进阶篇[9]:对抗生成网络GANs综述、代表变体模型、训练策略、GAN在计算机视觉应用和常见数据集介绍,以及前沿问题解决](https://img-blog.csdnimg.cn/img_convert/ea957cd3b916b6de5b2604b497ee3134.png)







