- 《Mininet教程(一):Mininet基本介绍》
- 《Mininet教程(二):Mininet安装部署》
- 《Mininet教程(三):Mininet命令操作》
- 《Mininet教程(四):Mininet可视化MiniEdit》
一、mn网络构建使用参数介绍
- –topo:定义拓扑结构
a. minimal最小化拓扑(一个交换机,两个主机)
sudo mn --protocol=openflow13
b. single 单一拓扑(整个网络拓扑中只有一个交换机,其可以下挂一个或者多个主机)
sudo mn --topo=single,5
c. liner 线性拓扑(交换机呈线性排列,存在多个交换机,且每一个交换机下挂主机数目相同)
sudo mn --topo=linear,3 sudo mn --topo=linear,3,2
d. tree 树形拓扑(交换机的连接呈树形排列,且每个交换机可以下挂多个交换机,多个主机)
sudo mn --topo=tree,3,2 sudo mn --topo=tree,depth3=,fanout=2【三层,第一层一个交换机,第二层2个交换机,第三层4个交换,主机:4 x 2 = 8】 depth表示交换机有多少层,fanout表示所有的交换机作为父节点,有多少个子树。
e. reversed反向拓扑(这种拓扑类型与single单一拓扑类型相同)
sudo mn --topo=reversed,4
g. 自定义(custom)topology(编写.py文件,执行脚本即可创建自定义拓扑,–custom与–topo联用)
sudo mn --custom topo-2sw-2host.py --topo mytopo
- –switch:定义mininet要使用的交换机
交换机分类3类:用户型、内核型和OVS型,其中内核型和OVS型的吞吐量比用户性大很多,因此一般采用后两种。可以测试三者的TCP bandwidth(区别UDP bandwidth):
sudo mn --test iperf sudo mn --switch user --test iperf sudo mn --switch ovsk --test iperf
- –controller:定义要使用的控制器
如果没有指定则使用mininet中默认的控制器。
# sudo mn --controller=remote,--ip=[controller ip],--port=[port]
- –mac:自动配置设备的MAC地址
让MAC地址易读,即设置交换机的MAC,主机MAC及IP地址从小到大排序,且设置简单唯一,不仅让机器容易获取,也容易让肉眼很容易识别其ID。使用方法如下:
# sudo mn --topo=tree,depth=2,fanout=2,--mac
- -x(XTerm)
通过使用-x参数,mn在启动后会在每个节点上自动打开一个XTerm,方便某些情况下的对多个节点分别进行操作。命令为
sudo mn -x
在进入mn cli之后,也可以使用 node xterm 命令指定启动某些节点上的xterm
h1 xterm
- 启动参数总结
二、内部交互式命令介绍及使用
使用mn默认创建网络后,可以使用一系列命令查看并验证网络系统的链路健壮性。
- 设备查看
- 设备操作
(1)iperf:两节点间进行iperftcp带宽测试。
iperf h1 h2
(2)iperfudp:两节点间进行iperfudp带宽测试。
iperfudp bw h1 h2
(3)link:禁用或开始节点间链路。
link s1 s2 up link s1 s2 down
(4)dpctl:所有交换机上增删改查流表。
dpctl dump-flows
(5)xterm:节点开启xterm进入可视化操作界面。
xterm h1
(6)py:执行python表达式。
py help(s1) py dir(s1) py net.addSwitch("h3") py net.addLink(s1,net.get("h3")) py s1.attach("s1-eth3") py net.get("h3").cmd("ifconfig h3-eth0 10.3") pingall
(6)sh:执行ovs系统的指令
sh ovs-vsctl show
- 常用命令总结
三、其他操作
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/211019.html原文链接:https://javaforall.net
