Logo Studenta

Slides TD IV - clases (7)

¡Este material tiene más páginas!

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

Continuar navegando

Otros materiales