ROS软路由论坛 ROSABC.com 网络方案网络工程交流

 找回密码
 会员注册

QQ登录

只需一步,快速开始

查看: 87749|回复: 170

[Queue流量控制] [Simple Queue 简单队列] 限制数据率的 IP 地址和子网的最简

  [复制链接]
发表于 2013-4-21 02:45:09 | 显示全部楼层 |阅读模式

马上注册成为ROSABC会员,随时发帖回复。

您需要 登录 才可以下载或查看,没有账号?会员注册

x
Simple Queue 简单队列

限制数据率的 IP 地址和子网的最简单方法就是使用简单队列。你也可以使用简单队列建立高级 QoS 应用:

-- P2P 流量队列

-- 在选定时间间隔执行队列规则

-- FIFO 优先级

-- 从 /ip firewall mangle 使用多重包标记

-- 形成双向流量(对上传和下载的带宽限制)

属性描述

burst-limit (整数/整数) - 当脉冲串以 in/out(目标上传/下载)形式激活时可以达到的最大数据率

burst-threshold (整数/整数) - 用于计算是否允许脉冲串。如果上一次脉冲时间的平均数据率低于 burst-threshold 则 实际数据率可能达到 burst-limit。以 in/out(目标上传/下载)的形式。

burst-time (整数/整数) - 用于计算平均数据率。以 in/out(目标上传/下载)的形式。

direction (非同时上传和下载) - 流量控制方向

none – 队列停止有效的工作

both – 队列同时限制目标上行和目标下行

upload – 队列仅限制目标上行,下行的数据不会被限制

download - 队列仅限制目标下行,上行的数据不会被限制

dst-address (IP 地址/子网掩码) - 要匹配的目标地址 dst-netmask (子网掩码) - dst-address 的掩码 interface (文本) - 队列应用的对象端口。

limit-at (整数/整数) – 该队列以 in/out(目标上传/下载)的形式约定的数据率

max-limit (整数/整数) - 在有足够带宽情况下可以达到的数据率,以 in/out(目标上传/下载)的形式。

name (文本) - 队列的描述性名称

p2p (any | all-p2p | bit-torrent | blubster | direct-connect | edonkey | fasttrack | gnutella | soulseek | winmx)

– 控制匹配的 P2P 流量类型

all-p2p – 匹配的所有 P2P 传输  

any – 匹配任何数据包(即不会检查该属性)

packet-marks (名称; 默认: "") - /ip firewall 中的数据包标记

mangle 更多数据包标记使用逗号(",")搁开。

parent (名称) - 父队列在等级制度中的名称。只能是其他简单队列

priority (整数: 1..8) -队列的优先级。 1 是最高级的,8 是最低的

queue (名称/名称; 默认: default/default) - 以 in/out(目标上传/下载)的形式来自/queue type 的队列名称

target-addresses (IP 地址/子网掩码) - 限制目标 IP 地址(源地址)。使用多地址用逗号分搁开

time (时间,sat | fri | thu | wed | tue | mon | sun{+}; 默认: "") - 限制队列在一个特定时间段的影响

total-burst-limit (整数) - global-total 队列的脉冲串限制

total-burst-threshold (整数) - global-total 队列的脉冲串门限

total-burst-time (时间) - global-total 队列脉冲串时间

total-limit-at (整数) - 限制累计的上传和下载为 total-limit-at bps

total-max-limit (整数) - global-total 队列的限制上限 (限制累计的上传和下载为 total-max-limit bps)

total-queue (名称) - global-total 队列的队列规则

应用举例

下面假设我们想要对网络 192.168.0.0/24 流量限制为:下行 1Mb 上行 512kb,这里我们需要让服务器 192.168.0.1不受流量控制。网络的基本设置如图:
游客,如果您要查看本帖隐藏内容请回复



这里我们使用(simple queue)简单队列,首先我们配置 RouterOS 的 IP 地址、网关和 NAT 等基本网络参数:


[RouterOS@ROSABC] ip address> print
Flags: X – disabled, I – invalid, D - dynamic
# ADDRESS NETWORK BROADCAST INTERFACE
0 192.168.0.254/24 192.168.0.0 192.168.0.255 Local
1 10.5.8.104/24 10.5.8.0 10.5.8.255 Public

