Doctorado Aplicaciones y Servicios Avanzados Internet Curso 08/09 Aplicaciones y Servicios Avanzados Internet Curso de Doctorado 2008-2009 Encarna Pastor <[email protected]> Dpto. Ingeniería de Sistemas Telemáticos Universidad Politécnica de Madrid Índice global de temas de investigación (1) Servicios a gran escala Distribución de contenidos ─ Modelos, arquitectura ─ CDNs: encaminamiento de peticiones ─ P2p y CDNs ─ Distribución de video, iptv Evolución de Internet Estudio y evaluación de nuevas propuestas de arquitecturas El impacto de TCP ─ Estudio de propuestas actuales sobre TCP ─ Necesidades de aplicaciones móviles ─ TCP sobre UMTS DNS Web ─ Evolución web semántica dit 2 © DIT-UPM, 2009 UPM 1 Doctorado Aplicaciones y Servicios Avanzados Internet Curso 08/09 Sistemas de entrega y distribución de contenidos. Nuevos paradigmas. Entrega de contenidos clásica: web y HTTP Internet Internet Cliente web Servidor web Arquitectura cliente/servidor petición/respuesta sobre conexiones TCP Los mensajes HTTP atraviesan largos caminos en la red… mecanismos para mejora de prestaciones!! dit 4 © DIT-UPM, 2009 UPM 2 Doctorado Aplicaciones y Servicios Avanzados Internet Curso 08/09 Organización de Internet Cable Head Ends DSL ISP ISP NAP ISP Cell Cell Cell Redes backbone Satélite ISP LAN LAN ISP NAP ISP Dial-up LAN dit 5 © DIT-UPM, 2009 UPM Caminos en Internet Un paquete puede atravesar muchas redes ISP local ISP Tier 3 ISP local ISP Tier 2 Tier-2 ISP TierISP 2 ISP Tier 1 ISP Tier 1 ISP Tier 2 ISP local NAP ISP Tier 1 ISP Tier 2 ISP Tier 2 Tier-2 ISP ISP local ISP local dit 6 © DIT-UPM, 2009 UPM 3 Doctorado Aplicaciones y Servicios Avanzados Internet Curso 08/09 Sistemas de entrega de contenidos Objetivo: mejora de prestaciones acceso a contenidos independientemente de su ubicación en la red proxies, réplicas, distribución, redirección, … algo en común: protocolo HTTP Sistemas de distribución y entrega de contenidos gestionados por: Proveedores de servicios Internet ─ Caché web, proxy caché Proveedores de contenidos ─ Granjas de servidores, mirrors ─ Redes de distribución de contenidos (CDN) Usuarios ─ Redes peer-to-peer (P2P) dit 7 © DIT-UPM, 2009 UPM Caché web El proxy caché está cercano al cliente en su misma red corporativa en la entrada a su ISP ─ interception proxies! Menor tiempo de respuesta QoS Disminuye el tráfico que se produciría hacia servidores distantes Ahorro de costes servidores web Internet enlace de 1.5 Mbps red corporativa 10 Mbps LAN caché/proxy de la organización dit 8 © DIT-UPM, 2009 UPM 4 Doctorado Aplicaciones y Servicios Avanzados Internet Curso 08/09 Caché web cooperativas Servidor Web Múltiples cachés web caché cooperativa topología jerárquica protocolo squid Árbol de distribución de contenidos Jerárquica INTERNET INTERNET Caché Nacional (Raíz) Caché Regionales Caché Institucionales Usuarios dit 9 UPM © DIT-UPM, 2009 Granjas de servidores Permiten crear potentes servidores virtuales a base de unir varios servidores físicos: Direcció Dirección IP virtual Red IP Clientes Conmutador Nivel 4 Servidores web reales (Server Farm) Farm) Servidor Virtual Ventajas: Transparente para los clientes (dirección IP virtual) Los servidores están replicados Balanceo de carga, comprobación de disponibilidad de servidores dit 10 © DIT-UPM, 2009 UPM 5 Doctorado Aplicaciones y Servicios Avanzados Internet Curso 08/09 Mirrors Copias de servidores (mirrors) instaladas en áreas de la red geográficamente alejadas. Sincronización por FTP o rsync Redirección a veces automática cookies preferred language del cliente Algunos productos comerciales hacen balanceo de carga (según métricas de la red) dit 11 © DIT-UPM, 2009 UPM Redes de distribución de contenidos (CDNs) Ej.: Akamai Distribución Entrega dit 12 © DIT-UPM, 2009 UPM 6 Doctorado Aplicaciones y Servicios Avanzados Internet Curso 08/09 Elementos de una CDN Servidor Web Sistema de Encaminamiento Servidor Sustituto CDN Sistema de INTERNET Distribución Servidor Sustituto Servidor Sustituto Sistema de Tarificación Servidor Sustituto Servidor Sustituto Cliente dit 13 © DIT-UPM, 2009 UPM CDN – Aspectos de diseño Mecanismos para distribuir el contenido sobre los servidores sustitutos. Políticas de distribución de contenidos completos o parciales Mecanismos para encaminar a los clientes hacia el mejor servidor CDN Basado en DNS, a nivel de transporte, o de aplicación Selección del mejor servidor CDN Métricas utilizadas: estáticas, estadísticas o dinámicas dit 14 © DIT-UPM, 2009 UPM 7 Doctorado Aplicaciones y Servicios Avanzados Internet Curso 08/09 Sistemas Caché web vs CDNs Caché web CDN El ISP lo usa para reducir el consumo de ancho de banda. El Proveedor de Contenidos lo usa para incrementar la QoS. Opera Re-activamente. Opera Pro-activamente. Beneficia más a los usuarios e ISPs que a los proveedores de contenidos. Beneficia tanto a los proveedores de contenidos como a los usuarios. No permite que el proveedor de contenidos mantenga el control sobre las copias de su contenido. Sí permite que el proveedor de contenidos mantenga el control sobre las copias de su contenido. dit 15 © DIT-UPM, 2009 UPM Peer to peer (P2P) Paradigma de distribución de contenidos Recursos en la periferia de Internet Peers: ─ Sistemas finales, conectividad intermitente ─ Autonomía, sin intervención de terceras partes Cooperan: ─ Comparten recursos: contenidos, ciclos de CPU, almacenamiento, … ─ A través de protocols para encaminamiento, réplicas, etc. sobre redes superpuestas (overlay networks) Funciones: ─ Compartición de ficheros, procesamiento distribuido, distribución de contenidos, comunicación, … dit 16 © DIT-UPM, 2009 UPM 8 Doctorado Aplicaciones y Servicios Avanzados Internet Curso 08/09 Ejemplos de P2P Compartición de ficheros Gnutella, Kazaa, eMule, Napster, … Compartición de ciclos de CPU SETI@home, Gnome@home, … Sistemas de ficheros y almacenamiento distribuido OceanStore, CFS, Freenet, Farsite, … Media streaming y distribución de contenidos PROMISE, SplitStream, CoopNet, PeerCast, Bullet, Zigzag, NICE, … Comunicación Skype, mensajería instantánea, … dit 17 © DIT-UPM, 2009 UPM P2P: directorio centralizado Diseño original de Napster Shawn Fanning Comienza a finales 90’s Fin en 2001 Problemas: un punto único de fallo cuello de botella en prestaciones Servidor central 1 peers 1 1 2 3 1 dit 18 © DIT-UPM, 2009 UPM 9 Doctorado Aplicaciones y Servicios Avanzados Internet Curso 08/09 P2P: solución distribuida Enfoque de Gnutella Justin Frankel y Tom Pepper, creadores de WinAmp (2000) Se utiliza un nodo de “bootstrap” para conocer a los peers Envío de consulta a los vecinos query flooding El peer que tiene el objeto requerido, envía un mensaje al peer origen. join dit 19 © DIT-UPM, 2009 UPM P2P: directorio descentralizado Enfoque seguido por KaZaA/FastTrack Niklas Zennstrom y Janus Friis, quien ha creado Skype El líder de grupo conoce el contenido de todos los peers miembros del grupo Los peers consultan a su líder y éste puede consultar a otros líderes de grupo ordinary peer group-leader peer neighoring relationships in overlay network dit 20 © DIT-UPM, 2009 UPM 10 Doctorado Aplicaciones y Servicios Avanzados Internet Curso 08/09 P2P vs Grid Grid P2P Comunidad y aplicaciones Comunidades ya establecidas (científicos) Resolución de problemas que requieren alta capacidad de cálculo Mayoritariamente anónimos Intercambio de ficheros, otras emergentes Compartición de recursos Clusters de máquinas potentes y fiables Conectadas mediante redes altas prestaciones Instrumentos especializados PCs con capacidad y conectividad limitada Muy diversas plataformas y poco fiables dit 21 © DIT-UPM, 2009 UPM P2P vs Grid Grid Escalabilidad del sistema Servicios Sofisticados: autenticación, planificación, búsqueda de recursos, control de acceso Confianza entre miembros Software Centenares a miles Sofisticado: Globus, Condor P2P Cientos de miles a millones Servicios limitados: búsqueda de recursos Confianza muy limitada entre miembros Simple: eMule, SETI@Home dit 22 © DIT-UPM, 2009 UPM 11 Doctorado Aplicaciones y Servicios Avanzados Internet Curso 08/09 ¿Qué es nuevo en P2P? No es nuevo el concepto: Arquitectura distribuida Compartición de recursos Gestión de los nodos (join/leave/fail) Comunicación de grupo Gestión de un estado distribuido Son nuevas las características de Nodos (peers): heterogéneos, no fiables, autónomos,… Sistema: escala, topología, seguridad, coste, … dit 23 © DIT-UPM, 2009 UPM ¿Qué es nuevo en P2P? Se necesita diseñar nuevos algoritmos y protocolos que escalen a (posiblemente) millones de nodos con nuevas características ¿Por qué ahora el boom de P2P? Muchos recursos en la periferia de la red infrautilizados Conectividad e infraestructura de red El tráfico P2P ha superado al de web (> 75%)! dit 24 © DIT-UPM, 2009 UPM 12 Doctorado Aplicaciones y Servicios Avanzados Internet Curso 08/09 INTRODUCCION P2P IPTV Aparición de sistemas P2P IPTV para la distribución de canales de vídeo mediante “streaming”. Objetivo: Evaluar el impacto de los servicios P2P IPTV en la red haciendo especial énfasis en el consumo de ancho de banda. dit 25 © DIT-UPM, 2009 UPM Arquitecturas para la distribución de vídeo. Cuestiones abiertas IP Multicast: Soporte de los routers grupos Multicast. Application Multicast tipo árbol: Latencias. Ancho de banda limitado. Fiabilidad en entornos dinámicos. Redes CDN: Costes dependientes de: ─ ─ 26 Variabilidad de tráfico consumido. Mantenimiento y actualización de réplicas. IMPACTO DE LOS SERVICIOS DE TELEVISION IP P2P EN LA EFICIENCIA DE RED © DIT-UPM, 2009 dit UPM 13 Doctorado Aplicaciones y Servicios Avanzados Internet Curso 08/09 Arquitectura P2P IPTV Estructuras “Overlay” que se apoyan en la infraestructura de la propia red. Propuestas: “Tree-Push”. ─ ─ “Mesh-Pull”. ─ ─ Topología sencilla Vs Ancho de Banda / Dinamismo Escalabilidad. Eficiencia. “Push-Pull”. ─ ─ Reducción Retardos. Fase de Desarrollo. P4P dit 27 © DIT-UPM, 2009 UPM Sistemas P2P IPTV Sistemas “Mesh-Pull”: Descripción Funcional: Protocolo “Gossip”: ─ ─ El “peer” ejecuta el SW del sistema correspondiente. Contacto con el “Tracker Server”: ─ Contacto con los “peers”: Listado de canales. Selección del video a visualizar. Para la Descarga y/o entrega de fragmentos de video. Protocolo de Distribución de Fragmentos: ─ Intercambio de “Buffer Maps”: Paquete de datos que contiene qué fragmentos de video contiene un “peer” y cuales de éstos pueden ser reproducidos continuamente dit 28 © DIT-UPM, 2009 UPM 14 Doctorado Aplicaciones y Servicios Avanzados Internet Curso 08/09 Sistemas P2P IPTV Sistemas “Mesh-Pull”: Rendimiento: Paradas / Saltos en la reproducción: ─ “Deadline”: Plazo de reproducción asociado a cada fragmento. Retardos: ─ “Start-Up”: ─ Entre “peers” debido a: Intervalo de tiempo que transcurre desde que un canal es seleccionado hasta que comienza su reproducción: Canales populares: 10 a 20 seg. Canales No populares: Hasta 2 minutos. 1) Los fragmentos de video intercambiados no llegan al mismo tiempo a todos los “peers” 2) Debido al doble proceso de “Buffering”. Resultados: Hasta 140 seg. de diferencia entre un “peer” u otro Crítico para contenidos en Directo. Nuevos mecanismos: “Push-Pull”: ─ Mejorar la eficiencia en la latencia de entrega de contenidos. dit 29 © DIT-UPM, 2009 UPM Redes superpuestas (overlays) Un nivel abstracto sobre la arquitectura TCP/IP Conexiones tcp entre nodos de la periferia Mantenimiento de vecindades Reconfiguración Posibilidad de innovaciones sin modificar redes actuales dit 30 © DIT-UPM, 2009 UPM 15 Doctorado Aplicaciones y Servicios Avanzados Internet Curso 08/09 Redes superpuestas (overlays) Ejemplos: DNS Routers BGP CDNs P2P dit 31 © DIT-UPM, 2009 UPM Conclusiones Una nueva Internet Con un nuevo nivel (complejo) superpuesto ─ ─ ─ En la periferia de la red Que redefine nombres y hace encaminamiento y multicast Almacena y sirve datos de forma completamente distribuida Flexibilidad de diseño de aplicaciones ¿Y el principio end-to-end? Applications Middleware Services IP Network Technology Access Technologies dit 32 © DIT-UPM, 2009 UPM 16 Doctorado Aplicaciones y Servicios Avanzados Internet Curso 08/09 Arquitectura de Internet Arquitectura Principios abstractos que guían el diseño técnico de una red, especialmente la ingeniería de sus algoritmos y protocolos Nombres, direcciones, encaminamiento ─ ¿Qué entidades tienen nombre? Modularización, torre de protocolos Reparto de capacidad, equidad, control de congestión Seguridad y gestión QoS El papel de una arquitectura es asegurar consistencia y coherencia y representa una base para toma de decisiones dit 34 © DIT-UPM, 2009 UPM 17 Doctorado Aplicaciones y Servicios Avanzados Internet Curso 08/09 Evolución de Internet (I) • 1961-1972: conmutación de paquetes, NCP NUCLEO ARPAnet SF SF SF SF dit 35 © DIT-UPM, 2009 UPM Evolución de Internet (II) • 1972-1980: interconexión de redes Diseño de Internet Cerf, Kahn (1974): autonomía best effort routers sin estado control descentralizado End-to-end argument NUCLEO ARPAnet SF R LAN R R LAN LAN dit 36 © DIT-UPM, 2009 UPM 18 Doctorado Aplicaciones y Servicios Avanzados Internet Curso 08/09 Evolución de Internet (III) • 1980-1990: proliferación de redes, problemas de escala NUCLEO ARPAnet R1 Subnetting R3 R2 CIDR R4 ASs DNS TCP, AIMD Red y Red x dit 37 © DIT-UPM, 2009 UPM Evolución de Internet (IV) • 90´s: comercialización, web Backbone Hacia una topología jerárquica - Network Access Points (NAP) PSI regional Backbone NAP PSI local PSI regional PSI regional PSI local PSI local dit 38 © DIT-UPM, 2009 UPM 19 Doctorado Aplicaciones y Servicios Avanzados Internet Curso 08/09 Arquitectura de Internet. Resumen. Inicialmente: Red de paquetes no orientada a conexión Funcionalidad en la periferia de la red (robustez) Servicios extremo a extremo en el nivel de transporte o aplicación ─ Fiable y no fiable (datagrama) Direcciones ─ numéricas con jerarquía simple Asignadas a interfaces físicas con la red Redes heterogéneas, diversidad de tecnologías Evolución en los 80: Subnetting, ASs, DNS (jerarquía, escalabilidad) IP multicast (aunque no desplegado…) TCP AIMD, control de congestión dit 39 © DIT-UPM, 2009 UPM Arquitectura de Internet. End-to-end arguments Ningún mecanismo debe implementarse en la red si puede implementarse en los sistemas finales. El núcleo de la red debe proporcionar un servicio genérico, no debe adaptarse a Applications ninguna aplicación. Middleware Innovación Services Fiabilidad y robustez IP Network Transparencia Technology Access Technologies dit 40 © DIT-UPM, 2009 UPM 20 Doctorado Aplicaciones y Servicios Avanzados Internet Curso 08/09 Arquitectura de Internet. Alteración de los principios end-to-end Pérdida de confianza entre sistemas finales, pérdida de transparencia Firewalls, VPNs Control por parte de ISPs, pérdida de transparencia Filtrado a nivel de aplicación, redirecciones, etc. Observación de flujos de datos Sitios de captura en la red Mejora de prestaciones de aplicaciones como, p.e., web Caché web, mirrors, redirecciones DNS, servidores CDN para VoD, etc. Simplificación del despliegue de aplicaciones en los SF Servidores de aplicaciones dit 41 © DIT-UPM, 2009 UPM Últimas extensiones Más consistentes con la arquitectura original: IntServ (Integrated Services) DiffServ (Differentiated Services) IPSEC Nada consistentes: Firewalls IP móvil NAT (Network Address Translator) VPNs MPLS Caché webs ... dit 42 © DIT-UPM, 2009 UPM 21 Doctorado Aplicaciones y Servicios Avanzados Internet Curso 08/09 Interacciones NAT es incompatible con IPSEC Las cachés web transparentes son incompatibles con SSL o IPSEC Herramientas como traceroute dejan de ser útiles debido a nodos intermediarios Es difícil desplegar algunas nuevas aplicaciones debido a los firewalls a veces se usan túneles sobre otros protocolos para lograr atravesarlos dit 43 © DIT-UPM, 2009 UPM Diseño de aplicaciones. Tendencias. End-to-end a alto nivel Componentes “intermediarios” entre los extremos Requisito de usuarios u operadores Privacidad, mejora de prestaciones,… ─ Anonimizadores, servidores filtros de correo, cachés de contenidos, … Aplicaciones complejas Necesitan componentes adicionales como parte de la aplicación distribuida ─ Transacciones que involucran a tres o más partes, obtención de credenciales, votación electrónica, … dit 44 © DIT-UPM, 2009 UPM 22 Doctorado Aplicaciones y Servicios Avanzados Internet Curso 08/09 Open Pluggable Edge Services (OPES) OPES, IETF WG Entidades de aplicación entre un cliente y un servidor Servidores cooperativos (opes substitutos y delegados) Personalización de servicios ─ Control de contenidos, privilegios de acceso, anonimizadores, políticas de organizaciones, traducción de idiomas, adaptación de formatos Redirecciones ─ Equilibrio de carga Monitorización ─ Virus, anti-spam, tarificación dit 45 © DIT-UPM, 2009 UPM Arquitectura. Conclusión Investigación en nuevas arquitecturas, conceptos, fundamentos teóricos Requisitos Interconexión de redes, robustez, heterogeneidad, gestión distribuida, facilidad de conexión Adaptabilidad a modelos de negocio, regulatorios, políticas de operadores, usuarios, etc. Movilidad, autoconfiguración, soporte para asignación de recursos flexible Reparto de capacidad Largos retardos de propagación, ... dit 46 © DIT-UPM, 2009 UPM 23 Doctorado Aplicaciones y Servicios Avanzados Internet Curso 08/09 Propuestas de nuevas arquitecturas (i) Internet Virtual (USC/ISI) Versión virtual de la actual Internet ─ red superpuesta (overlay, RON) ─ host y routers virtuales se interconectan a través de túneles ─ se basa en el paradigma de memoria virtual Star VN Base Net Ring VN dit 47 UPM © DIT-UPM, 2009 Propuestas de nuevas arquitecturas (ii) Plutarch (U. Cambridge, UK) Redes plurales ─ Internet, una más ─ Contexto: hosts, routers, switches, enlaces, ... ─ Funciones intersticiales: establecen correspondencia entre las funcionalidades encapsuladas en los contextos IPv6 network IPv4 network NAT LAN Sensor network Interstitial function Context dit 48 © DIT-UPM, 2009 UPM 24 Doctorado Aplicaciones y Servicios Avanzados Internet Curso 08/09 Propuestas de nuevas arquitecturas (iii) FARA: Forwarding directive, Association, and Rendezvous Architecture (MIT, USC ISI, NewArch Project). Cleanly decouple end-system identity from network layer forwarding functions ─ The familiar location/identity split ─ Support general mobility (includes multihoming) Avoid the need for a new global namespace for identity Provide E2E security with a range of assurance levels Generalize the architecture along several dimensions Support diverse naming & forwarding mechanisms dit 49 © DIT-UPM, 2009 UPM Impacto de TCP sobre redes móviles 25 Doctorado Aplicaciones y Servicios Avanzados Internet Curso 08/09 Redes móviles y arquitectura TCP/IP Redes móviles celulares: ¿impacto en el servicio ofrecido a las aplicaciones? ¿en otros protocolos? Teóricamente el impacto debería ser mínimo… El modelo de servicio no cambia TCP y UDP protocolos de transporte … pero puede haber pérdida de prestaciones Mayores retardos (retransmisiones en el nivel de enlace) y variabilidad (jitter) Pérdida de paquetes (descarte por errores) Traspasos (handover), falta de cobertura TCP interpreta pérdidas como congestión, disminuyendo tasa de envío Ancho de banda limitado El terminal móvil dit 51 © DIT-UPM, 2009 UPM Características básicas de TCP Envío continuo ACKs: segmento a segmento, retardados (1 paquete o 500 ms. típ.), duplicados (RX fuera de orden) Control de flujo soportado por la ventana Caudal <= W (bits) / RTT(s) < C ─ Caudal = tasa media de envío Tamaño ideal de ventana: W(bits) = C (bps) * RTT(s) dit 52 © DIT-UPM, 2009 UPM 26 Doctorado Aplicaciones y Servicios Avanzados Internet Curso 08/09 Errores y Control de Congestión Visión de TCP: Un paquete se pierde SII hay congestión Detección de pérdidas por temporizador o ACKs duplicados Característica de redes móviles Pérdidas frecuentes por errores de transmisión y/o “Jitter” alto TCP no puede distinguir entre pérdidas de paquetes debidas a congestión y aquellas debidas a errores o retardos. Reduce innecesariamente la ventana de congestión… Volviendo en ocasiones a la fase de arranque lento… Pérdida de prestaciones! dit 53 © DIT-UPM, 2009 UPM Comportamiento ideal Red ideal: los errores de transmisión permanecen ocultos al emisor, mediante una recuperación transparente y eficiente en el nivel de enlace. TCP ideal: el emisor sólo retransmite un paquete que se ha perdido debido a errores de transmisión, sin tomar ninguna acción relacionada con el control de congestion. Los esquemas propuestos generalmente tratan de aproximarse a uno de estos dos ideales. dit 54 © DIT-UPM, 2009 UPM 27 Doctorado Aplicaciones y Servicios Avanzados Internet Curso 08/09 Propuestas modificación TCP Conexiones divididas (split connection) Se abandona la semántica extremo a extremo de TCP: Conexión TCP en el tramo inalámbrico. Conexión TCP en el tramo cableado. La división se hace en el “nodo intermedio”: estación base. Se optimiza independientemente cada conexión Terminal fijo Estación base Terminal móvil dit 55 © DIT-UPM, 2009 UPM 28