概述
[转]Linux 下流量控制等 (Netemulator,tc)
netem provides Network Emulation functionality for testing protocols by emulating the properties of wide area networks. The current version emulates variable delay, loss, duplication and re-ordering.
If you run a current 2.6 distribution, (Fedora, OpenSuse, Gentoo, Debian, Mandriva, Ubuntu), then netem is already enabled in the kernel and a current version of iproute2 is included. The netem kernel component is enabled under:
Networking --> Networking Options --> QoS and/or fair queuing --> Network emulator
端口延时命令
# tc qdisc add dev eth0 root netem delay 100ms
表示对端口廷时100ms
# tc qdisc del dev eth0 root netem delya 100ms
表示对端口廷时命令删除
# tc qdisc change dev eth0 root netem delay 100ms 10ms
表示对改变端口廷时命100ms ± 10ms 延时范围(90到110)
# tc qdisc change dev eth0 root netem delay 100ms 10ms 25%
表示廷时范围100ms ± 10ms * 25%
端口丢包命令:
# tc qdisc change dev eth0 root netem loss 0.1%
丢包率为0。1%
# tc qdisc change dev eth0 root netem loss 0.3% 25%
丢包率为范围(0。3% 25%)
[edit]
[ed数据包副本命令
# tc qdisc change dev eth0 root netem duplicate 1%
数据包副本率 1%
[edit] [edi数据包分发命令
# tc qdisc change dev eth0 root netem gap 5 delay 10ms
数据包重发每格5的整数倍的包将不被延时。其它的将延时10ms
[edit] 速率控制命令:两条命令共同完成
# tc qdisc add dev eth0 root handle 1:0 netem delay 100ms
# tc qdisc add dev eth0 parent 1:1 handle 10: tbf rate 256kbit buffer 1600 limit 3000
# tc -s qdisc ls dev eth0 ----查看规则信息。
# tc qdisc show
更多帮助
# tc help , tc qdisc help
以上是建立速率控制命令规则。红色部分为限制包数量可去掉
清除规则命令:
tc qdisc del dev eth0 root
完毕后可以先试试bridge的基本命令:(这是可以把此主机看到两个端口的HUB )
brctl addbr mybridge (创建bridge mybridge,然后用ifconfig查看会发现多了一个mybridge端口)
brctl addif mybridge eth0
brctl addif mybridge eth1 (把eth0和eth1包含到mybridge中)
然后需要对各端口做以下动作
ifconfig eth0 0.0.0.0 promisc
ifconfig eth1 0.0.0.0 promisc(打开混杂模式)
ifconfig mybridge up(启动网桥)
最后
以上就是文艺小懒虫为你收集整理的TC 流量控制的全部内容,希望文章能够帮你解决TC 流量控制所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复