mininet入门(二)

基本操作命令

help/-h是学习命令最好的方式,首先查看启动mininet相关的参数:

sudo mn -h

其中最常用的几个参数是:controller、topo、custom、switch。controller用来指定控制器,一般后跟控制器IP和port,topo用来指定拓扑类型,一共有五种类型的拓扑,分别是single、linear、tree、reversed和minimal,而custom用于自定义拓扑,读取python文件中定义的拓扑。switch用于指定交换机类型。

启动mininet后,再次使用help学习mininet的相关命令:

help

其中查看信息常用的命令是:

nodes           #列出所有结点
net             #列出所有网络链路
dump            #列出结点、链路相关信息
h1 ifconfig -a  #显示h1的网络接口信息
s1 ps -a        #显示s1的所有进程

测试网络连通性常用的命令:

h1 ping h2          #h1 ping h2
h1 ping -c 5 h2  #h1 ping h2,并有-c限定次数
pingall          #所有主机间互ping

其他命令:

exit              #退出mininet命令行
sudo mn -c        #清除mininet缓存
sudo mn --innamespace --switch user #仅用于user模式,将switch置于不同的namespace中,隔离不同的交换机

当然,不进入mininet命令行界面也可以测试连通性和带宽,这就需要借助--test了:

sudo mn --test pingair  #测试连通性
sudo mn --test iperf    #测试带宽

当然使用test的同时还可以使用--topo指定拓扑类型。

mininet常用的命令参数

--topo

mininet一共有五种类型的拓扑,分别是single、linear、tree、reversed和minimal,其中single和reversed出来的效果是一致的,而minimal是默认的拓扑结构。

可以通过命令查询topo类型:

sudo mn help

查询到的参数如下所示:


help.PNG

1、single
single指单个,这种类型的拓扑只有一个交换机,而主机的个数可以任意指定。拓扑呈星型。

sudo mn --topo=single,3 --controller=remote,ip=[],port=[]

拓扑如下所示:


single.PNG

2、linear
linear指直线,一个交换机配一个主机,而主机和交换机的个数都可以任意指定。拓扑呈直线型。

sudo mn --topo=linear,3 --controller=remote,ip=[],port=[]

拓扑如下所示:


linear.PNG

3、tree
tree意为树,这种类型的拓扑显然呈数状,交换机呈树杈状分散开来,最下面一层的交换机挂两个主机。tree后面的参数是指树的个数。

sudo mn --topo=tree,3 --controller=remote,ip=[],port=[]

拓扑如下所示:


tree.PNG

4、reversed
reversed指颠倒、反的,这种类型的拓扑与single的拓扑一致。

sudo mn --topo=reversed,3 --controller=remote,ip=[],port=[]

拓扑如下所示:


reversed.PNG

4、minimal
minimal指最小的,是默认的mininet拓扑,默认一个 交换机挂两个主机,不跟参数。

sudo mn --topo=minimal --controller=remote,ip=[],port=[]

拓扑如下所示:


minimal.PNG

当然,也可以用--custom自定义拓扑。

--custom

使用python API可以轻松的定义拓扑结构,例如以下示例,mytopo.py定义了一个3个主机的星型拓扑:

#!/usr/bin/python
from mininet.topo import Topo

class MyTopo( Topo ):

def __init__( self ):
  
    # Initialize topology
    Topo.__init__( self )

    # Add hosts and switches
    leftHost = self.addHost( 'h1' )
    rightHost = self.addHost( 'h2' )
    middleHost = self.addSwitch( 'h3' )
    Switch = self.addSwitch( 's0' )

    # Add links
    self.addLink( leftHost, Switch )
    self.addLink( leftSwitch, Switch )
    self.addLink( middleHost, Switch )

topos = { 'mytopo': ( lambda: MyTopo() ) }

运行以下命令:

sudo mn --custm topo.py --topo mytopo.py

运行结果:

--mac

创建mininet时默认会为每个主机分配一个mac地址,但是每次创建mininet这个mac地址都会随之改变,这样一来调试难度就大了。--mac的作用就是保证mac简单、易读,一般都尽量小。对比可以看出:


--switch

一共有三种交换机类型,分别是内核型、user型和OVS型。相比较而言,user型的性能最差,所谓user就是os为每个用户划分一个单独的用户空间,这也就意味着数据包需要额外经历一个内核到用户空间的过程,那就会导致延时增大,吞吐量减小。每个mininet虚拟机中都会预安装一个OVS,OVS型switch和内核型的性能差不多,甚至更好一些。

测量三种类型的bandwith并对比:

sudo mn --test iperf    #测得16.8 Gbits/s
sudo mn --switch user --test iperf   #测得1.13 Mbit/s
sudo mn --switch ovsk --test iperf   #测得17.1 Gbits/s
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容

  • 装载自http://sdnhub.cn/index.php/openv-switch-full-guide/ 1 ...
    ximitc阅读 5,795评论 0 11
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,633评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,807评论 25 707
  • Zabbix简介 Zabbix官方网站Zabbix中文文档 本文系统环境是CentOS7x86_64, Zabbi...
    Zhang21阅读 7,968评论 0 37
  • 我相信每个人都希望提升自己,对于未来我们往往有很多设想,比如每日早起、学习、健身、考证等等。 于是给自己制定各种计...
    炎彬阅读 2,376评论 0 2