美文网首页
SDN之测试工具

SDN之测试工具

作者: 糯米藕 | 来源:发表于2016-01-04 14:09 被阅读1749次

    iperf

    简介

    iperf是一款测试网络性能的工具,基于服务器和客户端模式
    ,可以测试两个虚拟机之间的TCP和UDP带宽质量,提供网络延时抖动、数据包丢失等信息。

    安装步骤

    分别在两个虚拟机中安装iperf:

    sudo apt-get install iperf
    

    基本命令

    服务器端

    启动服务器端iperf:

    iperf -s         /以服务器的形式打开iperf,监听TCP端口
    iperf -s -u      /以服务器的形式打开iperf,监听UDP端口
    

    在测试过程中,服务器端也会同步打印出测试结果,甚至有些更为详细,可以查看。

    客户端

    -t:指定测试时间,也就是传输数据的时间,默认为10s。


    -i:输出频率,即指定每隔多少秒测一次,余数不算,最后一次为整个t内的总和。


    -n:要传输的数据量。


    -P:多线程测试带宽,显示每个线程的测试结果以及每次测试各个线程的总和。


    -u:服务器端监听UDP端口,客户端也需要用-u指定使用UDP协议,否则默认TCP,在服务器端查看的参数更加清晰,包括延时和丢包情况。“Jitter”列表示抖动时间,也称为传输延迟,“Lost/Total Datagrams”列表示丢失的数据包和数据包数量,0%是平均丢包率。



    -b:UDP模式使用的带宽,单位bits/sec。此选项与-u选项相关。默认值是1 Mbit/sec。


    示例

    在mininet中使用iperf测试带宽。在两个虚拟机中分别安装opendaylight和mininet,启动opendaylight,mininet连接opendaylight。测试网络连通性后测主机间的带宽:

    iperf h1 h2
    

    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.git
    cd openflow
    git checkout -b mybranch origin/release/1.0.0
    cd ..
    

    3、安装oflops:

    git clone git://gitosis.stanford.edu/oflops.git
    cd oflops
    git submodule init
    git submodule update
    cd ..
    

    4、安装libconfig:

    wget http://www.hyperrealm.com/libconfig/libconfig-1.4.9.tar.gz
    tar -xvzf libconfig-1.4.9.tar.gz
    cd libconfig-1.4.9
    ./configure
    sudo make
    sudo make install
    cd ../oflops/netfpga-packet-generator-c-library/
    ./autogen.sh
    ./configure
    make
    cd ..
    sh ./boot.sh
    ./configure --with-openflow-src-dir=【openflow的绝对地址,可以通过find命令查看】
    make /此处可能会出现如图1的错误
    sudo make install
    cd cbench
    

    1、执行./configure后由于环境原因这一步可能会报错,一般是因为gcc、g++、bison等没有安装,根据编译结果自行安装所缺的依赖。

    2、图1错误是由于没有安装pkg-config造成的,补充安装即可。

    图1:


    图1
    apt-get install pkg-config
    make
    

    到这里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
    

    第一次使用时出现了图2所示的问题,这是由于使用shell造成的,在虚拟机中直接实验就可以了。

    图2:


    图2

    sFlow

    简介

    sFlow是一种网络流量分析协议,sFlow流量监控工具监测设备端口进行数据流随机采样,并且提供各接口的流量信息。sFlow分为sFlow agent和sFlow collector。sFlow内嵌在网络设备中,获取设备的实时信息后封装成sFlow报文发送给sFlow collector。collector作为远端服务器,负责汇总、分析sFlow报文并且生成流量报告。

    sFlow可以提供完整的第二层到第四层甚至全网范围内的实时流量信息,而且适用于超大网络流量环境下的流量分析,能够详细、实时地为用户分析网络流量的性能、趋势以及可能存在的问题。且几乎不会对被统计的设备造成任何负担、管理成本极低。

    安装步骤

    安装sFlow collector

    本实验选用的sFlow软件是sflow-rt,首先下载sflow-rt压缩包,然后:

    tar -zxvf sflow.tar.gz   
    cd sflow/sflow-rt   
    ./start.sh
    

    配置sFlow agent

    sudo 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。

    相关文章

      网友评论

          本文标题:SDN之测试工具

          本文链接:https://www.haomeiwen.com/subject/bwcahttx.html