Professional Documents
Culture Documents
149-162
Artculo de Investigacin - Fecha de recepcin: 1 de agosto de 2012 - Fecha de aceptacin: 6 de septiembre de 2012
Carlos E. Gmez
Magster en Ingeniera en Sistemas y Computacin, Licenciado en Matemticas y Computacin, Universidad del Quindo. Armenia,
Colombia, carloseg@grid.edu.co
Luis E. Seplveda
Ingeniero de Sistemas y Computacin, Magster en Software Libre, Universidad del Quindo. Armenia, Colombia,
lesepulveda@grid.edu.co
Christian A. Candela
Ingeniero de Sistemas y Computacin, Magster en Comercio Electrnico, Universidad del Quindo. Armenia, Colombia,
christiancandela@grid.edu.co
Resumen
Los proveedores de acceso a Internet usualmente incluyen el concepto de aceleradores de
Internet para reducir el tiempo promedio que tarda un navegador en obtener los archivos
solicitados. Para los administradores del sistema es difcil elegir la configuracin del servidor
proxy cach, ya que es necesario decidir los valores que se deben usar en diferentes variables.
En este artculo se presenta la forma como se abord el proceso de comprensin y asimilacin
tecnolgica del servicio de proxy cach, un servicio de alto impacto organizacional. Adems,
este artculo es producto del proyecto de investigacin Anlisis de configuraciones de ser-
vidores proxy cach, en el cual se estudiaron aspectos relevantes del rendimiento de Squid
como servidor proxy cach.
Palabras clave
Proxy server, proxy cach server, proxy cach, cach web, Squid.
1. Artculo derivado del proyecto de investigacin: Anlisis de configuraciones de servidores proxy cach, del Grupo de
Investigacin en Redes, Informacin y Distribucin - GRID, Universidad del Quindo, 2011.
149
Servidor Proxy Cach: Comprensin y asimilacin tecnolgica
Keywords
Proxy server, proxy cache server, proxy caching, web caching, Squid.
150
Revista INGE CUC,Volumen 8, Nmero 1, Octubre de 2012, pp. 149-162
151
Servidor Proxy Cach: Comprensin y asimilacin tecnolgica
interna para hacerlas compatibles con una lucin software implementada en la capa
red externa. Tpicamente, el servicio NAT de aplicacin la cual intercepta los mensa-
es prestado por un router o un host confi- jes de solicitud HTTP (y otros protocolos),
gurado con ms de una tarjeta de red y se para hacer la solicitud en representacin de
utiliza generalmente para pasar de una red los usuarios de la red corporativa. Gene-
interna, en la cual los hosts tienen configu- ralmente un servidor proxy se ubica en la
radas direcciones IP privadas, para permitir frontera entre la red corporativa y la red del
el acceso a Internet. En este proceso, el dis- proveedor de acceso a Internet [8].
positivo intermedio modifica tanto la direc-
En las dos soluciones mencionadas, todas
cin IP origen (la direccin local), como el
las solicitudes pasan a travs de un disposi-
nmero de puerto origen y esta informacin
tivo intermedio, lo que ocasiona un cuello
es registrada en una tabla. Cuando llegan
de botella y en consecuencia se hace ms
los mensajes de respuesta desde el exterior,
lento el servicio de acceso a Internet a los
los mensajes tambin son interceptados, y
usuarios. Sin embargo, es posible aprove-
se modifican nuevamente la direccin IP
char la ubicacin de un servidor proxy para
y el nmero de puerto destino, de acuer-
guardar all copias de archivos que hayan
do con la informacin registrada. De este
sido descargados por algn navegador de
modo es posible entregar correctamente
la red corporativa, los cuales probablemen-
cada datagrama IP recibido. Esta solucin
te sean solicitados en el futuro por algn
es realizada en la capa de red, aunque de al-
usuario de la red. Las copias de los obje-
guna manera utiliza informacin de la capa
tos estarn ms cerca de los usuarios, por lo
de transporte segn el modelo de referencia
tanto, sern entregadas mucho ms rpido,
TCP/IP [12].
mejorando significativamente el rendimien-
Por su parte, un servidor proxy es una so- to de todo el sistema. Esta tcnica es am-
152
Revista INGE CUC,Volumen 8, Nmero 1, Octubre de 2012, pp. 149-162
153
Servidor Proxy Cach: Comprensin y asimilacin tecnolgica
154
Revista INGE CUC,Volumen 8, Nmero 1, Octubre de 2012, pp. 149-162
Simulacin de redes con datos artificiales que puede ser atribuido al uso y administra-
cin del cach [16].
La simulacin es un mecanismo de evalua-
cin que no obliga implementaciones com- Las dos mtricas de desempeo ms acepta-
pletas aunque requieren el conocimiento das para evaluar el desempeo de un cach
detallado del sistema que se desea evaluar. son el hit rate y el byte hit rate [6]. Sin em-
bargo, la reutilizacin de objetos que estn
Sistemas reales en redes aisladas almacenados en el cach depende en gran
Esta tcnica consiste en crear escenarios medida de las preferencias de los usuarios.
controlados en los cuales se eliminan varia- Adems, alcanzar un nivel mayor en el hit
bles que a pesar de ser reales pueden distor- rate o en el byte hit rate, no necesariamente
sionar los resultados obtenidos. conduce a mejorar significativamente el de-
sempeo del cach [16].
Anlisis de archivos log reales
Es una prctica usada con frecuencia debi-
do a que los datos son obtenidos a partir del Desempeo de Squid con respecto
comportamiento real de los usuarios. al sistema de archivos y al esquema
de almacenamiento
Squid ofrece una variedad de opciones en
Mtricas de desempeo el proceso de instalacin y configuracin,
especialmente relacionadas con el alma-
En estudios acerca del desempeo de los
cenamiento de los archivos en disco. Los
servidores proxy cach [16] seala que hay
sistemas de archivos son caractersticos de
trabajos orientados a mejorar las mtricas
un sistema operativo particular. Casi todas
como el hit rate y el byte hit rate; otros
las versiones de Unix tienen una implemen-
trabajos pretenden disminuir la latencia
tacin del UFS (Unix File System), el cual
experimentada por el usuario; y algunos
tambin es conocido como el FFS (Berkeley
ms intentan disminuir el trfico hacia el
Fast File System). El sistema de archivos
exterior de la red. Sin embargo, hay algu-
por defecto de GNU/Linux es ext2fs, aun-
nas mtricas no tradicionales que pueden
que recientemente nuevos sistemas de ar-
tener incidencia en el desempeo del servi-
chivos han sido desarrollados como ext3fs
dor proxy cach como la cancelacin de la
y ext4fs. Muchos sistemas operativos tam-
conexin entre el cliente y el servidor, y la
bin soportan tecnologas de sistemas de
influencia que tiene el uso de cookies [4]; la
archivos ms nuevas. Estas incluyen nom-
proporcin de reduccin de costo [2]; las ta-
bres y acrnimos como advfs, xfs y reiserfs.
sas mxima y promedio de ancho de banda
Squid puede funcionar con cinco esquemas
consumido, el porcentaje de trfico de red
de almacenamiento: ufs, aufs, diskd, coss y
ahorrado debido al uso local de recursos al-
null. Estos esquemas tienen diferentes pro-
macenados en cach y la cantidad de trfico
piedades y tcnicas para organizar y acce-
155
Servidor Proxy Cach: Comprensin y asimilacin tecnolgica
der a los datos almacenados en el cach me- tema. Esta etapa finaliz con la formulacin
diante llamadas a operaciones del sistema del proyecto.
de archivos [15].
El anlisis del problema consiste en enten-
En [15] se publicaron los resultados de unas der la situacin objeto de estudio. Se inici
pruebas de desempeo de Squid en las cua- con la identificacin de los servicios funda-
les se hicieron anlisis sobre sistemas de mentales que ofrece Squid como servidor
archivos y esquemas de almacenamiento en proxy cach. Luego, se examin el formato
sistemas operativos distintos. Las pruebas del archivo de configuracin de Squid para
realizadas al utilizar el sistema operativo reconocer y analizar los parmetros relacio-
GNU/Linux se relacionan mejor con el pro- nados con su desempeo.
yecto de investigacin.
El diseo de la solucin se refiere a la bs-
queda de ideas y al planteamiento de alter-
METODOLOGA nativas que conduzcan a resolver el proble-
ma objeto de estudio. El diseo inici con
El proyecto de investigacin se enmarc la adaptacin de un modelo abstracto por
dentro de la investigacin tecnolgica en capas con un enfoque descendente, defi-
ciencias de la ingeniera. La metodologa nido en [11]. Este modelo es un referente
empleada correspondi a una adaptacin de abstracto del cual se pueden derivar diseos
la metodologa propuesta por [14] para su con especificaciones particulares, como las
aplicacin en proyectos de infraestructura de este proyecto, ya que permite indepen-
de tecnologa informtica. Producto de la dizar funciones o responsabilidades y ocul-
adaptacin de esta metodologa, se identifi- tar detalles internos de las distintas capas.
caron cinco etapas: Estudios previos, An- Para este caso se dise un ambiente virtual
lisis del problema, Diseo de la solucin, controlado sobre el cual se puso en funcio-
Implementacin y Pruebas. namiento Squid en diferentes topologas de
Los estudios previos corresponden a la pri- red, las cuales fueron de gran utilidad en la
mera etapa del proyecto. En esta etapa se realizacin del estudio. Posteriormente, se
identific el problema objeto de estudio a disearon escenarios de prueba con diferen-
partir de la oportunidad que representa para tes configuraciones del servidor Squid, y se
el Grupo GRID impactar positivamente crearon archivos para ser almacenados en
el desarrollo de sus actividades misiona- un servidor web (Apache Web Server). Para
les como son la investigacin, la docencia finalizar esta etapa se dise un sistema au-
y la proyeccin social. Posteriormente, se tomatizado de pruebas a partir de sincroni-
realiz la bsqueda y organizacin de la zacin de archivos.
informacin, continuando con la revisin La implementacin corresponde a la etapa
bibliogrfica y el anlisis de trabajos rela- en la que se materializa el diseo realizado.
cionados, obteniendo el estado general del Se utilizaron los recursos fsicos disponi-
156
Revista INGE CUC,Volumen 8, Nmero 1, Octubre de 2012, pp. 149-162
157
Servidor Proxy Cach: Comprensin y asimilacin tecnolgica
158
Revista INGE CUC,Volumen 8, Nmero 1, Octubre de 2012, pp. 149-162
159
Servidor Proxy Cach: Comprensin y asimilacin tecnolgica
160
Revista INGE CUC,Volumen 8, Nmero 1, Octubre de 2012, pp. 149-162
tir de los cuales se definieron: los archivos conveniente en un escenario puede ser in-
disponibles para descargar, la cantidad de conveniente en otro. Determinar los valores
veces que deba ser descargado un archivo de los parmetros de configuracin adecua-
y los archivos de configuracin del servidor dos para un ambiente especfico es una ta-
Squid que seran cargados para la ejecucin rea no trivial; por lo tanto, las pruebas reali-
de cada prueba. Por otra parte, el registro de zadas en el proyecto de investigacin sirven
actividades en bitcoras (archivos log) per- de referencia para que los administradores
mita obtener la informacin necesaria para de servidores Squid realicen ajustes a sus
calcular los tiempos promedio necesarios archivos de configuracin.
para los anlisis de cada archivo de configu-
El ambiente automatizado desarrollado
racin. El ambiente automatizado de prue-
dentro de este proyecto es un valor agrega-
bas se desarroll a partir de la combinacin
do para los administradores de infraestruc-
de herramientas disponibles en el sistema
tura de redes, ya que puede ser aplicado a
operativo, shell scripts y aplicaciones soft-
servicios similares en mltiples platafor-
ware construidas a la medida en lenguaje C.
mas, siempre y cuando su comportamiento
est basado en parmetros especificados en
CONCLUSIONES, APORTE un archivo de configuracin.
Y TRABAJO FUTURO La infraestructura para virtualizacin em-
La configuracin por defecto de Squid no es presarial fue probada y funciona eficiente-
apropiada para todos los ambientes de pro- mente, lo que permite aprovechar este re-
duccin. Es necesario estudiar las necesida- curso en futuros proyectos de investigacin.
des de la organizacin y, con base en ellas,
Como trabajo futuro, quedan muchas ideas
realizar los ajustes respectivos, los cuales
para profundizar, entre las que se destacan
pueden ser tan sencillos como modificar
la automatizacin de la asignacin de los
un parmetro de configuracin, o tan com-
valores de los parmetros de configuracin
plejos como recompilar el software y/o el
mediante la aplicacin de inteligencia arti-
kernel del sistema operativo (si ste lo per-
ficial; el uso de cachs cooperativos (distri-
mite); utilizar varias estructuras de archivos
buidos y jerrquicos); el uso de servidores
para alojar los cachs y tal vez ajustar una
proxy cach sobre plataformas de red basa-
variedad de parmetros en el archivo de
das en IPv6; implementar un robot multi-
configuracin, sin dejar de lado la adecuada
hilo que simule ambientes con acceso con-
seleccin del hardware para la instalacin
currente al servidor proxy cach; y realizar
del servicio.
estudios acerca de configuraciones propias
El comportamiento de una configuracin del sistema operativo y de hardware que
es altamente dependiente de los ambientes afecten el rendimiento del servidor proxy
de ejecucin particulares y lo que puede ser cach.
161
Servidor Proxy Cach: Comprensin y asimilacin tecnolgica
162