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

 找回密码
 会员注册

QQ登录

只需一步,快速开始

查看: 8068|回复: 1

[交流] 试译routeROS软路由官网“带宽控制”资料片段

[复制链接]
发表于 2011-11-6 22:13:29 | 显示全部楼层
支持楼主~~~~~~~
 楼主| 发表于 2011-11-1 01:59:18 | 显示全部楼层 |阅读模式

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

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

x
资料片段的原文地址:http://www.rosabc.com/docs/ROS软路由/2.9/root/queue

下面是靠金山词霸帮助,试译的片断,其中的例子代表性很强。理解不足请大家指正。
。。。。。
。。。。。。。
应用例子:
效仿(模拟?)一个上传64kbps,下载128kbps线路的例子:
假想,我们希望给网络192.168.0.0/24,模拟一条上传64kbps,下载128kbps的出口线路。
网络192.168.0.0/24的服务由ROS软路由的本地接口穿过,基本网络设置如下图:


解决这个问题,我们将使用simple queues(简单队列?)
ROS软路由里的ip地址列表:
[admin@MikroTik] 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
[admin@MikroTik] ip address>

和路由列表:
[admin@MikroTik] 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
[admin@MikroTik] ip route>

添加一个 simple queue规则,那个将被限制下载128kbps,上传64kbps的客户网络是192.168.0.0/24,服务通过本地接口

[admin@MikroTik] queue simple> add name=Limit-Local interface=Local
... target-address=192.168.0.0/24 max-limit=65536/131072
[admin@MikroTik] 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
interface=Local parent=none priority=8 queue=default/default
limit-at=0/0 max-limit=65536/131072 total-queue=default
[admin@MikroTik] queue simple>

max-limit参数设定下载的最大带宽。
从用户的观点看,值65536/131072,意味着他们将得到的最大数是131072bps下载,65536bps上传。target-addresses参数定义目标网络(或用逗号隔开的多个网络)。

现在看流量负荷:
[admin@MikroTik] interface> monitor-traffic Local
received-packets-per-second: 7
received-bits-per-second: 68kbps
sent-packets-per-second: 13
sent-bits-per-second: 135kbps

[admin@MikroTik] interface>

大概,你想将服务器排除在限制之外,如果这样,添加一个没有任何限制的队列给它(max-limit=0/0 表示没有限制),并把它移到列表的最前端。
[admin@MikroTik] queue simple> add name=Server target-addresses=192.168.0.1/32
... interface=Local
[admin@MikroTik] 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
interface=Local 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
interface=Local parent=none priority=8 queue=default/default
limit-at=0/0 max-limit=0/0 total-queue=default
[admin@MikroTik] queue simple> mo 1 0
[admin@MikroTik] 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
interface=Local 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
interface=Local parent=none priority=8 queue=default/default
limit-at=0/0 max-limit=65536/131072 total-queue=default
[admin@MikroTik] queue simple>

使用Masquerading的queue tree(队列树?)例子:

前一个例子,我们为本地网络模拟一个下载128kbps和上传64kbps的流量。
在这个例子,我们将保证给本地网络设备256kbps下载(128kbps给服务器,64kbps给工作站,64kbps给笔记本)128kbps上传(分别给64/32/32)。
如果那里有空闲的带宽,就把它共享给每一个用户。在这个例子,如果我们关闭笔记本,服务器和工作站会共享它的64kbps下载和32kbps上传带宽。

使用masquerading,你用new-connection-mark标记外出连接,动作(action)是mark-connection,当这个完成时,你能用new-packet-mark标记所有数据包中那些属于这个连接的数据包,动作是mark-packet。



1.首先,标记服务器的下载和上传数据流。地一条规则我们将标记外出连接,第二条标记所有的数据包中,那些属于这个连接。

[admin@MikroTik] ip firewall mangle> add src-address=192.168.0.1/32
... action=mark-connection new-connection-mark=server-con chain=prerouting
[admin@MikroTik] ip firewall mangle> add connection-mark=server-con
... action=mark-packet new-packet-mark=server chain=prerouting
[admin@MikroTik] ip firewall mangle> print
Flags: X - disabled, I - invalid, D - dynamic
0 chain=prerouting src-address=192.168.0.1 action=mark-connection
new-connection-mark=server-con

1 chain=prerouting connection-mark=server-con action=mark-packet
new-packet-mark=server
[admin@MikroTik] ip firewall mangle>

2.笔记本和工作站也一样:
[admin@MikroTik] ip firewall mangle> add src-address=192.168.0.2
... action=mark-connection new-connection-mark=lap_works-con chain=prerouting
[admin@MikroTik] ip firewall mangle> add src-address=192.168.0.3
... action=mark-connection new-connection-mark=lap_works-con chain=prerouting
[admin@MikroTik] ip firewall mangle> add connection-mark=lap_works-con
... action=mark-packet new-packet-mark=lap_work chain=prerouting
[admin@MikroTik] ip firewall mangle> print
Flags: X - disabled, I - invalid, D - dynamic
0 chain=prerouting src-address=192.168.0.1 action=mark-connection
new-connection-mark=server-con

