zoukankan      html  css  js  c++  java
  • 【Atheros】Iperf性能测试的问题小结

    1. Iperf用文件作为数据源无效的问题

    2. 在代码中修改iperf数据,iperf无法收到,但在mac层能拿到数据

    3. TCP发不出去包的问题

    1. Iperf用文件作为数据源无效的问题

    Iperf生成的数据包,默认是0-9这10个数字的循环(十六进制的话就是0x30-0x39的循环),我们可能需要去人工指定数据内容,比如全都置成0来方便的查看物理传输过程中的出错情况,于是我造了一个数据文件之后调用:

    iperf -F /root/input_data -c 1.1.1.11 ……

    我修改了一下顺序,同时修改了部分代码之后(所以其实也可能是代码问题,不一定是顺序的问题)先设定目标ip,然后指定文件:

    iperf -c 1.1.1.11 -F /root/input_data……

    就可以了。

    2. 在代码中修改iperf数据,iperf无法收到,但在mac层能拿到数据

    如果不使用问题1所述的用源数据文件的方法,而是在发送方的驱动里面强行修改了数据包的内容,会发现在接收方的驱动中是能够收到数据包的,但是iperf却不能正常接收到数据包,原因如下:

    Iperf在传输层之后还有一个36字节长的首部,作为iperf应用层的首部,如果修改了数据,将导致传传输层/应用层校验失败(传输层使用UDP协议的话,就应该是应用层校验失败了),因此包会被丢掉,iperf无法统计到。

    3. TCP发不出去包的问题

    使用iperf发udp是没有问题的,但是发tcp就有问题,最后发现是因为我指定了带宽:

    iperf -c xxx.xxx.xxx.xxx -i 1 -b 600M ...

    设置了这个600M带宽上限之后,iperf就按udp去发了。

  • 相关阅读:
    最短路(Floyed、Dijkstra、Bellman-Ford、SPFA)
    查找技术
    简单线段树
    dfs
    bfs
    插件工具集合
    Web前端代码规范
    Javascript 判断手机横竖屏状态
    Git 笔记2
    git 笔记 1
  • 原文地址:https://www.cnblogs.com/smarterplanet/p/4083319.html
Copyright © 2011-2022 走看看