You are on page 1of 14

Revista INGE CUC,Volumen 8, Nmero 1, Octubre de 2012, pp.

149-162

Servidor Proxy Cach:


Comprensin y asimilacin tecnolgica 1

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

Web Proxy Caching:


Understanding and technological assimilation
Abstract
Internet Service Providers (ISPs) usually include the concept of internet accelerators to re-
duce browsers response time for obtaining requested files. For systems administrators is
difficult to choose the proxy cache server configuration, considering that it is necessary to
decide the values to be used in different variables. This article sets out the way in which the
process of understanding and technology assimilation of the proxy cache server was address,
which in turn is a high-impact organizational service. Moreover, this article is a product from
the research project titled Configuration Analysis of Proxy Cache Servers, where relevant
aspects of Squid as proxy cache server were studied.

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

INTRODUCCIN tpicamente contiene el objeto solicitado


[12]. La interaccin entre el cliente y el ser-
Una de las principales actividades que de-
vidor web es ilustrada en la Fig. 1.
sarrolla un usuario de Internet es navegar
entre las millones de pginas y sitios web.
Como es bien conocido, la web es amplia-
mente usada en todo el mundo y el Protocolo
de Transferencia de Hipertexto (HyperText
Transfer Protocol - HTTP) es considerado
como el motor que permite el intercambio
de informacin y define la forma como los
navegadores (programas cliente web) soli-
Fig. 1 Interaccin entre cliente y servidor web
citan objetos a los servidores web y cmo
los servidores entregan la informacin so- Cuando se solicita un archivo desde un na-
licitada [12]. vegador a un servidor web, el archivo tarda
un tiempo en ser recibido por el navegador.
HTTP es un protocolo de la capa de apli-
El tiempo total est relacionado con varia-
cacin del modelo TCP/IP y es el corazn
bles como la cantidad de bytes del archivo
de la web. Las especificaciones tcnicas del
solicitado, la distancia entre el servidor web
protocolo HTTP estn definidas en los do-
y el navegador; la capacidad de comuni-
cumentos RFC 1945 [3] y 2616 [7]. HTTP
cacin de los distintos enlaces fsicos por
es implementado por dos tipos de progra-
donde debe pasar el mensaje, la eficiencia
mas: un programa servidor tal como Apa-
de los dispositivos activos intermedios y el
che Web Server [1] y un programa cliente,
trfico [12].
por ejemplo el navegador Mozilla Fire-
fox [13]. Compartir el acceso a Internet para una or-
ganizacin, ms que una opcin es una ne-
El programa cliente y el programa servidor
cesidad, bien sea por la falta de direcciones
usualmente son ejecutados en diferentes
IP pblicas para acceder a la red, o por ra-
hosts y se comunican entre s mediante el
zones de seguridad. Las dos soluciones ms
intercambio de mensajes HTTP. El protoco-
aceptadas para ofrecer el servicio de acce-
lo HTTP define la forma como los navega-
so compartido a Internet son el uso de un
dores solicitan objetos (archivos) a un ser-
servicio de traduccin de direcciones de red
vidor y cmo los servidores los transfieren
(NAT), o la implementacin de un servidor
a los clientes. Cuando un usuario solicita
proxy.
una pgina web (o hace clic en un enlace),
el navegador genera y enva uno o varios El servicio NAT consiste en la intercepta-
mensajes de solicitud HTTP al servidor. El cin de datagramas IP salientes y entran-
servidor recibe cada solicitud y responde tes, de manera que sea posible convertir
con un mensaje de respuesta HTTP el cual las direcciones IP pertenecientes a una red

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-

Fig. 2 Servidor proxy cach en una red corporativa

152
Revista INGE CUC,Volumen 8, Nmero 1, Octubre de 2012, pp. 149-162

pliamente utilizada en diferentes sistemas y temas de archivos y los esquemas de alma-


es conocida con el nombre de cache, dando cenamiento [15].
lugar al trmino servidor proxy cach [6].
La seleccin de los parmetros con que se
La interaccin entre el cliente y el servidor
va a configurar y los valores que se van a
web con un servidor proxy en el medio es
asignar, generalmente est basada en la ex-
ilustrada en la Fig. 2.
periencia, en heursticas y en los valores
La configuracin de Squid es realizada me- que se asignan por defecto [10].
diante la asignacin de valores a un nmero
El rendimiento de un servidor proxy cach
cercano a 200 directivas en un archivo de
depende de su ubicacin en la red corpo-
configuracin, similar al de otros servicios
rativa, de las solicitudes realizadas por los
en sistemas tipo Unix. La mayora de es-
usuarios y de los intereses comunes de
tas directivas tiene un valor asignado por
ellos. Para medir el rendimiento de un ser-
defecto; sin embargo, es necesario ajustar
vidor proxy cach, se contabilizan los acier-
algunos de estos valores para tener un servi-
tos y fallos en la bsqueda de los objetos
dor Squid operando con una configuracin
que sean solicitados por los usuarios [6].
bsica [15].
Usualmente, es necesario esperar un tiempo
Las directivas de Squid se pueden agrupar en
determinado para obtener estadsticas acer-
siete categoras, de acuerdo con sus carac-
ca de las solicitudes de los usuarios y de las
tersticas. Un primer grupo de directivas de
respuestas del servidor proxy. Con base en
identificacin; un segundo grupo establece
esas estadsticas se pueden tomar decisio-
el control de acceso bsico; el tercer grupo
nes para su reconfiguracin.
establece el control de acceso avanzado; en
cuarto lugar, las directivas de configuracin El proyecto de investigacin Anlisis de
bsica de cach; en quinto lugar, la configu- configuraciones de servidores proxy ca-
racin avanzada de cach; un sexto grupo ch, del cual este artculo es producto, fue
dedicado al cach distribuido; y un grupo desarrollado con el fin de identificar pa-
de directivas dedicado al control de ancho rmetros de configuracin de un servidor
de banda. Las directivas que tienen relacin proxy cach relacionados con su desempe-
con el proyecto de investigacin son las di- o, en busca de soluciones que mejoren las
rectivas de configuracin bsica del cach, condiciones en las que los usuarios de una
entre las que se encuentran la especificacin organizacin utilicen un servicio de acceso
del directorio de cach, el espacio en disco, compartido a Internet. Lo anterior permite
los lmites al tamao de los archivos que se acercar este conocimiento tecnolgico a la
van a almacenar en cach, la estructura de comunidad acadmica y, en consecuencia, a
directorios de cach, y las polticas de re- la sociedad y la industria mediante su inte-
emplazo; y las directivas de configuracin raccin con profesionales en el rea de in-
avanzada de cach, especficamente los sis- fraestructura de tecnologa informtica.

153
Servidor Proxy Cach: Comprensin y asimilacin tecnolgica

La metodologa empleada en el desarrollo TRABAJO RELACIONADO


del proyecto corresponde a una adaptacin
Desde que se origin la web, a comienzos
de la Metodologa de la Investigacin Tec-
de la dcada del noventa, el nmero de usua-
nolgica, propuesta por Sonia Ros en 1998
rios ha crecido continuamente y el desem-
[14], para su aplicacin en proyectos de
peo ha sido una preocupacin constante
Infraestructura de Tecnologa Informtica.
para los investigadores. El uso de cach en
Producto de la adaptacin de esta metodo-
la web ha sido una estrategia ampliamente
loga, se identificaron cinco etapas: Estu-
estudiada para esta problemtica, por lo que
dios previos, Anlisis del problema, Diseo
se realiz un anlisis de la forma como se
de la solucin, Implementacin y Pruebas.
han desarrollado otros trabajos de investi-
Para adelantar la investigacin, fue necesa-
gacin en temas relacionados con el anlisis
rio entender el funcionamiento del servicio
de desempeo de servidores proxy cach.
prestado por los servidores proxy cach y
asimilar la tecnologa. El servidor proxy ca- Se destacan tres elementos encontrados. En
ch seleccionado para el desarrollo del tra- primer lugar, la estrategia utilizada por los
bajo fue Squid, entre otras, por las siguien- investigadores para realizar sus estudios; en
tes cuatro razones: est basado en software segundo lugar, las mtricas utilizadas para
libre, lo que implica acceso al cdigo fuente medir el desempeo; y en tercer lugar, prue-
y la posibilidad de modificarlo de acuerdo bas de desempeo que han sido publicadas
con las necesidades; es ampliamente utili- por [15] como punto de referencia del de-
zado en el mundo; est bastante documen- sempeo de Squid.
tado; y proporciona diferentes posibilidades
para analizar su comportamiento. Adems,
se analizaron antecedentes de investigacio- Estrategias de investigacin
nes realizadas en trabajos relacionados, a
Segn [5] y [16], los trabajos de investi-
partir de los cuales se identificaron algunas
gacin sobre el desempeo de servidores
estrategias de investigacin, mtricas de de-
proxy cach utilizan diferentes tcnicas
sempeo utilizadas en estudios similares, y
para la recoleccin de datos. Algunas si-
se analizaron los resultados de un estudio
guen mtodos formales, mientras que otras
publicado sobre el rendimiento de Squid.
son evaluaciones empricas; sin embargo,
El resto del artculo est estructurado de la todas son ampliamente aceptadas y utili-
siguiente manera: A continuacin se presen- zadas. Entre las tcnicas ms populares se
ta el trabajo relacionado; luego se hace una encuentran la simulacin de redes con datos
descripcin de la metodologa empleada en artificiales; la implementacin de sistemas
el desarrollo del proyecto; despus se mues- reales en redes aisladas; y el anlisis de ar-
tra el esquema de trabajo y la automatiza- chivos log reales. A continuacin una breve
cin del proceso de pruebas se encuentra descripcin de estas tcnicas.
posteriormente. Al final, las conclusiones.

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

bles, se instal una herramienta de virtuali- Archivos de prueba


zacin empresarial, se crearon las mquinas
Como se ha mencionado, para realizar una
y dispositivos virtuales con sus respectivos
prueba en este estudio, se deba medir el
sistemas operativos y configuracin de red.
tiempo promedio de descarga de un objeto
La parte final de la implementacin consis-
web. Por lo tanto, se necesitaban archivos
ti en la instalacin y configuracin del ser-
disponibles para descargar, los cuales de-
vidor web y del servidor proxy cach.
ban estar almacenados en el servidor web
La etapa de pruebas permite validar el tra- y que el cliente los tuviera debidamente
bajo realizado. Para facilitar la compren- identificados al momento de hacer las soli-
sin del procedimiento utilizado en el pro- citudes. Es de anotar que el tamao de cada
yecto de investigacin, se establecieron dos archivo est directamente relacionado con
fases: la estructura y el proceso de pruebas, el tiempo que tarda obtenerlo desde cuando
las cuales se describen a continuacin. se realiz la solicitud. En este estudio se uti-
lizaron archivos de tamaos diferentes.

Estructura de las pruebas Parmetros de configuracin del servidor Squid


Fue necesario definir ciertos elementos para El objetivo del proyecto de investigacin
establecer la estructura de las pruebas. Es- era analizar distintas configuraciones en
tos elementos son: la mtrica de desempeo un servidor proxy cach y la herramienta
empleada; los archivos de prueba almace- seleccionada para realizar las pruebas fue
nados en el servidor web; y los parmetros Squid Cache. Dado que la configuracin de
de configuracin del servidor Squid que Squid se realiza mediante un archivo pla-
fueron analizados. no de configuracin en el cual se especifi-
can los valores de un nmero importante
Mtrica de desempeo
de parmetros, se procedi a identificar los
Las mtricas de desempeo que se tuvieron parmetros ms relevantes con respecto al
en cuenta son hit rate, byte hit rate y tiempo desempeo del servidor Squid. Los princi-
promedio de descarga de cada objeto web pales parmetros de configuracin estaban
(archivo de prueba). Sin embargo, las dos relacionados con el sistema de archivos y
primeras fueron descartadas debido a que el esquema de almacenamiento, y son cohe-
tienen una alta relacin con las preferencias rentes con lo expresado por [15].
de utilizacin del servicio por parte de los
usuarios, las cuales no estn directamente
relacionadas con el objeto de estudio del Proceso de pruebas
proyecto de investigacin. Por lo tanto, las Dado que el objetivo era calcular el tiempo
pruebas realizadas se orientaron a medir el promedio al realizar descargas de objetos
tiempo promedio de descarga de archivos web, se dise el proceso de pruebas con
de prueba previamente identificado. los pasos que se describen a continuacin:

157
Servidor Proxy Cach: Comprensin y asimilacin tecnolgica

1. Seleccin de un archivo de configura- Capa fsica


cin especfico con un conjunto de par-
metros cuyos valores estn determina- La capa fsica del esquema de trabajo del
dos. proyecto de investigacin consisti en un
Servidor Dell Power Edge T100 equipado
2. Inicio del servidor proxy cach Squid
con un procesador Intel Xeon de cuatro n-
con el cach vaco.
cleos de 2.4 GHz, 4 GB de memoria Ram
3. Solicitud de un archivo determinado al y disco duro de 500 GB. Este equipo fue
servidor web. Esta solicitud se realiza adquirido con el fin de implementar virtua-
un nmero de veces especificado, para
lizacin empresarial por hardware (paravir-
un conjunto determinado de archivos.
tualizacin) para el desarrollo de los pro-
4. Registro del tiempo de inicio y fin de yectos del grupo de investigacin en Redes,
cada archivo descargado, para medir el Informacin y Distribucin - GRID, de la
tiempo transcurrido en cada descarga.
Universidad del Quindo.
5. Realizacin de los anlisis respectivos.
Capa de virtualizacin
ESQUEMA DE TRABAJO Para dar un adecuado aprovechamiento a los
recursos de hardware disponibles, y adems
Para la realizacin de las pruebas del pro-
eliminar posibles errores presentes tanto en
yecto de investigacin se dise un esque-
los medios fsicos de transmisin de datos
ma de trabajo dividido en capas, cada una
como en equipos activos, se implement
de ellas orientada a un conjunto de activi-
un ambiente virtual controlado para formar
dades relacionadas. El esquema propuesto
una red aislada. En la implementacin del
se puede observar en la Fig. 3.
ambiente virtual se utiliz VMware ESXi,
una versin gratuita de VMware, la cual
permite dar los primeros pasos en virtua-
lizacin empresarial de ltima generacin.
ESXi utiliza un hipervisor o monitor de m-
quinas virtuales, el cual es un componente
de software que acta directamente sobre el
hardware para permitir la creacin de m-
quinas virtuales sin necesidad de un siste-
ma operativo host optimizando el hardware
disponible. El hipervisor administra recur-
sos hardware como memoria, procesador,
disco y dispositivos perifricos, para ser
asignados a las mquinas virtuales de acuer-
Fig. 3 Esquema de trabajo por capas
do con las necesidades y segn el caso [9].

158
Revista INGE CUC,Volumen 8, Nmero 1, Octubre de 2012, pp. 149-162

Capa de mquinas virtuales ferentes. El primer segmento representaba


la red local o corporativa y el segundo seg-
Se utilizaron tres mquinas virtuales (Fig.
mento representaba una red externa en la
4) en las cuales se configur el sistema ope-
cual se encontraba el servidor web. Para la
rativo GNU/Linux Debian Lenny (Versin
conexin de los equipos se utilizaron swit-
5). La seleccin de este sistema operativo
ches virtuales proporcionados por VMware
se hizo de manera arbitraria, debido a que
ESXi. Es de resaltar que en esta topologa
podra haberse utilizado cualquier otra dis-
no se presentaban mensajes en difusin que
tribucin. Sin embargo, se eligi por ser una
pudieran alterar el rendimiento de la red, ni
distribucin altamente reconocida por su
se consideraron los retrasos cada vez que un
estabilidad y aplicacin en la configuracin
paquete pasaba a travs de un dispositivo
de servidores, adems de tener una gran co-
activo local. Por otra parte, a pesar de si-
munidad de desarrolladores alrededor del
mular el paso entre dos redes diferentes, no
mundo. Las tres mquinas tenan la misma
se contaba con enrutadores intermedios que
configuracin: Procesador 2 GHz, memoria
pudieran aumentar el retardo extremo a ex-
Ram: 1 GB, disco duro: 20 GB. En cuanto
tremo. Tampoco se tuvo en cuenta el retraso
a la configuracin de la red, tanto el cliente
ocasionado por el acceso a la red externa
como el servidor web contaban con una tar-
ni los retrasos producidos por el proceso de
jeta de red, mientras que el servidor proxy
resolucin de nombres de dominio, lo cual
cach tena dos.
estaba fuera del alcance del proyecto. La
Fig. 5 muestra la topologa de red.
Capa de red
La capa de red del esquema de trabajo co- Capa de servicios
rresponde a la topologa de red emplea- En la capa de servicios se adicionaron ro-
da para el desarrollo del proyecto. En este les especficos a cada una de las mquinas
caso, las tres mquinas virtuales estaban virtuales creadas para desempear las fun-
configuradas en dos segmentos de red di- ciones necesarias para la realizacin de las

