Aplicaciones y Protocolos de Red en Ingeniería
Aplicaciones y Protocolos de Red en Ingeniería
de
Comunicacione
s
ISIS 3204
@ydonosomeisel
Yezid E. Donoso Meisel
Departamento de Ingeniería
de Sistemas y Computación
Capa de Aplicación
Departamento de Ingeniería
de Sistemas y Computación
Capa de Aplicación
1. Principios de las aplicaciones de red
2. La Web: HTTP
3. Transferencia de archivos: FTP
4. Correo electrónico en Internet: SMTP
5. Servicio de Directorio de Internet: DNS
6. Aplicaciones P2P
7. Video Streaming y Redes de Distribución de
Contenidos
8. Servicios Convergentes
9. Caracterización del Trafico de Red
10. Programación de sockets: TCP y UDP
Departamento de Ingeniería
de Sistemas y Computación
Capa de HTTP SMTP SSH Telnet DNS
Aplicación HTTP
POP FTP TFTP DHCP …
S
Capa de
Transporte
Capa de Internet
Capa de Enlace de
Datos
Capa Física
Departamento de Ingeniería
de Sistemas y Computación
Capa de Aplicación
• Afianzar los conceptos y aspectos de implementación de los
protocolos de la capa de aplicación.
• Modelos de servicio de capa de transporte.
• Paradigma cliente/servidor
• Paradigma peer to peer
• Redes de distribución de contenido
Departamento de Ingeniería
de Sistemas y Computación
Principios de las Aplicaciones
de Red
Departamento de Ingeniería
de Sistemas y Computación
Algunas aplicaciones de red
Aplicaciones tradicionales Aplicaciones multimedia
Departamento de Ingeniería
de Sistemas y Computación
Arquitectura de las aplicaciones
de red
El desarrollador de aplicaciones
diseña la arquitectura de la
aplicación, que establece cómo la
aplicación debe estructurarse en los
distintos sistemas terminales.
El desarrollador probablemente
utilizará uno de los dos paradigmas
arquitectónicos: cliente-servidor o
P2P.
Departamento de Ingeniería
de Sistemas y Computación
Arquitectura Cliente-Servidor
Cliente
Departamento de Ingeniería
de Sistemas y Computación
Arquitectura Cliente-Servidor
Servidor
• Siempre encendidos
• Dirección IP fija
• Tradicionalmente ubicados en
centros de datos para
escalar.
Departamento de Ingeniería
de Sistemas y Computación
Arquitectura P2P
Redes entre pares
• No hay un servidor siempre encendido
• Los sistemas finales arbitrarios se
comunican directamente
• Los pares solicitan el servicio de otros
pares, brindan servicio a cambio de
otros pares
• Auto-escalabilidad: los nuevos pares traen nueva
capacidad de servicio, así como nuevas demandas de
servicio
Departamento de Ingeniería
de Sistemas y Computación
Comunicación entre procesos
Proceso Cliente-Servidor
Programa que se ejecuta dentro • Proceso del cliente: proceso que
de un host inicia la comunicación.
• Proceso del servidor: proceso que
espera ser contactado.
• Dentro del mismo host, dos procesos
se comunican mediante la
comunicación entre procesos
(definida por el sistema operativo)
P2P
• Las aplicaciones con arquitecturas
• Procesos en diferentes hosts se
P2P tienen procesos de cliente y
comunican intercambiando
procesos de servidor
mensajes.
Departamento de Ingeniería
de Sistemas y Computación
Sockets
Un socket es la interfaz
entre la capa de aplicación y
la capa de transporte de un
host (API).
Departamento de Ingeniería
de Sistemas y Computación
Direccionamiento de Puertos
Departamento de Ingeniería
de Sistemas y Computación
Direccionamiento de Puertos
Fuente: [Link]
Departamento de Ingeniería
de Sistemas y Computación
Direccionamiento de Puertos
MAC MAC IP 130
Origen Destino
IP Origen
Destino 5
21 Data Cola
Departamento de Ingeniería
de Sistemas y Computación
¿Qué define un protocolo de capa de aplicación?
Departamento de Ingeniería
de Sistemas y Computación
Ejemplo
Departamento de Ingeniería
de Sistemas y Computación
Interacción de los protocolos
• La comunicación entre un Aplicación
Protocolo de transferencia de
hipertexto (HTTP)
servidor web y un cliente web Protocolo de control de
es un ejemplo de Transporte
transmisión (TCP)
Departamento de Ingeniería
de Sistemas y Computación
Requisitos de transporte de
algunas aplicaciones de red
seleccionadas
Departamento de Ingeniería
de Sistemas y Computación
Servicios de transporte
disponibles para las
aplicaciones
TCP UDP
• Confiable • Rápido
• Reconoce los datos • Baja sobrecarga
• Reenvía los datos perdidos • No requiere reconocimiento
• Entrega los datos en orden • No reenvía los datos perdidos
secuencial • Entrega los datos a medida
que llegan
Departamento de Ingeniería
de Sistemas y Computación
Servicios TCP (Transmission Control
Protocol)
• Servicio orientado a la
conexión
• Servicio de transferencia de
datos fiable
• Entrega en el mismo orden
• Control de flujo
Departamento de Ingeniería
de Sistemas y Computación
Servicios UDP (User Datagram
Protocol)
• No es orientado a la conexión
• Proporciona un servicio de transferencia
no fiable, es un protocolo de transporte
ligero
• Los segmentos perdidos no se vuelven a
enviar
• Los datos se reconstruyen en el orden en
el que se recibieron
• No le informa al emisor sobre la
disponibilidad de recursos, por lo que no
hay control de congestión
Departamento de Ingeniería
de Sistemas y Computación
¿por qué molestarse?
Departamento de Ingeniería
de Sistemas y Computación
Aplicaciones populares de
Internet
Departamento de Ingeniería
de Sistemas y Computación
TCP Seguro
Departamento de Ingeniería
de Sistemas y Computación
TCP Seguro
TCP y UDP SSL – Secure Socket Layer
Departamento de Ingeniería
de Sistemas y Computación
Problemas de seguridad en TCP/UDP
Departamento de Ingeniería
de Sistemas y Computación
Subcapa SSL
Departamento de Ingeniería
de Sistemas y Computación
SSL en acción
Departamento de Ingeniería
de Sistemas y Computación
3-Handshake de TCP
Departamento de Ingeniería
de Sistemas y Computación
Protocolo SSL
SSL Record
Departamento de Ingeniería
de Sistemas y Computación
Departamento de Ingeniería
de Sistemas y Computación
La Web: HTTP
Departamento de Ingeniería
de Sistemas y Computación
HTTP – HyperText Transfer
Protocol
• HTTP es un protocolo de solicitud/respuesta.
• Una pagina web consiste de objetos
• Los objetos pueden ser:
• Un archivo HTML
• Una imagen (JPEG, PNG, …)
• Un archivo de audio o de video
• Una pagina web esta formada por un archivo HTML base que
incluye referencias a muchos objetos
• Cada objeto se puede direccionar con una URL
Departamento de Ingeniería
de Sistemas y Computación
HTTP – HyperText Transfer
Protocol
HTTP es un protocolo
Usa TCP “stateless”
• El servidor no mantiene
• Los clientes inician la conexión información sobre solicitudes de
TCP (crean el socket) con el clientes anteriores
servidor.
• El servidor utiliza el puerto 80 Los protocolos que
• Los mensajes HTTP son mantienen el estado son
intercambiados entre navegador complejos
y servidor web. • ¿Qué pasa si el servidor o el
• La conexión se cierra cliente fallan?
Departamento de Ingeniería
de Sistemas y Computación
Conexiones HTTP
No persistentes Persistentes
Departamento de Ingeniería
de Sistemas y Computación
suppose user enters URL:
HTTP [Link]/someDepartment/[Link]
(contains text,
No Persistente
1a. El cliente HTTP inicia la
conexión TCP al servidor HTTP
references to 10 jpeg
images)
Departamento de Ingeniería
de Sistemas y Computación
HTTP
No Persistente
4. El servidor HTTP cierra la
conexión TCP.
Departamento de Ingeniería
de Sistemas y Computación
Conexiones
Persistentes
Departamento de Ingeniería
de Sistemas y Computación
Formato de los mensajes HTTP
• La especificación HTTP [RFC 2616] incluyen las definiciones de
los formatos de los mensajes HTTP.
• Dos tipos de mensajes HTTP existentes: mensajes de petición y
mensajes de respuesta.
Departamento de Ingeniería
de Sistemas y Computación
Mensaje de petición HTTP
• Líneas de encabezado, y
Departamento de Ingeniería
de Sistemas y Computación
Formato general de un mensaje
de solicitud
Departamento de Ingeniería
de Sistemas y Computación
Mensaje de respuesta HTTP
• El cuerpo de entidad
• (objetos solicitados)
Departamento de Ingeniería
de Sistemas y Computación
Formato general de un mensaje
de respuesta HTTP
Departamento de Ingeniería
de Sistemas y Computación
Códigos de respuesta
El código de estado aparece en la primera línea en el mensaje de
respuesta del servidor al cliente.
Algunos códigos:
200 OK
• request succeeded, requested object later in this msg
[Link]/animalsearch?monkeys&banana
Departamento de Ingeniería
de Sistemas y Computación
Tipos de métodos
HTTP/1.0 HTTP/1.1
Departamento de Ingeniería
de Sistemas y Computación
Interacción usuario-servidor:
cookies
Departamento de Ingeniería
de Sistemas y Computación
Interacción usuario-servidor:
cookies
La tecnología de las cookies
utiliza cuatro componentes:
Departamento de Ingeniería
de Sistemas y Computación
Interacción usuario-servidor:
cookies
Departamento de Ingeniería
de Sistemas y Computación
Interacción usuario-servidor:
cookies
Departamento de Ingeniería
de Sistemas y Computación
Cookies
Pueden ser usadas para Privacidad
Departamento de Ingeniería
de Sistemas y Computación
Departamento de Ingeniería
de Sistemas y Computación
Caches Web (Proxy Server)
• Dispone de su propio
almacenamiento en disco y
mantiene en él copias de los
objetos solicitados
recientemente.
Departamento de Ingeniería
de Sistemas y Computación
¿Ventajas de
un
cache web?
Departamento de Ingeniería
de Sistemas y Computación
Ejemplo:
Suposiciones:
• Tamaño de objeto promedio: 1M bits
• Tasa de solicitud promedio de los navegadores a los
servidores de origen: 15 seg.
• Tasa de datos promedio para los navegadores: 15 Mbps
• RTT desde enrutador institucional a cualquier servidor de
origen: 2 seg.
• Tasa de enlace de acceso: 15 Mbps
Consecuencias:
• Utilización de LAN: 15%
problema!
• Utilización del enlace de acceso = 100%
• retraso total = retraso de Internet + retraso de acceso +
retraso de LAN = 2 seg + minutos + µsecs
Departamento de Ingeniería
de Sistemas y Computación
Ejemplo:
Suposiciones:
• Tamaño de objeto promedio: 1M bits
• Tasa de solicitud promedio de los navegadores a los
servidores de origen: 15 seg.
• Tasa de datos promedio para los navegadores: 15 Mbps
• RTT desde enrutador institucional a cualquier servidor de 150
origen: 2 seg.
Mbps
• Tasa de enlace de acceso: 15 Mbps
150
Mbps
Consecuencias:
• Utilización de LAN: 15%
• Utilización del enlace de acceso = 100% 10
%
Costo: mayor velocidad de enlace de
acceso (¡no es barato!)
msecs
Departamento de Ingeniería
de Sistemas y Computación
Ejemplo:
Suposiciones:
• Tamaño de objeto promedio: 1M bits
• Tasa de solicitud promedio de los navegadores a los
servidores de origen: 15 seg.
• Tasa de datos promedio para los navegadores: 15 Mbps
• RTT desde enrutador institucional a cualquier servidor de
origen: 2 seg.
• Tasa de enlace de acceso: 15 Mbps
Consecuencias:
• Utilización de LAN: 15%
• Utilización del enlace de acceso = ?
• Retardo total = ?
Costo: web cache es barato
¿Cómo calcular la utilización del canal, y el
retardo?
Departamento de Ingeniería
de Sistemas y Computación
Ejemplo:
• Supongamos que la tasa de aciertos de caché es 0.4
• 40% de solicitudes satisfechas en caché, 60% de solicitudes
satisfechas en origen
• Retardo total
Departamento de Ingeniería
de Sistemas y Computación
GET condicional client server
Departamento de Ingeniería
de Sistemas y Computación
Planificación de la capacidad en el
tráfico web
Tráfico generado por una solicitud de una página de 5 KB
Departamento de Ingeniería
de Sistemas y Computación
Planificación de la capacidad en el
tráfico web
Web Traffic – Text Page [Link]
X 1,000
Departamento de Ingeniería
de Sistemas y Computación
Planificación de la capacidad en el
tráfico web
Web Traffic – Image Page [Link]
X 1,000
Departamento de Ingeniería
de Sistemas y Computación
Planificación de la capacidad en el
tráfico web
Web Traffic – Image Page [Link]
X 1,000
Departamento de Ingeniería
de Sistemas y Computación
Planificación de la capacidad en el
tráfico web
Web Traffic – Streaming Page [Link]
X 1,000
Departamento de Ingeniería
de Sistemas y Computación
Planificación de la capacidad en el
tráfico web
Web Traffic – Streaming Page [Link]
X 1,000
Departamento de Ingeniería
de Sistemas y Computación
Problemas de
seguridad en HTTP
Departamento de Ingeniería
de Sistemas y Computación
Problemas de seguridad en
HTTP
DNS
Query
DNS
Reply
DNS
Server
HTTP
Request
HTTP Database
Response
Web
Server
Departamento de Ingeniería
de Sistemas y Computación
Problemas de seguridad en
HTTP
AMENAZAS
Departamento de Ingeniería
de Sistemas y Computación
Problemas de seguridad en
HTTP
Por qué en los navegadores?
Departamento de Ingeniería
de Sistemas y Computación
Problemas de seguridad en
HTTP
Por qué en los servidores web?
Departamento de Ingeniería
de Sistemas y Computación
Problemas de seguridad en
HTTP
Departamento de Ingeniería
de Sistemas y Computación
Problemas de seguridad en
HTTP
Tomado de:
[Link]
Departamento de Ingeniería
de Sistemas y Computación
Transferencia de
archivos: FTP
Departamento de Ingeniería
de Sistemas y Computación
FTP
Conexión de
Control
Puerto 21
Conexión de Datos
Puerto 20
Interfaz
de Cliente Sistema de
Usuario FTP Transferencia Archivos
de Datos Remoto
FTP Servidor
FTP
Sistema de
Archivos
Local
Departamento de Ingeniería
de Sistemas y Computación
FTP: Ejemplos de comandos y
respuestas
Comandos Respuestas
Departamento de Ingeniería
de Sistemas y Computación
Departamento de Ingeniería
de Sistemas y Computación
Correo electrónico
en Internet: SMTP
Departamento de Ingeniería
de Sistemas y Computación
Correo Electrónico
Tres componentes principales:
• Agente usuario
• crear, editar, leer mensajes de correo
• Servidor de Correo
• buzón contiene mensajes entrantes para el
usuario
• cola de mensajes de correo saliente (para
ser enviado)
Departamento de Ingeniería
de Sistemas y Computación
SMTP [RFC 2821]
• Utiliza TCP para transferir de manera
confiable un mensaje de correo electrónico S: 220 [Link]
del cliente al servidor, puerto 25 C: HELO [Link]
S: 250 Hello [Link], pleased to meet
• Transferencia directa: servidor de envío al you
C: MAIL FROM: <alice@[Link]>
servidor receptor S: 250 alice@[Link]... Sender ok
• Tres fases de transferencia C: RCPT TO: <bob@[Link]>
S: 250 bob@[Link] ... Recipient ok
• Apretón de manos (saludo) C: DATA
• Transferencia de mensajes S: 354 Enter mail, end with "." on a line
• Cierre by itself
C: Do you like ketchup?
• Interacción comando / respuesta (como C: How about pickles?
C: .
HTTP) S: 250 Message accepted for delivery
• comandos: texto ASCII C: QUIT
• respuesta: código de estado y frase S: 221 [Link] closing connection
Departamento de Ingeniería
de Sistemas y Computación
Formato de un mensaje de
correo
SMTP: protocolo para el intercambio de
mensajes de correo electrónico.
RFC 822: estándar para el formato de header
mensaje de texto: línea
en
blanco
• líneas de encabezado, por ejemplo:
• To:
• From: body
• Subject:
• Es diferente de los comandos SMTP MAIL FROM, RCPT
TO.
• Cuerpo: el “mensaje”
• Solo caracteres ASCII
Departamento de Ingeniería
de Sistemas y Computación
Formato de un mensaje de
correo
Departamento de Ingeniería
de Sistemas y Computación
Protocolos de acceso al correo
Departamento de Ingeniería
de Sistemas y Computación
POP3 S:
C:
+OK POP3 server ready
user bob
S: +OK
C: pass hungry
Fase de autorización S: +OK user successfully logged on
• comandos del cliente:
• user: declara el nombre de usuario C: list
• pass: contraseña S: 1 498
S: 2 912
• respuestas del servidor
S: .
• +OK
C: retr 1
• -ERR
S: <message 1 contents>
S: .
Fase de transacción, cliente: C: dele 1
• list: lista de números de mensaje C: retr 2
S: <message 1 contents>
• retr: recuperar mensaje por número S: .
• dele: borrar C: dele 2
C: quit
• quit
S: +OK POP3 server signing off
Departamento de Ingeniería
de Sistemas y Computación
POP3 e IMAP
POP3 IMAP
las sesiones
Departamento de Ingeniería
de Sistemas y Computación
POP3
Departamento de Ingeniería
de Sistemas y Computación
Planificación de la capacidad en el
correo electrónico.
Departamento de Ingeniería
de Sistemas y Computación
Departamento de Ingeniería
de Sistemas y Computación
Seguridad en el correo
electrónico.
Departamento de Ingeniería
de Sistemas y Computación
Seguridad en el correo
electrónico.
Departamento de Ingeniería
de Sistemas y Computación
Seguridad en el correo
electrónico.
Departamento de Ingeniería
de Sistemas y Computación
Seguridad en el correo
electrónico.
Departamento de Ingeniería
de Sistemas y Computación
Seguridad en el correo
electrónico.
Departamento de Ingeniería
de Sistemas y Computación
Seguridad en el correo
electrónico.
• Alice quiere mantener confidencialidad, autenticación del remitente,
integridad del mensaje..
• Alice usa tres claves: su clave privada, la clave pública de Bob, la clave
simétrica recién creada
Departamento de Ingeniería
de Sistemas y Computación
Servicio de
Directorio de
Internet: DNS
Departamento de Ingeniería
de Sistemas y Computación
Domain Name System - DNS
[Link].
• Base de datos distribuida co
[Link]
implementada en jerarquía de
muchos servidores de nombres.
DNS
• Protocolo de la capa de
aplicación: los hosts, los servidores
de nombres se comunican para
resolver nombres (traducción de
dirección / nombre) DNS
Departamento de Ingeniería
de Sistemas y Computación
DNS: Servicios y Estructura
Servicios: ¿Por qué no centralizar el
DNS?
• Traducción de nombre de host a
dirección IP • Punto único de fallo
• alias de host • Volumen de tráfico
• canonical, alias de nombres
• Base de datos centralizada
• alias del servidor de correo distante
• distribución de la carga • Mantenimiento
• Servidores web replicados: muchas
direcciones IP corresponden a un nombre • No es escalable
Departamento de Ingeniería
de Sistemas y Computación
DNS: Una base de datos jerárquica distribuida.
Servidores
DNS raíz
Servidores
Servidores Servidores Servidores
DNS Servidores
DNS DNS DNS
[Link] DNS pbs
[Link] [Link] [Link]
m
Departamento de Ingeniería
de Sistemas y Computación
Tomado de: [Link]
Departamento de Ingeniería
de Sistemas y Computación
Servidor de nombres DNS local
Departamento de Ingeniería
de Sistemas y Computación
DNS: ejemplo de
resolución de nombres
Consulta iterada:
• El servidor contactado responde con el
nombre del servidor a contactar.
• "No sé este nombre, pero pregunte a este
servidor"
Departamento de Ingeniería
de Sistemas y Computación
DNS: ejemplo de
resolución de nombres
consulta recursiva:
• Pone la carga de la resolución de nombres en el
servidor de nombres contactados
• ¿Carga pesada en los niveles superiores de
jerarquía?
Departamento de Ingeniería
de Sistemas y Computación
DNS: almacenamiento en caché,
actualización de registros
• Una vez que el servidor de nombres aprende la asignación, almacena la
asignación en caché
• TTL: Tiempo de permanencia de las entradas en la memoria caché
• Los servidores de TLD normalmente se almacenan en caché en los servidores de nombres
locales
• Por lo tanto, los servidores de nombres raíz no son visitados
Departamento de Ingeniería
de Sistemas y Computación
Registros DNS Tipo = A
• name es el nombre de host
• value es la dirección IP
Tipo = NS
• name es el dominio (por ejemplo, [Link])
DNS: base de datos • value es el nombre de host del servidor de nombres
distribuida que autorizado para este dominio
Tipo = MAX
• value es el nombre del servidor de correo asociado con el
name
Departamento de Ingeniería
de Sistemas y Computación
Protocolo DNS, mensajes
Los mensajes de consulta y respuesta tienen el mismo formato de mensaje.
Departamento de Ingeniería
de Sistemas y Computación
Protocolo DNS, mensajes
Departamento de Ingeniería
de Sistemas y Computación
Departamento de Ingeniería
de Sistemas y Computación
Seguridad en DNS
Departamento de Ingeniería
de Sistemas y Computación
Ataques al DNS
Ataque DDoS Ataque de
• Bombardeo de los servidores raíz redireccionamiento
con tráfico • Hombre en medio
• No exitoso hasta la fecha • Interceptar consultas
• Filtrado de tráfico
• Los servidores DNS locales almacenan en
• Envenenamiento del DNS
caché las direcciones IP de los servidores • Enviar respuestas falsas al servidor DNS,
de TLD, lo que permite la omisión del que son almacenadas en caché
servidor raíz
Departamento de Ingeniería
de Sistemas y Computación
Seguridad en el DNS (DNS
Spoofing)
Departamento de Ingeniería
de Sistemas y Computación
¿Qué tan difícil es el ataque de suplantación de DNS?
1. /etc/hosts o c:\Windows\System32\drivers\etc\hosts
2. Envenamiento del Cache 3. ID spoofing
Departamento de Ingeniería
de Sistemas y Computación
Seguridad en el DNS (DNS
Spoofing)
• Deshabilitar los puertos no utilizados
• Implementar 802.1x.
• Utilizar DNSSec
• Utilizar certificados para autenticar servidores autorizados.
• Utilizar IPSec
• Usa la encripción para asegurar la confidencialidad.
Departamento de Ingeniería
de Sistemas y Computación
Aplicaciones P2P
Departamento de Ingeniería
de Sistemas y Computación
Arquitectura P2P
• NO hay un servidor siempre encendido
• Los sistemas finales arbitrarios se
comunican directamente
• Los pares están conectados de forma
intermitente y cambian las direcciones
IP
Ejemplos:
• Distribución de archivos (BitTorrent)
• Streaming (Kankan)
• VoIP (Skype)
Departamento de Ingeniería
de Sistemas y Computación
Distribución de archivos:
cliente – servidor vs P2P
La capacidad de carga /
descarga de los pares es un
recurso limitado
Departamento de Ingeniería
de Sistemas y Computación
Distribución de archivos: cliente
– servidor
F
• Transmisión del servidor: Debe us
enviar (subir) secuencialmente N di
copias de archivos: network
• Tiempo para enviar una copia: ui
• Tiempo para enviar N copias:
Departamento de Ingeniería
de Sistemas y Computación
Distribución de archivos: P2P
Departamento de Ingeniería
de Sistemas y Computación
Distribución de archivos:
cliente – servidor vs P2P
Tasa de carga del cliente: , , ,
Departamento de Ingeniería
de Sistemas y Computación
Distribución de archivos P2P:
BitTorrent
• Archivo dividido en trozos de
256KB (chunks)
• Pares en torrent enviar/recibir
chunks de los archivos
Departamento de Ingeniería
de Sistemas y Computación
Distribución de archivos P2P:
BitTorrent
• Peers (pares): Se denomina así a todos los usuarios que están en la red.
Departamento de Ingeniería
de Sistemas y Computación
Distribución de archivos P2P:
BitTorrent
Unir pares a torrent:
• No tiene trozos, pero los acumulará con el tiempo
de otros pares
• Se registra con el rastreador para obtener una
lista de pares, se conecta a un subconjunto de
pares ("vecinos")
Departamento de Ingeniería
de Sistemas y Computación
BitTorrent: Wireshark
Departamento de Ingeniería
de Sistemas y Computación
BitTorrent: Wireshark
Departamento de Ingeniería
de Sistemas y Computación
Video Streaming y
redes de
distribución de
contenido
Departamento de Ingeniería
de Sistemas y Computación
Video Streaming y CDNs:
Contexto
• Tráfico de video: mayor consumidor de ancho de banda
de internet.
• Netflix, YouTube: 37%, 16% del tráfico ISP residencial en sentido descendente
• ~ 1B usuarios de YouTube, ~ 75M usuarios de Netflix
• Desafío: la heterogeneidad
• Diferentes usuarios tienen capacidades diferentes (por ejemplo, cableado versus
móvil; ancho de banda rico versus ancho de banda pobre)
……………………..
……………….…….
• Video: secuencia de imágenes
mostradas a una velocidad constante
• por ejemplo, 24 imágenes/seg.
Departamento de Ingeniería
de Sistemas y Computación
Multimedia: video
• CBR: (tasa de bits constante): tasa de codificación de video fija
• VBR: (tasa de bits variable): la tasa de codificación del video
cambia en función de la cantidad de cambios de codificación
espacial y temporal.
Ejemplos:
• MPEG 1 (CD-ROM) 1.5 Mbps
• MPEG2 (DVD) 3-6 Mbps
• MPEG4 (usado a menudo en Internet, <1 Mbps)
Departamento de Ingeniería
de Sistemas y Computación
Streaming de video
almacenado:
Escenario simplificado:
Request
Response Database
Servidor
de Video
Departamento de Ingeniería
de Sistemas y Computación
Streaming multimedia: DASH
• DASH: transmisión de Streaming dinámica y adaptativa a través
de HTTP
• Servidor:
• Divide el archivo de video en múltiples chunks
• Cada chunk es almacenado, y codificado a diferentes velocidades.
• Archivo de manifiesto: proporciona URL para cada chunk.
• Cliente:
• Mide periódicamente el ancho de banda del servidor al cliente
• Manifiesto de consulta, solicita un chunk a la vez
• Elige la tasa de codificación máxima sostenible dado el ancho de banda actual
• Puede elegir diferentes tasas de codificación en diferentes momentos (según el ancho de banda
disponible en cada momento)
Departamento de Ingeniería
de Sistemas y Computación
Streaming multimedia: DASH
"Inteligencia" en el cliente: el cliente determina
• Dónde solicitar el fragmento (se puede solicitar desde el servidor de URL que
está "cerca" del cliente o que tiene un alto ancho de banda disponible)
Departamento de Ingeniería
de Sistemas y Computación
Redes de distribución de
contenido
Desafío: ¿cómo transmitir contenido (seleccionado de
millones de videos) a cientos de miles de usuarios de
manera simultánea?
Departamento de Ingeniería
de Sistemas y Computación
Redes de distribución de
contenido
Desafío: ¿cómo transmitir contenido (seleccionado de
millones de videos) a cientos de miles de usuarios de
manera simultánea?
• Traer a casa (Bring Home): un número menor (10) de clusters más grandes en
IXPs cerca (pero no dentro) de las redes de acceso
• utilizado por Limelight
Departamento de Ingeniería
de Sistemas y Computación
Redes de distribución de
contenido
• CDN: almacena copias de contenido en los nodos CDN
• [Link]. Netflix almacena copias de MadMen
• El suscriptor solicita contenido de CDN
• Dirigido a copia cercana, recupera contenido.
• Puede elegir una copia diferente si la ruta de la red está congestionada.
… …
…
manifest file
…
where’s Madmen?
… …
Departamento de Ingeniería
de Sistemas y Computación
Redes de distribución de
contenido
… …
Comunicación Internet host-host como servicio
…
Retos OTT: que hacer frente a una Internet
…
congestionada
• ¿Desde qué nodo CDN recuperar contenido?
• ¿Comportamiento del espectador en presencia de congestión?
… …
• ¿Qué contenido colocar
Departamento en qué nodo CDN?
de Ingeniería
de Sistemas y Computación
Redes de distribución de
contenido
Bob (cliente) solicita un video [Link]
video almacenado en CDN en [Link]
DNS
autoritario de [Link] DNS
net cinema autoritario de
KingCDN
Departamento de Ingeniería
de Sistemas y Computación
Caso de Estudio: Netflix
subir copias de
Amazon cloud múltiples versiones
del video a
servidores CDN
Servido
r CDN
Registro en Netflix,
Servidores de
cuentas
3. Se devuelve el Servido
2. Bob busca
2 archivo de r CDN
un video en 3 manifiesto para el
Netflix
1 video solicitado.
1. Bob maneja la
cuenta de Netflix
Servido
r CDN
4. DASH
streaming
Departamento de Ingeniería
de Sistemas y Computación
Servicios
Convergentes
Departamento de Ingeniería
de Sistemas y Computación
Servicios Convergentes
Evolución hacia las Servicios
Aplicaciones multimedia no
Multimedia (IMS) Video interactivos
Movies
Music
Person-to-Content Ring tone
Photos
patrones de
Internet Streaming
usabilidad conocidos
Text/Pictures
Download Servicios
HTTP multimedia
SMS/MMS interactivos
Video
Active
phonebook
Person-to-Person Image
domina el crecimiento Text Sharing
del tráfico
Voice Presence
Push-To-Talk
MMS
SMS
Voice
Departamento de Ingeniería
de Sistemas y Computación
Servicios Convergentes
Departamento de Ingeniería
de Sistemas y Computación
Servicios Convergentes
Servicio de Voz y Video a nivel corporativo con altas exigencias para los
recursos de la red los cuáles son asegurados por la infraestructura de red
del operador.
Departamento de Ingeniería
2: Application Layer 151
de Sistemas y Computación
Servicios Convergentes
Celulares conectados a la red IP desde y hasta el dispositivo
terminal móvil
Departamento de Ingeniería
08/28/2025 152
de Sistemas y Computación
Servicios Convergentes
Convergencia de la TV hacia la red IP y en la cuál los Operadores
ofrecen una alta disponibilidad en el Backhaul
Departamento de Ingeniería
08/28/2025 153
de Sistemas y Computación
Servicios Convergentes
Departamento de Ingeniería
08/28/2025 154
de Sistemas y Computación
Arquitectura
Departamento de Ingeniería
2: Application Layer 155
de Sistemas y Computación
Infraestructura Convergente
Departamento de Ingeniería
2: Application Layer 156
de Sistemas y Computación
Infraestructura Convergente
Internet
GPRS
C o n m u t ac
ión de Pa
q uetesGGSN Intranet
SGSN
Departamento de Ingeniería
2: Application Layer 157
de Sistemas y Computación
Infraestructura Convergente
Departamento de Ingeniería
2: Application Layer 158
de Sistemas y Computación
Infraestructura Convergente
Departamento de Ingeniería
de Sistemas y Computación
Evolución de NGN
Departamento de Ingeniería
de Sistemas y Computación
Facturación convergente
VoIP
Video Telefonía
Telefonía IP Voz
(Telefonía)
Triple Play
Datos TV /
(Internet Video
) (CATV)
Quad Play
Móvil VoD
Streaming
Departamento de Ingeniería
2: Application Layer 161
de Sistemas y Computación
Integración Total
EPC
Departamento de Ingeniería
2: Application Layer 162
de Sistemas y Computación
Caracterización del
Trafico de Red
Departamento de Ingeniería
de Sistemas y Computación
Caracterización del tráfico de
una Red
Identificar el origen de los Tráficos más altos en la red
Nombre Tamaño
Aplicaciones
Comunidad de Comunidad (# Localización
Usadas
Usuarios usuarios)
Departamento de Ingeniería
2: Application Layer 164
de Sistemas y Computación
Caracterización del tráfico de
una Red
Identificar el origen de los más altos Almacenamientos
Almacenamiento
Localización Aplicaciones Datos Usados
de Datos
Departamento de Ingeniería
2: Application Layer 165
de Sistemas y Computación
Caracterización del tráfico de
una Red
Determinación del Flujo de Tráfico en la Red
Destino 1 Destino 2
Mbps Ruta Mbps Ruta
Origen 1
Origen 2
Departamento de Ingeniería
2: Application Layer 166
de Sistemas y Computación
Caracterización del tráfico de
una Red
Características de Tráfico de las Aplicaciones
Ancho de
Datos
Comunidad Banda
Nombre de Tipo del Protocolos almacenado
de Usuarios aproximado Requerimient
la Flujo de usados por s
que utilizan la requerido os de QoS
Aplicación Datos la Aplicación (Servidores,
Aplicación por la
Hosts)
aplicación
Departamento de Ingeniería
2: Application Layer 167
de Sistemas y Computación
Programación de
sockets: TCP y UDP
(Tarea: Lectura y Laboratorio)
Departamento de Ingeniería
de Sistemas y Computación