Servicios Web a Gran escala. Redes de Distribución de contenidos Alumno Miguel Ángel Manso Callejo Email: m.manso@euitto.upm.es Contenidos Introducción: rendimiento de una Web. Técnicas de distribución de carga. CDN. Arquitectura y elementos. Proxys: consistencia de las caches. Consistencia de contenidos en CDN. Conclusiones. Referencias.
Cómo mejorar el rendimiento de un Web? Servidor Web multithread, multitask. Servidores Web balance de carga. ------------- Solución 1: Un sistema de ficheros distribuido (AFS, DFS) para dar soporte a los múltiples servidores Web. Solución 2: Distribución de contenidos, sin ser SFD, propagando actualizaciones. Rendimiento de en un servidor F. crítico es el modelo de concurrencia: Procesos (Ej. Apache). V: Aislamiento, Programación. I: Costoso. Hebras (Ej. JAWS). V: Ligero. I: No aísla espacio memoria. Dirigido por eventos. (Ej. Flash o Zeus). V: Máx. concurrencia. I: fallo implica caída sistema. En el núcleo (Ej. AFPA o Tux). V: Ultra rápido. I: Programación poco robusta, fallo implica caída del sistema. Solución: páginas estáticas Servidor en el núcleo y páginas dinámicas en aplicación: Ejemplo: Linux Tux + Apache
Técnicas de distribución de carga Redirección del DNS. Encaminar por contenido. Redirección a nivel 7 (http). Modificación de contenidos. Conmutación por contenido a nivel 4. Redirección DNS dit.upm.es? DNS local B B Conmutador DNS Modelo de red Servidor HTTP A Cliente http://dit.upm.es/file GET http://dit.upm.es/file Servidor HTTP Servidor HTTP B C Características: El servidor DNS decide usando información local, pero no tiene en cuenta la dirección del cliente. Solo permite redirección a nivel de dominio no a nivel de contenido. Problemas con el valor del TTL de las respuestas:
Propuestas de mejora del DNS Localizar geográficamente a clientes y servidores. Monitorizar la carga de los servidores. Monitorizar de la carga de la red. Considerar el coste de la transmisión. cliente Encaminado por contenido Index.htm Conmutador de contenidos banner.gif cs.jpg sound.mid Servidor 1 Servidor 2.. Servidor 9 Router actúa de intermediario repartiendo la carga. Ventajas: Distribuye y monitoriza la carga. Inconvenientes: Latencia. Fiabilidad
Redirección a nivel de aplicación 4. Index.htm 3. Req Index.htm Servidor 1 cliente 2. 302 servidor 1/Index.htm 1. Req Index.htm Conmutador de contenidos Servidor 2.. Servidor 9 Ventajas: Distribuye y monitoriza la carga. Inconvenientes: Latencia. Fiabilidad Modificación de contenidos cliente banner.jpg cs.gif Conmutador de contenidos sound.mid Servidor 1 Servidor 2.. Servidor 9 Parte de las páginas, aunque sean dinámicas, son constantes. Se puede fragmentar el contenido y hacer que este se obtenga de distintas fuentes de una forma dinámica.
Conmutación de contenido (Nivel 4) Servidor local de balance de carga. Reconduce las peticiones al servidor más apropiado. Los métodos de selección pueden ser: Rotación circular. Menor nº de conexiones. Basándose en la carga. Basándose en información de los servidores. Adopta decisiones de conmutación basándose en los puertos TCP/UDP y las direcciones IP origen y destino. Conmutador nivel 4 = Conmutador de sesión. Une los beneficios del soft L4 y rapidez switch L2. Qué son las CDN? Red formada por servidores o caches que liberan contenidos a los clientes por petición de los proveedores de contenidos. Usualmente son compartidas por varios proveedores de contenidos. Objetivos: Acercar los contenidos a los clientes, minimizar los retardos, optimizar recursos, mejorar la disponibilidad y reducir costes.
Arquitectura del CDN Red de distribución de contenidos Distribución de contenidos Conmutación contenido Gestión de los contenidos Red dedicada Internet pública Encaminado contenido Distribución de los contenidos Red de distribución de contenidos Distribución de contenidos Red dedicada Internet pública Obtiene contenidos desde los productores o gestores de datos. Duplica y distribuye los contenidos en los servidores destino. Genera la información de encaminamiento para dicha función.
Encaminado de peticiones Técnicas (antes mencionadas) Nivel de transporte: Mira IP cliente y puerto de un paquete TCP SYN y se reconduce al servidor apropiado. El servidor CDN establece la conexión TCP y sirve los contenidos. Nivel de aplicación: Posee más información: URL, HTTP cookies y lenguaje. Por ejemplo 302 redirección. En Akamai : Hash de la URL Basado en DNS: El cliente se dirige al CDN más próximo en la resolución. Supone delegar la gestión del dominio. Request-Redirection basada en DNS 1 4 Intercambio de información DNS 2 5 3 C www.foo.com 162.113.25.20 Rank Site Traffic 1 B 70 2 C 20 3 A 10 B www.foo.com 182.131.12.2 Rank Site Traffic 1 B 75 2 C 15 3 A 5 www.foo.com 205.178.2.25 A Rank Site Traffic 1 B 80 2 C 20 3 A 10
Conmutación de contenidos Petición de contenido. Conocido como: Balance de carga sobre servidor local (LSLB). Se basa en conmutadores de nivel 4,5 y 7. Reconduce una petición al servidor más apropiado. La técnica de selección de servidor puede ser: Cola circular, menos conexiones, basado en carga, basado en tiempo de respuesta, en función hash o basado en la información retornada por los servidores. Técnicas de reenvío de las peticiones: LSNATLSNAT ( reparto de carga por NAT), DSR DSR (retorno directo de servidor) y TUNELTUNEL. Gestión de los contenidos Gestión de los contenidos Procesa datos de uso y rendimiento. Centraliza la actividad de los servidores periféricos. Unifica la vista de la disponibilidad, rendimiento y localización de los contenidos y los servicios. Persigue un nivel de rendimientos predefinido.
Acuerdos de contenidos Problema: Proveedores de servicio CDN poseen un territorio lógico (no puede cubrir todo el mundo) y necesitan acuerdos para ampliar el área y la penetración de los contenidos distribuidos. Modelo: Sistema de redirección Subrogados Sistema de distribución Contenidos hospedados Parejas de redirección Parejas de distribución Petición de usuario Sistema de redirección Subrogados Sistema de distribución Consistencia de las caches de los proxys Tipos: Consistencia dura. (mirrors, financieros..) Consistencia incremental (δ) ( tolerantes..) Consistencia débil. (Internet) Consistencia mutua. (conjuntos, páginas..) Cesiones. Protocolo de cache en Internet (ICP). Problema: Los contenidos dinámicos
Mecanismos de consistencia Basados en servidor: Consigue consistencia fuerte o incremental. Servidor invalida las caches. (leases). Basados en cliente: Por cada consulta mirar cambios (IMS If-Modified-Since). Introduce mucha sobrecarga. Explícitos: Tiempo de vida (TTL), TTL adaptativo, polling periódico, Tiempo de refresco (TTR) y otras híbridas. Mejoras para la escalabilidad de ICP Existen varias propuestas, una de ellas: Mantener un hash de las cosas que hay en la cache de forma que quepan muchas en memoria. Función hash del URL tipo Bloom Filter capaz de reducir a 2 Bytes con 2% de falsos positivos.
Consistencia en CDNs Problema: un CDN puede contener millares de proxys. No escala. Una solución: jerarquías de caches, con políticas de cesiones. (Ninan, A.) Una mejora: uso de consistencia cooperativa con un proxy vecino de la CDN usando multicast L7. Conclusiones: El mejor modelo de concurrencia para Web Server es: servidor en el núcleo + Apache. La mejor técnica de balance de carga: L4 Switching, con información de estado de los servidores. Trivial: Las CDNs mejoran la recuperación de contenidos en Internet. No hay un método ideal para repartir la carga de forma global. El mecanismo de consistencia cooperativa con un vecino usando Milticast L7 para poder escalar. Algunos Servicios de valor añadido que necesitan los CDN son: la autenticación de usuarios y la protección de los contenidos.
Referencias: CDN Technology. Korea Telecom. http://mmlab.snu.ac.kr/research/hsn/workshop/hsn2001/data/ldb.pdf Distributed Cooperative Web Servers. Scott M. Baker & Bongki Moon. Computer Networks and ISDN Systems, 31(11-16):1215-1229, 1999 ENHANCING WEB PERFORMANCE. Arun Iyengar. http://www.research.ibm.com/people/a/aashaikh/papers/wcc02.pdf Study for flow caching for Layer-4 Switching. Ye Tung & Hao Che. http://crystal.uta.edu/~hche/publications/papers/flow-cachingicccn2000.pdf Global Server Load Balancing. Dima Krioukov http://www.nanog./mtg -0010/ppt/gslb.ppt Modeling Redirection in Geographically Diverse Server Sets. Lisa Aminiab. Proceedings of the International WWW Conference, 2003 The Trickle-Down Eect: Web Caching and Server Request Distribution. Ronald P. Doyle. Proc. of the Sixth International Workshop on Web Caching and Content Delivery, Boston, Massachusetts, USA, June 2000. LSNAT Segmento Nivel / Entra Sale Router X LB X L2 L3 L4 Router_MAC Virtual_MAC Client_IP Virtual_IP Client_Port Virtual_Port Virtual_MAC Router_MAC Virtual_IP Client_IP Virtual_Port Client_Port Y S1 S2 S3 Y L2 L3 LB_MAC S1_MAC Client_IP S1_IP S1_MAC LB_MAC S1_IP Client_IP L4 Client_Port S1_Port S1_Port Client_Port
DSR Router / Nivel 1 2 3 1 3 2 S1 S2 S3 LB L2 L3 L4 Router_MAC Virtual_MAC Client_IP Virtual_IP Client_Port Virtual_Port Virtual_MAC S1_MAC Client_IP Virtual_IP Client_Port Virtual_Port S1_MAC Router_MAC Virtual_IP Client_IP Virtual_Port Client_Port Tunneling Router / Nivel 1 2 3 1 3 2 S1 S2 S3 LB L2 L3 L4 R_MAC V_MAC C_IP V_IP C_Port V_Port LB_MAC S1_MAC Ext: LB_IP Int: C_IP Ext: S1_IP Int: V_IP C_Port V_Port S1_MAC R_MAC V_IP C_IP V_Port C_Port