Linux ,c/c++, web,前端,php,js
分类:
2011-09-07 13:35:12
原文地址:用NETEM模拟网络丢包 (转) 作者:tiny_xd
不知大家是否会做通信中间件相关的测试,比如说kfc或是自己实现的tcp通讯的测试,如果会涉及到,那么就有可能就需要对网络状态实现一些仿真,比如说模拟丢包,设置固定带宽等等;
这样的话,了解一下NETEM工具将是非常有用的,这是在之前KGB线上通信故障分析重现中用到的,和大家分享一下;NETEM可以做很多事情,比如说模拟丢包,重复发包,发乱序包等;简要说明如何使用:
step1:使用ifconfig命令查看你的网卡信息,如:eth0
step2:将网卡加入监控列表
sudo tc qdisc add dev eth0 root netem
step3:
设置丢包率
sudo tc qdisc change dev eth0 root netem loss 0.5%
设置重发
sudo tc qdisc change dev eth0 root netem duplicate 1%
设置发乱序包
sudo tc qdisc change dev eth0 root netem gap 5 delay 10ms
如果想让网络恢复正常,只需要将设置的值相应归0即可。
NetEM 包含在iproute2包中,由命令"tc"控制,使用起来很方便,不过需要说明一下:这个工具需要在Linux 2.6以上内核才包含。
NETEM还有很多其他的功能,以上只是一点皮毛,将NETEM的官方介绍提供出来,大家一些学习吧:
TC也是一个非常有用的工具,下面的链接是TC的介绍: