21
QoS para andar por casa Introdución a calidad de servicio (QoS) y control del tráfico (TC) en GNU/Linux

Introdución a calidad de servicio (QoS) y control del ...etxea.net/docu/qos/presentacion.pdfQue es QoS/TC Explicación campechana de que es QoS (o que es lo que yo entiendo y de lo

  • Upload
    ledan

  • View
    230

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introdución a calidad de servicio (QoS) y control del ...etxea.net/docu/qos/presentacion.pdfQue es QoS/TC Explicación campechana de que es QoS (o que es lo que yo entiendo y de lo

QoS para andar por casa

Introdución a calidad de servicio (QoS) y control del tráfico (TC) en GNU/Linux

Page 2: Introdución a calidad de servicio (QoS) y control del ...etxea.net/docu/qos/presentacion.pdfQue es QoS/TC Explicación campechana de que es QoS (o que es lo que yo entiendo y de lo

Que es QoS/TC

Explicación campechana de que es QoS (o que es lo que yo entiendo y de lo que voy a hablar).

Bajo QoS se suele meter todo lo relacionado con el control del ancho de banda de cara a mejorar la calidad de servicio o asegurar algún tipo de servicio.

QoS para andar por casa

Page 3: Introdución a calidad de servicio (QoS) y control del ...etxea.net/docu/qos/presentacion.pdfQue es QoS/TC Explicación campechana de que es QoS (o que es lo que yo entiendo y de lo

Motivos

● Problema: Un solo usuario acaparar la conexión

● Solución: Colas de reparto equitativo (SQF)

QoS para andar por casa

Page 4: Introdución a calidad de servicio (QoS) y control del ...etxea.net/docu/qos/presentacion.pdfQue es QoS/TC Explicación campechana de que es QoS (o que es lo que yo entiendo y de lo

Motivos

● Problema: Las conexiones interactivas

● Solución: Colas con prioridades

QoS para andar por casa

Page 5: Introdución a calidad de servicio (QoS) y control del ...etxea.net/docu/qos/presentacion.pdfQue es QoS/TC Explicación campechana de que es QoS (o que es lo que yo entiendo y de lo

Motivos

● Problema: La saturación de un canal anula el otro

● Solución: Evitar que las colas del router/cablemodem

trabajen

QoS para andar por casa

Page 6: Introdución a calidad de servicio (QoS) y control del ...etxea.net/docu/qos/presentacion.pdfQue es QoS/TC Explicación campechana de que es QoS (o que es lo que yo entiendo y de lo

Teoria: Introducción

No existen milagrosQoS/TC en linux: kernel + iproute2

Clases y colas

QoS para andar por casa

Page 7: Introdución a calidad de servicio (QoS) y control del ...etxea.net/docu/qos/presentacion.pdfQue es QoS/TC Explicación campechana de que es QoS (o que es lo que yo entiendo y de lo

Teoria: Colas y clases. Glosario

● Disciplinad de cola (Queueing Discipline, qdisc): Es el algoritmo que se encarga de gestionar los

paquetes de salida (egress) o de entrada (ingress)

● root qdisc: Esta es la cola que esta unida al dispositivo de red (la cola principal)

QoS para andar por casa

Page 8: Introdución a calidad de servicio (QoS) y control del ...etxea.net/docu/qos/presentacion.pdfQue es QoS/TC Explicación campechana de que es QoS (o que es lo que yo entiendo y de lo

Teoria: Colas y clases. Glosario

● colas sin clases:Un tipo de cola que no permite la subdivisión

interna(una caja que no permite tener mas cajas dentro)

● colas con clases:Tipo de cola que permite en su interior albergar

clases, estas clase pueden ser colas o subclases.(Una caja que puede contener otras cajas dentro)

QoS para andar por casa

Page 9: Introdución a calidad de servicio (QoS) y control del ...etxea.net/docu/qos/presentacion.pdfQue es QoS/TC Explicación campechana de que es QoS (o que es lo que yo entiendo y de lo

Teoria: Colas y clases. Glosario

● Scheduling: Cuando en una cola se decide que unos paquetes

tienen que salir antes que otros estamos haciendo scheduling

● Shaping: Cuando retemos paquetes que podríamos mandar

para mantener un tráfico determinado estamos haciendo shaping.

QoS para andar por casa

Page 10: Introdución a calidad de servicio (QoS) y control del ...etxea.net/docu/qos/presentacion.pdfQue es QoS/TC Explicación campechana de que es QoS (o que es lo que yo entiendo y de lo

Teoria: Colas y clases. Tipos

● Colas sin clases (no se pueden colgar de ellas otras colas ordenadas en clases).

● pfifo_fast: El primero que llega primero se va :) Tiene 3 bandas de prioridades, en función TOS (tipo de servicio) (en teo. tiene clases, pero para el usua

QoS para andar por casa

Page 11: Introdución a calidad de servicio (QoS) y control del ...etxea.net/docu/qos/presentacion.pdfQue es QoS/TC Explicación campechana de que es QoS (o que es lo que yo entiendo y de lo

Teoria: Colas y clases. Tipos

● Token Bucket Filter (TBF). Esta cola limita a un ancho de banda concreto aunque permite pequeñas ráfagas a mayor velocidad. Útil para lograr que la cola de paquetes a enviar este en la maquina linux y no en el router adsl o cablemode.

● Stochastic Fairness Queueing (SFQ). Básicamente lo que hace es un reparto equitativo entre todas las conexiones abiertas. Muy útil para evitar que un puesto acapare todo el ancho de banda.

QoS para andar por casa

Page 12: Introdución a calidad de servicio (QoS) y control del ...etxea.net/docu/qos/presentacion.pdfQue es QoS/TC Explicación campechana de que es QoS (o que es lo que yo entiendo y de lo

Teoria: Colas y clases. Tipos

● Random Early Drop. Para usos avanzados en backbones ,... fuera de lo que queremos ver.

● Colas con clases:

● PRIO. Una clase de cola que esta pensada para contener clases

QoS para andar por casa

Page 13: Introdución a calidad de servicio (QoS) y control del ...etxea.net/docu/qos/presentacion.pdfQue es QoS/TC Explicación campechana de que es QoS (o que es lo que yo entiendo y de lo

Teoria: Colas y clases. Tipos

● CBQ. La mas completa y la mas complicada de entender/configurar. En esta cola se juega con los tiempos de retardo de los paquetes (shaping).

● HTB (Hierarchical Token Bucket). Es mas sencilla de manejar que CQB. Ideal para cuando queremos dividir un ancho de banda fijo en distintas bandas.

QoS para andar por casa

Page 14: Introdución a calidad de servicio (QoS) y control del ...etxea.net/docu/qos/presentacion.pdfQue es QoS/TC Explicación campechana de que es QoS (o que es lo que yo entiendo y de lo

Teoria: Colas y clases. Tipos

Lo que vamos a usar: HTB y SQF

● Con HTB haremos clases que limitarán y repartirán el ancho de banda. usnado la analogia anterior decidiremos el tamaño de cada caja para que no nos saturen el routerADSL o clablemodem y para que se ajuste al reparto que nostros decidamos.

QoS para andar por casa

Page 15: Introdución a calidad de servicio (QoS) y control del ...etxea.net/docu/qos/presentacion.pdfQue es QoS/TC Explicación campechana de que es QoS (o que es lo que yo entiendo y de lo

Teoria: Colas y clases. Tipos

● Con SQF nos aseguraremos que nadie acapara el ancho de banda. Siguiendo con la analogía, a la hora de sacar los paquetes que esperan en las cajas lo haremos sacado uno de cada conexión pendiente en ese momento.

QoS para andar por casa

Page 16: Introdución a calidad de servicio (QoS) y control del ...etxea.net/docu/qos/presentacion.pdfQue es QoS/TC Explicación campechana de que es QoS (o que es lo que yo entiendo y de lo

Teoria: regular la entrada

● Tucro1: Regular la entrada regulando la salida

● Truco2: IMQ. Redireccionar tráfico a una interfaz virtual intermedia:

iptables -t mangle -A PREROUTING -i eth0 -j IMQ

QoS para andar por casa

Page 17: Introdución a calidad de servicio (QoS) y control del ...etxea.net/docu/qos/presentacion.pdfQue es QoS/TC Explicación campechana de que es QoS (o que es lo que yo entiendo y de lo

Teoria: filtros

● solo tc:● Con tc podemos crear reglas de clasificación en

colas en basa a disintos párametros:

QoS para andar por casa

 tc filter add dev eth0 parent 10:0 protocol ip prio 1 u32 \ match ip dst 4.3.2.1/32 flowid 10:1 tc filter add dev eth0 parent 10:0 protocol ip prio 1 u32 \ match ip src 1.2.3.4/32 flowid 10:1 tc filter add dev eth0 protocol ip parent 10: prio 2      \ flowid 10:2

Page 18: Introdución a calidad de servicio (QoS) y control del ...etxea.net/docu/qos/presentacion.pdfQue es QoS/TC Explicación campechana de que es QoS (o que es lo que yo entiendo y de lo

Teoria: filtros

● tc + iptables:● Con iptables marcamos los paquetes (tabla

mangle) y con tc los metemos ne al cola adecuada: iptables -t mangle -A MYSHAPER-OUT -p tcp -m mark --mark 0 \ --sport 0:1024 -j MARK --set-mark 23 # Default for low port traffic.... tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 23 fw flowid 1:23

QoS para andar por casa

Page 19: Introdución a calidad de servicio (QoS) y control del ...etxea.net/docu/qos/presentacion.pdfQue es QoS/TC Explicación campechana de que es QoS (o que es lo que yo entiendo y de lo

Preparar una GNU/Linux box

● Una distro especifica: coyotelinux, etc ● Un GNU/Linux box con un par de trajetas de red

Kernel con soporte para IMQIptables con soporte IMQiproute2 (tc, ...)Un script sobre el que trabajar.

QoS para andar por casa

Page 20: Introdución a calidad de servicio (QoS) y control del ...etxea.net/docu/qos/presentacion.pdfQue es QoS/TC Explicación campechana de que es QoS (o que es lo que yo entiendo y de lo

Ejemplos: simple, smtp

#!/bin/shmodprobe imqifconfig imq0 uptc qdisc del dev imq0 roottc qdisc add dev imq0 handle 1: root htb default 1tc class add dev imq0 parent 1: classid 1:1 htb rate 64kbittc qdisc add dev imq0 parent 1:1 handle 2 sfq

iptables -t mangle -A PREROUTING -i eth0 -p TCP --dport 25 -j IMQ

QoS para andar por casa

Page 21: Introdución a calidad de servicio (QoS) y control del ...etxea.net/docu/qos/presentacion.pdfQue es QoS/TC Explicación campechana de que es QoS (o que es lo que yo entiendo y de lo

Mas info / Licencia

http://www.etxea.net/docu/qos/qos.html

http://www.lartc.org

http://google.com

Este trabajo esta bajo una[http://creativecommons.org/licenses/by-nc-sa/2.0/es/deed.es Creative Commons License.]

Puede consultar la licencia legal completa en \

http://creativecommons.org/licenses/by-nc-sa/2.0/es/legalcode.es

QoS para andar por casa