Avanzados Internet Curso de Doctorado 2006-2007 Encarna Pastor <encarna@dit.upm.es> Dpto. Ingeniería de Sistemas Telemáticos Universidad Politécnica de Madrid Sistemas de entrega y distribución de contenidos. Nuevos paradigmas. 1
Entrega de contenidos clásica: web y HTTP 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!! 3 dit Organización de Internet DSL Cable Head Ends ISP ISP ISP NAP Redes backbone NAP ISP Satélite Cell Cell Cell ISP ISP LAN LAN LAN Dial-up 4 dit 2
Caminos en Internet Un paquete puede atravesar muchas redes ISP local ISP Tier 3 ISP Tier 2 ISP local Tier-2 ISP Tier ISP 2 ISP Tier 1 NAP ISP Tier 1 ISP Tier 1 Tier-2 ISP Tier ISP 2 ISP Tier 2 ISP local ISP Tier 2 ISP local ISP local 5 dit 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 Proveedores de contenidos Usuarios 6 dit 3
Índice 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) 7 dit Índice 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) 8 dit 4
Caché web: servidor proxy Objetivo: disminuir tráfico y retardos, enviando objetos al cliente sin involucrar al servidor origen. servidor web Servidor Proxy: Guarda copias de páginas recientemente solicitadas cliente cliente http request http response http request http response servidor proxy 9 dit 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 red corporativa Internet enlace de 1.5 Mbps servidores web 10 Mbps LAN caché/proxy de la organización 10 dit 5
Caché web cooperativas Servidor Web Múltiples cachés web caché cooperativa topología jerárquica protocolo squid Árbol de distribución de contenidos INTERNET INTERNET Caché Nacional (Raíz) Caché Regionales Jerárquica Caché Institucionales Usuarios 11 dit Índice 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) 12 dit 6
Granjas de servidores Permiten crear potentes servidores virtuales a base de unir varios servidores físicos: Clientes Red IP Dirección IP virtual Conmutador Nivel 4 Servidores web reales (Server 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 13 dit 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) 14 dit 7
Redes de distribución de contenidos (CDNs) Ej.: Akamai Distribución Entrega 15 dit Elementos de una CDN Servidor Web Servidor Sustituto Servidor Sustituto Sistema de Encaminamiento INTERNET Sistema de Distribución CDN Sistema de Tarificación Servidor Sustituto Servidor Sustituto Servidor Sustituto Cliente 16 dit 8
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 17 dit Sistemas Caché web vs CDNs Caché web El ISP lo usa para reducir el consumo de ancho de banda. Opera Re-activamente. Beneficia más a los usuarios e ISPs que a los proveedores de contenidos. No permite que el proveedor de contenidos mantenga el control sobre las copias de su contenido. CDN El Proveedor de Contenidos lo usa para incrementar la QoS. Opera Pro-activamente. Beneficia tanto a los proveedores de contenidos como a los usuarios. Sí permite que el proveedor de contenidos mantenga el control sobre las copias de su contenido. 18 dit 9
Índice 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) 19 dit 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, 20 dit 10
Compartición de ficheros Ejemplos de P2P 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, 21 dit 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 2 1 1 1 1 3 peers 22 dit 11
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 23 dit 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 24 dit 12
P2P vs Grid Comunidad y aplicaciones Compartición de recursos Grid Comunidades ya establecidas (científicos) Resolución de problemas que requieren alta capacidad de cálculo Clusters de máquinas potentes y fiables Conectadas mediante redes altas prestaciones Instrumentos especializados P2P Mayoritariamente anónimos Intercambio de ficheros, otras emergentes PCs con capacidad y conectividad limitada Muy diversas plataformas y poco fiables 25 dit P2P vs Grid Escalabilidad del sistema Grid Centenares a miles P2P Cientos de miles a millones Servicios Sofisticados: autenticación, planificación, búsqueda de recursos, control de acceso Confianza entre miembros Servicios limitados: búsqueda de recursos Confianza muy limitada entre miembros Software Sofisticado: Globus, Condor Simple: emule, SETI@Home 26 dit 13
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, 27 dit 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 (> 50%)! 28 dit 14
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 29 dit Redes superpuestas (overlays) Ejemplos: DNS Routers BGP CDNs P2P 30 dit 15
Conclusiones (I) 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 31 dit Arquitectura de Internet 16
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 33 dit Evolución de Internet (I) 1961-1972: conmutación de paquetes, NCP NUCLEO ARPAnet SF SF SF SF 34 dit 17
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 LAN NUCLEO ARPAnet 35 dit R LAN R R LAN SF Evolución de Internet (III) 1980-1990: proliferación de redes, problemas de escala NUCLEO ARPAnet R1 Subnetting R3 R2 CIDR ASs R4 DNS TCP, AIMD Red y Red x 36 dit 18
Evolución de Internet (IV) 90 s: comercialización, web Backbone Hacia una topología jerárquica - Network Access Points (NAP) PSI local Backbone PSI regional PSI local NAP PSI regional PSI regional PSI local 37 dit 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 38 dit 19
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 ninguna aplicación. Innovación Fiabilidad y robustez Transparencia Applications Middleware Services 39 dit IP Network Technology Access Technologies 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 40 dit 20
Ú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... 41 dit 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 42 dit 21
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, 43 dit 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 44 dit 22
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,... 45 dit 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 46 dit 23
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 Sensor network IPv6 network IPv4 network Interstitial function Context NAT LAN 47 dit 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 48 dit 24
Impacto de TCP sobre redes móviles Redes móviles y aplicaciones 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 50 dit 25
Foros de estandarización Open Mobile Alliance http://www.openmobilealliance.org/ WAP Forum Location Interoperability Forum (LIF) SyncML Initiative Multimedia Messaging Interoperability Forum (MMS-IOP) Wireless Village Mobile Gaming Interoperability Forum (MGIF) Mobile Wireless Internet Forum (MWIF) W3C Multimodal interaction Activity <http://www.w3.org/2002/mmi/ Especificaciones públicas Basadas en estándares TCP/IP 51 dit WAP (Wireless access protocol) Arquitectura de protocolos optimizados para el desarrollo de servicios Internet sobre redes móviles. Modelo de programación basado en el existente para web. 52 dit 26
Ejemplo de configuración 53 dit Compatible HTTP Nuevo modelo push HTTP* El terminal WAP puede asumir el papel de servidor Uso de opción en la cabecera HTTP para transporte de datos comprimidos Accept-Encoding Content-Encoding 54 dit 27
Caracterización IP, UDP, TCP IP Los paquetes se pueden perder Los paquetes se pueden recibir fuera de orden Los paquetes se pueden duplicar UDP Características idénticas a las de IP TCP La información se entrega ordenada. Se controla y previene la congestión La información NO se pierde, si es necesario se retransmite. Comunicación extremo-a-extremo 55 dit Características del Enlace Lógico Móvil Latencia ~ segundos en vez de milisegundos Velocidad de los enlaces 10-40 Kbps 2.5G, 64/384 Kbps 3G Asimetría física en 2.5G, física y lógica en 3G Retardos instantáneos cobertura, handover, movilidad, reasignación de recursos Pérdidas de paquetes alternativa a latencia por FEC, ACK. Saltos entre sistemas retardos instantáneos Oscilaciones en el caudal disponible reasignación de recursos 56 dit 28
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) 57 dit 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! 58 dit 29
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. 59 dit Propuestas en nivel de enlace Uso de códigos detectores/correctores de errores y retransmisiones (FEC + ARQ) Mejora de prestaciones si Se realiza una entrega en orden Se ajusta el temporizador de TCP para que tolere retardos adicionales por retransmisiones en el nivel de enlace 60 dit 30
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 61 dit Conexiones divididas Ventajas: Permite aplicar soluciones locales a los problemas específicos del enlace inalámbrico. Se tiene más información sobre las características específicas del enlace: envío ordenado, pérdidas por errores o por congestión,... Permite desplegar las nuevas variantes de TCP en el enlace inalámbrico y dejar el TCP estándar en el camino terrestre. Inconvenientes: Rompe la semántica extremo a extremo de TCP. Introduce más vulnerabilidad (nodo intermedio). Interacción con traspasos, si cambia el nodo intermedio. No es aplicable a redes con encaminamiento asimétrico. Sobrecarga añadida. 62 dit 31