诚招英才(长期):高级测试开发工程师、测试架构师,C++,java,ops; 联系方式:linhan@taobao.com msn: niuxvampire@hotmail.com

用NETEM模拟网络丢包

上一篇 / 下一篇  2009-12-28 12:18:51 / 个人分类:linux

2w-z,| m$A#k0不知大家是否会测试到通信中间件,如果有的话,那么了解一下NETEM工具将是非常有用的。在最近一次通信故障重现中用到的,给大家分享一下;它可以做很多事情,比如说模拟丢包,重复发包,发乱序包等;简要说明如何使用:51Testing软件测试网%y\0Y%w%I.b!~.b

_!w8Gx%Gx,W0step1:使用ifconfig命令查看你的网卡信息,如:eth0

K2L5y#TAJr,tUKh051Testing软件测试网P7^/D6y/Nz

step2:将网卡加入监控列表 51Testing软件测试网cc/|*F `y;Rk
       sudo tc qdisc add dev eth0 root netem51Testing软件测试网9{0U2R VJiw3P

51Testing软件测试网1D@vM$R5W)X \

step3:
Aq'} ` [0       设置丢包率 
)uv7T I"`X6E[&~^U0       sudo tc qdisc change dev eth0 root netem loss 0.5% 
o C gEm E6GU*h:X0       设置重发
*D4Q ]6i4Fl*q0       sudo tc qdisc change dev eth0 root netem duplicate 1%
$fDvA2`:v q0       设置发乱序包51Testing软件测试网7URd*j6jo
       sudo tc qdisc change dev eth0 root netem gap 5 delay 10ms

mJh ?yr `Gv D0

&zl)vu#}+iz-tP0如果想让网络恢复正常,只需要将设置的值相应归0即可。
]/ibjej\(L;H0NetEM 包含在iproute2包中,由命令"tc"控制,使用起来很方便,不过需要说明一下:这个工具需要在Linux 2.6以上内核才包含。51Testing软件测试网P-h-F6d} d

/L2[)p+u)^g7_)h_0NETEM介绍,可参考:http://www.linuxfoundation.org/collaborate/workgroups/networking/netem

:d2^J0n7N i3C \8D'M_m0

I1o#fE6~[0TC介绍,可参考:
U^dh*[#DK'W$W0http://www.myfaq.com.cn/A/2002-01-29/12319.html51Testing软件测试网*z*P)AD/j gX W8t9z#R


TAG: 技术

 

评分:0

我来说两句

Open Toolbar