找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 48356|回复: 68

我对石像鬼qos的一点理解。【使用hg255d】

 火... [复制链接]
发表于 2013-6-11 17:37 | 显示全部楼层 |阅读模式
本人不是搞计算机或者网络的,所以以下认识都是基于我半吊子的英文和想当然的推测,仅供新人参考,欢迎老鸟能给予指正,因为这方面的中文资料实在太少了,逼得我去看英文的介绍,费牛劲得到的一些认识。
一、 路由器是发送(接收)数据的
二、 qos是在发送数据时路由器使用的方法(专业点的话应该叫策略),大体上说就是让某些数据具有特权。饭不够吃的时候,让一些人把吃到嘴的都要吐出来给那些有特权的人吃。
三、 石像鬼的qos的步骤先是把数据分类,即设置页中的Service Classes
3.1 Service Class Name: 这个随便写,名字
3.2 Percent Bandwidth At Capacity: 这个意思是带宽占用百分比,当全部带宽都被使用时才起作用,因此,为了让他起作用,全部带宽的大小(Total Download Bandwidth)需要准确,设定值过大,可能会使这个参数或者说功能(还有其他功能)不起作用。设定值过小,会使网络效率下降。当所有的带宽都被使用后,为了满足当时对带宽的占用率小于这个设定值的那些数据发送请求,路由器会中断那些占用率大于这个设定值的那些数据发送请求,以此释放带宽。
3.3 Bandwidth Minimum: 最小带宽,可以认为是路由器预留给这种数据的带宽,即使目前没有这种数据出现,这部分带宽也是不给别的数据用的。就像你上了火车发现N多空座,但你买票时却只能买到无座票,这就叫预留,你懂的。
3.4 Bandwidth Maximum 最大带宽,就是这个数据最多能用到的带宽,就算还有多余的带宽可以用,也不让用。
例子,你想限制某台电脑192.168.0.11 的下载带宽为100K(填在空里的数据都是千位每秒,一般电信说的2M4M什么的也是位每秒,对应下载速度一般是千字节每秒,他们之间是八倍的关系,如果你想让他下载速度限制在100K字节每秒的话,那个空需要填800),那么你就建立一个Service Classes,就起名叫“d100”吧,让他的Bandwidth Maximum 为800,然后在rule【这个后面再细说】中建立Destination IP: 192.168.0.11,Set Service Class To:d100.
至此路由器已经可以实现这样的功能了:一、当全部带宽都被使用时,中断某(几)种数据以释放带宽给那些有特权的数据使用,二、保留一些带宽给一些特权数据用,即使他目前不需要使用那么多带宽,三、限制某些数据的带宽占用,即使还有空闲带宽也不给他用。很明显,只有功能一是最经常用到的,也是保证路由器效率的。但功能一在实现上会有问题,那就是,如何判断此时的状态是全部带宽被使用呢?按照介绍,只能依靠全部带宽的大小(Total Download Bandwidth)的设定值,这个值设定小的话会始终影响路由器的效率,设定大了又会让qos失效,电信承诺的带宽又不能很稳定的保持住,为此,路由器还可以通过另一种方法判断当前我的状态如何,这种方法被称作Min RTT(最小往返时延)。这里先说一下ACC(Active Congestion Control)(主动拥塞控制)。ACC的方法就是主动的通过Min RTT(最小往返时延)来判断路由器的状态,如果他认为当前路由器的状态不好,就会中断一些数据连接(我猜想是中断那些占用率大于 Percent Bandwidth At Capacity设定值的数据吧,见3.1)。通常,一旦你激活了ACC(勾选了Enable active congestions control (Download Direction) ),他就会ping外网的网关,除非你勾选了Use non-standard ping target:并填上某个ip,那样的话他就ping你填的那个ip。你也可以勾选Manually control ping targets:以告诉他多长时间ping一次。介绍上说,一旦路由器认为ping的返回值过高,超过了Min RTT,他会减少15%到100%的带宽,可见,ACC还是比较狠的,但应该也是最有效的。他的策略叫,宁死不将就。
3.5 Minimize Round Trip Times (RTT):如果你选了Minimize RTT (ping times) when active,那么当有这种数据出现的时候,路由器就会判断Minimize RTT (ping times) ,要是这个ping值过高,他就会中断一些数据连接。和ACC不同,ACC是先降低15%带宽,然后试试看情况,还不好就继续降低带宽,而他则是通过中断其他数据连接来降低20%的带宽。

我的经验,我用迅雷同时下载10部电影,另一台主机在线看电影,同时ping dns,如果开ACC,则下载速度慢(200K左右),而且在线看电影卡,但是ping dns 的值确实不高。如同介绍所说,此时路由器始终保持较好的状态,注意,是路由器有比较好的状态,而不一定你玩游戏就会不卡,因为那个ACC没准也会中断你游戏的连接用来保证自己的状态.所以通常我都不会开ACC,并且只让游戏的数据开RTT(我只玩一种游戏,在11上dota)。如果你让dns请求数据成了RTT,那就相当于时不时的来一次ACC,或许这也是一个不错的办法,可以尝试。我家是6M的小区宽带,如果我设定Total Download Bandwidth 为无限大,比如99999,那么下载速度能上800K,但是其他的电脑在线看电影就不行了,看个网页什么的还将就,ping dns 的数值会保持在3位数,一般都是300多,如果我设定Total Download Bandwidth 为6300(6x1024x1024=6291456),下载速度能在650左右,同时dns的ping值一般都在30以内。如果有人在线看电影也不卡,前提是我让看电影的数据 Percent Bandwidth At Capacity:值比较高,而下载的数据Percent Bandwidth At Capacity:值为1%。
综上,
1.Total Download Bandwidth 的设定很重要,一般6M的带宽设定为6300就行
2.Percent Bandwidth At Capacity:的设定是qos工作的主要依据,当带宽不够时,断开哪种数据连接给别的用,就让那种数据的Percent Bandwidth At Capacity:值为1%好了。
3.Bandwidth Minimum:我不认为这个参数有啥用处,我的理解它就是在和Total Download Bandwidth的设定做加减法。
4.Bandwidth Maximum:限制速度的方法,在我的实例中,我限制了平板电脑的带宽,因为平板电脑在线看电影的时候会疯狂的占用带宽达到缓存的目的(也许还有不可告人的目的), 而实际上他有个1500的带宽已经足够了。当然有人对限制上传的速度情有独钟,你也可以通过这个来限制。
5 Minimize Round Trip Times (RTT):这个应该谨慎使用,是很容易让路由器的效率下降的,只有确实需要保证带宽的数据才设定。
6 ACC:这个就别开了,除非你的路由器是那种很牛的很贵的,我的破hg255d(连邮费45元购于tb,二手货)真心开不起。