1 chain=prerouting connection-mark=server-con action=mark-packet
new-packet-mark=server

2 chain=prerouting src-address=192.168.0.2 action=mark-connection
new-connection-mark=lap_works-con

3 chain=prerouting src-address=192.168.0.3 action=mark-connection
new-connection-mark=lap_works-con

4 chain=prerouting connection-mark=lap_works-con action=mark-packet
new-packet-mark=lap_work
[admin@MikroTik] ip firewall mangle>

你可以看到,我们给笔记本和工作站的数据流同样的标记。


3.在 /queue tree里添加规则,限制服务器的下载荷上传。
[admin@MikroTik] queue tree> add name=Server-Download parent=Local
... limit-at=131072 packet-mark=server max-limit=262144
[admin@MikroTik] queue tree> add name=Server-Upload parent=Public
... limit-at=65536 packet-mark=server max-limit=131072
[admin@MikroTik] queue tree> print
Flags: X - disabled, I - invalid
0 name="Server-Download" parent=Local packet-mark=server limit-at=131072
queue=default priority=8 max-limit=262144 burst-limit=0
burst-threshold=0 burst-time=0s

1 name="Server-Upload" parent=Public packet-mark=server limit-at=65536
queue=default priority=8 max-limit=131072 burst-limit=0
burst-threshold=0 burst-time=0s
[admin@MikroTik] queue tree>

类似地分配流量给笔记本和工作站:
[admin@MikroTik] queue tree> add name=Laptop-Wkst-Down parent=Local
... packet-mark=lap_work limit-at=65535 max-limit=262144
[admin@MikroTik] queue tree> add name=Laptop-Wkst-Up parent=Public
... packet-mark=lap_work limit-at=32768 max-limit=131072
[admin@MikroTik] queue tree> print
Flags: X - disabled, I - invalid
0 name="Server-Download" parent=Local packet-mark=server limit-at=131072
queue=default priority=8 max-limit=262144 burst-limit=0
burst-threshold=0 burst-time=0s

1 name="Server-Upload" parent=Public packet-mark=server limit-at=65536
queue=default priority=8 max-limit=131072 burst-limit=0
burst-threshold=0 burst-time=0s

2 name="Laptop-Wkst-Down" parent=Local packet-mark=lap_work limit-at=65535
queue=default priority=8 max-limit=262144 burst-limit=0
burst-threshold=0 burst-time=0s

3 name="Laptop-Wkst-Up" parent=Public packet-mark=lap_work limit-at=32768
queue=default priority=8 max-limit=131072 burst-limit=0
burst-threshold=0 burst-time=0s
[admin@MikroTik] queue tree>

用户平分带宽例子(pcq?):

这个例子示范了如何将10mbps下载2mbps上传,均分给网络192.168.0.0/24中的活动的用户。
如果主机A下载2Mbps,主机B就只能获得8mbps,反之亦然。
有这样一种情况,他们都想获得最大带宽(10mbps),他们将各自获得5mbps,上传也一样。这个设置同样是用于更多用户的情形。


首先,所有来自本地网络192.168.0.0/24的流,标记 一个用户标记。
/ip firewall mangle add chain=forward src-address=192.168.0.0/24
action=mark-connection new-connection-mark=users-con
/ip firewall mangle add connection-mark=users-con action=mark-packet
new-packet-mark=users chain=forward

现在我们将添加两个新的PCQ类型。第一个命名pcq-download,将依据目的地址聚合所有流。我们将给本地接口使用这个queue type。它将为那些目的地址是网络192.168.0.0/24的下载,创建一个动态队列。
第二个命名为pcq-upload,将依据源地址聚合所有流。我们将给公网接口使用,所以它将为来自本地网络192.168.0.0/24到internet的上传,创建以一个动态队列。
/queue type add name=pcq-download kind=pcq pcq-classifier=dst-address
/queue type add name=pcq-upload kind=pcq pcq-classifier=src-address

最后,给下载流创建一个queue tree。
/queue tree add name=Download parent=Local max-limit=10240000
/queue tree add parent=Download queue=pcq-download packet-mark=users

给上传流的:
/queue tree add name=Upload parent=Public max-limit=2048000
/queue tree add parent=Upload queue=pcq-upload packet-mark=users

注意:如果你的ISP不能提供一个固定的流量,你可以在上传QUEUE规则和下载QUEUE规则中,直接在接口上使用QUEUE。
/queue tree add parent=Local queue=pcq-download packet-mark=users
/queue tree add parent=Public queue=pcq-upload packet-mark=users
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

不良信息举报Q:2000617

软路由

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

GMT+8, 2024-5-7 11:20 , Processed in 0.522571 second(s), 17 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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