网络环境场景以及模拟工具netem

网络环境场景包括:

  1. 延迟(Lag),把数据包缓存一段时间后再发出,这样能够模拟网络延迟的状况。

  2. 掉包(Drop),随机丢弃一些数据。

  3. 节流(Throttle),把一小段时间内的数据拦截下来后再在之后的同一时间一同发出去。

  4. 重发(Duplicate),随机复制一些数据并与其本身一同发送。

  5. 乱序(Out of order),打乱数据包发送的顺序。

  6. 篡改(Tamper),随机修改小部分的包裹内容。

Linux通过netem (network emulation)可以在发送方的主机上模拟上面的情况,举例

1)每个包增加100ms延迟

# tc qdisc add dev eth0 root netem delay 100ms

2)10%的丢包率

# tc qdisc change dev eth0 root netem loss 10%

3)10%被篡改

# tc qdisc change dev eth0 root netem corrupt 10% 

5)乱序,第五个包提前发出,其他delay 10ms

# tc qdisc change dev eth0 root netem gap 5 delay 10ms

6)限速

参考:netem tc 

http://www.oschina.net/p/clumsy

原文地址:https://www.cnblogs.com/qiangxia/p/4313249.html