Está en la página 1de 31

MikroTik RouterOS

Taller de Prcticas Qos

Fuente original: http://mum.mikrotik.co m/prese ntations


/CZ09/ QoS_Megis.pdf
Traducido por el usuario: fran_almeria para el foro de
Ryohnosuke

1
uke.co m/

Preguntas y Respuestas
P: Es posible priorizar el trafico por tipo para cada cliente mientras se limita por cada
usuario en el mismo router?
R: Si !
P: Qu necesito para lograrlo?
R: Necesitaras:
1. Diagrama de flujo de paquete
2. HTB (rbol de colas)
3. Mangle
4. PCQ
5. Lista de direcciones (Address list)

2
uke.co m/

Mangle
Mangle le permite marcar los paquetes IP con marcas especiales.
Estas marcas son utilizadas por otras funciones del propio router, como el enrutamiento
(routing) o el QoS (Quality of Service)
Adems, la implementacin de mangle se utiliza para modificar algunos campos en el
encabezado IP como TOS (DSCP) y TTL.

Hierarchical Token Bucket (HTB)


Todas las implementaciones de gestin de ancho de banda en RouterOS, estn basadas
en HTB
HTB permite crear estructuras de colas Jerrquicas y determinar relaciones entre
colas.
RouterOS soporta 3 HTBs virtuales (global-in, global-total y global-out) y uno ms justo
antes de cada interfaz de salida.
3
uke.co m/

Flujo de paquetes QoS

Este diagrama ha sido creado desde el diagrama de flujo de RouterOS.


http://wiki.mikrotik.co m/wik i/Packet_Flo w
4
uke.co m/

Doble QoS
Es posible marcar y ajustar el trfico dos veces en el mismo router:
Mangle cad ena Prerouting Para un primer marcado
Global-in HTB Para el primer ajuste
Mangle cad ena Forward o Postrouting Para un segundo marcado
El doble QoS solamente se puede usar mediante el rbol de colas (Queue Tree)

Por qu no usar colas simples (Simple Queues)?


Las colas simples son ordenadas, similar a las reglas de firewall.
Con el fin de llegar a la cola numero 999 tendrn que ser revisadas las 998 colas
anteriores.
Cada cola simple puede apoyarse sobre 3 colas separadas:
Una en Global-In (parte Directa)
Una en Global-Out (parte Reversa)
Una en Global-Total (parte Total)

5
uke.co m/

Las colas simples y Mangle

6
uke.co m/

rbol de colas (Queue Tree)


El rbol de colas es unidireccional y puede colocarse en cualquiera de los HTB
disponibles.
El rbol de colas no tiene ningn orden, todo el trfico se procesa simultneamente.
Todas las colas hijas, deben de tener marcas de paquete desde /ip firewall mangle.
Si se coloca en el mismo HTB, la cola simple tomar todo el trfico desde el rbol de
colas

Utilizar Global-Out o una interfaz HTB?


Hay dos diferencias fundamentales:
En el caso de src-nat (masquerade) Global-Out estar al tanto de las direcciones IP
privadas de los clientes, pero la interfaz HTB no. La interfaz HTB est despus de srcnat.
Cada interfaz HTB solo recibe trfico que va a dejar a travs de una interfaz en
particular. No hay necesidad de separar el upload o download en mangle.
7
uke.co m/

Conclusiones
Usaremos mangle y el rbol de colas para:
Marcar trafico por tipo de trafico y en la cadena de mangle prerouting
Priorizar y limitar el trafico por tipo en Global-In HTB
Remarcar el trafico por clientes en la cadena Forward de mangle
Limitar el trafico por cliente en la interfaz HTB
Es necesario mantener la cantidad de reglas en mangle y colas al mnimo para

aumentar el rendimiento de esta configuracin

8
uke.co m/

Limitaciones de cliente
Tenemos una lnea ADSL de +/- 40 Mbps
Tenemos ms de 400 clientes y 3 tipos conexiones diferentes:
Empresarial (4Mbps/1Mbps)
Estndar (750Kbps/250Kbps)
Bsica (375Kbps/125Kbps)

PCQ
Per Connection Queue es un tipo de cola capaz de dividir
el trafico en sub-flujos basados en los clasificadores
seleccionados
Cada sub-flujo pasara a travs de la cola FIFO con el
tamao de la cola especificado por la opcin pcq-limit y
maximal rate, especificadas por la opcin pcq-rate.

9
uke.co m/

uke.co m/

1
0

PCQ Parte 2
Para asegurar que cada sub-flujo PCQ representa un cliente particular, necesitamos
crear 2 tipos diferentes de PCQ:
PCQ_upload Direccin de origen como clasificador
PCQ_download Direccin de destino como clasificador
PCQ repartir el trfico disponible igualmente entre las sub colas hasta que el pcqrate sea alcanzado (si se ha especificado)

uke.co m/

1
1

uke.co m/

1
2

uke.co m/

1
3

Tipos de PCQ Vista desde Winbox

uke.co m/

1
4

Listas de direcciones (Address Lists)


