|
|
|
|
Debian Última actualización | stable: 04/05/2013
testing: 19/05/2013
unstable: 19/05/2013
|
|
|
|
|
|
|
|
QoS (Quality of service)
(23500 lecturas)
Por Javier Gonzalez
^IcE-bOy^
(http://www.javier-gonzalez.com)
Creado el 07/07/2003 15:27 modificado el 07/07/2003 15:28
|
¿Quieres balancear la carga de internet en breves minutos atentiendo a las prioridades que tu elijas? ¿Estas harto de tiempos de latencia muy altos cuando descargas algo que no e dejan ni controlar una shell remota? ¿Problemas con tu ADSL cuando se te satura un canal? En este mini-artículo aprenderás como solocionarlo en 4 pasos. a qué esperas !! y tu ... ya implementas QoS desde tu GNU/Debian ? :-) | Pagina1/1 |
Implementando QoS (Quality of Service)
|
Hoy en día es muy habitual compartir la conexión a internet con varias personas, algún familiar, vecino,
amigo, o simplemente porque tienes un cybercafé y quieres evitar que se sature la conexión con las descargas y los jugadores se vean afectados con subidas bestiales de ping,
o quien sabe si has montado un nodo wireless 'publico' y quieres controlar el ancho de banda cedido para ello.
Tambien puede darse el caso que seas el unico que usas la conexión a internet, pero te gustaría dar prioridad a una serie de conexiones antes que a otras (por ejemplo para que no se resienta una shell si estas bajando algo grande).
En mi caso tengo una red local en casa, con 5 equipos (uno de ellos es el servidor), y como os podréis imaginar
los cabreos de ... <"¡Porqué va tan lento!"> ... o ... <"¡Deja de bajar 'distribuciones de linux' que no puedo ni leer el correo!"> estaban a la orden del día.
Antes tampoco podía tener el mldonkey 24x7 ya que era una tortura para el resto, ahora no hay ningún problema.
Supongo que estarás intrigado en qué es QoS, no me considero ningún experto en la materia, pero por
lo que he podido leer, consiste en balancear la carga de internet atendiendo a una serie de prioridades.
Esas prioridades pueden ser muy diversas, desde puerto de conexion, dirección ip, tipo de paquete ... etc.
Y las formas de implementarlo son muchisimas y muy variadas, atentiendo a los distintos algoritmos (FCFS, Round Robin, FIFO ... etc).
Con algoritmo utilizado en este articulo podremos conseguir dar prioridad a unos puertos o ips sobre otros, así como evitar el siempre presente incordio que se producen en las ADSL cuando se satura un canal.
El kernel de linux lleva desde hace bastante tiempo implementado QoS, por lo que si quieremos
darle uso necesitaremos recompilar nuestro kernel dandole soporte QoS, para ello:
$ cd /usr/src/linux
$ make menuconfig
Y en Networking options en QoS and/or fair queueing activaremos todo, de tal forma que quede asi:
[*] QoS and/or fair queueing
<*> CBQ packet scheduler
<*> HTB packet scheduler
<*> CSZ packet scheduler
<*> The simplest PRIO pseudoscheduler
<*> RED queue
<*> SFQ queue
<*> TEQL queue
<*> TBF queue
<*> GRED queue
<*> Diffserv field marker
<*> Ingress Qdisc
[*] QoS support
[*] Rate estimator
[*] Packet classifier API
<*> TC index classifier
<*> Routing table based classifier
<*> Firewall based classifier
<*> U32 classifier
<*> Special RSVP classifier
<*> Special RSVP classifier for IPv6
[*] Traffic policing (needed for in/egress)
ahora salimos guardando los cambios ... y una vez más:
$ make dep clean bzImage modules modules_install install
(si tienes algun problema hasta aquí remitete a algún how to sobre compilar un kernel)
Una vez reiniciado el equipo, debemos instalar iproute, en Debian tan sencillo como: apt-get install iproute
Ahora debemos elegir el algoritmo a utilizar, el que llevo utilizando yo bastante tiempo ( y me va muy bien es el wshaper en su versión HTB). Podéis descargarlo de aquí
Una vez descargado descomprimiremos con:
$ tar -xzvf wondershaper-1.1a.tar.gz
Tendremos varios ficheros, pero el que realmente nos interesa es wshaper.htb
Antes de nada tendremos que configurarlo, para ello lo editamos atendiendo al siguiente patrón:
DOWNLINK=250 (Será algo menos del valor máximo que tiene nuestra conexión de download)
UPLINK=100 (Lo mismo que con el download, pero ahora para upload)
DEV=eth1 (Dispositivo que está conectado a internet)
NOPRIOHOSTSRC= (Hosts a los que queremos dar una prioridad inferior que al resto, la ip local del PC de nuestra hermanita por ejemplo)
NOPRIOHOSTDST= (Hosts remotos a los que queremos dar una prioridad inferior a la hora de conectar a ellos)
NOPRIOPORTSRC=4662 (Puertos a los que conectarán desde fuera y queremos dar una prioridad inferior)
NOPRIOPORTSRC=21
NOPRIOPORTSRC=80
NOPRIOPORTDST=4662 (Puertos a los que conectaremos nosotros y queremos dar una prioridad inferior)
NOPRIOPORTDST=21
NOPRIOPORTDST=1214
Una vez editado el fichero, no nos queda más que lanzarlo, tan sencillo como ./wshaper.htb
Si todo ha ido bien podríamos hacer varias pruebas, como poner una descarga a un FTP remoto y probar como va una conexión ssh o telnet, o simplemente navegar.
Espero que esto os sirva, ya que se trata de algo muy sencillo, pero muy eficiente y que se agradece enormemente, ya que se consigue una latencia muy buena.
Esta es la configuración que tengo yo en el servidor que se encarga de hacer NAT para toda mi LAN, preo recuerda que lo ideal es que adaptes la configuración a tu máquina.
|
Un saludo:
Javier González
^IcE-bOy^
iceboy(arroba)l0r0.com
|
|
|
|
|
|
| Comentarios | 1. Yet Another Article Based In WonderShaper Script (08/07/2003 12:15, #798) Por: El cobarde anónimo |
| Pos eso, que nada nuevo debajo del sol ;)
Saludos | |
2. Re: QoS (Quality of service) (08/07/2003 18:09, #799) Por: El cobarde anónimo |
| He leido mucha informacion acerca de QoS y leido los manuales y howto que hay al respecto, pero este articulo es breve y sencillo, y lo mas importante, por lo menos para mi, va al grano
Gracias y enhorabuena | |
3. Re: QoS (Quality of service) (27/07/2003 10:44, #838) Por: El cobarde anónimo |
| can you send me this toturial in english ? i can't understand enything of this :) olny kernel compilation | |
4. Re: QoS (Quality of service) (11/09/2003 16:03, #943) Por: novata y aprendiz |
| Que mas puedo decir..Realmente bueno, esto es mas que bueno gracias por compartirlo. | |
5. Re: QoS (Quality of service) (30/10/2003 02:01, #1050) Por: morgan |
Gracias, es genial, una sola cuestion se puede limitar uan ip a un caudal maximo ?
Un saludo a todos los de la lista
morgan | |
6. Re: QoS (Quality of service) (30/10/2003 02:06, #1051) Por: El cobarde anónimo |
por cierto aki en el pueblo estasmos montado uan red wireless es por eso nustro interes http://www.pueblosanjose.com
Pueblo de San Jose http://www.parquenatural.com
El Parque de Cabo de Gata
Un saludo | |
7. Re: QoS (Quality of service) (30/10/2003 07:42, #1053) Por: ^IcE-bOy^ (http://www.l0r0.com) |
| Mmmmm lo mejor de wshaper es no tener que limitar con velocidades ninguna conexión, así teoricamente siempre se está aprovechando el 100%. Para limitar una velocidad a alguna aplicacion y/o conexión se que existen herrmientas, pero ahora no recuerdo el nombre, busca por google, seguro encuentras información! un saludo. | |
|
8. Re: QoS (Quality of service) (20/12/2003 17:04, #1178) Por: El cobarde anónimo |
NOPRIOPORTSRC=4662 (Puertos a los que conectarán desde fuera y queremos dar una prioridad inferior)
NOPRIOPORTSRC=21
NOPRIOPORTSRC=80
Así estás "machacando" la variable, asignándole solamente el último valor. Lo correcto sería:
NOPRIOPORTSRC="4662 21 80"
Si es que no tenéis ni puta idea, con una simple mirada al código si ve que lo que has puesto es totalmente erróneo. En fin, cuando hagáis un artículo sobre algo informaros un poco antes y escribid las cosas correctamente y con coherencia, que desgraciadamente hay gente que se cree las gilipolleces que contáis aquí. | |
9. Re: QoS (Quality of service) (15/01/2004 13:27, #1293) Por: Cristian |
Gracias a Dios nos informastes de este ERROR, porque no haces uno bien echo asà lo compartes con todos como realmente se tiene que hacer, porque criticar sobre algo que esta ya echo no tiene sentido, este es el momento para que hagas un buen tutorial de QoS sin errores para que todos no enteremos como se usa y vos puedas demostrar cuanto sabes. Un error lo puede tener cualquiera, pero uno no tiene que ser un pedante.
Saludos
Me olvidaba de agradecer tan buen tutorial | |
10. Re: QoS (Quality of service) (26/04/2004 05:13, #1604) Por: El cobarde anónimo |
| He Visto pocos articulos tan claros como este.
Realmente creo que no hay mayor ejemplo de persona desagradable como vos.... en mi país te pondriamos ORTIVA y te echariamos de un foro tan copado como este.
El compromiso como se dice mas adelante es hacer y no criticar.
Esperamos tu version de QOS para deleitarnos con tu perfección.
Firmado: Un usuario Común | |
11. Re: QoS (Quality of service) (01/05/2004 03:36, #1621) Por: El cobarde anónimo |
| Pufff, vale, corregir si, pero quemarse ¿que sentido tiene quemarse? | |
12. Re: QoS (Quality of service) (25/11/2004 22:16, #2682) Por: El cobarde anónimo es un pendejo |
| a ver, no creo que esa sea la forma de corregir algo,pues tanto como el autor del articulo como vos, no estan tratando un tema muy complejo que digamos. El autor tiene un punto a favor y es el de compartir con todos sus conocimientos, pero usted es un pobre desgraciado que basandose en un articulo escrito se puso a buscar en cada una de las lineas a ver que error encontraba y asi subir su pordebajeado ego y creerse el putas (el guru), pues dejeme decirle que no es asi, seguis siendo un pobre guevon. | |
|
13. Re: QoS (Quality of service) (04/05/2004 21:37, #1633) Por: LAD |
| Quisiera hacer una corrección a un punto de este articulo. QoS no está hecho para hacer un balanceo de carga, sino que es utilizado para poder identificar un tipo de tráfico respecto a otro agregando una marca a un tráfico determinado. Con esto se puede hacer un mejor manejo de ancho de banda para un tráfico en particular. Por ejemplo, si mi enlace esta saturado con un ftp (ftp tiende a ocupar todo el ancho de banda disponible del enlace) pero si en esos momentos quisieramos hacer un ssh, pasar voz por el enlace, video o cualquier cosa de alta prioridad para nosotros versus a un ftp, con técnicas de QoS podemos hacer reservas de ancho de banda para un tipo especifico de datos frente a otros, garantizando que tendremos ancho de banda disponible y no tener lentitud o pérdida de paquetes.
Saludos, | |
14. Re: QoS (Quality of service) (02/12/2005 16:30, #4417) Por: Master War |
| Tu correccion es muy valedera debido a que QoS realiza es eso, darle prioridad a los paquetes para que los q el administrador crea conveniente tengan mayor prioridad sobre los demas. Estoy haciendo mi tesis sobre Calidad deServicio (QoS), y en realidad me gustaria q me enviaras si tienes infoemacion de alguna aplicaciones q pueda realizar bajo linux. Agradeciendo una pronta respuesta,
Me Despido
Master War | |
|
15. Re: QoS (Quality of service) (07/02/2005 12:07, #3216) Por: SR.CHECA |
| YO E LEIDO ESTE TUTORIAL POR KE NOS HA OBLIGADO YOSH, NO EL D ELA JUNGLA SI NO EL PROFESOR DE REDES. | |
|
|
17. Re: QoS (Quality of service) (12/02/2005 21:45, #3239) Por: El cobarde pecadorl |
| El tema sería, hay algo para dar prioridad a por ejemplo los puertos 21 y 80 ? O para balancear dichos puertos y que en un momento dado puedan "ocupar" todo el ancho de banda?
Gracias mil. | |
18. Re: QoS (Quality of service) (13/02/2005 12:05, #3242) Por: El cobarde pecadorl de antes |
| O mejor dicho, habria alguna manera para reservarle un minimo de ancho de banda a ciertos puertos por ejemplo el 80, para maximizar el rendimiento de un apache?
Muchas gracias de nuevo | |
19. Re: QoS (Quality of service) (23/02/2005 20:16, #3272) Por: Chapi |
| Dirigido a El cobarde anónimo...
Voy más ó menos siguiendo las cosas que veo que pueden interesar, como lo de quitar prioridad según los puertos.
Lo tengo puesto como indicas, pero no me chuta de momento, creo que lo que hago mal, es generar el fichero add.bz2 después de modificar el wshaper.htb.
¿Me podrías echar un cable? ¿Cómo puedo hacer para descomprimir el add.bz2 y volverlo a generar correctamente?
Un saludo.. | |
|
20. Re: QoS (Quality of service) (17/04/2005 21:52, #3418) Por: Fabian |
| Muy buen aporte, pero quisiera hacer una consulta que no me queda claro y es con respecto a la compilacion del kernel, ya que no se nombra que version se utiliza para este ejemplo.Mi distribucion es Debian con kernel 2.4 y no se si debo compilarlo o pasar a la instalacion de los paquetes y configuracion. Gracias y muy bueno el tutorial. | |
21. Re: QoS (Quality of service) (02/12/2005 16:22, #4416) Por: Master War |
| El articulo me parece bastante bueno, debido a q va al grano, sin mucho rodeos. Me gustaria que me enviaras la informacion que tengas de los protocolos de encolamiento, o de como usarlos debido a que estoy haciendo mi tesis en una aplicacion de QoS bajo linux y me interesa documentarme al respecto.
Esperando una pronta respuesta, me despido...
Master War | |
|
|
|
|
|
| Tira ECOL |
|
|
|
|
|
|