Controlar el ancho de banda con Squid y delay pools

download Controlar el ancho de banda con Squid y delay pools

If you can't read please download the document

description

Controlar el ancho de banda con Squid y delay pools

Transcript of Controlar el ancho de banda con Squid y delay pools

Controlar el ancho de banda con Squid y delay pools8 comentariosUna de las caractersticas de Squid cache proxy ms tiles en nuestros entornos es el soporte para delay pools, esta permite administrar, racionalizar y controlar el ancho de banda disponible en nuestros enlaces. Sin embargo, muchas veces es malinterpretado y se hace un mal uso provocando cuellos de botella e insatisfaccin en los clientes. A continuacin un intento de explicar y describir el uso de esta importante caracterstica.Trminospool: es una coleccin de buckets.bucket: representa el trfico asignado que se rellena cuando alcanza una tasa (lmite) y que causa que el trfico se demore cuando est vaco.class 1: clase de delay pool que contiene un solo bucket colectivo que se usa para todas las solicitudes de los hosts que estn dentro del pool.class 2: clase de delay pool que contiene un bucket colectivo y 255 buckets individuales, uno para cada host en una red IPv4 clase C.class 3: clase de delay pool que contiene un bucket coletivo, 255 buckets para las subredes en una red de 16-bits y buckets individuales para cada host en estas redes IPv4 clase B.Parmetros del delay poolCada delay pool contiene parmetros que se definen por el tag delay_parameters de la siguiente forma:delay_parameters pool bucket-colectivo (para delay pools de clase 1)delay_parameters pool bucket-colectivo bucket-individual (para delay pools de clase 2)delay_parameters pool bucket-colectivo bucket-red bucket-individual (para delay pools de clase 3)Los valores del parmetro del delay se escriben velocidad/velocidad mxima y se especifican en kilobytes por segundo. El primer valor se usa para la velocidad de la descarga normal y el segundo la velocidad en la que comenzar a ralentizarse la peticin. Si se desea dejar la mxima velocidad disponible se especifica el valor -1.Se recomienda que el valor de la velocidad mxima sea al menos el doble del valor de la velocidad de descarga.Definicin de delay poolsLos delay pools se define de la siguiente forma:delay_pools [cantidad de delay pools]delay_class [nmero del delay pool] [clase del delay pool]delay_access [nmero del delay pool] [ACL]delay_parameters [nmero del delay pool] [velocidad/velocidad mxima]Ejemplo:delay_pools 1delay_class 1 1delay_access 1 allow alldelay_parameters 1 32000/64000Este delay pool consiste en un solo delay pool de clase 1 que ser aplicado a todos los clientes y que tendr como velocidad de descarga asignada 32 Kbytes por segundo y una velocidad mxima de 64 Kbytes por segundo.Situaciones hipotticasSituacin:Contamos con un enlace de 512 Kbps y queremos usar solo la mitad para la navegacin a travs del proxy y reservar la otra para otros servicios.Solucin:delay_pools 1delay_class 1 1delay_access 1 allow alldelay_parameters 1 32000/32000Explicacin:Se utilizar un solo delay pool de clase 1 y todos los clientes son afectados por este. Los parmetros 32000/32000 significan que el lmite es 32 kbytes por segundo (512000/2/8). En esta situacin se utiliz una clase 1 porque todos los clientes entran en un mismo bucket utilizando el ancho de banda disponible, una vez que el bucket se vace (no quede ancho de banda disponible) el cliente que haga solicitudes en este estado se ver afectado.Situacin:La misma que la anterior pero queremos aplicar el delay pool en el horario de 8:00 a.m. y 5:00 p.m. de lunes a viernes.Solucin:acl horario-laboral time MTWHF 08:00-17:00delay_pools 1delay_class 1 1delay_access 1 allow horario-laboral alldelay_parameters 1 32000/32000Donde: M (lunes), T (martes), W (mircoles), H (jueves) y F (viernes)Una vez terminado el horario laboral, el ancho de banda se podr usar indiscriminadamente por cualquier cliente.Situacin:Contamos con un enlace de 2 Mbps y queremos asignarle 512 Kbps a un grupo y 256 Kbps a otro sin importar cmo usen el ancho de banda los clientes individuales de cada una de ellos y reservar el ancho de banda restante para otros servicios.Solucin:acl grupo1 src 192.168.0.11-192.168.0.30acl grupo2 src 192.168.0.31-192.168.0.60delay_pools 2delay_class 1 1delay_class 2 1delay_access 1 allow grupo1delay_access 1 deny alldelay_access 2 allow grupo2delay_access 2 deny alldelay_parameters 1 64000/64000delay_parameters 2 32000/32000Explicacin:Se definen las ACLs de tipo source para definir cules sern los grupos afectados por cada delay pool, cada delay ser de clase 1 ya que no importan los clientes individuales.Situacin:Contamos un enlace de 512 kbps y queremos usar la mitad para la navegacin y que cada usuario pueda descargar a 8 kilobytes por segundo con rafagas de 16 kilobytes.Solucin:delay_pools 1delay_class 1 2delay_access 1 allow alldelay_parameters 1 32000/32000 8000/16000Explicacin:Se utilizar un bucket colectivo de 32 Kbytes por segundo y cada cliente podr descargar a una velocidad de 8 Kbytes por segundo con rfagas de hasta 16 Kbytes. En este caso particular es interesante el uso de rfagas porque este valor casi siempre afecta a las descargas de archivos grandes y no pequeos como archivos html, css, jpg, etc, por lo tanto aquellos usuarios que estn navegando sin descargar un fichero relativamente grande, la velocidad de respuesta ser un poco ms rpida sin afectar el ancho de banda, ya que son rfagas en intervalos bien cortos.Un buen uso de delay pools de Squid cache proxy asegura una mejor administracin, control y racionalizacin del ancho de banda de nuestras redes, tratando de satisfacer las necesidades de los usuarios que hacen uso de este servicio. Les propongo una investigacin ms exahustiva y una experimentacin personal para lograr dominar esta importante caracterstica.NotasExisten hasta cuatro clases de delay pools, en esta entrada solo se trataron las dos primeras clases por ser las ms comunes en mi entorno de red.ReferenciasSquid cache proxy wiki, delay poolsDocumentacin de Squid cache proxy, delay classDocumentacin de Squid cache proxy, delay parametersPublicado en Tutoriales acerca de proxy, squidComentarios desactivadosJP 2 aos atrshola, muy bueno el post pero tengo una duda.Como hacer para que un grupo descargue ciertas extenciones (ej iso, avi, etc) a una velocidad pero si el archivo se pasa de X tamao lo limite a otra velocidad pero si los archivos estan en mi red que no le aplique la delay_pools y que otro grupo no tenga esa restriccin ??Salu2soneohthree 2 aos atrs@JPLa primera interrogante no creo que se pueda resolver, la segunda puedes especificar una ACL de tipo dst_domain a las que no apliques los delay_pools, por ejemplo:acl misdominios dst_domain .dominio.cu y en el delay pool agregar delay_access 1 allow all !misdominiosJP 2 aos atrsok thanks, al menos de 2 uno pa 500 de averaje jejejejeSalu2soneohthree 2 aos atrs@JPRealmente la primera situacin no creo que se resuelva directamente con Squid. Resolviste la segunda con la sugerencia?yaniel 2 aos atrscuando uso las delay pools el sevidor se me pone lento de tal manera que no puedo usarlastengo la version squid3otra cosa que veo que cuando las aplico consume demasiado y cuento con un 1 GB de ramque puedo hacer.y kiero usarlasy mi conexion es de 128oneohthree 2 aos atrs@yanielTengo entendido que algunas revisiones de la versin 3 de Squid tienen problemas con los delay pools, uso la versin 2 por cuestiones personales.Wintch 2 aos atrsMuchas gracias por el articulo!Limitar por horario es un golazo!alfredo 2 aos atrsSaludos Jp en respuesta a lo que habias preguntado que te dijeron no era posible ps es posible solo en parte, ya que puedes limitar la velocidad de descargas de ciertos archivos (iso,avi,etc)que requieras y tambien puedes identificar el tamao de los archivos a descargar y establacer bloqueo en archivos mayores a la cantidad que desees aca te dejo un enlace para que le estudies y veas que puedes usar lo unico es que esta en ingles pero creo que ese problema lo solventa nuestro amigo google http://www.squid-cache.org/Doc/config/reply_body_max_size/