前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于系统的流量控制(Qos)

基于系统的流量控制(Qos)

作者头像
力哥聊运维与云计算
发布2019-06-28 12:54:35
3.5K0
发布2019-06-28 12:54:35
举报

一、 Linux 系统

1. 限制流出速度

限制流出速度,主要通过tc这个工具,常用的有三个队列:

tbf队列,令牌桶队列,适用于流量×××;

cbq队列,分类的队列,用于实现精细的qos控制,配置复杂;

htb队列,分层的令牌桶队列,用于实现精细的qos控制,配置比cbq简单些;

通过tbf限制流程速度的例子:

tc qdisc add dev eth0 root tbf rate 51200kbit latency 50ms minburst 200k burst 200k

限制网卡eth0流出速度为51200kbit,正确的设置方法,和minburst这个参数有很大的关系,不同的硬件环境和系统需要具体调试。

通过htb实现不同目标地址的限速

删除

tc qdisc del dev eth0 root tbf

修改

tc qdisc change dev eth0 root tbf rate 2200kbit latency 5000ms burst 1540

查看当天队列

tc -s -d qdisc ls

通过htb队列,针对不同ip源限速

删除已有的队列

tc qdisc del dev eth0 root

建立一个htb根队列

tc qdisc add dev eth0 root handle 1: htb

建立一个父类1:1,速度为100mbit

tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit ceil 100mbit

建立一个子类1:10,速度50mbit,这里的50mbit包含在1:1的100mbit中

tc class add dev eth0 parent 1:1 classid 1:10 htb rate 50mbit ceil 50mbit

指定1:10是一个随机公平队列

tc qdisc add dev eth0 parent 1:10 sfq perturb 10

通过过滤器,保证1.1.1.1这个ip通过1:1这个队列,优先级是2。

tc filter add dev eth0 protocol ip parent 1: prio 2 u32 match ip dst 1.1.1.1/32 flowid 1:1

通过过滤器,保证所有的其他ip通过1:10这个队列,优先级是50。

tc filter add dev eth0 protocol ip parent 1: prio 50 u32 match ip dst 0.0.0.0/0 flowid 1:10

2. 限制流进速度

通过iptables 限制流进速度

#iptables -A INPUT -s 61.61.61.61/32 -m limit --limit 60/s -j ACCEPT

#iptables -A INPUT -s 61.61.61.61/32 -j DROP

限制ip每秒流进速度不超过60个,通过iptables不能精确控制网速,只能控制包的个数,具体数对可以用mtu乘包的个数计算。

Linux系统速度限制非常不错的参考资料,《Linux高级路由和流量控制》

http://www.docin.com/p-4929331.html

二、 Windows系统

1. Windows server 2008 windows 2012 windows 7 windows 8系统

通过组策略可以限制流出速度,在开始运行输入gpedit.msc

通过本地计算机---计算机配置----基于策略的qos选项,可以实现网络限速、源ip、基于应用的限速。

clip_p_w_picpath002
clip_p_w_picpath002
clip_p_w_picpath004
clip_p_w_picpath004
clip_p_w_picpath006
clip_p_w_picpath006
clip_p_w_picpath008
clip_p_w_picpath008
2. Windows server 2003 windows xp 系统

可以下载Windows Server 2003 Resource Kit Tools,安装后,运行安装目录下的tcmon.bat这个批处理安装。

http://www.microsoft.com/en-us/download/details.aspx?id=17657

clip_p_w_picpath010
clip_p_w_picpath010

然后网卡属性—服务—添加qos包队列服务。

clip_p_w_picpath012
clip_p_w_picpath012

然后运行tcmon.exe程序。

clip_p_w_picpath014
clip_p_w_picpath014

可以根据需要设置速率

clip_p_w_picpath016
clip_p_w_picpath016

需要过滤的ip

clip_p_w_picpath018
clip_p_w_picpath018

协议

clip_p_w_picpath020
clip_p_w_picpath020

但是这个工具我只在xp上测试通过, 在windows 2003上不能正常使用,查阅了许多国外的网站,也有许多人碰到类似的问题,目前没有找到解决的方法,推测是微软已经放弃了对这个工具的支持吧。另外这个工具只能现在流出速度,重启后需要重新配置。

3. 第三方工具

windows系统还可以使用netlimit这个工具,这是一个收费工具,就不详细介绍了,官网是http://www.netlimiter.com/,上面有详细的介绍。

通过360卫生也可以实现限速的功能,但是只能基于应用。

clip_p_w_picpath022
clip_p_w_picpath022
clip_p_w_picpath024
clip_p_w_picpath024
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2013-01-26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、 Linux 系统
    • 1. 限制流出速度
      • 2. 限制流进速度
      • 二、 Windows系统
        • 1. Windows server 2008 windows 2012 windows 7 windows 8系统
          • 2. Windows server 2003 windows xp 系统
            • 3. 第三方工具
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档