Las listas de direcciones se introdujeron para asignar mltiples direcciones IP/rangos
a la misma regla de firewall, para as reducir el numero total de reglas del cortafuegos
e incrementar el rendimiento del router.
Las listas de direcciones se pueden crear:
Manualmente
Automticamente desde el perfil PPP; especificando la opcin address-list, y en el
momento que el cliente se conecte, la direccin ser aadida a la lista.
Automticamente desde RADIUS Atributo Mikrotik:19

uke.co m/

1
5

uke.co m/

1
6

Dnde?

uke.co m/

1
7

Marcado de paquetes
Use la accin connection-mark para clasificar todas las conexiones basadas en clientes
de la lista de direcciones
Use la accin packet-mark para clasificar todo el trfico basado en marcas de
conexin.
Preguntas que te hars.
Qu velocidad debera de disponer para un cliente empresarial si descargo desde
un cliente bsico?
Aun tienes el trfico sin marcar?

uke.co m/

1
8

Regla de Marcado de conexin (connection-mark)

uke.co m/

1
9

Regla de Marcado de paquete (packet-mark)

uke.co m/

2
0

Mangle trabajando Vista desde Winbox

uke.co m/

2
1

Mangle trabajando Vista de exportacin


/ip firewall mangle
add action=mark-connection chain=forward comment="mark basic client traffic" disabled=no new-connection-mark=Basic_client_conn
passthrough=yes src-address-list=\
Basic_class_client
add action=mark-packet chain=forward connection-mark=Basic_client_conn disabled=no new-packet-mark=Basic_client_traffic
passthrough=no
add action=mark-connection chain=forward comment="mark Standard client traffic" disabled=no new-connectionmark=Standard_client_conn passthrough=yes src-address-list=\
Standard_class_client
add action=mark-packet chain=forward connection-mark=Standard_client_conn disabled=no new-packet-mark=Standard_client_traffic
passthrough=no
add action=mark-connection chain=forward comment="mark basic client traffic" disabled=no new-connection-mark=Bussiness_client_conn
passthrough=yes src-address-list=\
Bussiness_class_client
add action=mark-packet chain=forward connection-mark=Bussiness_client_conn disabled=no new-packet-mark=Bussiness_client_traffic
passthrough=no
add action=log chain=forward comment="C heck for unmarked traffic" disabled=no log-prefix=""

http://www.ryoh nos
uke.co m/

2
2

rbol de colas Vista desde Winbox

uke.co m/

2
3

rbol de colas Vista de exportacin

/queue tree
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=Total_download packet-mark=""
parent=ether1-gateway priority=1
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=basic_client_download packetmark=Basic_client_traffic parent=Total_download priority=8 queue=PCQ_down_375k
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=standard_client_download packetmark=Standard_client_traffic parent=Total_download priority=8 queue=PCQ_down_375k
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=bussiness_client_download packetmark=Bussiness_client_traffic parent=Total_download priority=8 queue=PCQ_down_375k
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=Total_upload packet-mark=""
parent=ether2-master-local priority=8
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=basic_client_upload packetmark=Basic_client_traffic parent=Total_upload priority=8 queue=PCQ_up-125k
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=standard_client_upload
packet-mark=Standard_client_traffic parent=Total_upload priority=8 queue=PCQ_up-125k
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name=bussiness_client_upload packetmark=Bussiness_client_traffic parent=Total_upload priority=8 queue=default

http://www.ryoh nos
uke.co m/

2
4

PCQ Queue Size (Tamao de cola)


> Puede tomar solo 40 usuarios para rellenar la cola
(porque total_limit/limit = 2000/50 = 40 usuarios)

> Si es necesario, aumentar total_limit y/o disminuir el


valor limite
> Debe de haber al menos entre 10 y 20 lugares de paquete
en la cola disponibles por usuario.
Total_limit = X puede tomar hasta
X*(2000 bytes + 200 bytes) de memoria RAM
2000 bytes buffer para 1 paquete
200 bytes servicio de datos para 1 paquete
total_limit = 2000 =< 4,2 Mb de memoria RAM
total_limit = 5000 =< 10,5 Mb de memoria RAM

uke.co m/

2
5

uke.co m/

2
6

Ajustes PCQ
Hay ~340 clientes de clase bsica para:
pcq_limit = 40
pcq_total_limit = 7000 (~20*340)(~ 15Mb)
Hay ~40 clientes de clase estndar para:
pcq_limit = 30
pcq_total_limit = 1000 (~20*40)(~ 2Mb)
Hay ~20 clientes de clase empresarial para:
pcq_limit = 20 (!!!)
pcq_total_limit = 500 (~20*20)(~ 1Mb)

uke.co m/

2
7

Priorizacin de trfico
Disponemos de una lnea ADSL de ~40Mbps/5Mbps
Tenemos problemas con las comunicaciones on-line (video, audio, VoIP, juegos)
Tareas:
Priorizar el trfico

uke.co m/

2
8

PeroDnde?

uke.co m/

2
9

YComo?

uke.co m/

3
0

Prioridades
Crear marcas de paquete (packet-mark) en la cadena Prerouting de mangle para la
priorizacin del trfico en la cola Global-In.
Servicios prioritarios (Prioridad=1)
Solicitudes de usuario (Prioridad=3)
Servicios de comunicacin (Prioridad=5)
Servicios de descarga (Prioridad=7)
Servicios P2P (Prioridad=8)

uke.co m/

3
1

También podría gustarte