zoukankan      html  css  js  c++  java
  • Netem功能

    Netem 是 Linux 2.6 及以上内核版本提供的一个网络模拟功能模块。该功能模块可以用来在性能良好的局域网中,模拟出复杂的互联网传输性能,诸如低带宽、传输延迟、丢包等等情况。

    1、模拟延迟传输

    # tc  qdisc  add  dev  eth0  root  netem  delay  100ms

    该命令将 eth0 网卡的传输设置为延迟100毫秒发送。
     
    模拟出带有波动性的延迟值:
    # tc  qdisc  add  dev  eth0  root  netem  delay  100ms  10ms
    该命令将 eth0 网卡的传输设置为延迟 100ms ± 10ms (90 ~ 110 ms 之间的任意值)发送。 
     
    还可以更进一步加强这种波动的随机性:
    # tc  qdisc  add  dev  eth0  root  netem  delay  100ms  10ms  30%
    该命令将 eth0 网卡的传输设置为 100ms ,同时,大约有 30% 的包会延迟 ± 10ms 发送。
     
    2、模拟网络丢包
    # tc  qdisc  add  dev  eth0  root  netem  loss  1%
    该命令将 eth0 网卡的传输设置为随机丢掉 1% 的数据包。
    也可以设置丢包的成功率:
    # tc  qdisc  add  dev  eth0  root  netem  loss  1%  30%
    该命令将 eth0 网卡的传输设置为随机丢掉 1% 的数据包,成功率为 30% 。

    3、模拟包重发
    # tc  qdisc  add  dev  eth0  root  netem  duplicate 1%
    该命令将 eth0 网卡的传输设置为随机产生 1% 的重复数据包 。 

    4、模拟包损坏
    # tc  qdisc  add  dev  eth0  root  netem  corrupt  0.2% 
    该命令将 eth0 网卡的传输设置为随机产生 0.2% 的损坏的数据包 。 (内核版本需在2.6.16以上)

    5、模拟包乱序
    # tc  qdisc  change  dev  eth0  root  netem  delay  10ms   reorder  25%  50%
    该命令将 eth0 网卡的传输设置为:有 25% 的数据包(50%相关)会被立即发送,其他的延迟 10 秒。  
    新版本中,如下命令也会在一定程度上打乱发包的次序:
    # tc  qdisc  add  dev  eth0  root  netem  delay  100ms  10ms
    转 http://blog.163.com/lixuefeng19841223@126/blog/static/4895157620136865034378/
  • 相关阅读:
    算法学习记录单链表
    算法学习记录排序
    算法学习记录图——最小生成树之prim算法
    算法学习记录图——应用之拓扑排序(Topological Sort)
    算法学习记录图(DFS BFS)
    算法学习记录排序——冒泡排序(Bubble Sort)
    算法学习记录图——最小路径之Floyd算法
    自用SqlHelper.cs
    WPF的DataGrid的标题加粗样式
    .NET Framework 4.0不能用sqlite的问题解决方法
  • 原文地址:https://www.cnblogs.com/zflibra/p/4348744.html
Copyright © 2011-2022 走看看