脚本的作用是为局域网子网 192.168.1.0/24
实现 基于PCQ(Per Connection Queue)算法的流量限制和队列管理。
先检查自己的ROS版本
第一部分:定义队列类型
脚本:
#v6/v7都支持,按自己需求调整限速大小
/queue type
add kind=pcq name=13_down pcq-classifier=dst-address \
pcq-burst-rate=4M pcq-burst-threshold=2M pcq-rate=2M
add kind=pcq name=13_up pcq-classifier=src-address \
pcq-burst-rate=500k pcq-burst-threshold=256k pcq-rate=256k
作用:
kind=pcq
:- 使用PCQ算法按连接或IP对流量进行公平分配。
pcq-classifier=dst-address
和src-address
:dst-address
:下行流量根据目标地址(即接收端的IP地址)进行区分和限制。src-address
:上行流量根据源地址(即发送端的IP地址)进行区分和限制。
pcq-burst-rate
、pcq-burst-threshold
和pcq-rate
:pcq-rate
:基础流量限制,定义单个连接或IP的速率限制。- 下行流量限制为 2 Mbps。
- 上行流量限制为 256 Kbps。
pcq-burst-rate
:允许的突发最大速率。- 下行流量允许突发到 4 Mbps。
- 上行流量允许突发到 500 Kbps。
pcq-burst-threshold
:触发突发速率的阈值。- 下行流量需要达到 2 Mbps 才触发突发。
- 上行流量需要达到 256 Kbps 才触发突发。
第二部分:应用队列规则
脚本:
#v6
/queue simple add disabled=no name=all queue=13_up/13_down target-addresses=192.168.1.0/24
#v7
/queue simple add disabled=no name=all queue=13_up/13_down target=192.168.1.0/24
作用:
/queue simple
:- 创建一个简单队列,用来将上述定义的PCQ规则应用到目标子网。
queue=13_up/13_down
:- 指定使用前面定义的
13_up
和13_down
作为上行和下行队列规则。
- 指定使用前面定义的
target-addresses=192.168.1.0/24
:- 队列管理的目标是子网
192.168.1.0/24
,即管理这一子网中所有设备的流量。
- 队列管理的目标是子网
disabled=no
:- 队列规则启用。
第三部分:对单个或多个服务器例外使用较大限速
#v6
/queue simple add max-limit=100M/100M name=server1 target-addresses=192.168.1.251/32 place-before=0
#v7
/queue simple add max-limit=100M/100M name=server1 target=192.168.1.251/32 place-before=0
作用:
/queue simple add
- 创建一个新的简单队列(Simple Queue)规则
max-limit=100M/100M
- 设置带宽限制
- 下行(下载)最大速率:100 Mbps
- 上行(上传)最大速率:100 Mbps
name=server1
- 为这个队列规则命名为 “server1”
- 便于识别和管理
target=192.168.1.251/32
- 指定目标 IP 地址为 192.168.1.251
/32
表示精确的单个 IP 地址
place-before=0
- 将这个队列规则放置在队列列表的最顶部,让这条规则优先于整段控制规则
0
表示列表的第一个位置
总的来说,这条命令的作用是:为 IP 地址 192.168.1.251 创建一个带宽限制为 100 Mbps 的简单队列规则,并将其放在队列规则列表的最顶部。
总结效果
- 对局域网中每台设备的下行流量(下载速度):
- 默认限制在 2 Mbps。
- 短时间内可突发到 4 Mbps,如果持续下载速度超过 2 Mbps,突发速率会终止。
- 对局域网中每台设备的上行流量(上传速度):
- 默认限制在 256 Kbps。
- 短时间内可突发到 500 Kbps,但如果持续上传速度超过 256 Kbps,突发速率会终止。
- 对server192.168.1.251进行单独控制,限制上传和下载都100M,例外于整段限速规则
除服务器组外,其它所有用户基于IP地址进行公平分配,每台设备的流量独立计数,避免个别设备占用全部带宽。