qos megis spanish ryohnosuke

Post on 26-Oct-2014

2.222 Views

Category:

Documents

17 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1 http://www.ryohnosuke.com/

MikroTik RouterOS

Taller de Prácticas Qos

Fuente original: http://mum.mikrotik.com/presentations/CZ09/QoS_Megis.pdf

Traducido por el usuario: fran_almeria para el foro de Ryohnosuke

2 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)

3 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) Además, la implementación 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 gestión de ancho de banda en RouterOS, están basadas en HTB

HTB permite crear estructuras de colas Jerárquicas y determinar relaciones entre colas.

RouterOS soporta 3 HTBs virtuales (global-in, global-total y global-out) y uno más justo antes de cada interfaz de salida.

4 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

5 http://www.ryohnosuke.com/

Doble QoS

Es posible marcar y ajustar el tráfico 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 tendrán 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”)

6 http://www.ryohnosuke.com/

Las colas simples y Mangle

7 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 ningún orden, todo el tráfico se procesa simultáneamente. 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 tráfico 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á después de src-nat.

Cada interfaz HTB solo recibe tráfico que va a dejar a través de una interfaz en particular. No hay necesidad de separar el upload o download en mangle.

8 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 mínimo para aumentar el rendimiento de esta configuración

9 http://www.ryohnosuke.com/

Limitaciones de cliente

Tenemos una línea ADSL de +/- 40 Mbps Tenemos más de 400 clientes y 3 tipos conexiones diferentes: Empresarial (4Mbps/1Mbps) Estándar (750Kbps/250Kbps) Básica (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 través de la cola FIFO con el tamaño de la cola especificado por la opción “pcq-limit” y maximal rate, especificadas por la opción “pcq-rate”.

10 http://www.ryohnosuke.com/

11 http://www.ryohnosuke.com/

PCQ Parte 2

Para asegurar que cada sub-flujo PCQ representa un cliente particular, necesitamos crear 2 tipos diferentes de PCQ: PCQ_upload – Dirección de origen como clasificador PCQ_download – Dirección de destino como clasificador

PCQ repartirá el tráfico disponible igualmente entre las sub colas hasta que el pcq-

rate sea alcanzado (si se ha especificado)

12 http://www.ryohnosuke.com/

13 http://www.ryohnosuke.com/

14 http://www.ryohnosuke.com/

Tipos de PCQ – Vista desde Winbox

15 http://www.ryohnosuke.com/

Listas de direcciones (Address Lists)

Las listas de direcciones se introdujeron para asignar múltiples 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 Automáticamente desde el perfil PPP; especificando la opción address-list, y en el

momento que el cliente se conecte, la dirección será añadida a la lista. Automáticamente desde RADIUS – Atributo “Mikrotik:19”

16 http://www.ryohnosuke.com/

17 http://www.ryohnosuke.com/

¿Dónde?

18 http://www.ryohnosuke.com/

Marcado de paquetes

Use la acción “connection-mark” para clasificar todas las conexiones basadas en clientes de la lista de direcciones

Use la acción “packet-mark” para clasificar todo el tráfico basado en marcas de conexión.

Preguntas que te harás. ¿Qué velocidad debería de disponer para un cliente empresarial si descargo desde un

cliente básico? ¿Aun tienes el tráfico sin marcar?

19 http://www.ryohnosuke.com/

Regla de “Marcado de conexión (connection-mark)”

20 http://www.ryohnosuke.com/

Regla de “Marcado de paquete (packet-mark)”

21 http://www.ryohnosuke.com/

Mangle trabajando – Vista desde Winbox

22 http://www.ryohnosuke.com/

Mangle trabajando – Vista de exportación /ip firewall mangle add chain=forward src-address-list=Basic_class_client action=mark-connection new-connection-mark=Basic_client_conn passthrough=yes 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

23 http://www.ryohnosuke.com/

Árbol de colas – Vista desde Winbox

24 http://www.ryohnosuke.com/

Árbol de colas – Vista de exportación

/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

25 http://www.ryohnosuke.com/

PCQ Queue Size (Tamaño 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

26 http://www.ryohnosuke.com/

27 http://www.ryohnosuke.com/

Ajustes PCQ

Hay ~340 clientes de clase básica para: pcq_limit = 40 pcq_total_limit = 7000 (~20*340)(~ 15Mb)

Hay ~40 clientes de clase estándar 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)

28 http://www.ryohnosuke.com/

Priorización de tráfico

Disponemos de una línea ADSL de ~40Mbps/5Mbps Tenemos problemas con las comunicaciones on-line (video, audio, VoIP, juegos…) Tareas: Priorizar el tráfico

29 http://www.ryohnosuke.com/

Pero…¿Dónde?

30 http://www.ryohnosuke.com/

Y…¿Como?

31 http://www.ryohnosuke.com/

Prioridades

Crear marcas de paquete (packet-mark) en la cadena “Prerouting” de mangle para la priorización del tráfico en la cola Global-In. Servicios prioritarios (Prioridad=1) Solicitudes de usuario (Prioridad=3) Servicios de comunicación (Prioridad=5) Servicios de descarga (Prioridad=7) Servicios P2P (Prioridad=8)

top related