【Mininet】基础篇:Mininet创建简单网络拓扑及简单网络拓扑脚本编写

本文介绍了如何使用Mininet创建不同类型的网络拓扑,包括最小、线性、单一和树形拓扑,并提供了相应的命令示例。此外,还详细讲解了如何编写网络拓扑脚本,如linear.py、single.py和tree.py,以及如何创建自定义的网络拓扑,如myTopo1.py和myTopo2.py,其中涉及到了CPU限制、链路配置等高级特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大家好,我是文思月!
每文一言:不要假装努力,结果不会陪你演戏!

本篇文章:

使用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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值