mn

观察,可以知道,已经进入了这个自带的网络,网络中有1个交换机和2个主机,且在打开这个网络之后,进入了  mininet>  这个命令模式

然后输入相关命令查看网络状态,如下图所示:

查看可用节点:【nodes

上图中的links用于查看链路连通性,dump查看节点信息,pingall测试各个主机之间是否连通。

此处,我们将mininet命令参数分为三大类:

(1)用于创建网络拓扑结构的命令参数;

(2)用于查看现有(或创建好的)网络拓扑中的各个节点(设备)的网络状态(ip地址、连通性等信息);

(3)用于修改当前网络拓扑,对已有的设备进行增删改查操作。

1.用于创建网络拓扑结构的命令参数

(1)--topo参数,可以创建具有一定规则的网络拓扑结构,也可以创建自定义的网络拓扑结构。

(a)在终端输入:

mn --topo=single,3

表示创建单个交换机3个主机的拓扑网络结构,如下图:

代码运行结果如下图:

links查看:

【exit】退出

(b)终端输入:

【mn --topo=linear,5】

links查看

(c)终端输入

【mn --topo=tree,depth=2,fanout=3】

表示创建了一个如下图所示的网络拓扑:

tree表示是树形的网络拓扑,depth表示交换机有多少层,fanout表示所有的交换机作为父节点,有多少个子树。

运行结果如下图:

links查看

(d)以上3中建立网络拓扑的方式,均是建立有规则的网络拓扑,如何自定义网络呢?语法如下:

mn --custom file.py --topo mytopo

具体使用请看下一篇:mininet自定义网络拓扑结构

(2)--switch  定义网络拓扑要使用的交换机,后面可以接的参数有:ovsk、ovsbr、ivs、lxbr、user,前面三种均为OVS型交换机,后面两种分别为内核型(linux bridge)和用户型(user)交换机。

交换机分类3类:用户型、内核型和OVS型,其中内核型和OVS型的吞吐量比用户性大很多,因此一般采用后两种。可以测试三者的TCP bandwidth(区别UDP bandwidth):

sudo mn --test iperf
sudo mn --switch user --test iperf
sudo mn --switch ovsk --test iperf

(3)--controller 一般我们不用mininet自带的控制器,而是自己制定一个远程控制器,代码如下:

mn --controller = remote,
      --ip = [控制器的IP地址]
      --port = [控制器的端口号]
如果--ip和--port省略的话,则默认使用本地ip地址,端口默认使用6653或6633端口号。

(4)--mac 使用这个参数可以让MAC地址从小到达排列,使得复杂的网络更清晰,容易辨识各个组件的MAC地址。不使用这个参数的话,复杂的网络容易混乱。

2.用户查看设备信息和状态的命令参数
这些命令在 mininet> 命令模式下使用,仅查看网络设备状态信息,不对网络结构进行改变

net             查看链路信息,两个设备之间的之间连线,称为一个链路,链路是双向的

nodes        查看有哪些可用节点

links           检测链路是否正常工作

pingall       检测各个主机之间的连通性

pingpair     检测前两个主机的连通性

dump         查看节点信息

3.更改网络结构的命令参数
(1)py命令

执行Python表达式,例如添加网络设备。下面举例说明:

在mininet自带的网络拓扑的基础上,我们想添加一个主机h3,并且让它和s1之间连通,且可以和其他两个主机h1和h2互相ping通。

代码如下:

py net.addHost('h3')                                #给当前网络net添加新的主机h3

py net.addLink(s1,h3)                              #为主机h3和交换机s1之间添加一条链路

py s1.attach('s1-eth3')                             #为交换机s1添加一个借口用于与h3相连

py h3.cmd('ifconfig h3-eth0 10.3')         #为主机h3配置端口及改端口的IP地址

h1 ping h3                                                #重要!!h1知道h3的IP地址,而h3不知道h1的地址,因此需要h1告诉h3的地址

pingall                                                       #测试所有主机都是连通的

(2)link(和links不同),用法如下:

link s1 s2 down/up              禁用/开启s1和s2这两个节点之间的链路

(3)iperf

iperf h1 h2                          测试两个主机h1和h2之间的TCP带宽

(4)iperfupd

iperfupd bw h1 h2             测试两个主机h1和h2之间的UDP带宽

(5)dpctl                             对所有交换机操作流表,包括流表的显示、添加、修改、删除,具体用法,参考dpctl命令实践

(6)xterm                             如xterm h1打开主机h1的操作窗口