Fig. 4 Capa de mquinas virtuales

159
Servidor Proxy Cach: Comprensin y asimilacin tecnolgica

Fig. 5 Topologa de red

pruebas. De esta manera, se implement un Por lo anterior, y con el fin de aumentar la


servidor web, un servidor proxy cach y un cantidad de informacin recolectada para
cliente web, tal como se puede apreciar en la realizacin de los anlisis de una manera
la Fig. 6. gil y fcilmente repetible y precisa, se di-
se un ambiente de pruebas automatizado
AUTOMATIZACIN para su ejecucin sobre los servicios ilus-
DEL PROCESO DE PRUEBAS trados en la Fig. 6. Este ambiente consista
en tres componentes: un generador de soli-
Para la ejecucin de una prueba era necesa-
citudes que funcionaba en el cliente; un car-
rio invertir una cantidad de tiempo conside-
gador automtico de archivos de configura-
rable, debido a que se trataba de un proceso
cin que se ejecutaba en el mismo equipo
dispendioso, que usualmente era realizado
donde corra el servidor proxy cach; y una
en forma manual. Esta situacin limitaba la
zona compartida comunicada por la red lo-
adquisicin de informacin determinante
cal, la cual era utilizada para sincronizacin
para el estudio de las configuraciones del
a partir de archivos compartidos. Para evi-
servidor proxy cach. Adems, poda indu-
tar la intervencin de un usuario se dise
cir al error humano en la ejecucin de estas
un procesamiento de archivos en lote, a par-
actividades.

Fig. 6. Capa de servicios

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

REFERENCIAS [10] C. E. Gmez and L. E. Seplveda, Anli-


sis de configuraciones de servidores proxy
[1] Apache. The Apache Software Founda- cach, Informe Final. Universidad del
tion. [Online] Disponible en: http://www. Quindo, 2010.
apache.org/, 2010.
[11] C. E. Gmez and L. E. Seplveda, Me-
[2] R. Ayani, Cost-based Proxy Caching. jorando la calidad de servicio a traves de
Proceedings of the International Sym- configuraciones adecuadas de servidores
posium on Distributed Computing and proxy cache. Primer Seminario Taller
Applications to Business, Engineering and Latinoamericano de Instrumentacion,
Science, pp. 218-222. Wuxi, 2002. Control y Telecomunicaciones SICOTEL.
[3] T. Berners-Lee, RFC 1945. Hypertext Universidad del Quindio, 2012.
Transfer Protocol -- HTTP/1.0, 1996. [12] J. Kurose, Computer Networking: A top-
[4] R. Cceres et al., Web Proxy Caching: down approach, 5th Edition. Massachus-
The devil is in the details. Workshop on sets: Addison Wesley, 2010.
Internet Server Performance. Madison, [13] Mozilla, Firefox. [Online] Disponible en:
Wisconsin USA, 1998. http://www.mozilla.org/firefox/, 2010.
[5] B. Davison, A survey of proxy cache eval- [14] S. Ros, Metodologa de la Investigacin
uation techniques, 1999. Tecnolgica. Ediciones Hispanoamerica-
[6] B. Davison, A Web Caching Primer. nas Ltda., 1998.
IEEE Internet Computing, Volume 5, [15] D. Wesseles, Squid: The definitive guide.
Number 4, 38-45, 2001. OReilly & Associates, Inc., 2004.
[7] R. Fielding, RFC 2616. Hypertext Trans- [16] D. Zeng, Efficient Web Content Deli-
fer Protocol -- HTTP/1.1, 1999. very Using Proxy Caching Techniques.
[8] H. Flynn, Designing And Building Enter- IEEE Transactions on Systems, Man, And
prise DMZs. Syngress Media Inc., 2006. Cybernetics-Part C: Applications and Re-
views, 2004.
[9] B. Goldworm and A. Skamarock, Blade
Servers and Virtualization: Transform-
ing Enterprise Computing While Cutting
Costs. Willey Publishing Inc., 2007.

162

You might also like