Mininet系列实验(五):Mininet设置带宽之简单性能测试

1.实验目的

该实验通过Mininet学习python自定义拓扑实现,可在python脚本文件中设计任意想要的拓扑,简单方便,并通过设置交换机和主机之间链路的带宽、延迟及丢包率,测试主机之间的性能。在实验过程中,可以了解以下方面的知识:

  • Python脚本实现自定义拓扑
  • 设置链路的带宽、延迟及丢包率
  • iperf测试主机间的带宽性能

2.实验原理

进一步研究SDN架构的特性,应用创新提供可定义的网络平台,在基于OpenFlow的mininet仿真软件的基础上,实现SDN架构的仿真。基于Mininet仿真软件构造,模拟SND网络架构中的交换机以及主机,提出的仿真方法和搭建的平台可为SDN架构的研究提供有效的技术支撑。Mininet 是一个轻量级软件定义网络和测试平台;它采用轻量级的虚拟化技术使一个单一的系统看起来像一个完整的网络运行想过的内核系统和用户代码,也可简单理解为 SDN 网络系统中的一种基于进程虚拟化平台,它支持 OpenFlow、OpenvSwith 等各种协议,Mininet 也可以模拟一个完整的网络主机、链接和交换机在同一台计算机上且有助于互动开发、测试和演示,尤其是那些使用 OpenFlow 和 SDN 技术;同时也可将此进程虚拟化的平台下代码迁移到真实的环境中。

3.实验内容

实现一个单个交换机的拓扑,添加一个交换机,和N个主机到网络中。交换机和主机之间的每个链路能够设置带宽、延迟时间、以及丢包率。创建一个包含一个交换机和四个主机的网络,使用iperf测试主机之间的带宽。
拓扑图如下所示:

1.在mininet/custom下创建并编辑checkmininet.py

 1
 2 #!/usr/bin/python
 3
 4 # 调用mininet的模块
 5
 6 from mininet.topo import Topo
 7
 8 from mininet.net import Mininet
 9
10 from mininet.node import CPULimitedHost
11
12 from mininet.link import TCLink
13
14 from mininet.util import dumpNodeConnections
15
16 from mininet.log import setLogLevel
17
18 # 创建一个基于Topo类的“单交换机拓扑”类
19
20 class SingleSwitchTopo(Topo):
21
22 "Single switch connected to n hosts."
23
24 # 定义构造函数(其中**opts代表的是关于网络一些选项的字典)
25
26 def __init__(self, n=2, **opts):
27
28 # 调用父类函数
29
30 Topo.__init__(self, **opts)
31
32 # 添加s1交换机
33
34 switch = self.addSwitch('s1')
35
36 for h in range(n):
37
38 #每个主机占50/n%的CPU
39
40 host = self.addHost('h%s' % (h + 1), cpu=.5/n)
41
42 #10 Mbps, 5ms 延迟, 0% 丢包, 1000 字节的大小
43
44 self.addLink(host, switch, bw=10, delay='5ms', loss=0, max_queue_size=1000, use_htb=True)
45
46
47
48 def perfTest():
49
50 "Create network and run simple performance test"
51
52 # 创建4个主机的单交换机拓扑
53
54 topo = SingleSwitchTopo(n=4)
55
56 # 调用Mininet()的函数设置拓扑,主机,以及链路
57
58 net = Mininet(topo=topo,host=CPULimitedHost, link=TCLink)
59
60 net.start()
61
62 print "Dumping host connections"
63
64 dumpNodeConnections(net.hosts)
65
66 print "Testing network connectivity"
67
68 net.pingAll()
69
70 print "Testing bandwidth between h1 and h4"
71
72 h1, h4 = net.get('h1', 'h4')
73
74 net.iperf((h1, h4))
75
76 net.stop()
77
78
79
80 if __name__=='__main__':
81
82 setLogLevel('info')
83
84 perfTest()

这是效果图:

总结:

1.更能看懂脚本了

2.iperf是带宽性能的测试方法

posted on 2018-09-11 17:34 李承泽 阅读(...) 评论(...) 编辑 收藏

