网络模拟:丢包,延迟,乱序

      由于条件限制,需要在局域网模拟广域网丢包,延迟等现象。linux 已经原生提供了用户空间工具流量控制tc,网络模拟netem。我试了桥接的虚拟机,loopback 接口, 设置了无效,不会丢包, 至少需要两台物理机器连到同一局域网。下面的例子参考了[1],[2]。

最简单的是无类别配置
tc qdisc add dev eth0 root netem loss 50%
ping www.baidu.com
tc qdisc del dev eth0 root #撤销
ping www.baidu.com

发送数据丢包50%,除了5007,5001端口
tc qdisc add dev eth0 root handle 1: prio
tc qdisc add dev eth0 parent 1:1 handle 10: sfq
tc qdisc add dev eth0 parent 1:2 handle 20: prio netem loss 50%
tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 \
 match ip dport 5007 0xffff \
 match ip dport 5001 0xffff flowid 1:1
这里flowid 和class parent对应,注意匹配顺序是从小的id开始。


设定特定ip地址延迟1秒,随机丢包~N(0.0.2)
#建立根队列(cbq, htb可限制带宽,prio不限制带宽)
tc qdisc add dev eth0 root handle 1: prio
#建立子队列class 1:4
tc qdisc add dev eth

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值