PCQ example
Per Connection Queue(PCQ,每连接队列)是 RouterOS 中用于在用户之间均衡带宽的排队方法,本文给出的示例展示了如何使用 Queue Tree 和 Simple Queues 设置下载/上传限制。
PCQ 示例
Per Connection Queue(PCQ)是一种排队规则,可用于以较少的管理工作动态均衡或整形多个用户的流量。可以将 PCQ 场景分为三大类:为若干用户提供相等带宽、在用户之间进行特定带宽的均等分配,以及在用户之间进行未知带宽的均等分配。
为若干用户提供相等带宽
可以通过 Queue Tree 和 Simple Queues 使用 PCQ 类型,为若干用户均衡带宽 [并设置最大限制]。我们将设置 64kbps 下载和 32kbps 上传限制。

步骤 1:在 Queue Types 中添加 PCQ
新增两个条目——一个用于下载,一个用于上传。dst-address 是用户下载流量的分类器,src-address 用于上传流量:
/queue/type/add name="PCQ_download" kind=pcq pcq-rate=64000 pcq-classifier=dst-address
/queue/type/add name="PCQ_upload" kind=pcq pcq-rate=32000 pcq-classifier=src-address
步骤 2:部署 PCQ
Queue Tree 选项
用 packet-marks upload/download 标记所有数据包:(假设 ether1-WAN 是通往 Internet 的公共接口,ether2-LAN 是客户端所连接的本地接口):
/ip/firewall/mangle/add chain=prerouting action=mark-packet \
in-interface=ether2-LAN new-packet-mark=client_upload
/ip/firewall/mangle/add chain=prerouting action=mark-packet \
in-interface=ether1-WAN new-packet-mark=client_download
然后,需要两条队列规则,一条用于下载,一条用于上传:
/queue/tree/add parent=global queue=PCQ_download packet-mark=client_download
/queue/tree/add parent=global queue=PCQ_upload packet-mark=client_upload
Simple Queues 选项
或者,你也可以用一条命令完成:
/queue/simple/add target=192.168.0.0/24 queue=PCQ_upload/PCQ_download