第五章 Mininet常用命令参数介绍相关推荐

  1. HDFS命令行客户端使用,命令行客户端支持的命令参数,常用命令参数介绍

    3.HDFS的shell(命令行客户端)操作 3.1 HDFS命令行客户端使用 HDFS提供shell命令行客户端,使用方法如下: [toto@hadoop hadoop-2.8.0]$ hdfs d ...

  2. Hadoop常用命令参数介绍

    常用命令 - help 功能:输出这个命令参数手册 - ls 功能:显示目录信息 示例:hadoop fs -ls hdfs://hadoop-hello/ 备注:这些参数中,所有的hdfs路径都可以 ...

  3. HDFS的简介及基本操作(常用的命令参数介绍)

    目录 前言: 1.HDFS基本概念 2.HDFS基本操作 总结: 目录 前言: 总算有空来接着写大数据的学习笔记了,今天就把之前学过的HDFS的基础知识详细的介绍一下,如有哪点写的不足希望大家多多指教 ...

  4. linux 桌面显示 kvm,Linux的桌面虚拟化技术KVM(五)——virsh常用命令

    (1).virsh常用命令 virsh list 查看已打开虚拟机列表 virsh list --all 查看所有虚拟机列表 virsh version 查看 virsh 版本号 virsh star ...

  5. Ubuntu18.04系统下,gcc编译过程分析、命令参数介绍及ELF文件格式学习

    GCC编译器背后的故事及常用命令.了解ELF文件格式 文章目录 GCC编译器背后的故事及常用命令.了解ELF文件格式 前言 一.GCC简介 二.GCC背后的战友 1.Binutils 2.C运行库 三 ...

  6. 微服架构基础设施环境平台搭建 -(五)Docker常用命令

    微服架构基础设施环境平台搭建 -(五)Docker常用命令 本文主要列出了Docker常用的命令 微服架构基础设施环境平台搭建 系列文章 微服架构基础设施环境平台搭建 -(一)基础环境准备 微服架构基 ...

  7. Openlab实验平台实验--Mininet 常用命令

    任务目的 1.掌握使用Mininet命令行创建拓扑的方法. 2.掌握使用Python脚本定义拓扑的方法. 3.掌握使用交互式界面自定义拓扑的实现方法. 任务环境 注:系统默认的账户为root/root ...

  8. 软件定义网络SDN基础实验:MiniNet常用命令、创建网络拓扑、OpenFlow流表操作

    此实验基于<软件定义网络实验1-5>,主要内容为: MiniNet常用命令 如何创建网络拓扑 OpenFlow流表操作 00x1 搭建SDN环境 SDN 环境配置:Mininet + Ry ...

  9. ansible命令参数介绍

    ansible命令参数介绍 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 -m:要执行的模块,默认为command -a:模块的参数 -u:ssh连接 ...

最新文章

  1. 【leetcode】Search in Rotated Sorted Array II(middle)☆
  2. 45个纯 CSS 实现的精美边框效果【附演示和源码】【上篇】
  3. python中画圆的代码_Python编程12:Python画图之turtle库如何画圆
  4. 人脸识别 性能评价指标
  5. python和表格关系_数据表之多表关联
  6. leetcode -- 303. 区域和检索 - 数组不可变
  7. 【图像处理】——Python实现two_pass方法来进行连通域的提取
  8. 分布式数据库在金融应用场景中的探索与实践
  9. shell中的括号(小括号,中括号,大括号/花括号)
  10. asp.net 2.0常见问题技巧1
  11. 函数fun的功能是将s所指字符串_21 函数的简介
  12. postMessage可太有用了
  13. 从P1到P7——我在淘宝这7年 - 子柳撰写
  14. c语言扫掠数组,科学网—COMSOL 个人笔记 - 刘铨鸿的博文
  15. [文摘20080226]领导法则 - 陈安之
  16. 转载:《七周成为数据分析师》
  17. window与linux双系统文件互通解决方案
  18. mac下配置Charles,安装证书
  19. mt8735 android5.1调试MIC增益参数和去除录制的音频文件播放有电流声
  20. 台湾大学林轩田机器学习技法课程学习笔记6 -- Support Vector Regression

热门文章

  1. 初中 昆虫记思维导图_初中物理各单元思维导图,帮孩子扫清初中所有物理知识点!(附电子版)...
  2. 20-爬虫之scrapy框架CrawlSpider07
  3. 02-requests模块的概述
  4. 深度学习总结:GAN 和 conditiaoal GAN
  5. 比较常用的10个markdown标签
  6. ECharts 实现人民的名义关系图谱 代码开源
  7. 转 -----那些年总也记不牢的IO
  8. Solr Zookeeper ACL权限配置
  9. 云计算将使IT人失业?惠普推云计算裁员九千!程序员如何面对即将到来的产业大调整?...
  10. USB转串口 FT232/PL2303/CH340 驱动以及使用体会