Mininet参数使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_36372879/article/details/86243455

Mininet参数使用

参考链接:https://www.bilibili.com/video/av24111964/?p=4
在这里插入图片描述

  1. 网络构建启动参数
  2. 内部交互命令
  3. 外部运行参数
    mn -c把之前的参数清除
    mn -h帮助

网络构建参数 topo

  1. 单一拓扑(single):交换机有且只有一个
    在这里插入图片描述
  2. 线性拓扑(linear):交换机连接呈线性排列,每个交换机所连接主机的数目只有一个
    在这里插入图片描述
  3. 树形拓扑
    Sudo mn —topp=tree,depth=2,fanout=2
    深度为2,广度(每一个节点的子节点的数目)为2
    在这里插入图片描述
  4. 自定义拓扑
    在这里插入图片描述
    在custom写脚本文件sudo mn —custom file.py —topo mytopo
    ::File.py是绝对路径::

网络参数switch

主要的交换机三种
在这里插入图片描述
默认的是openVSwitch
Ovsk和内核态的吞吐量是高一点的
处于用户态进程是可以被代替的
内核态所有读可以访问,并且不可被强占

controller参数

我们自身准备的控制器而不是mininet自带的控制器
::sudo mn —controller=remote,—ip=[controller ip],—port==[port]::
Remote是远程的端口,controller是控制器ip,port是端口的名字
默认是本地的ip和6653、6633端口

Mac参数

—mac自动设置用户的mac地址
如果不设置,那么mac地址是随机的。 设置了之后,让mac地址简单易读,设置交换机的mac、主机mac以及IP地址从大到小排序,且设置方法简单唯一,不仅让机器容易获取,也容易让肉眼识别其ID,防止调试困难
Sudo mn —topo=tree,depth=2,fanout=2,—Mac
#内部交互命令

net命令

查看组网链路信息
在这里插入图片描述

nodes

查看有多少节点
在这里插入图片描述

dump

所有节点信息

links

查看链路连接信息,以及链路的健壮性,如果OK则是好的
在这里插入图片描述

pingall

查看丢包
在这里插入图片描述
可以看到,丢包率为0
常用内部交互命令
在这里插入图片描述

pingpair

只验证前两个主机的连通性h1和h2的连通性
上面这些命令不需要带参数,下面的参数需要带参数

iperf命令测试带宽(tcp的带宽测试)

在这里插入图片描述

iperfudp (udp带宽测试)

iperfudp bw h1 h2

link

是禁用或者开始节点之间的链路
Link s1 s2 up/down
开启或者关闭两个节点之间的链路

dpctl

针对交换机的流表操作
针对所有交换机的操作

xterm

某一个设备单独操作
Xterm h1

py

执行python表达式
Py net.addSwitch(’s3’)
拓扑扩展
添加主机h3
在这里插入图片描述
添加s1和h3之间的链路
在这里插入图片描述
这样是不行的,因为s1还没有添加端口:
Py s1.attach(‘s1-eth3’)
在这里插入图片描述

使用pingall命令,仍然不行
在这里插入图片描述
那是因为没有添加ip地址
添加ip地址:py net.get(‘h3’).cmd(‘ifconfig h3-eth0 10.3’)
通过dump查看
在这里插入图片描述
可以看到,还是没有查看到ip地址
这是因为添加了ip地址之后,主机之间还没互相链接
使用命令h1 ping h3,然后使用control+c结束
然后可以看到,所有的主机都可以ping通
在这里插入图片描述
使用dump命令查看
在这里插入图片描述
因此h3添加在网络中来了。
可以使用py help(s1)来查看端口命令
在这里插入图片描述
使用py dir(s1)查看哪些函数是可以调用的
在这里插入图片描述

重新设置s1的ip地址

py h1.setIP(‘10.0.0.5’,24)
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_36372879/article/details/86243455