Sie sind auf Seite 1von 31

MikroTik RouterOS

Taller de Prcticas Qos

Fuente original: http://mum.mikrotik.com/presentations/CZ09/QoS_Megis.pdf Traducido por el usuario: fran_almeria para el foro de Ryohnosuke

http://www.ryohnosuke.com/

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)

http://www.ryohnosuke.com/

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

http://www.ryohnosuke.com/

Flujo de paquetes QoS

Este diagrama ha sido creado desde el diagrama de flujo de RouterOS. http://wiki.mikrotik.com/wiki/Packet_Flow


4

http://www.ryohnosuke.com/

Doble QoS
Es posible marcar y ajustar el trfico dos veces en el mismo router: Mangle cadena Prerouting Para un primer marcado Global-in HTB Para el primer ajuste Mangle cadena 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)

http://www.ryohnosuke.com/

Las colas simples y Mangle

http://www.ryohnosuke.com/

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

http://www.ryohnosuke.com/

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

http://www.ryohnosuke.com/

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.

http://www.ryohnosuke.com/

http://www.ryohnosuke.com/

10

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)

http://www.ryohnosuke.com/

11

http://www.ryohnosuke.com/

12

http://www.ryohnosuke.com/

13

Tipos de PCQ Vista desde Winbox

http://www.ryohnosuke.com/

14

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

http://www.ryohnosuke.com/

15

http://www.ryohnosuke.com/

16

Dnde?

http://www.ryohnosuke.com/

17

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?

http://www.ryohnosuke.com/

18

Regla de Marcado de conexin (connection-mark)

http://www.ryohnosuke.com/

19

Regla de Marcado de paquete (packet-mark)

http://www.ryohnosuke.com/

20

Mangle trabajando Vista desde Winbox

http://www.ryohnosuke.com/

21

Mangle trabajando Vista de exportacin


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

http://www.ryohnosuke.com/

22

rbol de colas Vista desde Winbox

http://www.ryohnosuke.com/

23

rbol de colas Vista de exportacin


/queue tree add name=Total_download parent=local_ether1 packet-mark limit-at=0 queue default priority=1 max-limit=0 \ burst-limit=0 burst-threshold=0 burst-time=0s disabled=no add name=basic_client_download parent=Total_download packet-mark=Basic_client_traffic limit-at=0 \ queue=PCQ_down_375k priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s disabled=no add name=standard_client_download parent=Total_download packet-mark=Standard_client_traffic limit-at=0 \ queue=PCQ_down_375k priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s disabled=no add name=bussiness_client_download parent=Total_download packet-mark=Bussiness_client_traffic limit-at=0 \ queue=PCQ_down_375k priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s disabled=no add name=Total_upload parent=public_ether3 packet-mark= limit-at=0 queue=default priority=8 max-limit=0 \ burst-limit=0 burst-threshold=0 burst-time=0s disabled=no add name=basic_client_upload parent=Total_upload packet-mark=Basic_client_traffic limit-at=0 \ queue=PCQ_up-125k priority08 max-limit=0 burst-limit=0 burst-thershold=0 burst-time=0s disabled=no add name=standard_client_upload parent=Total_upload packet-mark=Standard_client_traffic limit-at=0 \ queue=PCQ_up-125k priority08 max-limit=0 burst-limit=0 burst-thershold=0 burst-time=0s disabled=no add name=bussiness_client_upload parent=Total_upload packet-mark=Bussiness_client_traffic limit-at=0 \ queue=PCQ_up-125k priority08 max-limit=0 burst-limit=0 burst-thershold=0 burst-time=0s disabled=no

http://www.ryohnosuke.com/

24

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

http://www.ryohnosuke.com/

25

http://www.ryohnosuke.com/

26

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)

http://www.ryohnosuke.com/

27

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

http://www.ryohnosuke.com/

28

PeroDnde?

http://www.ryohnosuke.com/

29

YComo?

http://www.ryohnosuke.com/

30

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)

http://www.ryohnosuke.com/

31

Das könnte Ihnen auch gefallen