PDF de programación - Quality of service

Imágen de pdf Quality of service

Quality of servicegráfica de visualizaciones

Publicado el 25 de Junio del 2017
632 visualizaciones desde el 25 de Junio del 2017
864,0 KB
51 paginas
Creado hace 14a (22/06/2010)
Carlos Álvarez Martín
Proyecto Integrado ASI 2009/2010
I.E.S. Gonzalo Nazareno

Índice de contenido

1. Introducción

2. Funcionamiento de QoS en Debian (GNU/Linux)

4

5

3. Caso práctico

7
3.1. Situación antes de la implantación...........................................................................8
3.2. ¿Qué es lo que vamos a hacer?..............................................................................9
3.3. Disciplinas de cola (Qdiscs) usando TC................................................................10
3.4. Marcado de paquetes con Iptables........................................................................16
3.5. QoS Lectivo y No­Lectivo. El Script.......................................................................17
3.5.1. Estructura del script......................................................................................17
3.5.2. Ficheros del script........................................................................................18
3.6. Debianizando el script............................................................................................22
3.6.1. Qué es y cómo se estructura un paquete DEB............................................22
3.6.2. Creación de los ficheros de control..............................................................23
3.6.3. Creación del paquete DEB...........................................................................24
3.7. MRTG: Monitorización de la interfaz externa.........................................................26
3.8. Medición del ancho de banda con Iperf.................................................................29
3.9. Situación después de la implantación...................................................................30

4. Anexo de Teoría

32
4.1. Terminología...........................................................................................................32
4.2. Un poco más antes de empezar............................................................................33
4.3. Algunas disciplinas de cola (Qdiscs).....................................................................35
4.3.1. Qdiscs sin clases..........................................................................................35
4.3.1.1. pfifo_fast..............................................................................................35
4.3.1.2. TBF (Token Bucket Filter)...................................................................37
4.3.1.3. SFQ (Stochastic Fairness Queueing).................................................38
4.3.2. Qdiscs con clases........................................................................................40
4.3.2.1. Encolado del tráfico............................................................................40
4.3.2.2. Árboles: Relación entre qdiscs y clases.............................................40
4.3.2.3. Desencolado del tráfico......................................................................41
4.3.2.4. PRIO...................................................................................................41
4.3.2.5. CBQ....................................................................................................42
4.3.2.6. HTB (Hierarchical Token Bucket).......................................................43
4.3.3. La qdisc Ingress...........................................................................................44
4.4. Herramientas Iptables y TC...................................................................................45
4.4.1. Iptables..........................................................................................................45
4.4.2. TC.................................................................................................................47

4.4.2.1. Qdiscs.................................................................................................47
4.4.2.2. Clases.................................................................................................47
4.4.2.3. Filtros..................................................................................................48
4.4.2.4. Mostrar qdiscs y clases aplicadas......................................................48
4.4.2.5. Eliminar qdiscs...................................................................................48

5. Conclusiones

6. Posibles mejoras

7. Bibliografía

49

50

51

Implantación de un sistema de QoS

I.E.S. Gonzalo Nazareno

1. Introducción
Dentro del ámbito de la informática, podemos definir QoS (Quality of Service) como un 

conjunto de mecanismos con los que se trata de conseguir dar buen servicio de forma 
ininterrumpida. El QoS se puede aplicar en redes WiFi, conexiones ATM, etc. En este 

caso se implantará sobre una red de más de 50 puestos de trabajo con una conexión 
ADSL.

Consiste en priorizar cierto tráfico así como ajustar el ancho de banda para cada uno de 

los protocolos que tratemos en concreto, el de la línea de forma global, etc.
Intentaremos, aplicando una serie de técnicas, que nuestra conexión funcione lo más 

fluida posible en situaciones de mucha demanda.

Existen implementaciones QoS tanto software como hardware (la mayoría de las veces se 
tratan de dispositivos corriendo un kérnel Linux).

En nuestro caso será una implementación software.

Digamos que QoS se podría representar con la siguiente igualdad:

QoS = Priorización + Moldeado

Carlos Álvarez Martín

4

Implantación de un sistema de QoS

I.E.S. Gonzalo Nazareno

2. Funcionamiento de QoS en Debian (GNU/Linux)
A la hora de hacer QoS se pueden usar distintas soluciones o formas de abordar el 

problema. Un ejemplo sería el proxy Squid para realizar QoS a partir de ACLs y las 
llamadas “Delay Pools”. Sin embargo en nuestro caso, debido a su popularidad y a un uso 
de recursos más liviano, emplearemos un conjunto de dos herramientas. Se tratan de TC 
(incluida en el paquete Iproute2) e IPTABLES.

