Академический Документы
Профессиональный Документы
Культура Документы
Redes de
computadores: un
enfoque descendente
basado en Internet,
2 edicin.
Jim Kurose, Keith Ross
Copyright 1996-2002.
J.F Kurose y K.W. Ross.
Todos los derechos reservados.
Capa de aplicacin
Nuestros objetivos:
Aprendizaje de
Aspectos conceptuales
protocolos por medio
y de implementacin de
del estudio de
los protocolos de las
protocolos a nivel de
aplicaciones de red.
aplicacin.
HTTP.
Modelos de servicio
FTP.
de la capa de
SMTP / POP3 / IMAP.
transportes
DNS.
Paradigma cliente Programacin de
servidor.
Paradigma entre iguales
aplicaciones de red.
(peer to peer).
Socket de API.
Tabla de contenidos
2.1 Principios de los
protocolos de la capa
de aplicacin.
2.2 La Web y HTTP.
2.3 Transferencia de
archivos: FTP.
2.4 Correo electrnico
en Internet.
directorio de
Internet.
2.6 Programacin de
Cach web.
Redes de distribucin de
contenidos.
Comparticin de archivos
entre iguales.
Aplicacin
Transporte
Red
Enlace de datos
Fsica
Aplicacin
Aplicacin
Transporte
Red
Enlace de datos
Transporte
Enlace de datos
Fsica
Red
Fsica
Caractersticas de los
protocolos de capa de aplicacin
Los tipos de mensajes
intercambiados, por
ejemplo, mensajes de
peticin y de respuesta.
Sintaxis de los tipos de
mensajes: qu campos hay
en los mensajes y cmo
estn delineados estos
campos.
Semntica de los campos,
por ejemplo, significado de
la informacin en los
campos.
Reglas que determinan
cundo y cmo los procesos
envan y responden a los
mensajes.
Protocolos de dominio
pblico:
Definidos en RFC.
Permiten
interoperabilidad.
Por ejemplo: HTTP,
SMTP.
Protocolos de propietarios:
Por ejemplo:
KaZaA,ARES,
LimeWire.
Aplicacin
Transporte
Red
Enlace de datos
Cliente:
Fsica
Servidor:
Peticin
Respuesta
Aplicacin
Transporte
Red
Enlace de datos
Fsica
Host
o servidor
Host o
servidor
proceso
controlado por
el desarrollador
de la aplicacin
proceso
socket
socket
TCP con
bferes,
variables
Internet
TCP con
bferes,
variables
controlado
por el sistema
operativo
Direccionamiento de procesos:
Para que un proceso reciba
El identificador incluye
tanto la direccin IP
como los nmeros de
puerto asociados con el
proceso del host.
Ejemplos de nmeros
de puerto:
Ms adelante se
Temporizacin
Algunas aplicaciones (por
ejemplo, telefona de
Internet, juegos
interactivos) requieren un
retardo lento para ser
efectivas.
Ancho de banda
Algunas aplicaciones (por
ejemplo, multimedia)
requieren un mnimo de
ancho de banda para ser
efectivas.
Otras aplicaciones
(aplicaciones flexibles)
hacen uso de cualquier
ancho de banda que tengan
a su disposicin.
Correo electrnico
Documentos Web
Audio/vdeo de
tiempo real
Audio/vdeo almacenado
Juegos interactivos
Mensajera instantnea
No prdida
No prdida
No prdida
Tolerante
Tolerante
Tolerante
No prdida
Sensible al tiempo
flexible
flexible
flexible
No
No
No
Audio: 5Kbps-1Mbps S, 100 mseg
Vdeo:10Kbps5Mbps
S, pocos seg
Igual que el anterior S, 100 mseg
Pocos Kbps-10Kbps
Flexible
S y no
Orientado a la conexin:
Sistema requerido entre el
cliente y el servidor.
Transporte fiable entre el
proceso emisor y el receptor.
Control de flujo: el emisor no
debe sobrecargar al receptor.
Control de congestin:
regulacin del emisor si la red
se sobrecarga.
No proporciona:
temporizacin, garantas de un
ancho de banda mnimo.
Servicio UDP:
Transferencia de datos no
PREGUNTA: Por qu
tomarse la molestia? Por
qu existe un UDP?
Web
Transferencia de archivos
Flujo de multimedia
Telefona Internet
protocolos de la capa
de aplicacin.
2.2 La Web y HTTP.
2.3 Transferencia de
archivos: FTP.
2.4 Correo electrnico
en Internet.
directorio de
Internet.
2.6 Programacin de
Cach web.
Redes de distribucin de
contenidos.
Comparticin de archivos
entre iguales.
La Web y HTTP
En primer lugar, un poco de jerga
Una pgina web consta de objectos.
Un objeto puede ser un archivo HTML, una imagen
JPEG,un applet Java, un archivo de audio, etc.
Una pgina web est formada por un archivo HTML
base, que incluye diversos objetos referenciados.
Cada objeto es direccionable por un URL.
Ejemplo de URL:
www.escuela.edu/departamento/imagen.gif
nombre de host
nombre de ruta
Introduccin a HTTP
HTTP: protocolo de
transferencia de
hipertexto:
Protocolo de la capa de
aplicacin de la Web.
Modelo cliente/servidor:
cliente: navegador que
solicita, recibe y
descarga objetos Web.
servidor: servidor Web
que enva los objetos
correspondientes en
respuesta a las peticiones.
HTTP 1.0: RFC 1945
HTTP 1.1: RFC 2068
Pet
ici
nH
TT
R
PC ejecutando es
P
pue
s
el Explorer
ta
HT
TP
TP
T
nH
TP Servidor
i
c
T
i
t
H
ejecutando
a
Pe
t
s
e
el servidor Web
spu
e
R
Apache
Mac ejecutando
el Navigator
Introduccin a HTTP
Usos de TCP:
aparte
Conexiones HTTP
Conexiones HTTP no
persistentes
Se enva un objeto
como mximo con una
conexin TCP.
HTTP/1.0 utiliza
conexiones HTTP no
persistentes.
Conexiones HTTP
persistentes
Se pueden enviar
mltiples objetos con
una sola conexin TCP
entre el cliente y el
servidor.
HTTP/1.1 utiliza
conexiones
persistentes en su
modo por defecto.
Tiempo
mensaje de peticin,
compone un mensaje de
respuesta que contiene el
objeto solicitado, y lo enva
al socket.
Tiempo
conexin TCP.
Inicio de
la conexin
TCP
RTT
Peticin
de archivo
Tiempo de
transmisin
del archivo
RTT
Archivo
recibido
Tiempo
Tiempo
respuesta.
Mensaje HTTP de peticin:
de peticin, de
Retorno de carro y
avance de lnea
que indican el final
del mensaje
versin
valor
valor
Lnea de
peticin
Lneas de
cabecera
Cuerpo de
entidad
Mtodo URL:
Utiliza el mtodo GET.
La entrada se descarga en
el campo URL de la lnea de
peticin:
www.somesite.com/animalsearch?monkeys&banana
Tipos de mtodos
HTTP/1.0
GET.
POST.
HEAD.
HTTP/1.1
GET, POST, HEAD.
PUT:
Descarga el archivo en
el cuerpo de entidad a
la ruta especificada en
el campo URL.
DELETE:
Borra el archivo
especificado en el
campo URL.
HTTP/1.1 200 OK
Connection close
Date: Thu, 06 Aug 1998 12:00:15 GMT
Server: Apache/1.3.0 (Unix)
Last-Modified: Mon, 22 Jun 1998 ...
Content-Length: 6821
Content-Type: text/html
datos datos datos datos datos ...
servidor
cliente
WWW authenticate:
Tpico mensaje http de peticin
+ Autorizacin: <cred>
Tpico mensaje de respuesta
Autorizacin: <cred>
Tpico mensaje de respuesta
Tiempo
Ejemplo:
servidor
en
de trad
el servidor dat a en
os
de la ba
crea un nmero
res se
de identificacin
pa
ldo
cookie: 1678
cookie: 1678
Accin
especfica
cookie
Accin
especfica
cookie
so
acce
ac
ce
so
Archivo
de cookie
amazon: 1678
ebay: 8734
Cookies
Qu aportan las cookies:
Autorizacin.
Carro de la compra.
Recomendaciones.
Sesin de usuario con
estado (correo
electrnico web)
aparte
Cookies y privacidad:
cliente
Servidor: su respuesta no
mensaje HTTP de
peticin
If-modified-since:
<date>
respuesta HTTP
objeto
no
modificado
HTTP/1.0
304 Not Modified
mensaje HTTP de
peticin
If-modified-since:
<date>
respuesta HTTP
HTTP/1.0 200 OK
<data>
objeto
modificado
protocolos de la capa
de aplicacin.
2.2 La Web y HTTP.
2.3 Transferencia de
archivos: FTP.
2.4 Correo electrnico
en Internet.
directorio de
Internet.
2.6 Programacin de
Cach web.
Redes de distribucin de
contenidos.
Comparticin de archivos
entre iguales.
usuario
o host
Transferencia de
archivo
Sistema
local de
archivos
Servidor
FTP
Sistema
remoto de
archivos
Cliente
FTP
FTP
archivo al directorio en
curso.
Ejemplo de cdigos de
respuesta:
Cdigos de estatus y frase
recupera el archivo.
almacena el archivo en el
host remoto.
(como en HTTP).
331 Username OK,
password required
125 data connection
already open; transfer
starting
425 Cant open data
connection
452 Error writing file
protocolos de la capa
de aplicacin.
2.2 La Web y HTTP.
2.3 Transferencia de
archivos: FTP.
2.4 Correo electrnico
en Internet.
directorio de
Internet.
2.6 Programacin de
Cach Web.
Redes de distribucin de
contenidos.
Comparticin de archivos
entre iguales.
Cola de
mensajes
de salida
Correo electrnico
Los tres componentes
principales:
Agentes de usuario.
Servidores de correo.
Protocolo simple de
agente
de usuario
servidor
de correo
SMTP
Agente usuario
Tambin conocido como lector
de correo.
Composicin, edicin y lectura de
mensajes de correo.
Por ejemplo, Eudora, Outlook,
elm, Netscape Messenger.
Salida y entrada del los mensajes
almacenados en el servidor.
Buzn de correo
de usuario
SMTP
agente
de usuario
servidor
de correo
agente
de usuario
SMTP
agente
de usuario
servidor
de correo
agente
de usuario
agente
de usuario
servidor
de correo
agente
de usuario
agente
de usuario
SMTP
servidor
de correo
SMTP
agente
de usuario
SMTP
servidor
de correo
agente
de usuario
agente
de usuario
agente
de usuario
1
agente
de usuario
servidor
de correo
3
servidor
de correo
agente
de usuario
220 hamburger.edu
HELO crepes.fr
250 Hello crepes.fr, pleased to meet you
MAIL FROM: <alicia@crepes.fr>
250 alicia@crepes.fr... Sender ok
RCPT TO: <roberto@hamburger.edu>
250 roberto@hamburger.edu ... Recipient ok
DATA
354 Enter mail, end with "." on a line by itself
Te gusta el ketchup?
Y los encurtidos?
.
250 Message accepted for delivery
QUIT
221 hamburger.edu closing connection
persistentes.
SMTP requiere que el
mensaje (cabecera y
cuerpo) est contenido en
siete bits de ASCII.
El servidor SMTP utiliza
CRLF.CRLF para
determinar el final del
mensaje.
ASCII comando/respuesta
y cdigos de estatus.
objeto en su propio
mensaje de respuesta.
SMTP: enva mltiples
objetos en mensajes
multipart.
Cuerpo:
el mensaje, slo
caracteres ASCII.
cabecera
cuerpo
Lnea en
blanco
2056
Las lneas adicionales en la cabecera del mensaje
declaran el tipo de contenido MIME.
Versin MIME
Mtodo utilizado
de datos codificados
Datos multimedia
tipo, subtipo,
declaracin de parmetros
Datos codificados
From: alicia@crepes.fr
To: roberto@hamburger.edu
Subject: Imagen de un delicioso
crepe.
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Type: image/jpeg
datos codificados
base64........ ...................
............ .... datos
codificados base64
Tipos de MIME
Content-Type: tipo/subtipo; parametros
Texto
Ejemplos de subtipos:
plain, html
Imagen
Ejemplos de subtipos:
jpeg, gif
Audio
Ejemplos de subtipos:
Vdeo
Ejemplos de subtipos:
mpeg, quicktime
Aplicacin
Otros datos que deben ser
Tipo multipart
From: alicia@crepes.fr
To: roberto@hamburger.edu
Subject: Imagen de un delicioso crepe.
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=StartOfNextPart
--StartOfNextPart
Querido Roberto, Te envo una imagen de un crepe.
--StartOfNextPart
Content-Transfer-Encoding: base64
Content-Type: image/jpeg
datos codificados base64 .....
.........................
...datos codificados base64
--StartOfNextPart
Dime si quieres tener la receta
SMTP
Agente
de usuario
Servidor de correo
del emisor
Protocolo
de acceso
Servidor de correo
del destinatario
Agente
de usuario
Protocolo POP3
Fase de autorizacin
Comandos del cliente:
mensaje.
retr: recupera un mensaje
determinado por su nmero.
dele: borra.
quit
S:
C:
S:
C:
S:
C:
S:
S:
S:
C:
S:
S:
C:
C:
S:
S:
C:
C:
S:
list
1 498
2 912
.
retr 1
<message 1 contents>
.
dele 1
retr 2
<message 1 contents>
.
dele 2
quit
+OK POP3 server signing off
on
POP3 e IMAP
Ms informacin sobre
POP3:
El ejemplo anterior
utiliza el modo
descargar y borrar.
Roberto no puede volver
a leer el correo
electrnico si cambia de
cliente.
Descargar y guardar:
copias de mensajes en
diferentes clientes.
POP3 est sin estado
entre sesiones.
IMAP:
Guarda todos los mensajes
en un mismo lugar: el
servidor.
Permite al usuario
organizar sus mensajes en
carpetas.
IMAP mantiene el estado
de usuario entre sesiones:
protocolos de la capa
de aplicacin.
2.2 La Web y HTTP.
2.3 Transferencia de
archivos: FTP.
2.4 Correo electrnico
en Internet.
directorio de
Internet.
2.6 Programacin de
Cach web.
Redes de distribucin de
contenidos.
Comparticin de archivos
entre iguales.
Por qu no centralizar el
DNS ?
Cada ISP, cada empresa tiene un
nico punto de fallo.
servidor de nombre local (por
defecto).
Volumen de trfico.
La pregunta del host DNS primero
va al servidor de nombre local.
Base de datos
autorizado de nombre:
distanciada centralizada. Servidor
Para un host: almacena la direccin
IP de ese host y el nombre.
Mantenimiento.
No es escalable.
a NSI Herndon, VA
c PSInet Herndon, VA
d U Maryland College Park, MD
g DISA Vienna, VA
h ARL Aberdeen, MD
j NSI (TBD) Herndon, VA
k RIPE London
i NORDUnet Stockholm
m WIDE Tokyo
e NASA Mt View, CA
f Internet Software C. Palo Alto,
CA
Los 13 servidores de
raz de nombres del
mundo
servidor raz de
nombres
2
5
Servidor autorizado
de nombres
dns.umass.edu
gaia.cs.umass.edu
Ejemplo DNS
servidor raz de
nombres
Servidor raz de
nombres:
servidor autorizado de
nombres.
Puede que conozca el
servidor de nombres
intermedio: con el que
contactar para
encontrar al servidor
autorizado de nombres.
servidor local de
nombres
dns.eurecom.fr
Host peticionario
servidor intermedio
de nombres
dns.umass.edu
5
4
Servidor autorizado
de nombres
dns.umass.edu
surf.eurecom.fr
gaia.cs.umass.edu
Pone el peso de la
Consulta iterativa:
El servidor contactado
servidor raz de
nombres
Consulta
iterativa
3
4
7
servidor local de
nombres
dns.eurecom.fr
Host peticionario
servidor intermedio
de nombres
dns.umass.edu
5
6
Servidor autorizado
de nombres
dns.umass.edu
surf.eurecom.fr
gaia.cs.umass.edu
RFC 2136
http://www.ietf.org/html.charters/dnsind-charter.html
Registros DNS
DNS: Base de datos distribuida que almacena registros de recursos (RR).
Formato RR :
Tipo=CNAME
Tipo=A
nombre es el alias de un nombre
nombre es un nombre de
cannico (verdadero).
host.
www.ibm.com en realidad es
valor es la direccin IP.
Tipo=NS
nombre es un dominio (por
ejemplo foo.com).
valor es la direccin IP de un
servidor de nombre autorizado
para ese dominio.
servereast.backup2.ibm.com
valor es el nombre cannico.
Tipo=MX
valor es el nombre de un
Identificacin
Seales
nmero de cuestiones
Nmero de RR de
respuesta
Nmero de RR de
autorizacin
Nmero de RR
adicionales
Cuestiones
Seales
Identificacin
Nmero de cuestiones
Nmero de RR de
respuesta
Nmero de RR
autorizacin
Nmero de RR
adicionales
Cuestiones
Informacin adicional
de ayuda que puede
ser utilizada.
ENTERPRISE 220R
500 GB HD 4 GB RAM
SUNFire V440
500 GB HD 4 GB RAM
SUNFire V240
500 GB HD 4 GB RAM
2 Servidores HP Proliant
1T HD 8 GB RAM
September 9, 2015
protocolos de la capa
de aplicacin.
2.2 La Web y HTTP.
2.3 Transferencia de
archivos: FTP.
2.4 Correo electrnico
en Internet.
directorio de
Internet.
2.6 Programacin de
Cach web.
Redes de distribucin de
contenidos.
Comparticin de archivos
entre iguales.
Programacin de sockets
Objetivo: aprender cmo se construye una aplicacin
cliente/servidor que se comunique utilizando sockets.
Socket API
socket
UNIX, 1981
Creado, utilizado y puesto en
circulacin explcitamente por
aplicaciones.
Paradigma cliente/servidor.
Dos tipos de transporte de
servicio va socket API:
Datagrama poco fiable.
Orientacin del flujo de
bytes fiable.
Controlado por el
desarrollador de
la aplicacin
Controlado por el
sistema operativo
Proceso
Proceso
Socket
TCP con
bferes y
variables
Host o
servidor
Internet
Socket
TCP con
bferes y
variables
Host o
servidor
Controlado por el
desarrollador de
la aplicacin
Controlado por el
sistema operativo
Flujo de
entrada
Proceso
Proceso
cliente
salidaAServidor
Flujo de
salida
entradaDesdeServidor
Ejemplo de aplicacin
cliente-servidor:
Monitor
entradaDesdeUsuario
Teclado
Flujo de
entrada
Socketcliente
TCP
Socket
TCP
(ejecutndose en hostid)
Cliente
crear socket,
port=x, para peticin
de entrada:
socketAcogida =
ServerSocket()
Establecimiento de conexin Crear socket
Esperar a la peticin
TCP
conectado a hostid, port=x
de conexin de entrada
socketCliente =
socketConexion=
Socket()
socketAcogida.accept()
Leer peticin de
socketConexion
Escribir respuesta a
socketConexion
Cerrar
socketConexion
Leer respuesta de
socketCliente
Cerrar
socketCliente
Crea flujo de
salida relacionado
con el socket
BufferedReader entradaDesdeUsuario =
new BufferedReader(new InputStreamReader(System.in));
Socket socketCliente = new Socket(nombrehost", 6789);
DataOutputStream salidaAServidor =
new DataOutputStream(socketCliente.getOutputStream());
frase = entradaDesdeUsuario.readLine();
Lnea de envo
al servidor
salidaAServidor.writeBytes(frase + '\n');
fraseModificada= entradaDesdeServidor.readLine();
Lnea de lectura
del servidor
Crea
socket de acogida
en puerto 6789
Espera en el socket
de acogida al contacto
del cliente
Crea flujo de
entrada relacionado
con el socket
DataOutputStream salidaACliente=
new DataOutputStream(socketConexion.getOutputStream());
fraseCliente = entradaDesdeCliente.readLine();
fraseMayusculas = fraseCliente.toUpperCase() + '\n';
Escribe lnea
al socket
salidaACliente.writeBytes(fraseMayusculas);
}
}
protocolos de la capa
de aplicacin.
2.2 La Web y HTTP.
2.3 Transferencia de
archivos: FTP.
2.4 Correo electrnico
en Internet.
directorio de
Internet.
2.6 Programacin de
Cach web.
Redes de distribucin de
contenidos.
Comparticin de archivos
entre iguales.
(ejecutndose en hostid)
Crear socket,
port=x, para peticin de entrada:
socketServidor=
DatagramSocket()
Leer peticin de
socketServidor
Escribir respuesta a
socketServidor
especificando direccin del host
cliente, nmero de puerto.
Cliente
Crear socket,
socketCliente =
DatagramSocket()
Crear direccin (hostid, port=x,
enviar peticin de datagrama
utilizando socketCliente
Leer respuesta de
socketCliente
Cerrar
socketCliente
Proceso
Cliente
Proceso
Monitor
entradaDesdeUsuario
Teclado
Entrada: recibe
paquete (TCP
recibido por flujo
de bytes)
Paquete
UDP
paqueteRecibido
paquete (TCP
enviado por flujo
de bytes)
Paqueteenvo
Salida: enva
Paquete
UDP
Socketcliente
clientSocket
UDP
Hacia la red Desde la red
socket
UDP
Crea
flujo de entrada
Crea
socket cliente
Traduce el nombre del
host a una direccin
IP utilizando DNS
class UDPCliente {
public static void main(String args[]) throws Exception
{
BufferedReader entradaDesdeUsuario =
new BufferedReader(new InputStreamReader(System.in));
DatagramSocket socketCliente = new DatagramSocket();
InetAddress direccionIP = InetAddress.getByName(nombrehost");
byte[] datosEnvio= new byte[1024];
byte[] datosRecepcion = new byte[1024];
String frase = entradaDesdeUsuario.readLine();
datosEnvio = frase.getBytes();
Enva datagrama
al servidor
DatagramPacket paqueteEnvio =
new DatagramPacket(datosEnvio, datosEnvio.length, DireccinIP, 9876);
socketCliente.send(paqueteEnvio);
DatagramPacket paqueteRecepcion =
new DatagramPacket(datosRecepcion, datosRecepcion.length);
Lee datagrama
del servidor
socketCliente.receive(paqueteRecepcion);
String fraseModificada =
new String(paqueteRecepcion.getData());
System.out.println(DEL SERVIDOR:" + fraseModificada);
socketCliente.close();
}
}
Crea
socket datagrama
en puerto 9876
class UDPServidor {
public static void main(String args[]) throws Exception
{
DatagramSocket socketServidor = new DatagramSocket(9876);
byte[] datosRecepcion = new byte[1024];
byte[] datosEnvio = new byte[1024];
while(true)
{
DatagramPacket paqueteRecepcion =
new DatagramPacket(datosRecepcion, datosRecepcion.length);
socketServidor.receive(paqueteRecepcion);
Obtiene direccin
IP y puerto
del remitente
Crea datagrama
para envar al cliente
DatagramPacket paqueteEnvio =
new DatagramPacket(datosEnvio, datosEnvio.length, DireccionIP,
puerto);
Escribe datagrama
en el socket
socketServidor.send(paqueteEnvio);
}
}
HTTP.
Acepta la peticin.
Analiza la cabecera.
Recupera el archivo pedido
del sistema de archivos del
servidor.
Crea un mensaje HTTP de
respuesta:
puede solicitar el
archivo utilizando un
browser (por ejemplo,
el explorador Internet
Explorer).
Lea el libro de texto
para ms informacin.
protocolos de la capa
de aplicacin.
2.2 La Web y HTTP.
2.3 Transferencia de
archivos: FTP.
2.4 Correo electrnico
en Internet.
directorio de
Internet.
2.6 Programacin de
Cach web.
Redes de distribucin de
contenidos.
Comparticin de archivos
entre iguales.
al servidor de origen.
El usuario pone el
navegador: accesos web
va cach.
El navegador enva todas
las peticiones HTTP al
cach.
Objecto en cach: el
cach devuelve el
objecto.
Otro cach solicita el
objeto de su servidor de
origen y luego devuelve
el objeto al cliente.
Servidor
origen
Servidor
Pet
TP
ici
T
proxy
H
nH
n
Res
TT
ci
TP
i
Cliente pue
t
T
P
e
H
P
sta
ta
s
e
HT
u
TP
esp
R
TP
T
nH
TP
i
T
c
i
H
t
Pe
ta
s
e
pu
s
Re
Cliente
Servidor
origen
Normalmente, el cach se
Ejemplo de cach
Supuestos
Tamao medio de los objetos =
100.000 bits.
Tasa media por peticin por parte
del browser de la institucin a los
servidores de origen = 15/seg.
Retraso del router de la
institucin a cualquier servidor
origen y vuelta al router = 2 seg.
Consecuencias
Uso del LAN = 15%
Uso del enlace de acceso = 100%
Retraso total = retraso de
Internet + retraso del acceso +
retraso del LAN =
= 2 seg + minutos + milisegundos.
Servidores
origen
Internet
pblica
Enlace de acceso
de 1.5 Mbps
Red
institucional
LAN de 10 Mbps
Cach
institucional
Ejemplo de cach
Solucin posible
Aumento del ancho de banda
del enlace de acceso a,
digamos, 10 Mbps.
Consecuencias
Servidores
origen
Internet
pblica
Enlace de acceso
de 1.5 Mbps
= retraso de
Internet + retraso del acceso +
retraso del LAN =
= 2 seg + msegs + msegs
Suele suponer una mejora
costosa.
Red
institucional
LAN de 10 Mbps
Cach
institucional
Ejemplo de cach
Instalacin del cach
Supongamos que la tasa de acierto
sea 0,4.
Consecuencias
40% de las peticiones sern
satisfechas casi inmediatamente.
60% de las peticiones sern
satisfechas por el servidor de
origen.
EL uso del enlace de acceso se
reduce al 60%, lo cual tiene como
resultado retrasos insignificantes
(digamos 10 mseg).
Retraso total = retraso de
Internet + retraso del acceso +
retraso del LAN =
= 0,6*2 seg + 0,6*0,01 segs +
milisegundos < 1,3 segs
Servidores
origen
Internet
pblica
Enlace de acceso
de 1.5 Mbps
Red
institucional
LAN de 10 Mbps
Cach
institucional
Servidor origen
en Norteamrica
Servidor CDN
en Sudamrica Servidor CDN
en Europa
Servidor CDN
en Asia
Ejemplo CDN
Servidor origen
1
2
3
Servidor DNS
autorizado de la CDN
Peticin HTTP para
www.cdn.com/www.foo.com/sports/ruth.gif
Servidor origen
www.foo.com
Distribuye HTML.
Servidor CDN
cercano
Reemplaza:
http://www.foo.com/sports.ruth.gif
por
http://www.cdn.com/www.foo.com/sports/ruth.gif
Empresa CDN
cdn.com
Distribuye archivos gif.
Utiliza su servidor DNS
autorizado para
encaminar las peticiones
redireccionadas.
El servidor determina el
ISP desde el que se origina
la consulta.
Utiliza el mapa para
determinar el mejor
servidor CDN.
iguales, Roberto.
El archivo se copia desde el
PC de Roberto al bloc de
notas de Alicia: HTTP.
Mientras Alicia hace la
descarga, otros usuarios
cargan desde el PC de Alicia.
El igual de Alicia es tanto un
cliente Web como un
servidor Web pasajero.
Todos los iguales son
servidores = altamente
escalable.
Su direccin IP.
Su contenido.
1
Iguales
1
3
1
2
Alicia
rendimiento.
Infraccin del
copyright.
La transferencia de
archivos est
descentralizada, pero
el contenido
localizado est
altamente
descentralizado.
de su grupo o est
asignado a un lder de
grupo.
El lder del grupo
rastrea el contenido
de todos sus hijos.
Los iguales consultan al
lder del grupo y este
puede consultar a
otros lderes de grupo.
Igual ordinario
Igual lder de grupo
Relaciones de vecindad
en la red de superposicin
El servicio de localizacin
distribuido entre los iguales.
Ms difcil de cerrar.
Inconvenientes del
acercamiento
Es necesario el nodo de
arranque.
Los lderes de grupo pueden
sobrecargarse.
conexin
consulta.
Si el igual consultado tiene el
objeto, manda mensaje de
vuelta al igual que pregunta.
Ms sobre la inundacin de
consultas entre iguales
Ventajas
Los iguales tienen
responsabilidades
similares: no hay
lderes de grupo.
Altamente
descentralizado.
Ningn igual mantiene
un directorio de
informacin.
Inconvenientes
Trfico de consultas
excesivo.
Radio de consultas:
puede no tener
contenido estando
presente.
Nodo de arranque.
Mantenimiento de la
red de superposicin.
Captulo 2: Resumen
Nuestro estudio sobre las aplicaciones de redes ahora est
completo.
Requerimientos de
servicios de aplicacin:
Paradigma cliente-servidor.
Modelo de servicio de
transporte de Internet.
Orientado a la conexin,
fiable: TCP
Poco fiable, datagramas: UDP
Protocolos especficos:
HTTP.
FTP.
SMTP, POP, IMAP.
DNS.
Programacin de
sockets.
Distribucin de
contenidos.
Cachs, CDN.
Entre iguales.
Captulo 2: Resumen
Lo ms importante: lo aprendido sobre protocolos
Tpico intercambio de
mensajes peticin/
respuesta.
mensajes de datos.
En banda, fuera de banda.
Centralizado frente a
descentralizado.
Sin estado frente a en estado.
Transferencia de mensajes
fiable frente a poco fiable.
Complejidad al lmite de la
red.
Seguridad: autentificacin.