四、接下来我们需要指定不同的数据分属哪种Service Classes,也就是如何区分不同的数据,石像鬼的qos管他叫rule(规则)。正如人会有不同的身份,坐火车时你可能是车长的弟弟,办户口时你又成了所长的外甥。对于数据来说他也是有不同的特征的,而石像鬼的qos能够分别9种特征,分别是1.Source IP:  2. Source Port(s):  3, Destination IP: 4. Destination Port(s): 5. Maximum Packet Length:6. Minimum Packet Length: 7. Transport Protocol: 8. Connection bytes reach: 9.Application (Layer7) Protocol
先说一下什么是upload和download
一个数据从wan口进入路由器从lan口离开路由器就是download,反过来,从lan口进入路由器从wan口离开路由器的就是upload。
什么Source和Destination
数据出发的地方就是Source,数据到达的地方就是Destination
之前的那个限速的例子,因为是限制192.168.0.11下载的速度,很明显是要限制到达那台主机的数据,所以要在Destination IP: 中填上192.168.0.11
对于ip和port我就不多说了,在后面我会提到如何得到相关的信息。
Transport Protocol: (传输协议),石像鬼认识四种传输协议,tcp,udp不多说,icmp协议我知道的就是ping在用,gre应该是virtual**在用。Application (Layer7) Protocol (应用层协议),这个比较不靠谱,很多都会误判的,我开了ntp协议(网络时间协议),结果一开迅雷就出来大堆的ntp数据,数据量还有十几M的。Maximum Packet Length:Minimum Packet Length: Connection bytes reach:这三个东西我不懂,需要对数据传输的细节有更多了解才行,比如语音流数据在传输中是否存在比较严格的要求等等。
事实上路由器区分数据主要是通过1.Source IP:  2. Source Port(s):  3, Destination IP: 4. Destination Port(s):7. Transport Protocol: 这5个特征来完成的,通常来说我们最关心的是port,众所周知80是看网页的,53是dns。而迅雷,在线电影则使用大量的没啥规律的数值比较大的port。
到此为止我们已经能用qos做很多设定了
我们给那些我们能够明确识别的数据指定Service Class,以此来赋予不同数据不同的特权。比如我们需要经常的连到总公司的oa平台去办公,那台主机的ip是1.2.3.4,使用12345port(tcp),我们已经设定好了一个Percent Bandwidth At Capacity值很高的Service Class叫fast,那么在 upload qos中应该建立这样的rule:Destination IP: 1.2.3.4 ,Destination Port(s):12345,Transport Protocol:tcp,Set Service Class To:fast。在 download qos中应该建立这样的rule:Source IP: 1.2.3.4 ,Source Port(s):12345,Transport Protocol:tcp,Set Service Class To:fast。
对于没法判断数据,qos也会指定Service Class,即Default Service Class:的设定值,通常迅雷下载在线看电影都是很难判断的数据类型,而他们恰好是我要首先放弃的数据。所以Default Service Class:一般都会指定Percent Bandwidth At Capacity:值为1%的Service Class。那么怎么算是没法判断呢,就是按顺序检查所有的rule,还是不能满足该数据的特征,那么这条数据就会被指定为Default Service Class。类似的有些数据其实满足多条rule,那么这条数据会被指定为最先满足的rule的Service Class,也就是rule是有顺序的,比如在刚才限速的例子中,我们建立一个rule,Destination IP: 192.168.0.11,Set Service Class To:d100.那么到达192.168.0.11的数据应该被指定为d100的Service Class,但是如果在那条rule前面还存在另一条rule:Transport Protocol:tcp,Set Service Class To:fast。那么由于他下载使用的是tcp传输协议,那么这个数据就被指定为fast了,限速也就失效了。
综上,qos通过建立rule来给不同的数据指定Service Class,rule里面有9种特征,当你选择多于一种的特征时,他们的关系是同时满足的意思,之前我不能区分Source和Destination,于是在限速的例子中我就把Source和Destination都填上了192.168.0.11,结果不能出现预想的效果,因为路由器理解为这条数据来自192.168.0.11,并最终到达192.168.0.11,当然不是我所预想的了。这里我觉的,如果一个内网地址出现在download qos的Source ip中的话,或者外网地址出现在Destination IP中,应该能够给出一个错误提示,至少是警告,那就是这很可能是一个错误。另外,通讯是一个相互的过程,所以往往最好能upload qos和download qos 对应的一起设置,比如看网页吧,虽然主要是download,但是也是需要upload的,你得告诉服务器你要看什么不是,所以我们不仅需要在download qos 中做Source Port(s): 80的rule,最好对应的在upload qos中也设定 Destination Port(s):80的rule。最后就是要注意rule的顺序,后面的rule别被前面的吃掉(除非你故意让他吃)。

超字数,还有续。


评分

