Windows Clumsy工具
Clumsy提供的功能介绍
(2)丢包(Drop):随机丢弃一些数据;
(3)截流(Throttle):把一小段时间内的数据拦截下来后再在之后的同一时间一同发出去;
(4)重发(Duplicate):随机复制一些数据并与其本身一同发送;
(5)乱序(Out of order):打乱数据包发送的顺序;
(6)篡改(Tamper):随机修改小部分的包裹内容。
工具的使用
支持过滤相应的源目的地址、协议、端口、报文方向(出/入)
? 设置完presets后会在Filtering 显示过滤条件,根据自己的需要对ip地址、端口等进行修改,可以通过and、or进行条件过滤
? 功能项参数选项
分别支持延迟、丢包、截流、重发、乱序、篡改。
Inbound/outbound 入或出方向的报文
Delay 延迟的时间
Chance 功能生效的概率
? 点击clumsy的start 工具就正常运行
Linux TC工具
TC是linux系统的一个流控工具,来控制netem的工作模式,TC包含三个基本的构成块:队列规定qdisc 、策略控制class类、分类器filter
⏩ Qdisc:用来实现控制网络的收发速度,通过队列可以把网络的数据包缓存起来,然后根据用户的设置进行发送。无类别qdisc队列包含FIFO(先进先出)、RED(随机早期探测)、SFQ(随机公平队列)、TBF(令牌桶) 可分类qdisc基队列包含:CBQ(根据数据流特征进行QOS)、HTB(根据TBF实现带宽限制)、PRIO(对流量进行优先级管理)
⏩ Class:通过设置不同数据类型的数据包的出队列的优先级。
⏩ Filter:对数据包进行分类,然后决定根据何种QDisc进入队列。
Linux网络延迟的命令操作
? Add/del 增加或删除相应的过滤条件
? Dev x:表示相应的接口,
? Netem 支持delay(延时)、loss(丢包率)、duplicate(重复包率)、corrupt(错包率)、reorder(乱序)、rate(速率)
延迟的测试情况:
TC的命令可以增加相应的过滤器命令以及相关的查看操作如下:
tc qdisc [ add | change | replace | link ] dev DEV [ parent qdisc-id | root ] [ handle qdisc-id ] qdisc[ qdisc specific parameters ]
tc class [ add | change | replace ] dev DEV parent qdisc-id [ classid class-id ] qdisc [ qdisc specificparameters ]
tc filter [ add | change | replace ] dev DEV [ parent qdisc-id | root ] protocol protocol prio priorityfiltertype [ filtertype specific parameters ] flowid flow-id
tc [-s | -d ] qdisc show [ dev DEV ]
tc [-s | -d ] class show dev DEV
tc filter show dev DEV
以上是两种模拟网络传输质量的工具使用方法,有兴趣了解的可以尝试一下,有问题欢迎沟通交流。