El protocolo WCCP (Web Cache Communication Protocol) es una tecnología desarrollada por Cisco que permite integrar motores de cacheo en una red de datos. La funcionalidad que tiene WCCP permite localizar patrones de tráfico en una red y habilitando que las peticiones de contenido se pueden entregar de forma local. La localización de tráfico reduce los costes de las transmisiones y los tiempos de descarga. Permite hacer redirecciones de contenido de forma transparente. La mayor ventaja de estas redirecciones es que los usuarios no tienen que configurar sus navegadores para usar un Proxy. En lugar de esto, puede marcarse una URL objetivo para pedir el contenido y redireccionar sus peticiones a equipo de cacheo.
Cuando se habla de transparente se refiere a que el usuario final no sabe si el archivo que ha solicitado (por ejemplo una página Web) viene de un equipo de caché o del servidor que ha recibido la petición. Cuando uno de estos equipos que usa WCCP recibe una petición, intenta dar el servicio desde sus propio caché local. Si la información que se pide no esta disponible, el equipo hace su propia petición al servidor donde se encuentra dicha información. Cuando el equipo consigue la información, se la entrega al cliente y además lo mete en caché. De esta manera ya lo tiene disponible para futuras peticiones. Esto libera tráfico que tienen que transitar por toda la red hasta el servidor.
WCCP puede ser habilitado en una serie de equipos de red y formar un cluster para cachear la información. De esta manera se puede escalar este servicio para manejar grandes cantidades de tráfico de un sitio a otro. Esta forma de agrupar los dispositivos permite que cada miembro del cluster trabaje en paralelo, lo cual es mucho más escalable. Permite también una mayor redundancia y disponibilidad.
Hay dos versiones de WCCP, y en esta ocasión hablaremos de la versión 2 al ser la más usada y con mayores funcionalidades. La versión 2 permite otro tráfico aparte de HTTP, que es básicamente varios protocolos basados en UDP y TCP. Esto es algo que no podía hacer la versión 1. La versión 2 permite la redirección de paquetes pensados para otros puertos. Para hacer todo esto, se introduce el concepto de los grupos de servicio múltiple. La información del servicio es especificado en los comandos de configuración usando números de identificación o palabras predefinidas.
Es cuestión de seguridad, la versión 2 da la posibilidad opcional de autenticarse con MD5. Esto le da una protección adicional al protocolo contra posibles intercepciones del tráfico.
Paquetes retornados de caché Web
Si el equipo haciendo el cacheo no puede proporcionar una información pedida debido a un error o una sobrecarga, se volverá a enviar la petición al router para que inicie la transmisión con el servidor. La versión 2 de WCCP puede chequear los paquetes para determinar qué peticiones han sido devueltas sin dar el servicio de cacheo. Usando esta información, el router puede de nuevo enviar la petición al servidor original que tiene los datos. Todo esto es transparente para los usuarios.
Los motivos más típicos en que un equipo de cacheo rechaza paquetes e inicia la funcionalidad de paquetes de retorno son una sobrecarga y no tener más espacio para poner los paquetes. También puede ocurrir que se está haciendo algún filtrado.
Otra cosa que se puede hacer es ajustar la carga ofrecida a los equipos funcionando con WCCP, lo cual asegura que los recursos se usan de forma efectiva. También asegura que otras funciones también se realizan con normalidad, como es la calidad de servicio por ejemplo. También se hace un balanceo de carga entre los componentes del cluster.
Reglas de WCCPv2
Hay algunas que ha que saber de la versión 2 de WCCP. Para empezar solo funciona en redes IP. Al poder ser los paquetes multicast, los miembros del cluster de cacheo pueden recibir mensajes que no son relevantes o están duplicados. Por esto motivo, convienen hacer filtrados. Los grupos de servicio tienen un máximo número de 32, tanto para los equipos de cacheo como los routers utilizados. Por último, todos los equipos en el cluster deben ser configurados para comunicar con todos los routers dando el servicio al cluster.