转载请注明出处(author:Andyzhang)
模拟网络环境较弱的情况,是我们在开发及测试过程中需要注意,并考虑的问题,如何确认并找出网络较差时的问题。所以需要模拟弱网络环境。
*****2013-11-12 此处有一个问题:200那条命令没有生效,andy最近较忙,将会在不忙的时候研究一下,如何修改。如果大家有谁把这个bug解决了,麻烦给andy留个言,谢谢
#!/bin/bash
#andyzhang
#2013-08-01
MIN_LAG=400 #最小时延,单位毫秒
MAX_LAG=800 #最大时延,单位毫秒
IN_FLAG=true #对上行的限制,true为开启限制,false为关闭限制
OUT_FLAG=true #对下行的限制,true为开启限制,false为关闭限制
in_speed=20 #上行速度,kb为单位
out_speed=20 #下行速度,kb为单位
lose_rate_up=0.5 #上行丢包率
lose_rate_down=0.5 #下行丢包率
############################################
#上面部分是配置部分,以下代码为命令执行过程#
############################################
((LAG_RANGE=MAX_LAG-MIN_LAG ))#
INTERVAL=0.1 # time in between changes in latency (in seconds)
if(${IN_FLAG});then
#ipfw add 100 pipe 1 ip from 192.168.0.1/24 to any in
ipfw add 100 pipe 1 ip from any to 192.168.2.1/24 in
fi
if(${OUT_FLAG});then
#ipfw add 200 pipe 2 ip from any to 192.168.0.1/24 out
ipfw add 200 pipe 2 ip from 192.168.2.1/24 to any out
fi
# set up initial random delay
(( d