Mininet的基本命令
mininet的基本命令
这里简单介绍一下mininet的基本命令,适用于小白新手
网络构建启动参数
通过mn这个运行文件进行创建网络,有相对应或联合启动的一些参数,这里列举一些常用的参数
mn --topo
topo用来建立一个网络拓扑
- single :整个网络拓扑中交换机有且只有一个,其可以下挂一个或多个主机;
mn --topo=single,3 #其中3为拓扑中的主机数量
- linear:交换机呈线性排列,且每个交换机所连接主机数目只有一个
mn --topo=linear,4 #其中数字4为交换机的数量,同时每个交换机有且只有一个下挂主机
- tree:交换机呈树形排列,根据参数决定树的分叉和叶子
mn --topo=tree,depth=2,fanout=2 #其中depth为树的深度,fanout为树的广度,即每个树与子树的分叉
参数depth为树的层数,即有多少个根,而参数fanout为树的广度,即每个根下有几个子根或叶子
- custom:Python编写的自定义文档-file.py,执行此脚本即可创建定义的拓扑,–custom和–mytopo联用
mn --custom file.py --topo mytopo
# file.py为脚本文件,最好使用绝对路径
# mytopo为脚本中定义的类名,即调用该类
自定义拓扑,该拓扑无规律
mn --custom
mn --switch
定义mininet要使用的交换机(默认使用OVSK,即OpenVSwitch交换机)
内核态交换机:lxbr,
用户态交换机:user
ovsk(OpenVSwitch交换机):ivs
内核态和ovsk的交换机内容量和吞吐量比用户态高,用用户态访问文件内存空间是会受到限制的,内核态是可以访问所有的内存和空间的,他所持有的内存空间不会被抢占,所以内核态和ovsk会比较好
mn --switch -user #
mn --controller
定义要是用的控制器,如果没有指定则使用mininet中默认的控制器
连接远程控制器,可以指定存在于本机或者与之相连通设备上的控制器,指定远程控制器的方法
mn --controller=remote,--ip=[controller IP],--port=[port]
#分别填入控制器ip和监听的端口
#(IP和端口是可以忽略的,忽略的情况就是使用本地的IP地址和6653(默认)或6633端口)
mn --mac
自动设置设备的MAC地址
让MAC地址易读,即设置交换机的mac,主机mac及IP地址从小到大排序,且设置简单为一,不仅让机器容易获取,也容易让肉眼很容易识别其ID
mn --topo=tree,depth=2,fanout=2,--mac #即在每次定义网络拓扑后加上--mac参数即可
内部交互命令
当mininet创建网络,进入网络之后,这些就是在网络中进行交互的命令
dump
节点信息
net
查看链接信息,交换机路由器的端口与主机端口连接的状态
intfs
网络接口信息
links
链路健壮性信息,查看每条链路的状态,是否正常连接
nodes
查看网络拓扑中有几个节点,包括主机、交换机、路由器
pingall
验证所有主机的连通性
pingpair
只验证前两个host连通性,只验证h1和h2的连通性,不管网络多复杂
link
禁用或开始节点间链路
link s1 s2 up #或link s1 s2 down(开始或禁用)
dpctl
所有交换机上增删改查流表,在所有交换机上进行流表操作
dpctl dump-flows
iperf
两节点之间进行iperftcp宽带测试
iperf h1 h2 #宽带测试,测试流量
iperfudp
两节点间进行iperfudp宽带测试
iperfudp h1 h2
xterm
节点开启xterm进入可视化操作界面
xterm h1
py
执行Python表达式
py net.addSwitch('s2') #添加一个名为s2的交换机
#根据python文件中的函数执行命令
利用py命令添加一个主机h3
py net.addHost('h3') #添加一个主机h3
py net.addLink(s1,net.get('h3')) #添加一条链路,链接s1,h3,此时还联通不了h3
py s1.attach('s1-eth3') #添加/打开交换机s1上的接口eth3
py net.get('h3').cmd('ifconfig h3-eth0 10.3') #给h3添加ip地址,
#此时h3已经获得了IP地址,但是没有与网络沟通,所以h3可以ping通其他主机,反过来ping却不行
py的其他命令
py help(s1) #查看与交换机有关的命令(详细)
py dir(s1) #查看命令(只有函数)
py help(h1) #查看与主机有关的命令(详细)
外部运行参数
在mn创建网络之后,可以使用的一些参数,可以用来释放之前网络所没有释放的一些资源等;
mn -c :清除配置信息
mn -h:帮助
以上就是这两天学的基本命令