ROS软路由论坛 ROSABC.com

 找回密码
 会员注册
查看: 38734|回复: 275

[Queue流量控制] [HTB 与 PCQ 流量控制] 我使用 MikroTik RouterOS 通过 PPPoE 连接到

  [复制链接]
发表于 2013-4-21 02:51:12 | 显示全部楼层 |阅读模式
ROS软路由论坛
HTB 与 PCQ 流量控制

我使用 MikroTik RouterOS 通过 PPPoE 连接到互联网(基于 ADSL 拨号),为了了内网的用户得到优质的网络环境,通 过对流量上下行流量进行优先控制,保证特定的网络用户得到优质的网络带宽。

局域网采用以太网有线和 WiFi 无线接入方式,通过一个 bridge 将有线口与无线连接起来,网络拓扑图如下:
游客,如果您要查看本帖隐藏内容请回复



注意:

-- ADSL 是一个 PPPoE 客户端接口.运行在 ether1 的网卡上,ether1 连接到一个 ADSL-modem

-- 内网 IP 地址 192.168.10.1/24,内网通过以太网和 WiFi 无线接入方式

-- 通过 NAT/Masquerad 隐藏内网用户。

-- ADSL 连接速度:3Mbps

客户主机

主机     IP                 优先级                        备注
服务器   192.168.10.6       优先级4                       公司服务器
VIP      192.168.10.7       优先级2                       重要上网人员,优先级最高
工作站   192.168.10.0/24    等级低8,但除icmp协议         员工工作电脑

服务端口
协议  端口协议 优先级   目标
ICMP icmp      最高 1   所有主机

如何获得优先的互联网带宽和流量控制,通过下面的步骤来实施:

-- 由于 ADSL 有较小的缓冲空间,并当带宽满载下载速度会变慢。所以 RouterOS 配置上传或者下载不能超 过 90%;

-- 当 VIP 想与外面通信,将得到最优先带宽;

-- ICMP 协议优先通过,得到较小的延迟;

-- 需要考虑 CIR(约定带宽)即 Limit-at,MIR(最大带宽)即 Max-limit,每个流量控制需要考虑他们的 CIR 与 MIR 值

基本配置

下面我可以看到通过 ether2-wan 拨号的 ADSL 外网拨号接口,桥接 ether1-lan 与 wlan1 的 bridge1 的接口


[RouterOS@ROSABC] /interface> print
Flags: D - dynamic, X - disabled, R - running, S - slave
# NAME TYPE MTU L2MTU
0 R ADSL pppoe-out 1480
1 R bridge1 bridge 1500 65535
2 R ether1-lan ether 1500 1526
3 R ether2-wan ether 1500 1524
4 ether3 ether 1500 1524
5 R wlan1 ether 1500 1524
[RouterOS@ROSABC] /interface>

定义 HTB 流量控制

HTB 里,我们需要考虑到父级、子级等关系,首先定义父级(parents),即上下行的总带宽,即定义整个 HTB 的总带宽经过带宽测试后,计算出 ADSL 带宽为 2850/420kbps,我们需要在 queue tree 添加带宽限制,使用 90%的实际带宽分 配给下载和上传,这里我们定义总的上下行带宽,parent 定义接口,bridge1 对应内网的下行数据(这里我们将),ADSL 则对应发出的上行数据

/queue tree add name=Download parent=bridge1 max-limit=2600k
/queue tree add name=Upload parent=ADSL max-limit=360k

ICMP 协议

对 ICMP 协议进行标记和流量控制,ICMP 协议我们需要首先满足,让所有用户得到较低 ICMP 延迟。进入 mangle 标记连接和数据包

/ip firewall mangle add protocol=icmp action=mark-connection new-connection-mark=icmp-con chain=forward
/ip firewall mangle add connection-mark=icmp-con action=mark-packet new-packet-mark=icmp chain=forward

我们进入 Queue tree,我们考虑到 ICMP 协议主要是网络监测,对带宽需求不大,CIR 定义为 100kbps,最大 MIR 带宽为500kbps,保证正常的 ICMP 通信就可以了

/queue tree add name=icmp-down parent=Download packet-mark=icmp limit-at=100k max-limit=500k priority=1
/queue tree add name=icmp-up parent=Upload packet-mark=icmp limit-at=100k max-limit=500k     priority=1

