iperf2.0和iperf3比较以及影响udp丢包率的参数

文章背景:

最近在做40G交换板的TCP带宽和UDP带宽、丢包率、抖动测试;

发现iperf与iperf3版本不同对测试结果有较大影响;通过自己试验与网络查找资料有结论如下。

第一部分:iperf与iperf3比较

1)iperf3较iperf测试UDP丢包率和带宽,相同硬件条件下,iperf3测试带宽更高,但是存在严重丢包

      iperf测试UDP带宽较小,但是不丢包。(x86硬件平台)
2)iperf 2.05,客户端可以使用参数"-d"来进行双工测试,先测试发送,client向server发送数据,等到测试时间结束后(默认为10s,可以通过-t选项来更改),然后再测试接收,client端接收server发送数据,最后得出发送和接收吞吐率。iperf3不支持双工测试。

3)iperf3 和 iperf2 使用上, iperf3 server端使用了统一的命令iperf3 -s,不在区分测试UDP还是TCP;

4)测试是,需要保证被测试网卡的MTU值>测试包的长度,即-l 的值,默认packet size是1470,加上udp和ip头的长度28, 等于1498。若默认packet size > MTU,将会出现接收端收不到数据。

第二部分:iperf主要影响丢包率的参数

-b   使用iperf生成并发送数据,在数据包长度固定的情况下(L默认为1470字节),带宽越大,每秒钟发送的数据包越多。当链路延时较大时,每秒发送的数据包数量太多时会造成比较大的丢包率。

-l    可以设置发送包的长度。TCP方式默认为8KB,UDP方式默认为1470字节。增加包的长度增大缓冲区长度可以减少丢包率,因为包长度很小的话会造成包的数量更多,更易造成拥塞。

在发送包为大包情况下,保障不丢包的方式,应当同时增大系统的读写缓冲区大小,修改/etc/sysctl.conf

udp模式下丢包的原因可以根本在于发送端和接受端速度不匹配导致的,除了分析iperf参数设置上是否保证接收端能够及时处理数据外,还应该看发送端设备和接受端设备的状态。比如上周困扰我的一个丢包率问题,发送端32核计算机,接收端24核计算机。

 

 

 

 

 

 

  • 4
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Iperf3是一款网络性能测试工具,它可以进行TCP和UDP的带宽测量。不过在UDP测试中,Iperf3的丢包可能不是很准确。 首先,UDP是一种无连接协议,数据包不会保证被传输到接收端。因此,在进行UDP测试时,即使在正常情况下发送的数据包没有丢失,也可能在网络拥塞或延迟等情况下发生数据包丢失的情况。这种情况下,Iperf3的UDP测试会误判数据包丢失。 其次,Iperf3对于UDP测试丢包计算方法并不精确,它通常使用公式“丢包=1-(接收数据包数量/发送数据包数量)”来计算。但是这种计算方式并没有考虑丢失数据包的时间以及数据包的大小等因素。因此,在一些特殊情况下,Iperf3的丢包算出来的数据可能会偏高或偏低。 因此,如果要进行准确的网络丢包测试,建议使用其他的网络性能测试工具或者结合Iperf3进行多种测试结果的比较。同时,在进行测试时应该考虑网络环境、延迟等因素,以及多次测试取平均值的情况。 ### 回答2: Iperf3是一款开源的网络性能测试工具,可以用来测试TCP和UDP网络吞吐量、延迟、带宽等性能指标。然而,由于UDP传输不可靠的特性,iperf3在进行UDP传输测试时可能会出现丢包情况,这也是网络中常见的现象之一。 然而,有时候iperf3 udp测试丢包的结果并不准确。这主要是由于以下几个原因: 1、网络拥塞在UDP测试中会导致数据包的丢失,但是由于网络拥塞是瞬时现象,因此,UDP测试只测量了瞬间网络状态,而未测量网络性能的长期表现。 2、iperf3 UDP测试可能存在数据包重传的问题。在udp传输过程中,如果数据包丢失,则发送端通常会对丢失的数据包进行重传,因此,重传数据包的数量可能会导致iperf3测试结果偏差。 3、使用不同的操作系统和运行环境进行iperf3测试也可能会影响测试结果。不同操作系统和运行环境的网络协议栈实现方式不同,可能会对UDP传输性能产生不同的影响,从而导致测试结果不准确。 因此,为了获得更准确的测试结果,我们应该注意以下几点: 1、尝试进行多次测试,以便获得更准确的平均值。 2、将iperf3测试结果与其他网络性能测试工具的结果进行比较,以验证iperf3测试结果的准确性。 3、使用同一操作系统和运行环境的系统进行测试,可以消除不同操作系统的差异。 总之,iperf3 udp测试丢包不准是一种常见现象,我们在进行UDP传输测试时应该注意这些可能影响测试结果的因素,并采取相应的措施进行测试,以获得准确的测试结果。 ### 回答3: Iperf3是一款基于UDP和TCP协议的网络测速工具,它可以用于测试网络带宽、延迟、丢包等几个方面的性能。 然而,在使用iperf3进行UDP测试时,我们可能会发现测试结果显示的丢包并不准确,这是因为UDP协议本身就存在一些特性导致的。 首先,UDP协议是面向无连接的,它不像TCP协议那样需要进行握手和连接,因此,在网络拥堵时,数据包可能会因为网络负荷过重而被丢弃,这种情况下测试结果会显示出很高的丢包。但是,也有可能是因为网络的拥堵导致路由器缓冲区满了,导致后续的数据包发生了乱序和最终的丢失,这也会导致测试结果的丢包不准确。 其次,UDP协议是不可靠的,它只是尽力地将数据包送至目的地,而不保证送达的可靠性。在面对网络状况较坏的情况下,数据包可能会出现丢失或者大量重传,都会对测试结果产生影响,使得丢包显示不准确。 另外,在进行UDP测试时,我们可以采用多次测试并取平均值的方式,以减小测试误差,并且加上选项"--udp-bw"设置限制带宽,避免过多大数据包丢失,从而更加准确的得出测试结果。 综上所述,iperf3 UDP测试丢包不准确,是由于UDP协议本身的特性造成的,并不代表iperf3工具本身的问题。在进行UDP测试时,我们需要了解UDP协议的性质,并采取正确的测试方式,才能得到准确的测试结果。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值