[RouterOS@ROSABC] ip address>

路由配置:


[RouterOS@ROSABC] ip route> print
Flags: X – disabled, A – active, D – dynamic,
C – connect, S – static, r – rip, b – bgp, o - ospf
# DST-ADDRESS G GATEWAY DISTANCE INTERFACE
0 ADC 10.5.8.0/24 Public
1 ADC 192.168.0.0/24 Local
2 A S 0.0.0.0/0 r 10.5.8.1 Public

[RouterOS@ROSABC] ip route>

最后不要忘记在 ip firewall nat 中配置 src-nat 的伪装或 nat,做地址转换操作。

为网络 192.168.0.0/24 的所有客户端添加一个限制下载流量为 2Mb 上传流量 1Mb 的简单队列规则。


[RouterOS@ROSABC] queue simple> add name=Limit-Local target-address=192.168.0.0/24 max-limit=1000000/2000000

[RouterOS@ROSABC] queue simple> print
Flags: X - disabled, I - invalid, D - dynamic
0 name="Limit-Local" target-addresses=192.168.0.0/24 dst-address=0.0.0.0/0
parent=none priority=8 queue=default/default limit-at=0/0 max-limit=1000000/2000000 total-queue=default

[RouterOS@ROSABC] queue simple>

max-limit 限制了最大可用带宽,从客户的角度看,参数 target-addresses 定义限制带宽的目标网络或者主机(也可 以用逗号分隔开网络段或主机地址)。

这里不想让服务器受到我们添加上面规则的任何流量限制,我们可以通过添加一个没有任何限制的规则(max-limit=0/0代表没有任何限制)并把它移到列表的顶部:


[RouterOS@ROSABC] queue simple> add name=Server target-addresses=192.168.0.1/32
[RouterOS@ROSABC] queue simple> print
Flags: X - disabled, I - invalid, D - dynamic
0 name="Limit-Local" target-addresses=192.168.0.0/24 dst-address=0.0.0.0/0 parent=none priority=8 queue=default/default limit-at=0/0 max-limit=65536/131072
total-queue=default
1 name="Server" target-addresses=192.168.0.1/32 dst-address=0.0.0.0/0 parent=none priority=8 queue=default/default limit-at=0/0 max-limit=0/0
total-queue=default

[RouterOS@ROSABC] queue simple> move 1 0


[RouterOS@ROSABC] queue simple> print
Flags: X - disabled, I - invalid, D - dynamic
0 name="Server" target-addresses=192.168.0.1/32 dst-address=0.0.0.0/0 parent=none priority=8 queue=default/default
limit-at=0/0 max-limit=0/0 total-queue=default
1 name="Limit-Local" target-addresses=192.168.0.0/24 dst-address=0.0.0.0/0 parent=none priority=8 queue=default/default
limit-at=0/0 max-limit=65536/131072 total-queue=default

[RouterOS@ROSABC] queue simple>

发表于 2013-5-27 14:14:47 | 显示全部楼层
学习学习!!!
发表于 2013-5-28 14:00:45 | 显示全部楼层
gfghtyhtrytryrtyhrtyhtr
发表于 2013-6-22 11:02:28 | 显示全部楼层
学习了,顶上去!~多谢楼主
发表于 2013-6-22 20:27:45 | 显示全部楼层
:):)
发表于 2013-6-23 20:48:51 | 显示全部楼层
jlkjljlkjljkljlkj
发表于 2013-7-14 12:44:24 | 显示全部楼层
非常感谢
发表于 2013-7-20 10:13:35 | 显示全部楼层
看看简单队列
发表于 2013-7-21 19:16:05 | 显示全部楼层
学习下,怎么玩这个东西。
发表于 2013-8-2 19:30:25 | 显示全部楼层
看一看远程控制指定窗口句柄
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

不良信息举报Q:2000617

软路由

不良信息举报Q:2000617|Archiver|ROS软路由论坛 ROSABC.com 网络方案网络工程交流

GMT+8, 2025-3-29 15:28 , Processed in 0.384813 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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