RouterOS流量控制方案

RouterOS 的 PCQ + HTB 的动态流控与游戏优先,通过 Mangle 标记数据和 queue tree 的 HTB控制,完全抛弃simple queue限速。
Simple Queue的缺点
规则越多,处理的数据越多,CPU消耗越大
规则越多,后面的规则获取带宽的几率越小
如果有1000条Simple queue规则,那必须判断查询999条规则(必要时减少queue数量)

RouterOS 的 PCQ + HTB 的动态流控与游戏优先,通过 Mangle 标记数据和 queue tree 的 HTB控制,完全抛弃simple queue限速。
Simple Queue的缺点
规则越多,处理的数据越多,CPU消耗越大
规则越多,后面的规则获取带宽的几率越小
如果有1000条Simple queue规则,那必须判断查询999条规则(必要时减少queue数量)
RouterOS的运用与行业环境
设计思路
行业常规
动态分配流控
采用动态方式进行带宽分配,单个用户可以获得最大带宽,用户数增加后自动平分
单机固定限速,不能动态流控,人数多了网速变慢,人少时带宽无法有效分配
HTB游戏优先
在PCQ的动态流控基础上,为游戏预留带宽,通过策略优化游戏端口,并优先处理。
很难区分游戏端口,不能完全实现游戏优先处理
动态流量根据网络带宽进行分配,根据在线用户变化动态分配带宽,下面一个12M总带宽的网络,PCQ-rate设置为4M和未设置(即设置为0)情况下的带宽分配:


这里我们有一个实际环境,我们需要实现对带宽的动态分配;电信带宽为6M,网通带宽为12M;
配置步骤:
在 ip firewall mangle 标记上下行数据流
进入 queue type 定义单机带宽
在 queue tree 定义总带宽和流量控制规则
步骤1:在 Mangle 标记上下行的标记:

步骤2:在 Queue Type 里按照200台主机的数量,定义 PCQ 规则:

步骤3:建立 Queue Tree 规则,记住保留一定带宽为缓冲

HTB 游戏优先
通过HTB为游戏预留带宽,保证在下载和视频情况下,游戏照样流畅:

HTB+PCQ 组合实现
步骤1:在原有的动态的PCQ流控规则上进行改进,首先导入游戏端口,建立新的gamesdown链表,将游戏与其他数据区分出来

通过将指定的数据转移到游戏链表进行过滤和数据包处理:

假设电信带宽是11M,预留2M为缓冲带宽,最大带宽为9M,电信线路下行的HTB设置,游戏优先级为1最高,其他下行数据为8最低;这里游戏只分配了3M最大带宽,最低保证2M,对于游戏带宽较小不需要那么大;其他下行数据最低保证6M。

如果需要,也可以为游戏流量配置PCQ规则,对每个用户进行带宽控制