安装
Mininet有多种安装方法:
1.下载含有Mininet的系统镜像,然后在虚拟软件中打开一个虚拟机导入这个镜像
2.下载源码的方法,从github上下载安装
3.文件包的安装方法
由于方法2可以在安装过程中自定义地选择安装部件及其版本等,比较灵活,并且笔者只用过方法2,所以介绍方法2.
step1:打开Ubuntu终端,首先安装git命令,输入如下代码:(如果已经下载过的话,不用再下载了)
apt-get install git
step2:等待即可完成git命令的安装,然后利用git下载mininet源代码,输入代码:
git clone http://github.com/mininet/mininet.git
整体逻辑功能
整体上来看,Mininet 作为一个基于 Python 的网络模拟工具,可以分为两大部分:Python库和运行文件。
前者提供对网络中元素进行抽象和实现,例如定义主机类来表示网络中的一台主机。后者则基于这些库来完成各种自定义的模拟过程。 一个典型的场景如下图所示。
Mininet学习笔记(源代码)

Mininet源代码分析解读:
Mininet学习笔记(源代码)
1)bin/:包含模拟运行文件mn
定义了MininetRunner类:
2)custom/:用户配置文件,拓扑图等
3)doc/:doxygen.cfg文件执行doyxgen生成文档时的配置文件(Doxygen 是一个程序的文件产生工具,可将程序中的特定批注转换成为说明文件。)
4)debian/:生成deb安装包时的配置文件
5)mininet/:核心代码所在
-->cli模块:用于节点间的交互
link.TCIntf类:限制带宽、延迟、分组丢失率、最大排队长度等
link.Link类:表示链路,连接两个虚拟以太网接口
-->net模块:创建拓扑图,配置namespace,ip,连接控制器
-->log模块:记录日志
-->node模块:表示网络中的各个基本元素,也是最重要的
包含node.Host主机基类,node.Controller控制器基类,node.Switch交换机基类
-->topo模块:维护网络拓扑的相关信息。
classTopo( object ): 拓扑基类
class SingleSwitchTopo( Topo ): 继承于Topo类,表示星型拓扑,若挂载在同一个交换机上,主机序号按照从小到大的顺序挂载到交换机的端口上
class SingleSwitchReversedTopo( Topo ): 继承于Topo类,表示星型拓扑,若挂载在同一个交换机上,主机序号按照从大到小的顺序挂载到交换机的端口上
topolib.classTreeTopo( Topo ):表示树形拓扑
6)util/:辅助文件,脚本等
7)其他文件
--> INSTALL安装说明
-->CONTRIBUTORS作者信息
-->README.md说明文件
-->mnexec.c执行快速命令,c语言编写。
-->setup.py安装Python包时的配置文件,在Makefile中调用
后续会继续更新。详细请见博客 转载标明出处:https://blog.csdn.net/qq_31667705/article/details/79884034