VIP 优先级高于其他主机

192.168.10.7 为 VIP 需要得到更多的带宽,但需要考虑到 CIR 保证使用到最低带宽,这里我们为 VIP 分配最低下行800kbps,上行 200kbps 带宽,当然 MIR 最大可以获取到 2600kbps

标记 VIP 的连接传输与数据:

/ip firewall mangle add src-address=192.168.10.7/32 action=mark-connection new-connection-mark=vip-con chain=forward
/ip firewall mangle add connection-mark=vip-con action=mark-packet new-packet-mark=vip chain=forward

接下来进入 Queue tree 对 VIP 配置带宽规则:

/queue tree add name=vip-down parent=Download limit-at=1024 packet-mark=vip max-limit=5000k priority=2
/queue tree add name=vip-up parent=Upload limit-at=512 packet-mark=vip max-limit=100k
priority=2

服务器规则

我们将 192.168.10.6 的服务器标记,并定义他们的 HTB 带宽规则

/ip firewall mangle add src-address=192.168.10.6/32 action=mark-connection new-connection-mark=server-con chain=forward
/ip firewall mangle add connection-mark=server-con action=mark-packet new-packet-mark=server chain=forward

进入 Queue tree 对服务器带宽规则:

/queue tree add name=server-down parent=Download limit-at=1024 packet-mark=server max-limit=2600k priority=4
/queue tree add name=server-up parent=Upload limit-at=512 packet-mark=server max-limit=300k
priority=4

工作主机最低级别

剩下工作主机需要标记所有的传输,所有传输来至 192.168.10.0/24,因此我们使用 src-address 获取,通过标记连接(users-con),然后从连接中提取数据包(users)。

/ip firewall mangle add chain=forward src-address=192.168.10.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 passthrough=no

这时我们需要添加 2 条新的 PCQ 规则,第一条为 ADSL-down,定义组的 dst-address 分类,即 ADSL 的下载,将 pcq-rate设置为 0,这样将建立每个主机的动态带宽。第二条为 ADSL-up,即 ADSL 的上行,定义组为 src-address 分类,

pcq-rate=100kbps,限制每台主机的上行带宽(因为 ADSL 上行相对较小)。

/queue type add name=ADSL-down kind=pcq pcq-classifier=dst-address
/queue type add name=ADSL-up kind=pcq pcq-rate=100k pcq-classifier=src-address

在 queue tree 定义

/queue tree add parent=Download queue=users-down packet-mark=users
/queue tree add parent=Upload queue=users-up packet-mark=users

发表于 2013-5-25 00:03:23 | 显示全部楼层
ROS软路由论坛
谢谢谢谢谢谢谢谢谢谢
发表于 2013-5-28 10:22:02 | 显示全部楼层
正需要流控控制规则
发表于 2013-5-28 13:57:22 | 显示全部楼层
fsfsdfsdfsdfsdfsd
发表于 2013-6-14 08:11:43 | 显示全部楼层
看看再说。。。
发表于 2013-6-14 09:33:13 | 显示全部楼层
SEE SEE SEE SEE that
发表于 2013-6-17 15:22:47 | 显示全部楼层
学习下。。。
发表于 2013-6-17 17:02:25 | 显示全部楼层
局域网采用以太网有线和 WiFi 无线接入方式
发表于 2013-6-22 00:18:40 | 显示全部楼层
我使用 MikroTik RouterOS 通过 PPPoE 连接到互联网(基于 ADSL 拨号),为了了内网的用户得到优质的网络环境,通 过对流量上下行流量进行优先控制,保证特定的网络用户得到优质的网络带宽。
发表于 2013-6-24 05:16:11 | 显示全部楼层
谢谢分享!!!!!!!!!11
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

近期发现有人借用ROSABC宣传自己淘宝店!
在此郑重声明:
本站没有授权淘宝店,谨防上当受骗!

ROS教程版块已全面开放,
即使是新注册的初级会员也可阅读全部内容。

不良信息举报Q:2000617

不良信息举报Q:2000617|Archiver|小黑屋|ROS软路由论坛 ROSABC.com

GMT+8, 2020-10-20 17:46 , Processed in 0.203763 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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