求教:如何使用GM300组建中继
发布网友
发布时间:2023-09-28 09:15
我来回答
共1个回答
热心网友
时间:2024-10-21 11:09
Qos中一般都有以下几个概念,ip、端口、协议、L7等
ip 就是设备在互联网上的地址
端口 计算机有1~65536(即:2^16)个端口,1~1024端口都绑定一些公认的服务,比如上网用的80,443,DHCP的53端口
1024以后一般是随机分配的端口。可以这样理解下,ip是指那栋公寓,端口就是房门号。每个程序都需要ip+端口才能通信
所以我们就可以对流量整形,即Qos
协议 不同软件间通信有不同的数据格式
L7 识别不同协议数据包的工具
Gargoyle Qos是基于端口的,也有基于L7的,比如dd。石像鬼qos里有rule和service两个部分。
service类似于各类通道,有动车,特快,普快,普快当然需要给动车让路
rule则是把各个包分类到不同通道的规则,这两个我们都可以自定义,不过,service和rule越多,qos功能占用内存越多。
首先要把带宽设置为自己网络的带宽,一般设为实际值的95%,上传比下载稍小些
默认有四个service类,VoIP,fast,slow,normal。
每个service类有4个属性,分别介绍:
Percent BW:配置该服务类当带宽被全部使用时,应被分配的带宽比例。当带宽没有被全部使用,分配带宽可以超过设定值。
所有service类的该属性值的和是100。
Min BW :配置该服务类最小应被分配的带宽(这个的单位是kbps,而不是百分比),系统会优先满足该服务类的带宽。
这对于某些要求延时较小的应用很有用,比如,在线游戏,网络视频等。
Max BW :配置该服务类最大应被分配的带宽(这个的单位是kbps,而不是百分比),即使有剩余的可用带宽,
该服务类也不允许使用超过该设置的带宽。
Min Rtt:当ACC启用时配置该服务类是否启用最小延时功能,牺牲30%左右的带宽来换取降低50%左右的延时。
Active Congestion Control(ACC):类似于一个守护进程,定时ping一个ip(默认是网关),来获取网络
使用情况,根据结果采取一定措施,进入不同模式,你可以自定义ping的目标ip和最小ping值。当有数据包通过启用Min Rtt的service时,ACC
会进入MINRTT模式。其实ACC的主要功能在MINRTT上。
rule里的属性全是为了匹配数据包而设计的,rule的目的就是找到有这些属性的数据包
rule是按从上到下匹配的,如果数据包已经匹配到rule,就不再向下匹配
关于rule有10个属性,其中对于ip和端口,一般情况下upload配置目标(Destination)端口、ip,download配置来源(Source)端口、ip
ip、端口的作用上面已经说了,举例,比如我想优化某个游戏的延时,我就要知道它走哪个端口,一般不需要具体到ip,
然后把这个rule放到优先级高且启用Min Rtt的service,这样,就可以得到比较好的效果。反之可以*某些应用,但要注意,
你*太严格了,没准应用会频繁打开新端口,因为每个开发者都想带给用户最好的体验。
下面是关于Packet Length的两个属性,数据包的长度是一个范围。这个用的不多,当然可以通过它优化小包的延迟。
下一项是数据包的协议(Transport Protocol),这个一般也不常用。
Connection bytes reach 指该链接建立以来,传输数据的总量。比如默认设置把80,443端口的该属性值设为1M,并且服务
为normal,并且放在了最上面,效果就是,一开始链接的优先级很高,当连续传输数据达1M是优先级降低。这是有用的,
因为不是只有浏览网页使用80端口,Steam下载游戏时也是使用80端口,据说迅雷某些时候也会使用80端口,对于这些
还可以在Packet Length上区分。也许1M对于区分网页是合适的,但区分网页视频和其它程序显得有些小,可以再加个大些的rule嘛。
Application (Layer7) 这个一般不用,因为识别成功率不理想。
下个就是设置该rule识别到的数据包指定要走的service