Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
TD4 2022TD4 2022 Agenda ▪ Protocolos de la capa de aplicación • DNS • Streaming de video: DASH ▪ Aplicaciones peer-to-peer (P2P) ▪ Redes de distribución de contenido (CDNs) 2 TD4 2022TD4 2022 3 El protocolo DNS TD4 2022TD4 2022 Resolución DNS: consulta iterativa Ejemplo: un host en dc.uba.ar busca resolver la dirección IP de td4.utdt.edu Consulta iterativa ▪ El servidor contactado responde con el nombre del próximo servidor a contactar ▪ “No conozco este nombre, pero preguntale a este servidor” Host en dc.uba.ar td4.utdt.edu Servidor root Servidor local dns.uba.ar 1 2 3 4 5 6 Servidor autoritativo dns.utdt.edu 7 8 Servidor TLD 4 TD4 2022TD4 2022 Resolución DNS: consulta recursiva 1 2 3 45 67 8 Consulta recursiva ▪ El servidor contactado se encarga de resolver la consulta 5 Ejemplo: un host en dc.uba.ar busca resolver la dirección IP de td4.utdt.edu Servidor root Servidor TLD td4.utdt.edu Servidor autoritativo dns.utdt.edu Servidor local dns.uba.ar Host en dc.uba.ar TD4 2022TD4 2022 Caching en DNS ▪ Cuando un servidor aprende un nuevo mapeo, lo cachea e inmediatamente devuelve este valor cacheado ante futuras consultas (aún si no es su servidor autoritativo) • Mejora los tiempos de respuesta • Los registros cacheados expiran luego de cierto tiempo (Time To Live, TTL) • Los servidores TLD suelen estar cacheados en los servidores locales ▪ Los registros en la caché pueden estar desactualizados • Si cierto host cambia su dirección IP, podría permanecer “oculto” hasta que todos los TTLs expiren • DNS ofrece una traducción “best-effort” 6 TD4 2022TD4 2022 Registros DNS DNS: base de datos distribuida que almacena registros (RR) tipo NS ▪ nombre: un dominio (e.g. utdt.edu) ▪ valor: el hostname del servidor autoritativo para dicho dominio Formato: (nombre, valor, tipo, TTL) tipo A ▪ nombre: el host ▪ valor: su dirección IP tipo CNAME ▪ nombre:un alias para cierto nombre canónico (i.e., real) ▪ valor: el nombre canónico tipo MX ▪ El valor es el nombre de un servidor SMTP asociado con el nombre 7 TD4 2022TD4 2022 Ejercicio! 8 ▪ Supongamos que el servidor TLD para dominios .edu no es autoritativo para el host utdt.edu. ¿Qué registros DNS contendrá el servidor TLD? ¿De qué tipo? Servidor autoritativo dns.utdt.edu 138.45.7.124 Servidor TLD d.edu-servers.net 192.31.80.30 Host en dc.uba.ar 124.176.2.200 Servidor local dns.uba.ar 124.176.2.4 TD4 2022TD4 2022 Ejercicio! 9 Host en dc.uba.ar 124.176.2.200 Servidor local dns.uba.ar 124.176.2.4 ▪ Supongamos que el servidor TLD para dominios .edu no es autoritativo para el host utdt.edu. ¿Qué registros DNS contendrá el servidor? ¿De qué tipo? Tipo Name Value … … … NS udtd.edu dns.utdt.edu A dns.utdt.edu 138.45.7.124 … … … Servidor autoritativo dns.utdt.edu 138.45.7.124 Servidor TLD d.edu-servers.net 192.31.80.30 TD4 2022TD4 2022 identificación flags # preguntas # RRs adicionales# RRs autoritativos # RRs 2 bytes Mensajes DNS Tanto las consultas (queries) como las respuestas (replies) tienen el mismo formato: Header del mensaje: ▪ identificación: número de 16 bits para la consulta (la respuesta utiliza el mismo) ▪ flags • query / reply • recursividad deseada • recursividad disponible • La respuesta es autoritativa 10 2 bytes preguntas (cantidad variable) respuestas (cantidad variable de registros) autoridad (cantidad variable de registros) información adicional (cantidad variable de registros) TD4 2022TD4 2022 campos nombre y tipo (query) registros en respuesta a la query (reply) registros para servidores autoritativos info adicional que podría ser de ayuda Mensajes DNS 11 Tanto las consultas (queries) como las respuestas (replies) tienen el mismo formato: identificación flags # preguntas preguntas (cantidad variable) # RRs adicionales# RRs autoritativos # RRs respuestas (cantidad variable de registros) autoridad (cantidad variable de registros variable) información adicional (cantidad variable de registros) 2 bytes2 bytes TD4 2022TD4 2022 Nuevos registros en DNS Supongamos que queremos dar de alta el dominio td4.com ▪ Debemos registrar dicho nombre en un registrador DNS (e.g., Network Solutions) • Proveemos nombres y direcciones IP de servidores autoritativos (primarios y secundarios) • El registrador inserta registros NS y A en el servidor TLD de .com: (td4.com, dns1.td4.com, NS) (dns1.td4.com, 111.111.111.1, A) ▪ Necesitamos generar un servidor DNS autoritativo con dirección IP 111.111.111.1 • Debe tener un registro A para www.td4.com • Y, por ejemplo, otro de tipo MX (si queremos mails @td4.com) 12 https://www.networksolutions.com/ TD4 2022TD4 2022 Seguridad en DNS Ataques DDoS ▪ Bombardeo de servidores root con tráfico • No es muy factible • Filtrado de tráfico • Los servidores locales cachean las IPs de los servidores TLD (se bypassean los servidores root) ▪ Bombardeo de servidores TLD • Potencialmente más peligroso Ataques de spoofing ▪ Intercepción de queries para devolver respuestas falsas ▪ DNS cache poisoning: las caches quedan envenenadas, direccionando tráfico a la máquina maliciosa ▪ RFC 4033: DNSSEC (ofrece servicios de autenticación) 13 TD4 2022TD4 2022 14 Aplicaciones P2P - BitTorrent TD4 2022TD4 2022 Arquitectura peer-to-peer (P2P) ▪ No hay un servidor ▪ Comunicación directa entre hosts/peers ▪ Los peers solicitan/ofrecen servicios a otros peers • Auto-escalabilidad ▪ Los peers tienen conectividad intermitente; cambian direcciones IP ▪ Ejemplo: intercambio de archivos P2P (e.g. BitTorrent) 15 TD4 2022TD4 2022 BitTorrent: distribución de archivos P2P ▪ Los archivos se dividen en chunks de 256Kb ▪ Cada peer de un torrent envía y recibe chunks de archivos tracker: registra peers participando en un torrent torrent: conjunto de peers intercambiando chunks de un archivo Llega un nuevo peer, obtiene la lista de peers del tracker, y comienza a intercambiar chunks con otros peers en el torrent 16 TD4 2022TD4 2022 BitTorrent: distribución de archivos P2P ▪ Cuando un peer se une a un torrent: • No posee chunks (los irá acumulando a lo largo del tiempo por medio de los demás peers) • Se registra en el tracker para obtener la lista de peers y se conecta a peers “vecinos” ▪ Durante las descargas, los peers suben chunks a otros peers ▪ Los peers pueden cambiar el conjunto de peers con quienes se intercambian chunks ▪ churn: los peers pueden venir e irse dinámicamente ▪ Cuando un peer obtiene el archivo completo, puede irse (peer “egoísta”) o permanecer en el torrent (peer “altruista”) 17 TD4 2022TD4 2022 BitTorrent: pedido y envío de chunks Pedido de chunks ▪ En todo instante, distintos peers poseen diferentes subconjuntos de los chunks del archivo ▪ Periódicamente, cada peer solicita a los demás la lista de chunks que ellos poseen ▪ A partir de esta info se solicitan los chunks faltantes (los más “inusuales” primero) Envío de chunks: tit-for-tat ▪ Un peer envía chunks a los cuatro peers que le envían chunks a mayor velocidad • Los demás peers no reciben nada (choked peers) • El “top 4” se reevalúa cada diez segundos ▪ Cada 30 segundos se selecciona aleatoriamente otro peer y se le envía chunks • “optimistic unchoking” • El peer seleccionado puede subirse al “podio” de los top 4 18 TD4 2022TD4 2022 BitTorrent: tit-for-tat (1) A selecciona a B vía optimisticunchoking (2) A entra en el “top 4” de B; B envía chunks a A (3) B entra en el “top 4” de A 19 A B TD4 2022TD4 2022 20 Streaming de video y CDNs TD4 2022TD4 2022 Streaming y CDNs: contexto ▪ El tráfico de streaming es el mayor consumidor de ancho de banda en Internet • Netflix, YouTube, Amazon Prime: 80% del tráfico residencial de ISPs (2020) ▪ Desafío: escala – cómo alcanzar a miles de millones de usuarios ▪ Desafío: heterogeneidad ▪ Cada usuario tiene distintas características (e.g., cableado vs. móvil) ▪ Solución: infraestructura distribuida (a nivel de aplicación) 21 TD4 2022TD4 2022 Video ▪ Secuencia de imágenes mostradas a una tasa constante • e.g., 24/30 imágenes por segundo ▪ Una imagen (digital) es un arreglo de píxeles (cada píxel se representa con bits) ……………………. codificación espacial: en vez de enviar N valores del mismo color, se envían sólo dos valores: el color (violeta) y la cantidad de repeticiones (N) ……………….…… cuadro i cuadro i+1 codificación temporal: en vez de enviar el cuadro i+1 completo, se envían sólo las diferencias respecto del cuadro i 22 ▪ Codificación: utilizar redundancia dentro de y entre imágenes para reducir la cantidad de bits del video • espacial: dentro de la imagen • temporal: de una imagen a la siguiente TD4 2022TD4 2022 Compresión de Video ▪ CBR (constant bit rate): la tasa de codificación está fija ▪ VBR (variable bit rate): la tasa cambia de acuerdo a cuánto cambia la codificación espacial/temporal ▪ Ejemplos: • MPEG1 (CD-ROM) 1.5 Mbps • MPEG2 (DVD) 3-6 Mbps • MPEG4 (usado en Internet; 64Kbps – 12 Mbps) 23 …………………….. codificación espacial: en vez de enviar N valores del mismo color, se envían sólo dos valores: el color (violeta) y la cantidad de repeticiones (N) ……………….…… . cuadro i codificación temporal: en vez de enviar el cuadro i+1 completo, se envían sólo las diferencias respecto del cuadro i cuadro i+1 TD4 2022TD4 2022 Desafíos principales: ▪ El ancho de banda del servidor al cliente puede cambiar a lo largo del tiempo (con niveles de congestión cambiantes) ▪ La pérdida de paquetes y el delay por congestión pueden demorar la reproducción del video o deteriorar su calidad Streaming de video almacenado servidor cliente Internet 24 TD4 2022TD4 2022 Streaming de video almacenado 1. video grabado 2. video enviado D at os a cu m ul ad os streaming: en este instante, el cliente reproduce los comienzos del video mientras que el servidor aún sigue enviando las porciones finales tiempodelay de la red 25 3. video recibido (reproducido) TD4 2022TD4 2022 Streaming: desafíos ▪ Reproducción continua: el tiempo de reproducción debe coincidir con el tiempo del video original •Los delays de la red son variables (jitter), de modo que será necesario hacer buffering en el cliente ▪ Interactividad: el cliente puede pausar, adelantar, rebobinar, etc. ▪ Pérdida de paquetes / retransmisiones 26 TD4 2022TD4 2022 Streaming de video: buffering D at o s ac u m u la d o s tiempo vi de o bu ff er ea do ▪El buffering y el delay de reproducción “compensan” el delay de la red 27 transmisión de video (a tasa constante) delay (variable) recepción del video reproducción en el cliente (a tasa constante) delay de reproducción TD4 2022TD4 2022 Transmisión adaptable: DASH Servidor ▪ Divide el archivo de video en chunks ▪ Cada chunk se codifica a distintas tasas ▪ Estas codificaciones se almacenan en archivos distintos ▪ Los archivos se replican en diversas CDNs ▪ Un manifiesto provee URLs para los distintos chunks Cliente ▪ Estima periódicamente el ancho de banda disponible desde el servidor ▪ A través del manifiesto, solicita un chunk por vez • Elige la máxima tasa de codificación sostenible dado el ancho de banda actual • Puede escoger diferentes tasas en diferentes instantes de tiempo (y también desde distintos servidores) 28 cliente ? ... ... ... Protocolo DASH: Dynamic Adaptive Streaming over HTTP TD4 2022TD4 2022 Transmisión adaptable: DASH ▪“Inteligencia” en el cliente: determina • Cuándo pedir un chunk (para evitar buffers vacíos o colapsados) • Cuál tasa de codificación pedir (mayor calidad cuando haya disponibilidad de mayor ancho de banda) • Dónde pedir un chunk (puede utilizar la URL de un servidor cercano o con un ancho de banda mayor) Streaming de video = codificación + DASH + buffering 29 cliente ? ... ... ... TD4 2022TD4 2022 Redes de Distribución de Contenido (CDNs) ¿Cómo ofrecer streaming de millones de videos a cientos de miles de usuarios simultáneos? ▪ Servidor “enorme” (?) •Punto único de falla •Congestión •Caminos largos (posiblemente congestionados) a muchos clientes distantes •No escala 30 TD4 2022TD4 2022 ¿Cómo ofrecer streaming de millones de videos a cientos de miles de usuarios simultáneos? Redes de Distribución de Contenido (CDNs) • Incluso, con servidores ubicados en varias redes de acceso (ISPs) • Proximidad a los usuarios • Akamai: 360,000 servidores instalados en más de 135 países y en más de 1350 redes a lo largo del mundo ▪ Alternativa: almacenar múltiples copias de los videos en diversos sitios geográficamente distribuidos – CDNs 31 TD4 2022TD4 2022 ▪ Los usuarios, al solicitar el contenido, reciben un manifiesto del proveedor (ej. Netflix) Redes de Distribución de Contenido (CDNs) ▪ Las CDNs almacenan copias del contenido multimedia (ej. Breaking Bad) en sus nodos • Mediante éste, el cliente puede obtener el contenido a la mayor tasa de transferencia soportada • Puede elegir una tasa o una copia distinta si ej. hay congestión 32
Compartir