【概要】Iperf是一款网络性能测试工具,可以方便的用它进行SDN网络带宽和网络质量的测试,Iperf支持协议、定时、缓冲区等参数的配置调整,报告TCP/UDP最大带宽、延迟抖动、数据包丢失等统计信息。Iperf版本建议采用Linux版本,事实上,Windows版也很好用。

1 Iperf安装

Iperf安装方法有多种,可以下载源码编译安装,也可以直接使用编译好的二进制版本,在ubuntu下安装使用iperf尤为简单,apt-get install iperf 即可,值得一提的是Mininet自带Iperf,在SDN网络上测试比较便捷。

2 工作原理

使用Iperf测试时必须将一台主机设置为客户端,一台主机设置为服务器。

Iperf测试TCP

Iperf测试TCP带宽的原理比较简单,在客户端和服务端建立三次握手连接后,客户端带宽的大小等于发送的总数据除以发送的总时间。对服务端测得的带宽,则是接收的总数据除以所花时间。

TCP模式下简单举例:
Server:iperf -s
Client:iperf -c 10.0.0.1 -i 1

客户端到服务器10.0.0.1上带宽测试,每一秒钟打印一次信息。

Iperf测试UDP

Iperf测试UDP性能时,客户端可以指定UDP数据流的速率。客户端发送数据时,将根据客户端提供的速率计算数据报发送之间的时延。

客户端还可以指定发送数据报的大小。每个发送的数据报包含一个ID号,用来唯一标识报文,服务器端根据该ID号来确定数据报丢失和乱序。

当把UDP报文大小设置可以将整个报文放入IP层的包(packet)内时,那么UDP所测得的报文丢失数据即为IP层包的丢失数据,这提供了一个有效的测试包丢失情况的方法。

数据报传输延迟抖动 (Jitter)的测试由服务器端完成,客户发送的报文数据包含有发送时间戳,服务器端根据该时间信息和接收到报文的时间戳来计算传输延迟抖动。传输延迟抖动反映传输过程中是否平滑。由于它是一个相对值,所以并不需要客户端和服务器端时间同步。

UDP模式下简单举例:
Server:iperf -s -u
Client:iperf -c 10.0.0.1 -u -b 100M

在UDP模式下,客户端以100Mbps为数据发送速率,测试客户端到服务器10.0.0.1上的带宽。

综上,用以下方法测试网络连接的质量:
- 延时(反应时间或者RTT):用ping命令量度
- Jitter(延时变化):用Iperf UDP测试来量度
- 数据报丢失:用Iperf UDP测试来量度
- 带宽:通过TCP测试来量度

3 参数配置

表 1. 客户端/服务器端通用参数

表 2. 服务器端参数

表 3. 客户端参数

4 测试实例

测试环境

1) 已搭建好一套SDN网络环境,使用Mininet模拟交换机和主机连接到一款OpenFlow控制器
2) 使用Mininet自带的Iperf工具

应用实例

实例一:最简参数实例

服务端:

客户端:

Iperf客户端连接Iperf服务器的TCP默认端口5001,否则我们可以用-p参数修改Iperf服务器的端口,客户端与服务器必须加上同样的端口。结果显示的带宽是从用户到服务器之间的带宽。

实例二:双向带宽测试

服务端:

客户端:

-r参数可以量度双向带宽,Iperf服务器会主动向客户端发起连接。

实例三:同步双向带宽测试

服务端:

客户端:

使用-d 参数同步测量双向带宽,而上例的-r在初始状态时,只会量度客户到服务器的带宽。

实例四:TCP窗口大小

服务端:

客户端:

在连接中,如果接收方来不及验证,数据会暂时被存在一个缓冲区里,这个缓冲区的上限就是所谓的TCP窗口大小,窗口的大小可以在2到65,535 bytes之间。

实例五:UDP测试

UDP测试会得到关于Jitter和数据包丢失的重要信息。

服务端:

客户端:

良好的连接质量,数据包的丢失率要小于1%,数据包的丢失率过高会导致许多TCP数据报需要重传,从而影响带宽。 Jitter代表的是延时变化,并不依赖于延时本身,你可能拥有很长的反应时间,但是Jitter却很低。

