SDN测试工具-iperf、Cbench、sFlow(缺图)
来源:互联网 发布:安装ug时java有什么用 编辑:程序博客网 时间:2024/06/06 02:35
1 iperf
简介
iperf是一款测试网络性能的工具,基于服务器和客户端模式,可以测试两个虚拟机之间的TCP和UDP带宽质量,提供网络延时抖动、数据包丢失等信息。
安装步骤
分别在两个虚拟机中安装iperf:
sudo apt-get install iperf
基本命令
服务器端
启动服务器端iperf:
iperf -s /以服务器的形式打开iperf,监听TCP端口iperf -s -u /以服务器的形式打开iperf,监听UDP端口
在测试过程中,服务器端也会同步打印出测试结果,甚至有些更为详细,可以查看。
客户端
-t:指定测试时间,也就是传输数据的时间,默认为10s。
此时,服务端显示:
由于Iperf工具是基于服务器和客户端的工作模式,所以在进行测试之前应先在目标计算机上启动服务器端程序,Iperf客户端和服务器端程序其实都是同一个程序,只是使用了不同的命令选项而已。
iperf服务器端选项和启动:
-s 以server模式启动,eg:*iperf –s* 。Server端为数据的接收端。-D 以服务方式运行ipserf,eg:*iperf -s -D*-R 停止iperf服务,针对-D,eg:iperf -s -R-o <filename> 重定向输出报告或错误信息到指定文件。-c <hostname/IP> 如果Iperf运行为服务器模式,则可利用-c参数指定一个客户端,本机将接受指定客户端的连接,但不支持UDP协议。-P,--parallel # 设置Iperf服务模式下的最大连接数,默认值为0,表示不限制连接数量。
iperf客户端选项
-b,--bandwidth 指定客户端通过UDP协议发送信息的带宽,默认值为1Mbit/s-c,--client <hostname/IP> 指定Iperf服务器的主机名和IP地址-d,--dualtest 同时进行双向传输测试-n,--num 指定传输的字节数,eg:*iperf -c 222.35.11.23 -n 100000*-r,--tradeoff 单独进行双向传输测试-t,--time 指定Iperf测试时间,默认10秒,eg:iperf -c 222.35.11.23 -t 5-L,--listenport 指定一个端口,服务器将利用这个端口与客户机连接-P, --parallel 设置Iperf客户端至Iperf服务器的连接数,默认值为1-S, --tos 设置发出包的类型,具体类型请参阅man文档-F 指定需要传输的文件-T 指定ttl值
通用参数
-f [kmKM] 分别表示以Kbits, Mbits, KBytes, MBytes显示报告,默认以Mbits为单位,eg:*iperf -c 222.35.11.23 -f K*-i sec 以秒为单位显示报告间隔,eg:iperf -c 222.35.11.23 -i 2-l 缓冲区大小,默认是8KB,eg:iperf -c 222.35.11.23 -l 16-m 显示tcp最大mtu-o 将报告和错误信息输出到文件eg:iperf -c 222.35.11.23 -o ciperflog.txt-p 指定服务器端使用的端口或客户端所连接的端口eg:iperf -s -p 9999;iperf -c 222.35.11.23 -p 9999-u 使用udp协议-w 指定TCP窗口大小,默认是8KB-B 绑定一个主机地址或接口(当主机有多个地址或接口时使用该参数)-C 兼容旧版本(当server端和client端版本不一样时使用)-M 设定TCP数据包的最大mtu值-N 设定TCP不延时-V 传输ipv6数据包
示例
在mininet中使用iperf测试带宽。测试网络连通性后测主机间的带宽:
iperf h1 h2
2 Cbench
简介
Cbench是一款测试openflow控制器性能的工具,模拟一定数量的交换机连接控制器,发送packet-in消息,并等待控制器下发flow-mod消息,以此来衡量控制器的性能。
Cbench有两种工作方式,分别是latency和throughput。latency指Cbench发送一个packet_in消息并等待控制器回复匹配的flow mod消息,如此反复,统计每秒钟收到的flow mod数量。throughput指Cbench一直发送packet_in消息直到控制器缓存满了为止,计算返回的flow mod的数量,统计每秒控制器处理事务的数量。
安装步骤
1、下载依赖包:
#sudo apt-get install autoconf automake libtool libsnmp-dev libpcap-dev
2、安装openflow:
git clone git://gitosis.stanford.edu/openflow.gitcd openflowgit checkout -b mybranch origin/release/1.0.0cd ..
3、安装oflops:
git clone git://gitosis.stanford.edu/oflops.gitcd oflopsgit submodule initgit submodule updatecd ..
4、安装libconfig:
wget http://www.hyperrealm.com/libconfig/libconfig-1.4.9.tar.gztar -xvzf libconfig-1.4.9.tar.gzcd libconfig-1.4.9./configuresudo makesudo make installcd ../oflops/netfpga-packet-generator-c-library/./autogen.sh./configuremakecd ..sh ./boot.sh./configure --with-openflow-src-dir=【openflow的绝对地址,可以通过find命令查看】make /此处可能会出现如图1的错误sudo make installcd cbench
1、执行./configure后由于环境原因这一步可能会报错,一般是因为gcc、g++、bison等没有安装,根据编译结果自行安装所缺的依赖。
2、图1错误是由于没有安装pkg-config造成的,补充安装即可。
图1:
apt-get install pkg-configmake
到这里Cbench基本安装完成了,下面可以尝试使用了。
基本命令
- -c(controller):连接控制器,后接控制器主机名或IP
- -d(debug):打印日志信息
- -h(help):帮助信息
- -l(loops):指定测试的次数,默认16次
- -M(mac address):每个交换机连接的主机数量,默认100000个
- -m(ms per test):指定每次测试的时间,默认1000ms
- -p(port):控制器的端口,默认6633
- -r(ranged test):依次显示1、2、3个......交换机的测试结果
- -s(switches):模拟的交换机的数量,默认16个
- -t(throughput):指定运行模式为throughput,默认是latency
- -w(warmup):忽略前几次的测试结果,默认1
- -C(cooldown):忽略后几次的测试结果,默认0
- -D(delay):收到features_reply等待一定时间后再进行测试
- -i(connect delay):延长交换机连接控制器的时间,默认0ms
- -I(connect group size):配合-i,指定一次延时连接中交换机的数量
- -L(learn dst macs):测试前发送ARP报文,以便控制器学习MAC地址
-o(dpid offset):交换机DPID偏移,默认1
示例
测试opendaylight控制器的性能,安装Cbench后,启动opendaylight,用Cbench连接、测试opendaylight。
cbench –c [controller-IP] –p [controller-port] –s 1 –l 4
第一次使用时出现了图所示的问题,这是由于使用shell造成的,在虚拟机中直接实验就可以了。
3 sFlow
简介
sFlow是一种网络流量分析协议,sFlow流量监控工具监测设备端口进行数据流随机采样,并且提供各接口的流量信息。sFlow分为sFlow agent和sFlow collector。sFlow内嵌在网络设备中,获取设备的实时信息后封装成sFlow报文发送给sFlow collector。collector作为远端服务器,负责汇总、分析sFlow报文并且生成流量报告。
sFlow可以提供完整的第二层到第四层甚至全网范围内的实时流量信息,而且适用于超大网络流量环境下的流量分析,能够详细、实时地为用户分析网络流量的性能、趋势以及可能存在的问题。且几乎不会对被统计的设备造成任何负担、管理成本极低。
安装步骤
安装sFlow collector
本实验选用的sFlow软件是sflow-rt,首先下载sflow-rt压缩包,然后:
cbench –c [controller-IP] –p [controller-port] –s 1 –l 4
配置sFlow agent
s
udo ovs-vsctl -- --id=@sflow create sflow agent=[设备端口] target=\"[sflow-rt IP]\" header=128 sampling=10 polling=1 -- set bridge s1 sflow=@sflow
示例1
两台虚拟机,一台安装mininet并且配置sFlow agent,另一台安装sFlow collector。在mininet中创建一个网络拓扑,通过执行ping产生网络流量,然后在collector web查看监控结果。
示例2
选用三个虚拟机,通过mininet模拟一个switch和三台host,在mininet中配置sFlow agent,控制器选择Floodlight,sFlow collector选择sFlow-rt。
文章整理自http://www.jianshu.com/p/d8ff2f96614f
- SDN测试工具-iperf、Cbench、sFlow(缺图)
- iperf测试工具使用方法
- iperf网络测试工具
- SDN benchmark -- Cbench最新安装说明
- 网络性能测试工具--iperf
- iperf工具测试网络性能
- 网络性能测试工具Iperf
- iperf 网络性能测试工具
- iperf网络性能测试工具
- 网络测试工具--Iperf、MZ
- 网络性能测试工具Iperf简介
- 网络性能测试工具Iperf上手指南
- 使用测试工具iPerf监控无线网络性能
- 网络性能测试工具Iperf上手指南
- 网络性能测试工具Iperf上手指南
- 网络性能测试工具Iperf上手指南
- 网络性能测试工具iperf的注意事项
- 网络性能测试工具iperf的注意事项
- MS Office 漏洞CVE-2017-8759复现
- Android-->自定义ViewGroup, 银行卡片布局
- 802.11协议精读9:初探节能模式(PS mode)与缓存机制
- idea解决dubplicate class found the file
- solr6.6教程-从mysql数据库中导入数据(三)
- SDN测试工具-iperf、Cbench、sFlow(缺图)
- Eclipse 修改所有文件默认编码为UTF-8
- mybatis在xml文件中处理大于号小于号的方法
- Linux下重要文件不小心被删除?别着急,看这里!
- poj 2029 二维树状数组入门
- ios仿映客客户端、TableView多种动画效果、边缘返回手势等源码
- 【勤哲应用】用勤哲Excel服务器做公安司法行业治安夜巡系统
- excel查找函数的用法=VLOOKUP(F2,A$2:B$254,2,FALSE) excel 的查询函数:VLOOKUP 参数说明 F2 :代表需要查找的值 A$2:B$254 :代码查找的区
- hihocoder #1319 : 区域周长