Mininet高级操作功能
来源:互联网 发布:淘宝发展的起源 编辑:程序博客网 时间:2024/06/16 09:56
dpctl show tcp:127.0.0.1:6634,可以查看交换机的端口等基本情况,tcp端口6634是默认的交换机监听端口
sudo mn --controller=remote --ip=[controller IP] --port=[controller listening port]执行后可以连接到控制器
外部读取配置命令:mininet>source my_cli_script,直接调用脚本文件名为my_cli_script 或者#mn --pre my_cli_script
mininet代码解析
bin/mn 主运行文件,安装后执行mn即调用的本程序,是python程序
mnexec.c执行一些快速命令,比如关闭文件描述符等,是c程序,编译后生成二进制文件mnexec被python库调用
INSTALL:安装说明
setup.py:安装python包时候的配置文件,被Makefie中调用
debian/:生成deb安装包时的配置文件
核心代码基本都在mininet/子目录下
CONTRIBUTIONS:作者信息
README.md:主说明文件
doc/doxygen.cfg:执行doxygen生成文档时的配置文件
custom/目录下可以放一些用户自定义的python文件,比如自定义的拓扑类等
test/目录下是一些测试的例子
util/目录下是一些辅助文件,包括安装脚本、文档辅助生成等,重要的文件包括:m bash脚本提供用户直接在host执行命令的接口
m通过调用mnexec来实现对mininet中的元素执行相应的命令
mnexec C程序,通过参数绑定到某个名字空间,并执行给定的命令
mininet.link模块
表示基本的一条链路,最基本的链路在mininet中其实就是一对veth接口对。
创建链路时,需要在两个节点上分别生成两个端口,利用节点和端口,获取对应的两个网络接口的名称
mininet.node模块
节点模块表示网络中的基本元素(包括主机、交换机和控制器),十分关键。
其中,每个主机默认在一个单独的名字空间中,交换机和控制器都在root名字空间中
Mininet中的示例程序(example目录下)
baresshd.py:使用Mininet的中层API来在一个namespace中创建主机、链路,并在主机上启动sshd进程,让用户可以登录
consoles.py:为每一个节点都创建一些console窗口,并允许用户对这些结点进行操作和观测,支持图形界面。
controllers.py:使用一个自定义的switch()子类,创建一个带有多个控制器的网络
controllers2.py:创建一个拥有多个控制器的网络,通过创建空的网络,添加节点和手动启动交换机实现
controlnet.py:通过mininet对象来建模一个控制网络和数据网络
cpu.py:在不同的cpu限制下测试iperf的带宽性能
emptynet.py:演示创建一个空的网络,之后添加节点进去
hwintf.py:添加一个接口(例如一个物理接口)到一个网络中
limit.py:演示如何使用link和cpu限制
linearbandwidth.py:基于Topo创建一个拓扑子类,并进行简单的测试
miniedit.py:通过一个图形界面的编辑器来创建网络
multiping.py:使用node.monitor()来检测多个主机的输出
multitest.py:创建一个网络,并在其上进行多个测试
nat.py:将mininet的网络通过nat链接到外部网络中
popen.py:使用 host.popen() 和 pmonitor() 来检测多个主机。
popenpoll.py:使用 node.popen() 和 pmonitor() 检测多个主机的输出。
scratchnet.py, scratchnetuser.py:使用底层的 Mininet 函数来创建网络。
simpleperf.py:配置网络和 CPU、带宽限制等。
sshd.py:在每个主机里面运行一个 sshd 进程,使得用户可以通过 ssh 来访问主机。这需要将 Mininet 的数据网络连接到 root 名字空间的一个接口上。一般的,控制网络已经在 root 名字空间了,所以默认已经被连接。
tree1024.py:创建一个 1024 主机的网络,然后运行 CLI。根据系统资源情况,可能需要利用 sysctl 进行相关修改。
treeping64.py:创建一个 64 主机的树状网络,利用 ping 来检查连通性。
- Mininet高级操作功能
- mininet
- Mininet
- 高级字符驱动程序操作 -- 基本读写功能
- 高级字符驱动程序操作---增加ioctl功能
- vi编辑器的高级操作功能
- vim编辑器高级功能之多文件操作
- Mininet的简介(介绍)、安装、操作
- Mininet的简介(介绍)、安装、操作
- Mininet实战之Fattree拓扑创建和iperfmulti功能
- 高级字符驱动程序操作--增加了poll功能
- 高级字符驱动程序操作--增加了async功能
- GCD高级功能(一次性执行,调度组,延迟操作)
- Floodlight+Mininet搭建OpenFlow(四):流表操作
- Mininet 南向接口添加,删除流表操作
- Mininet南向接口添加,删除流表操作
- Grub4DOS高级功能
- 高级搜索功能
- 命令行参数-optparse
- Shell break和continue命令
- 文章自动装箱的陷阱
- GPS协议数据格式
- Oracle处理CLOB超过4000入库问题
- Mininet高级操作功能
- Android中程序与Service交互的方式——交互方式
- ServletContext中常用方法
- Java 通过Poi api操作(read/write)Excel
- 数据库中的锁与事务
- 环信(Android)设置头像和昵称的方法(最简单暴力的基于环信demo的集成)。
- 温度与压强
- 高性能的分布式内存对象缓存系统Memcached
- 部分SWAP 内存知识