网络性能测试工具Iperf介绍相关推荐

  1. tcp连接服务器性能测试,TCPIP网络性能测试工具 - Iperf.pdf

    TCPIP网络性能测试工具 - Iperf.pdf TCP/IP 网络性能测试工具 - Iperf TCP/IP网络性能测试工具 - Iperf 1 简介 Iperf 是一个 TCP/IP 和 UDP ...

  2. 网络性能测试工具Iperf和netperf

    网络性能测试工具Iperf和netperf 一.iperf工具的使用 同主机网络传输速率吞吐率 网络响应时间 TCP/UDP吞吐率 跨主机网络传输速率吞吐率 网络响应时间 TCP/UDP吞吐率 1.测 ...

  3. 网络性能测试工具iperf的使用与参数解析

    介绍   网络性能评估主要是监测网络带宽的使用率,将网络带宽利用最大化是保证网络性能的基础,但是由于网络设计不合理.网络存在安全漏洞等原因,都会导致网络带宽利用率不高.要找到网络带宽利用率不高的原因, ...

  4. iperf java_网络性能测试工具Iperf/Jperf

    Iperf 是一个网络性能测试工具.Iperf 可以测试TCP 和UDP 带宽质量.Iperf 可以测量最大TCP 带宽,具有多种参数和UDP 特性. Iperf 可以报告带宽,延时抖动和数据包丢失. ...

  5. iperf java_网络性能测试工具Iperf/Jperf解读

    Iperf 是一个网络性能测试工具.Iperf 可以测试TCP 和UDP 带宽质量.Iperf 可以测量最大TCP 带宽,具有多种参数和UDP 特性. Iperf 可以报告带宽,延时抖动和数据包丢失. ...

  6. 网络性能测试工具Iperf上手指南

    Iperf是一个网络性能测试工具.可以测试TCP和UDP带宽质量,可以测量最大TCP带宽,具有多种参数和UDP特性,可以报告带宽,延迟抖动和数据包丢失.Iperf在linux和windows平台均有二 ...

  7. Linux如何安装iperf软件,Linux 下网络性能测试工具 iperf 的安装和使用

    很久没写文章,iperf 也一直有用,感受不错就记录一下html 说明: OS :CentOS 6.4 x86_64 Server: 192.168.100.55 Client: 192.168.10 ...

  8. 网络性能测试工具 -- iperf

    Iperf 是一个网络性能测试工具.可以测试 TCP 和 UDP 带宽质量,可以测量最大 TCP 带宽,具有多种 参数和 UDP 特性,可以报告带宽,延迟抖动和数据包丢失. download:Inde ...

  9. linux网络性能测试工具Iperf使用介绍

    1.下载 (可以到这里下载:) http://downloads.sourceforge.net/ 2.安装 [root@localhost]#tar zxvf iperf-2.5.0.tar.gz ...

最新文章

  1. 脑电信号滤波方式汇总
  2. C++继承中的普通函数,纯虚函数、虚函数
  3. idea 设置加载多个资源文件,显示本地图片
  4. Mysql 的子查询
  5. eclipse java source_Eclipse中查看JAVA源代码显示SOURCE NOT FOUND解决办法
  6. iOS 图形编程总结
  7. 小程序外链跳转web-view系列问题
  8. 【论文写作】SpringMVC学籍管理系统如何画用例图
  9. matlab如何z变换,MATLAB第3章Z变换详解.ppt
  10. im2col的原理和实现
  11. 安全性的十个永恒定律3
  12. 二、IAR for ARM中STM32项目创建及其启动文件分析
  13. MySQL-InnoDB的索引原理及优化技术
  14. Python建立线性回归模型进行房价预测
  15. 最短路——小木乃伊到我家(dijkstra)
  16. 发那科pmc地址分配_FANUC PMC 地址表
  17. New Phytologist: 中科院南土所孙波/梁玉婷组揭示地下微生物和地上植物空间周转率的耦合关系...
  18. 复式日麻随机牌山相关代码
  19. java 简单仿微信聊天(springboot)
  20. 某财税集团:使用进步的技术,对业务降本提效

热门文章

  1. QT 禁止窗口最大化,禁止拉伸
  2. 一文熟知docker安装RabbitMQ及安装延迟插件
  3. Nginx一:centos7安装Nginx、OpenResty
  4. 2020年是时候迁移AndroidX了
  5. 你还在一天三充?华为手机开启这个隐藏省电功能,两天一充很简单
  6. 一套资金管理和交易策略规则
  7. HashMap中的位运算
  8. 关于JDK 1.8 ne和eq的用法
  9. 修改wifi密码 及168.192.1.1登录
  10. node之操作数据库