Mininet系列实验(五):Mininet设置带宽之简单性能测试相关推荐

  1. Mininet系列实验(七):Mininet脚本实现控制交换机行为

    Mininet系列实验(七):Mininet脚本实现控制交换机行为 1 实验目的 熟悉Mininet自定义拓扑脚本的编写: 掌握使用"ovs-vsctl"命令直接控制Open vS ...

  2. Mininet系列实验(三):Mininet命令延伸实验扩展

    Mininet系列实验(三):Mininet命令延伸实验扩展 1 实验目的 熟悉Mininet自定义拓扑三种实现方式:命令行创建.Python脚本编写.交互式界面创建. 2 实验原理 Mininet ...

  3. Mininet系列实验(二):Mininet可视化应用

    Mininet系列实验(二):Mininet可视化应用 1 实验目的 该实验通过Mininet学习miniedit可视化操作,可直接在界面上编辑任意想要的拓扑,生成python自定义拓扑脚本,简单方便 ...

  4. Mininet 系列实验(一)

    关于SDN的第一个实验,似乎实验室里的前辈们也都是从这里开始的. 实验内容 使用源码安装Mininet 参考 Mininet使用源码安装 实验环境 虚拟机:Oracle VM VirtualBox U ...

  5. Mininet系列实验(六):Mininet动态改变转发规则实验

    Mininet系列实验(六):Mininet动态改变转发规则实验 一. 实验目的 熟悉Mininet自定义拓扑脚本的编写: 熟悉编写POX脚本动态改变转发规则 二.实验原理 在SDN环境中,控制器可以 ...

  6. Mininet系列实验(一):Mininet使用源码安装

    Mininet系列实验(一):Mininet使用源码安装 1 实验目的 掌握Mininet使用源码安装的方法. 2 实验原理 Mininet 是一个轻量级软件定义网络和测试平台:它采用轻量级的虚拟化技 ...

  7. Mininet系列实验(四):基于Mininet测量路径的损耗率

    1 实验目的 熟悉Mininet自定义拓扑脚本的编写与损耗率的设定: 熟悉编写POX脚本,测量路径损耗速率 2 实验原理 在SDN环境中,控制器可以通过对交换机下发流表操作来控制交换机的转发行为,此外 ...

  8. Mininet 系列实验(七)

    实验内容 本实验在基于 Mininet 脚本的不同拓扑环境下使用 OpenDaylight 控制交换机行为.任务一:一台交换机两台主机,从1端口进入的数据流转发到 2 端口,从 2 端口进入的数据流转 ...

  9. NA-NP-IE系列实验26: 基于链路的OSPF 简单口令认证

    实验26: 基于链路的OSPF 简单口令认证 1.实验目的 通过本实验可以掌握: (1)OSPF 认证的类型和意义 (2)基于链路的OSPF 简单口令认证的配置和调试 2.实验拓扑 本实验的拓扑结构如 ...

最新文章

  1. Arm 发布Mali多媒体套件,机器学习将不再是高端手机的专享
  2. AtomicLong可以被原子地读取和写入的底层long值的操作
  3. idea debug的使用
  4. EMVTag系列9《卡片管理数据》
  5. 微机总线地址,物理地址 ,虚拟地址
  6. 开源、免费、企业级的SiteServer CMS .NET CORE 7.0 预览版发布
  7. 学习cluster技术
  8. php注册树模式,PHP三种基本设计模式(工厂模式、单例模式、注册树模式)
  9. windows10下 tensorflow gpu版本安装配置方法
  10. java题1_java面试题1
  11. java调用c 返回值_推荐--Linux平台下Java调用C函数(补充关于String类型函数返回值)...
  12. 西点军校的经典法则(转载)
  13. 数据治理——主数据项目实施
  14. html 文字竖着排引号,文字竖排演示
  15. html的九宫格构图教学视频,构图的基本技巧之九宫格构图
  16. 支付宝查询对账单对账+解压并将数据读取解析入库
  17. python数据汇总_Python,将数据框中的每日数据汇总到每月和每季度
  18. EchartsBar 圆柱形渐变色柱状图
  19. RoboMaster视觉教程(6)目标位置解算(PnP求解目标与摄像头间的相对位置)
  20. 14.说说ATL常用包装类的用法和坑

热门文章

  1. 吃鸡空投掉落射线检测,粒子系统产生红色信号烟
  2. 服务器接上显示器操作,服务器接上显示器
  3. kzzi k980 三模键盘 说明书
  4. c语言射击类打飞机小游戏感悟
  5. normal和embed有什么不同? 浅显理解unicode-bidi属性,和direction属性。
  6. linux图形界面和dos界面切换
  7. php wx.downloadimage,大神,wx.downloadImage 图片过期问题
  8. 利用区块链技术解决科研问题的前景
  9. 怎样远程控制另一台电脑
  10. 纽约大学文理学院转计算机专业,纽约大学文理学院内部转专业 看看你能否转专业...