
mininet 系列文章链接归类:
【mininet 0x01】mininet环境搭建
【mininet 0x02】如何使用mn工具来操作mininet
【mininet 0x03】如何使用Python API来操作mininet
【mininet 0x04】使用ryu作为mininet的controller完成HUB功能
【mininet 0x05】使用ryu作为mininet的controller完成L2Switch功能
文章目录
前言
上一节我们学习了如何用mn工具去进行拓扑搭建,可以进入mn之后,手动创建switch、link、host ....也可以根据mn工具预置好的拓扑形状进行拓扑创建,如果我们想自己定制一个拓扑形状,或者基于mininet做更多复杂的操作,那么就需要调用 python API去操作mininet。
一、mininet 库功能一览
1、Topo 类
mininet拓扑结构的main class:

2、mininet 类
建立和管理网路的main class:

二、Mininet 库常用函数的详细介绍
Topo类关键 func一览表:
| 序号 | 方法 | 功能 |
|---|---|---|
| 0 | addHost() | 给拓扑结构添加一个host,并返回host的名字 |
| 1 | addSwitch() | 给拓扑结构添加一个switch,并返回switch的名字 |
| 2 | addLink() | 给拓扑结构添加一个双向link,并返回link的key |
| 3 | build() | Topo类init()阶段会去调用的一个函数,可以通过此函数干预初始化函数预置拓扑 |
| 4 | port() | 根据src dst switch name 获取port_list |
Mininet类关键 func一览表:
| 序号 | 方法 | 功能 |
|---|---|---|
| 0 | start() | 开启网路 |
| 1 | stop() | 关闭网路 |
| 2 | addSwitch() | 向拓扑中添加一台switch |
| 3 | addHost() | 向拓扑中添加一台host |
| 4 | addController() | 向拓扑中添加一个控制器 |
| 5 | addLink() | 向拓扑中添加一条双向连接 |
| 6 | addNAT() | 向mininet 网络中添加一个NAT规则 |
| 7 | net.hosts | 网路中所有的主机 |
| 8 | setLogLevel( ‘info’ ‘debug’ ‘output’ ) | 设置日志等级 |

本文详细介绍了Mininet的Python API,包括Topo类和Mininet类的关键函数,如添加主机、交换机和链接,以及启动和停止网络。通过示例展示了如何创建自定义拓扑,并提供了使用Python直接启动Mininet网络的代码。同时,文章提及了默认使用的OVS测试控制器。

4060

被折叠的 条评论
为什么被折叠?



