Está en la página 1de 14

Revista INGE CUC,Volumen 8, Número 1, Octubre de 2012, pp.

149-162

Servidor Proxy Caché:


Comprensión y asimilación tecnológica 1

Artículo de Investigación - Fecha de recepción: 1 de agosto de 2012 - Fecha de aceptación: 6 de septiembre de 2012

Carlos E. Gómez
Magíster en Ingeniería en Sistemas y Computación, Licenciado en Matemáticas y Computación, Universidad del Quindío. Armenia,
Colombia, carloseg@grid.edu.co

Luis E. Sepúlveda
Ingeniero de Sistemas y Computación, Magíster en Software Libre, Universidad del Quindío. Armenia, Colombia,
lesepulveda@grid.edu.co

Christian A. Candela
Ingeniero de Sistemas y Computación, Magíster en Comercio Electrónico, Universidad del Quindío. 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 difícil elegir la configuración del servidor
proxy caché, ya que es necesario decidir los valores que se deben usar en diferentes variables.
En este artículo se presenta la forma como se abordó el proceso de comprensión y asimilación
tecnológica del servicio de proxy caché, un servicio de alto impacto organizacional. Además,
este artículo es producto del proyecto de investigación “Análisis 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. Artículo derivado del proyecto de investigación: Análisis de configuraciones de servidores proxy caché, del Grupo de
Investigación en Redes, Información y Distribución - GRID, Universidad del Quindío, 2011.

149
Servidor Proxy Caché: Comprensión y asimilación tecnológica

Web Proxy Caching:


Understanding and technological assimilation
Abstract
Internet Service Providers (ISPs) usually include the concept of internet accelerators to re-
duce browser’s response time for obtaining requested files. For system’s 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, Número 1, Octubre de 2012, pp. 149-162

INTRODUCCIÓN típicamente contiene el objeto solicitado


[12]. La interacción 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 páginas 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 información y define la forma como los
navegadores (programas cliente web) soli-
Fig. 1 Interacción entre cliente y servidor web
citan objetos a los servidores web y cómo
los servidores entregan la información 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-
cación del modelo TCP/IP y es el corazón
bles como la cantidad de bytes del archivo
de la web. Las especificaciones técnicas del
solicitado, la distancia entre el servidor web
protocolo HTTP están definidas en los do-
y el navegador; la capacidad de comuni-
cumentos RFC 1945 [3] y 2616 [7]. HTTP
cación de los distintos enlaces físicos 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,
tráfico [12].
por ejemplo el navegador “Mozilla Fire-
fox” [13]. Compartir el acceso a Internet para una or-
ganización, más que una opción es una ne-
El programa cliente y el programa servidor
cesidad, bien sea por la falta de direcciones
usualmente son ejecutados en diferentes
IP públicas para acceder a la red, o por ra-
hosts y se comunican entre sí mediante el
zones de seguridad. Las dos soluciones más
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 traducción de direcciones de red
vidor y cómo los servidores los transfieren
(NAT), o la implementación de un servidor
a los clientes. Cuando un usuario solicita
proxy.
una página web (o hace clic en un enlace),
el navegador genera y envía uno o varios El servicio NAT consiste en la intercepta-
mensajes de solicitud HTTP al servidor. El ción 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é: Comprensión y asimilación tecnológica