Para   poder   usar   dichas   herramientas   en   nuestro   servidor,   hemos   de   comprobar   que 
nuestro kérnel está compilado con soporte para QoS y filtrado de paquetes (Iptables). 

Estas características se encuentran en “Networking/Networking options” dentro del menú 
de configuración del kérnel (secciones “Network packet filtering framework” y “QoS and/or 

fair queueing”). En nuestro caso, usando Debian Lenny (kérnel 2.6.26) no tendremos que 
recompilar el núcleo puesto que todas las características ya mencionadas se encuentran 

incluidas en él.

La forma en la que trabajará nuestro sistema de QoS (TC e Iptables) será la siguiente:

Diagrama de QoS (TC+Iptables) en Linux

Lo que pretendemos es que en lugar de que le módem (o router doméstico) tenga la cola 

Carlos Álvarez Martín

5

Implantación de un sistema de QoS

I.E.S. Gonzalo Nazareno

de nuestra línea, sea nuestro núcleo Linux el que se encargue de dicha función (“hay que 
poseer la cola”). Es relativamente fácil hacerlo con las herramientas que usaremos, y se 

consigue ajustando las velocidades de subida y descarga a unos límites un poco inferiores 
a   los   alcanzables   por   nuestra   conexión   real   (nuestro   enlace   con   el   ISP).   Además, 

conseguiremos “liberar” un poco al módem que usamos para conectar con el ISP ya que 
suelen congestionarse con situaciones de tráfico elevado.

Carlos Álvarez Martín

6

Implantación de un sistema de QoS

I.E.S. Gonzalo Nazareno

3. Caso práctico
En esta sección se muestra cómo se ha implantado el QoS en los ciclos de informática del 

I.E.S. Gonzalo Nazareno. Se tomó dicha decisión debido a la pobre calidad de conexión 
de la que disponían tanto alumnos como profesores.

La red tiene un aspecto como el siguiente:

Red de los ciclos del I.E.S. Gonzalo Nazareno

La idea consiste en que la conexión a Internet sea fluida incluso en casos de un uso 

intensivo.

En nuestro caso la máquina que nos interesa es  macaco  por el hecho de actuar como 
router de la red. Tiene aplicadas unas reglas de Iptables para el cortafuegos y ejecuta un 

servidor DHCP para ofrecer direcciones a las aulas. La interfaz en la que aplicaremos los 

Carlos Álvarez Martín

7

Implantación de un sistema de QoS

I.E.S. Gonzalo Nazareno

ajustes será eth0, que nos da salida a Internet estando conectada a un router en modo 
monopuesto. La línea contratada es un ADSL con Telefónica de 10Mbps/800Kbps.

3.1. Situación antes de la implantación
Como se ha comentado en la introducción del caso práctico, se ha optado por implantar 
un   QoS   para   solventar   los   problemas  que   existen   con  respecto   a   la   conexión   ADSL 

compartida por tantos usuarios.

La navegación por páginas web es muy lenta cuando alguien está descargando a una 
velocidad   muy   elevada   o   subiendo   del   mismo   modo.   Es   decir,   no   se   puede   trabajar 

cuando una sola persona es capaz de acaparar todo el ancho de banda.

A continuación, como una evidencia del problema, se puede mostrar la salida de un ping a 
una de las direcciones IP de Google cuando alguien sube un fichero a GMail por ejemplo.

spiki@nemola:~$ ping -c100 74.125.77.104
PING 74.125.77.104 (74.125.77.104) 56(84) bytes of data.
64 bytes from 74.125.77.104: icmp_seq=1 ttl=48 time=760 ms
64 bytes from 74.125.77.104: icmp_seq=2 ttl=48 time=800 ms
64 bytes from 74.125.77.104: icmp_seq=3 ttl=48 time=713 ms
64 bytes from 74.125.77.104: icmp_seq=4 ttl=48 time=752 ms
64 bytes from 74.125.77.104: icmp_seq=5 ttl=48 time=592 ms

. . .

64 bytes from 74.125.77.104: icmp_seq=93 ttl=48 time=816 ms
64 bytes from 74.125.77.104: icmp_seq=94 ttl=48 time=941 ms
64 bytes from 74.125.77.104: icmp_seq=95 ttl=48 time=1031 ms
64 bytes from 74.125.77.104: icmp_seq=96 ttl=48 time=993 ms
64 bytes from 74.125.77.104: icmp_seq=97 ttl=48 time=1008 ms
64 bytes from 74.125.77.104: icmp_seq=98 ttl=48 time=1090 ms
64 bytes from 74.125.77.104: icmp_seq=99 ttl=48 time=1104 ms
64 bytes from 74.125.77.104: icmp_seq=100 ttl=48
  • Links de descarga
http://lwp-l.com/pdf4660

Comentarios de: Quality of service (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad