Mikrotik QoS plan: queue trees + simple queues + PCQ

El siguiente mtodo sirve para priorizar paquetes de manera global con queue trees y aplicar lmites de ancho de banda por usuario (paquete de datos) con simple queues + PCQ, funciona ptimo slo en v6.X de RouterOS.

Esta configuracin simplifica el doble marcado + doble encolamiento que se realizaba en v5.X de RouterOS. El doble marcado ya no es posible en v6.X, ya que los queue trees se procesan una sola vez (postrouting chain), como se puede apreciar en el diagrama de flujo de paquetes de v6.X.

Priorizar trfico global

Lo primero que hay que hacer es identificar el trfico que queremos priorizar, esto se realiza en la tabla MANGLE del firewall de RouterOS. Para optimizar el rendimiento del marcado, es necesario aplicar 2 marcas: 1 por conexin y otra por paquete, utilizando la marca de la conexin. Para este ejemplo, se marcar el trfico HTTP (por puerto):

/ip firewall mangle# marcar conexinadd action=mark-connection chain=prerouting comment=”HTTP CON” connection-state=new new-connection-mark=http-con port= 80,443,8080,8181 protocol=tcp# marcar paquete usando marca de conexinadd action=mark-packet chain=forward comment=HTTP connection-mark=http-con new-packet-mark=http passthrough=no# las conexiones que nosotros no marcamos, tienen una marca# “no-mark”, con la cual podemos marcar estos paquetes para# darles una prioridad (menor o mayor, segn corresponda) que# a otro tipo de trficoadd action=mark-packet chain=forward comment=”OTHER INTERNET” connection-mark=no-mark new-packet-mark=other-internet passthrough=no

Es importante especificar ?passthrough=no? en la regla del marcado de paquete, para evitar gastar recursos del CPU. Como se puede apreciar, no es necesario especificar la interfaz para marcar el trfico, ya que esto se har en los queue trees (HTB), con lo que la configuracin se simplifica.

La ltima marca que se agrega es para tener en cuenta el trfico cuyas conexiones no estamos marcando, con esto podemos asignar una prioridad a este tipo de trfico y as evitar que pase sin ser gestionado por nuestras colas HTB.

Lo siguiente es especificar las colas HTB para la priorizacin de trfico:

/queue tree# una cola para el total del trfico de bajada, aqu se especifica# la interfaz desde la que se reparte el trfico a los clientes,# generalmente el puente local bridge-localadd limit-at=90M max-limit=90M name=”Total download” parent=bridge-local priority=1 queue=default# una cola para el total del trfico de subida, aqu se especifica# la interfaz desde la que se enva el trfico al gateway # (internet), generalmente ether1-gatewayadd limit-at=20M max-limit=20M name=”Total upload” parent=ether1-gateway priority=1 queue=default# hoja (cola hija) de bajada para el trfico web (HTTP), utiliza# la marca establecida en la tabla mangle del firewalladd limit-at=20M max-limit=70M name=HTTP_D packet-mark=http parent=”Total download” priority=3 queue=default# hoja de subida para el trfico web (HTTP), utiliza la misma marca# de la cola anterioradd limit-at=1M max-limit=15M name=HTTP_U packet-mark=http parent=”Total upload” priority=3 queue=default# los paquetes con marca “other-internet” tienen una menor prioridad# que los paquetes web, es necesario especificar estas colas, de lo# contrario el trfico no gestionado pasar con la mayor prioridadadd limit-at=10M max-limit=20M name=OTHER_D packet-mark=other-internet parent=”Total download” priority=4 queue=defaultadd limit-at=1M max-limit=5M name=OTHER_U packet-mark=other-internet parent=”Total upload” priority=4 queue=default

Algunas notas sobre lo anterior:

  • Se recomienda utilizar un 90% del trfico total de cada interfaz como lmite (en colas padre de subida/bajada), esto para garantizar que nuestras reglas se apliquen, ya que si se especifica un ancho de banda mayor al disponible, nuestras reglas sern ignoradas.
  • El trfico puede gestionarse nicamente cuando sale del router, por ello es importante elegir las interfaces de subida/bajada adecuadamente.
  • El atributo ?limit-at? debe especificarse a la tasa que se quiera garantizar para esta cola, y no debe ser mayor al lmite global de la cola padre. La suma de los distintos lmites de todas las hojas (colas hijas o leafs) debe ser menor o igual al total especificado para la cola padre.
  • El atributo ?max-limit? es el trfico que tomar prestado de la cola padre cuando se haya alcanzado ?limit-at? y an tenga ancho de banda disponible la cola padre. Es recomendado que la suma de los lmites mximos especificados no sea mayor a la establecida para la cola padre.
  • Las ltimas dos colas utilizan la marca ?other-internet? para asignar una prioridad al trfico que no estamos gestionando directamente, es muy importante agregarlas (subida/bajada).

Lmite de velocidad por usuario

Ya que se tiene la parte global del trfico (priorizacin), lo que sigue es establecer lmites de velocidad por usuario. Para esto ser necesario crear un par de tipos de cola PCQ uno para subida (src-address) y otro para bajada (dst-address) para cada paquete de datos:

/queue type# un queue type de tipo PCQ, con una tasa de 5M para el trfico# de bajada, classifier=dst-addressadd kind=pcq name=PCQ_download_5mb pcq-classifier=dst-address pcq-rate=5M# un queue type de tipo PCQ, con una tasa de 1M para el trfico# de subida, classifier=src-addressadd kind=pcq name=PCQ_upload_1mb pcq-classifier=src-address pcq-rate=1M

Con los tipos de cola nuevos, se crear un Simple Queue (cola simple) para cada paquete de datos que queramos gestionar (en este caso slo uno, para un paquete de 5M/1M):

/queue simple# lmite global (compartido por todos los usuarios):# 5M subida# 35M bajada# # segmento de red de los clientes con este paquete de datos,# puede usarse una interfaz de ser necesario:# 10.10.12.0/24add limit-at=5M/35M max-limit=5M/35M name=5MB_down_1MB_up queue=PCQ_upload_1mb/PCQ_download_5mb target= 10.10.12.0/24 total-queue=default

La cola simple anterior permitir establecer como mximo tasas de 1M/5M por cada usuario (IP), en caso que la suma total del trfico utilizado por todos los clientes de esta cola exceda el lmite global establecido (5M/35M), se ecualizar el trfico disponible entre el total de clientes actuales.

Conclusin

La optimizacin de Simple Queues en v6.X permite simplificar las configuraciones de QoS, evitando el doble marcado. Siguiendo las pautas aqu descritas, es posible agregar ms servicios para priorizacin de trfico, as como distintos paquetes de velocidad de acuerdo a las necesidades de cada usuario.

NOTA: Es importante que no se est utilizando fasttrack en las conexiones para que QoS funcione correctamente.

1

No Responses

Write a response