interna para hacerlas compatibles con una lución software implementada en la capa
red externa. Típicamente, el servicio NAT de aplicación la cual intercepta los mensa-
es prestado por un router o un host confi- jes de solicitud HTTP (y otros protocolos),
gurado con más de una tarjeta de red y se para hacer la solicitud en representación 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
ción IP origen (la dirección local), como el
las solicitudes pasan a través de un disposi-
número de puerto origen y esta información
tivo intermedio, lo que ocasiona un cuello
es registrada en una tabla. Cuando llegan
de botella y en consecuencia se hace más
los mensajes de respuesta desde el exterior,
lento el servicio de acceso a Internet a los
los mensajes también son interceptados, y
usuarios. Sin embargo, es posible aprove-
se modifican nuevamente la dirección IP
char la ubicación de un servidor proxy para
y el número de puerto destino, de acuer-
guardar allí copias de archivos que hayan
do con la información registrada. De este
sido descargados por algún navegador de
modo es posible entregar correctamente
la red corporativa, los cuales probablemen-
cada datagrama IP recibido. Esta solución
te sean solicitados en el futuro por algún
es realizada en la capa de red, aunque de al-
usuario de la red. Las copias de los obje-
guna manera utiliza información de la capa
tos estarán más cerca de los usuarios, por lo
de transporte según el modelo de referencia
tanto, serán entregadas mucho más rápido,
TCP/IP [12].
mejorando significativamente el rendimien-
Por su parte, un servidor proxy es una so- to de todo el sistema. Esta técnica es am-

Fig. 2 Servidor proxy caché en una red corporativa

152
Revista INGE CUC,Volumen 8, Número 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 caché, dando cenamiento [15].
lugar al término servidor proxy caché [6].
La selección de los parámetros con que se
La interacción 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 heurísticas y en los valores
La configuración de Squid es realizada me- que se asignan por defecto [10].
diante la asignación de valores a un número
El rendimiento de un servidor proxy caché
cercano a 200 directivas en un archivo de
depende de su ubicación en la red corpo-
configuración, similar al de otros servicios
rativa, de las solicitudes realizadas por los
en sistemas tipo Unix. La mayoría 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 búsqueda de los objetos
dor Squid operando con una configuración
que sean solicitados por los usuarios [6].
básica [15].
Usualmente, es necesario esperar un tiempo
Las directivas de Squid se pueden agrupar en
determinado para obtener estadísticas acer-
siete categorías, de acuerdo con sus carac-
ca de las solicitudes de los usuarios y de las
terísticas. Un primer grupo de directivas de
respuestas del servidor proxy. Con base en
identificación; un segundo grupo establece
esas estadísticas se pueden tomar decisio-
el control de acceso básico; el tercer grupo
nes para su reconfiguración.
establece el control de acceso avanzado; en
cuarto lugar, las directivas de configuración El proyecto de investigación “Análisis de
básica de caché; en quinto lugar, la configu- configuraciones de servidores proxy ca-
ración avanzada de caché; un sexto grupo ché”, del cual este artículo es producto, fue
dedicado al caché distribuido; y un grupo desarrollado con el fin de identificar pa-
de directivas dedicado al control de ancho rámetros de configuración de un servidor
de banda. Las directivas que tienen relación proxy caché relacionados con su desempe-
con el proyecto de investigación son las di- ño, en busca de soluciones que mejoren las
rectivas de configuración básica del caché, condiciones en las que los usuarios de una
entre las que se encuentran la especificación organización utilicen un servicio de acceso
del directorio de caché, el espacio en disco, compartido a Internet. Lo anterior permite
los límites al tamaño de los archivos que se acercar este conocimiento tecnológico a la
van a almacenar en caché, la estructura de comunidad académica y, en consecuencia, a
directorios de caché, y las políticas de re- la sociedad y la industria mediante su inte-
emplazo; y las directivas de configuración racción con profesionales en el área de in-
avanzada de caché, específicamente los sis- fraestructura de tecnología informática.

153
Servidor Proxy Caché: Comprensión y asimilación tecnológica

La metodología empleada en el desarrollo TRABAJO RELACIONADO


del proyecto corresponde a una adaptación
Desde que se originó la web, a comienzos
de la Metodología de la Investigación Tec-
de la década del noventa, el número de usua-
nológica, propuesta por Sonia Ríos en 1998
rios ha crecido continuamente y el desem-
[14], para su aplicación en proyectos de
peño ha sido una preocupación constante
Infraestructura de Tecnología Informática.
para los investigadores. El uso de caché en
Producto de la adaptación de esta metodo-
la web ha sido una estrategia ampliamente
logía, se identificaron cinco etapas: Estu-
estudiada para esta problemática, por lo que
dios previos, Análisis del problema, Diseño
se realizó un análisis de la forma como se
de la solución, Implementación y Pruebas.
han desarrollado otros trabajos de investi-
Para adelantar la investigación, fue necesa-
gación en temas relacionados con el análisis
rio entender el funcionamiento del servicio
de desempeño de servidores proxy caché.
prestado por los servidores proxy caché y
asimilar la tecnología. 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 métricas utilizadas para
libre, lo que implica acceso al código fuente medir el desempeño; y en tercer lugar, prue-
y la posibilidad de modificarlo de acuerdo bas de desempeño 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- sempeño de Squid.
tado; y proporciona diferentes posibilidades
para analizar su comportamiento. Además,
se analizaron antecedentes de investigacio- Estrategias de investigación
nes realizadas en trabajos relacionados, a
Según [5] y [16], los trabajos de investi-
partir de los cuales se identificaron algunas
gación sobre el desempeño de servidores
estrategias de investigación, métricas de de-
proxy caché utilizan diferentes técnicas
sempeño utilizadas en estudios similares, y
para la recolección de datos. Algunas si-
se analizaron los resultados de un estudio
guen métodos formales, mientras que otras
publicado sobre el rendimiento de Squid.
son evaluaciones empíricas; sin embargo,
El resto del artículo está estructurado de la todas son ampliamente aceptadas y utili-
siguiente manera: A continuación se presen- zadas. Entre las técnicas más populares se
ta el trabajo relacionado; luego se hace una encuentran la simulación de redes con datos
descripción de la metodología empleada en artificiales; la implementación de sistemas
el desarrollo del proyecto; después se mues- reales en redes aisladas; y el análisis de ar-
tra el esquema de trabajo y la automatiza- chivos log reales. A continuación una breve
ción del proceso de pruebas se encuentra descripción de estas técnicas.
posteriormente. Al final, las conclusiones.

154
Revista INGE CUC,Volumen 8, Número 1, Octubre de 2012, pp. 149-162

Simulación de redes con datos artificiales que puede ser atribuido al uso y administra-
ción del caché [16].
La simulación es un mecanismo de evalua-
ción que no obliga implementaciones com- Las dos métricas de desempeño más acepta-
pletas aunque requieren el conocimiento das para evaluar el desempeño de un caché
detallado del sistema que se desea evaluar. son el hit rate y el byte hit rate [6]. Sin em-
bargo, la reutilización de objetos que estén
Sistemas reales en redes aisladas almacenados en el caché depende en gran
Esta técnica consiste en crear escenarios medida de las preferencias de los usuarios.
controlados en los cuales se eliminan varia- Además, 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-
sempeño del caché [16].
Análisis de archivos log reales
Es una práctica usada con frecuencia debi-
do a que los datos son obtenidos a partir del Desempeño 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
Métricas de desempeño el proceso de instalación y configuración,
especialmente relacionadas con el alma-
En estudios acerca del desempeño de los
cenamiento de los archivos en disco. Los
servidores proxy caché [16] señala que hay
sistemas de archivos son característicos de
trabajos orientados a mejorar las métricas
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
tación del UFS (Unix File System), el cual
experimentada por el usuario; y algunos
también es conocido como el FFS (Berkeley
más intentan disminuir el tráfico 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 métricas no tradicionales que pueden
que recientemente nuevos sistemas de ar-
tener incidencia en el desempeño del servi-
chivos han sido desarrollados como ext3fs
dor proxy caché como la cancelación de la
y ext4fs. Muchos sistemas operativos tam-
conexión entre el cliente y el servidor, y la
bién soportan tecnologías de sistemas de
influencia que tiene el uso de cookies [4]; la
archivos más nuevas. Estas incluyen nom-
proporción de reducción de costo [2]; las ta-
bres y acrónimos como advfs, xfs y reiserfs.
sas máxima y promedio de ancho de banda
Squid puede funcionar con cinco esquemas
consumido, el porcentaje de tráfico 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 tráfico
piedades y técnicas para organizar y acce-

155
Servidor Proxy Caché: Comprensión y asimilación tecnológica

der a los datos almacenados en el caché me- tema. Esta etapa finalizó con la formulación
diante llamadas a operaciones del sistema del proyecto.
de archivos [15].
El análisis del problema consiste en enten-
En [15] se publicaron los resultados de unas der la situación objeto de estudio. Se inició
pruebas de desempeño de Squid en las cua- con la identificación de los servicios funda-
les se hicieron análisis 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 configuración de Squid para
realizadas al utilizar el sistema operativo reconocer y analizar los parámetros relacio-
GNU/Linux se relacionan mejor con el pro- nados con su desempeño.
yecto de investigación.
El diseño de la solución se refiere a la bús-
queda de ideas y al planteamiento de alter-
METODOLOGÍA nativas que conduzcan a resolver el proble-
ma objeto de estudio. El diseño inició con
El proyecto de investigación se enmarcó la adaptación de un modelo abstracto por
dentro de la investigación tecnológica en capas con un enfoque descendente, defi-
ciencias de la ingeniería. La metodología nido en [11]. Este modelo es un referente
empleada correspondió a una adaptación de abstracto del cual se pueden derivar diseños
la metodología propuesta por [14] para su con especificaciones particulares, como las
aplicación en proyectos de infraestructura de este proyecto, ya que permite indepen-
de tecnología informática. Producto de la dizar funciones o responsabilidades y ocul-
adaptación de esta metodología, 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, Diseño de la solución, controlado sobre el cual se puso en funcio-
Implementación y Pruebas. namiento Squid en diferentes topologías 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 realización del estudio. Posteriormente, se
identificó el problema objeto de estudio a diseñaron 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 investigación, la docencia finalizar esta etapa se diseñó un sistema au-
y la proyección social. Posteriormente, se tomatizado de pruebas a partir de sincroni-
realizó la búsqueda y organización de la zación de archivos.
información, continuando con la revisión La implementación corresponde a la etapa
bibliográfica y el análisis de trabajos rela- en la que se materializa el diseño realizado.
cionados, obteniendo el estado general del Se utilizaron los recursos físicos disponi-

156
Revista INGE CUC,Volumen 8, Número 1, Octubre de 2012, pp. 149-162

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


zación empresarial, se crearon las máquinas
Como se ha mencionado, para realizar una
y dispositivos virtuales con sus respectivos
prueba en este estudio, se debía medir el
sistemas operativos y configuración de red.
tiempo promedio de descarga de un objeto
La parte final de la implementación consis-
web. Por lo tanto, se necesitaban archivos
tió en la instalación y configuración del ser-
disponibles para descargar, los cuales de-
vidor web y del servidor proxy caché.
bían 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-
sión del procedimiento utilizado en el pro- citudes. Es de anotar que el tamaño de cada
yecto de investigación, 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 continuación. se realizó la solicitud. En este estudio se uti-
lizaron archivos de tamaños diferentes.

Estructura de las pruebas Parámetros de configuración del servidor Squid


Fue necesario definir ciertos elementos para El objetivo del proyecto de investigación
establecer la estructura de las pruebas. Es- era analizar distintas configuraciones en
tos elementos son: la métrica de desempeño 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 parámetros Squid Cache. Dado que la configuración de
de configuración del servidor Squid que Squid se realiza mediante un archivo pla-
fueron analizados. no de configuración en el cual se especifi-
can los valores de un número importante
Métrica de desempeño
de parámetros, se procedió a identificar los
Las métricas de desempeño que se tuvieron parámetros más relevantes con respecto al
en cuenta son hit rate, byte hit rate y tiempo desempeño del servidor Squid. Los princi-
promedio de descarga de cada objeto web pales parámetros de configuración 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 relación con las preferencias rentes con lo expresado por [15].
de utilización del servicio por parte de los
usuarios, las cuales no están directamente
relacionadas con el objeto de estudio del Proceso de pruebas
proyecto de investigación. 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 continuación:

157
Servidor Proxy Caché: Comprensión y asimilación tecnológica

1. Selección de un archivo de configura- Capa física


ción específico con un conjunto de pará-
metros cuyos valores están determina- La capa física del esquema de trabajo del
dos. proyecto de investigación 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é vacío.
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 número de veces especificado, para
lización empresarial por hardware (paravir-
un conjunto determinado de archivos.
tualización) para el desarrollo de los pro-
4. Registro del tiempo de inicio y fin de yectos del grupo de investigación en Redes,
cada archivo descargado, para medir el Información y Distribución - GRID, de la
tiempo transcurrido en cada descarga.
Universidad del Quindío.
5. Realización de los análisis respectivos.
Capa de virtualización
ESQUEMA DE TRABAJO Para dar un adecuado aprovechamiento a los
recursos de hardware disponibles, y además
Para la realización de las pruebas del pro-
eliminar posibles errores presentes tanto en
yecto de investigación se diseñó un esque-
los medios físicos de transmisión 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 implementación del
se puede observar en la Fig. 3.
ambiente virtual se utilizó VMware ESXi,
una versión gratuita de VMware, la cual
permite dar los primeros pasos en virtua-
lización empresarial de última generación.
ESXi utiliza un hipervisor o monitor de má-
quinas virtuales, el cual es un componente
de software que actúa directamente sobre el
hardware para permitir la creación 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 periféricos, para ser
asignados a las máquinas virtuales de acuer-
Fig. 3 Esquema de trabajo por capas
do con las necesidades y según el caso [9].

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

Capa de máquinas virtuales ferentes. El primer segmento representaba


la red local o corporativa y el segundo seg-
Se utilizaron tres máquinas 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 (Versión
conexión de los equipos se utilizaron swit-
5). La selección de este sistema operativo
ches virtuales proporcionados por VMware
se hizo de manera arbitraria, debido a que
ESXi. Es de resaltar que en esta topología
podría haberse utilizado cualquier otra dis-
no se presentaban mensajes en difusión que
tribución. Sin embargo, se eligió por ser una
pudieran alterar el rendimiento de la red, ni
distribución altamente reconocida por su
se consideraron los retrasos cada vez que un
estabilidad y aplicación en la configuración
paquete pasaba a través de un dispositivo
de servidores, además 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 máquinas tenían la misma
se contaba con enrutadores intermedios que
configuración: 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 configuración 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
resolución de nombres de dominio, lo cual
caché tenía dos.
estaba fuera del alcance del proyecto. La
Fig. 5 muestra la topología de red.
Capa de red
La capa de red del esquema de trabajo co- Capa de servicios
rresponde a la topología de red emplea- En la capa de servicios se adicionaron ro-
da para el desarrollo del proyecto. En este les específicos a cada una de las máquinas
caso, las tres máquinas virtuales estaban virtuales creadas para desempeñar las fun-
configuradas en dos segmentos de red di- ciones necesarias para la realización de las

Fig. 4 Capa de máquinas virtuales

159
Servidor Proxy Caché: Comprensión y asimilación tecnológica

Fig. 5 Topología 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 información recolectada para
cliente web, tal como se puede apreciar en la realización de los análisis de una manera
la Fig. 6. ágil y fácilmente repetible y precisa, se di-
señó un ambiente de pruebas automatizado
AUTOMATIZACIÓN para su ejecución sobre los servicios ilus-
DEL PROCESO DE PRUEBAS trados en la Fig. 6. Este ambiente consistía
en tres componentes: un generador de soli-
Para la ejecución de una prueba era necesa-
citudes que funcionaba en el cliente; un car-
rio invertir una cantidad de tiempo conside-
gador automático de archivos de configura-
rable, debido a que se trataba de un proceso
ción que se ejecutaba en el mismo equipo
dispendioso, que usualmente era realizado
donde corría el servidor proxy caché; y una
en forma manual. Esta situación limitaba la
zona compartida comunicada por la red lo-
adquisición de información determinante
cal, la cual era utilizada para sincronización
para el estudio de las configuraciones del
a partir de archivos compartidos. Para evi-
servidor proxy caché. Además, podía indu-
tar la intervención de un usuario se diseñó
cir al error humano en la ejecución de estas
un procesamiento de archivos en lote, a par-
actividades.

Fig. 6. Capa de servicios

160
Revista INGE CUC,Volumen 8, Número 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 debía ser descargado un archivo de los parámetros de configuración adecua-
y los archivos de configuración del servidor dos para un ambiente específico es una ta-
Squid que serían cargados para la ejecución rea no trivial; por lo tanto, las pruebas reali-
de cada prueba. Por otra parte, el registro de zadas en el proyecto de investigación sirven
actividades en bitácoras (archivos log) per- de referencia para que los administradores
mitía obtener la información necesaria para de servidores Squid realicen ajustes a sus
calcular los tiempos promedio necesarios archivos de configuración.
para los análisis de cada archivo de configu-
El ambiente automatizado desarrollado
ración. El ambiente automatizado de prue-
dentro de este proyecto es un valor agrega-
bas se desarrolló a partir de la combinación
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 múltiples platafor-
ware construidas a la medida en lenguaje C.
mas, siempre y cuando su comportamiento
esté basado en parámetros especificados en
CONCLUSIONES, APORTE un archivo de configuración.
Y TRABAJO FUTURO La infraestructura para virtualización em-
La configuración 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-
ducción. Es necesario estudiar las necesida- curso en futuros proyectos de investigación.
des de la organización 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 automatización de la asignación de los
un parámetro de configuración, o tan com-
valores de los parámetros de configuración
plejos como recompilar el software y/o el
mediante la aplicación de inteligencia arti-
kernel del sistema operativo (si éste lo per-
ficial; el uso de cachés cooperativos (distri-
mite); utilizar varias estructuras de archivos
buidos y jerárquicos); el uso de servidores
para alojar los cachés y tal vez ajustar una
proxy caché sobre plataformas de red basa-
variedad de parámetros en el archivo de
das en IPv6; implementar un robot multi-
configuración, sin dejar de lado la adecuada
hilo que simule ambientes con acceso con-
selección del hardware para la instalación
currente al servidor proxy caché; y realizar
del servicio.
estudios acerca de configuraciones propias
El comportamiento de una configuración del sistema operativo y de hardware que
es altamente dependiente de los ambientes afecten el rendimiento del servidor proxy
de ejecución particulares y lo que puede ser caché.

161
Servidor Proxy Caché: Comprensión y asimilación tecnológica

REFERENCIAS [10] C. E. Gómez and L. E. Sepúlveda, Análi-


sis de configuraciones de servidores proxy
[1] Apache. The Apache Software Founda- caché, Informe Final. Universidad del
tion. [Online] Disponible en: http://www. Quindío, 2010.
apache.org/, 2010.
[11] C. E. Gómez and L. E. Sepúlveda, “Me-
[2] R. Ayani, “Cost-based Proxy Caching”. jorando la calidad de servicio a través de
Proceedings of the International Sym- configuraciones adecuadas de servidores
posium on Distributed Computing and proxy caché”. Primer Seminario Taller
Applications to Business, Engineering and Latinoamericano de Instrumentación,
Science, pp. 218-222. Wuxi, 2002. Control y Telecomunicaciones SICOTEL.
[3] T. Berners-Lee, RFC 1945. Hypertext Universidad del Quindío, 2012.
Transfer Protocol -- HTTP/1.0, 1996. [12] J. Kurose, Computer Networking: A top-
[4] R. Cáceres 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. Ríos, Metodología de la Investigación
uation techniques, 1999. Tecnológica. 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. O’Reilly & 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

También podría gustarte