参与人数 13恩山币 +16 收起 理由
BBBBBBN + 1 兄弟,你肥皂又掉了…你是故意掉的?
zenghongfei1 + 1 我来恩山就是为了看你!
vf21 + 1 我来恩山就是为了看你!
HugoYuan + 1 亲,你太牛逼了,走,我请你吃鳇鱼头去~~~
3ax31a + 1 亲,你太牛逼了,走,我请你吃鳇鱼头去~~.
audivv + 1 强大的恩山!(以下重复1万次)
naypt + 1 楼主威武—我就想问问挖掘机技术哪家强?
mlinghe + 1 赞一个,你是我的呕像!
sands + 1 一看就是觉得高端、大气、上档次!
weirdxl + 1 楼主威武—我就想问问挖掘机技术哪家强?
ZHIZAI100 + 3 一看就是觉得高端、大气、上档次!
一路有你q + 1 呐,做人呢,最重要的就是开心
ivyswen + 2 写的非常好

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2013-6-11 17:37 | 显示全部楼层
我对石像鬼qos的一点理解。【使用hg255d】续
五、找到数据特征
我们希望能够有特权的数据可不只是看网页这种我们知道其特征的数据,比如我就在11平台打dota,怎么确定dota的数据特征呢?首先你应该尽可能的关掉所有的联网程序,然后在路由器中查看当前的数据连接情况。在路由器网页中,点status然后再点Connection List,这样你就能看到当前的连接情况了,默认的刷新时间是2秒,有点快,可以选择10秒甚至更久。每一组数据有两行五列,第一列,传输协议,第二列,上面是外网地址端口,下面是内网地址端口,第三列上面是upload的数据量,下面是download的数据量,记得我前面说的通讯是个相互的过程吧,每个数据都是有两部分构成的。第四列,上面是upload的Service Class,下面是download的Service Class,什么,你看到NA了,那就说明没有数据呗。第五列,应用层协议,挺不靠谱,很多都是unknown。因为你关了所有的联网程序,所以这里的连接应该会很少,你就全都复制下来,然后运行你要玩的游戏,游戏开始以后切换出来再看多出来的连接,主要关注服务器的port,就是第二列上面外网ip地址后面被冒号分隔开的那个数字,1024以下的不用关注了,都被定义或预留了,比如我在11打dota我就发现2012(tcp)2800(tcp)总是在打游戏时出现,于是我新建了一个Service Class:dota11,给他指定使用RTT,然后分别建立两个rule,upload qos 中  Destination Port(s): 是 2012和2800,对应的在downloadqos中 Source Port(s):是2012和2800.指定它们的Set Service Class To是dota11。并把这两条rule放到最上面,防止被吃掉。为了验证这两个数据就是我玩游戏时的数据,我会查看status下的QoS Distribution的信息。在我不玩游戏的时候,应该没有dota11的数据,而在我玩游戏后应该存在较大的dota11数据(默认的是分钟,这个时间太短,你可以选刻钟小时等)。运气不好的话再继续观察,猜测,然后实验,直到成功。
最后再次重申,以上都是我个人的理解,是否准确不得而知,仅给新手做个参考并希望老鸟能不吝赐教给予指正。如果你觉得对你有帮助,或者尽管没有帮助,但是我打了这么多字,没功劳也有苦劳,就烦请,回复,顶起。

我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2013-6-12 07:09 | 显示全部楼层
我去,楼主你真有耐心
顶起
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2013-6-12 07:57 | 显示全部楼层
楼主好文章,没刷过石鬼的都几乎看明白了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2013-6-12 08:30 | 显示全部楼层
之前对石像鬼的qos真的一头雾水 今天学习了不少!收藏!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2013-6-18 12:52 来自手机 | 显示全部楼层
但是觉得楼主的源端口 目标端口的解释好像不对啊。。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2013-6-21 07:44 | 显示全部楼层
pro_drive 发表于 2013-6-18 12:52
但是觉得楼主的源端口 目标端口的解释好像不对啊。。

你可以在download qos 中放一个Source Port 80的rule,然后做一个限速1的Service Class给他并置顶,看看你还能上网页不。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2013-8-16 21:58 | 显示全部楼层
买好1点QOS路由的厂家家都是关键游戏网址数据和电影网数据的。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2013-8-18 20:59 | 显示全部楼层
对于qos我觉得是需要自己做实验的,不断的实验,获得不同设置产生的不同的效果,同时设计能满足自己需要的设置方案。但是这里的qos属于软件层面的,软件层面的东西的实现是依靠硬件的,也许从想法上你的方案是有效的,但是可能硬件不能百分之百的发挥你设计的效果,这也是你需要分析考虑的内容。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2013-8-25 14:49 | 显示全部楼层
不错,很强大,准备对着楼主的解析试试,谢谢分享这么好的经验
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2013-9-29 03:00 | 显示全部楼层
qq旋风 port 是80,和浏览网页一样。 请问怎么单独设置QQ旋风的优先级啊!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2013-12-31 21:55 | 显示全部楼层
感谢分析~
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-1-1 09:19 | 显示全部楼层
楼主要不放上你的配置模板吧
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-1-1 11:01 | 显示全部楼层
学习、收藏、丁楼主。
能否分享配置模板?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-1-9 08:35 | 显示全部楼层
多谢楼主呀            
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-18 09:03

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表