Professional Documents
Culture Documents
La capa de aplicacin
A note on the use of these ppt slides:
Were making these slides freely available to all (faculty, students, readers).
Theyre in PowerPoint form so you can add, modify, and delete slides
(including this one) and slide content to suit your needs. They obviously
represent a lot of work on our part. In return for use, we only ask the
following:
If you use these slides (e.g., in a class) in substantially unaltered form, that
you mention their source (after all, wed like people to use our book!)
If you post any slides in substantially unaltered form on a www site, that
you note that they are adapted from (or perhaps identical to) our slides, and
note our copyright of this material.
Thanks and enjoy! JFK/KWR
Redes de
computadoras: Un
enfoque descendente,
5a edicin.
Jim Kurose, Keith Ross
Pearson Educacin,
2010.
Capa de Aplicacin
2.5 DNS
Capa de Aplicacin
conocer los
protocolos
examinando los ms
usados de la capa de
aplicacin
HTTP
FTP
SMTP / POP3 / IMAP
DNS
programacin de
aplicaciones en red
API de los sockets
Capa de Aplicacin
e-mail
web
mensajera instantnea
login remoto
comparticin de
archivos P2P
juegos multiusuario en
red
streaming de video
(YouTube)
voz sobre IP
videoconferencia en
tiempo real
cloud computing
Capa de Aplicacin
aplicacin
transporte
red
enlace
fsica
aplicacin
transporte
red
enlace
fsica
aplicacin
transporte
red
enlace
fsica
Capa de Aplicacin
2.5 DNS
Capa de Aplicacin
(P2P)
hbrido de cliente-servidor y P2P
Capa de Aplicacin
Arquitectura cliente-servidor
servidor:
host siempre activo
IP permanente
clusters para mejor
escalabilidad
clientes:
cliente/servidor
se comunican con el
servidor
conexin intermitente
pueden tener IPs
dinmicas
no se comunican entre s
Capa de Aplicacin
no hay un servidor
siempre activo
sistemas terminales
arbitrarios se comunican
peer-peer
directamente
los pares (peers) se
conectan
intermitentemente y
cambian de IP
Capa de Aplicacin
Mensajera instantnea
el chat entre usuarios es P2P
centralizado: deteccin/localizacin de la
presencia del cliente
el ususario registra su IP en el servidor
central cuando se conecta
el usuario contacta con el servidor central
para averiguar las IPs de sus contactos
Ral Durn, Nacho Prez. v1.0
Capa de Aplicacin
10
Comunicacin de procesos
proceso: programa que
corre en un host
en el mismo host, dos
procesos se comunican
por sistemas definidos
por el sistema operativo
(inter-process
communication)
los procesos en hosts
diferentes se comunican
por mensajes.
Capa de Aplicacin
11
Sockets
un proceso enva/recibe
mensajes a travs de/
desde su socket
un socket es anlogo a
una puerta
el emisor empuja el
mensaje hacia afuera
el emisor cuenta con que la
infraestructura de
transporte al otro lado de
la puerta llevar el mensaje
al socket del receptor
host o
servidor
host o
servidor
proceso
controlado por
desarrollador de
la aplicacin
proceso
socket
socket
TCP con
buffers,
variables
Internet
TCP con
buffers,
variables
controlado
por el SO
12
Direccionar procesos
Capa de Aplicacin
Direccionar procesos
R: No, ms de un proceso
puede estar en ejecucin
en el mismo host
el identificador incluye
tanto la IP como el
nmero de puerto
asociados con el proceso
en el host
ejemplos:
13
servidor HTTP: 80
servidor e-mail: 25
contina
Capa de Aplicacin
14
El protocolo de la capa de
aplicacin define
protocolos de dominio
pblico:
p.ej.: peticin, respuesta
definidos en los RFCs
sintaxis de los mensajes:
permiten la
qu campos en qu mensajes
interoperabilidad
y cmo se definen los
p.ej.: HTTP, SMTP
campos
semntica de los mensajes protocolos propietarios:
significado de la informacin p.ej.: Skype
tipos de mensajes
intercambiados,
reglas de envo y
respuesta de mensajes
(cundo, cmo)
Capa de Aplicacin
15
Tasa de transferencia
algunas aplicaciones
requieren una tasa mnima
para ser efectivas (p.ej.:
multimedia)
otras aplicaciones
(aplicaciones elsticas)
se apaan con la que
puedan conseguir.
Seguridad
encriptacin, integridad
de datos,
Capa de Aplicacin
16
Ancho de banda
elstica
elstica
elstica
audio: 5kbps-1Mbps
video:10kbps-5Mbps
como el anterior
tolerante
desde pocos kbps
tolerante
sin prdidas elstica
sin prdidas
sin prdidas
sin prdidas
tolerante
Sensible al tiempo
no
no
no
s, dcimas
s, segundos
s, dcimas
s y no
Capa de Aplicacin
17
orientado a conexin:
requiere negociacin entre
cliente y servidor
transferencia fiable entre
emisor y receptor
control de flujo: que el emisor
no sature al receptor
control de congestin: regula
el emisor cuando la red se
satura
no proporciona:
temporizacin, ancho de
banda garantizado, seguridad
Servicio UDP :
transferencias no fiables
entre emisor y receptor
no proporciona:
negociacin, fiabilidad,
control de flujo, control
de congestin,
temporizacin, ancho de
banda garantizado,
seguridad.
P: qu aporta? por qu hay
UDP?
Capa de Aplicacin
18
Protocolo de
aplicacin
Protocolo de
transporte
TCP
TCP
TCP
TCP
TCP o UDP
tpicamente UDP
Capa de Aplicacin
19
2.5 DNS
Capa de Aplicacin
20
10
Web y HTTP
Primero, repaso
una pgina web consta de objetos
un objeto puede ser un archivo HTML, una imagen
JPEG, un applet Java, un archivo de audio...
una pgina web consta de un archivo HTML base,
que incluye objetos referenciados
cada objeto es direccionable por una URL
URL ejemplo:
www.someschool.edu/someDept/pic.gif
nombre del host
ruta
Capa de Aplicacin
21
protocolo de la capa de
aplicacin para la Web
modelo cliente/servidor
cliente: navegador que
pide, recibe y muestra
objetos Web
servidor: enva objetos
en respuesta a las
peticiones
pet
ici
nH
TT
PC corriendo resp
P
u
e
sta
Explorer
HT
TP
TP
HT
n
TP Server
i
tic
HT
corriendo
a
pe
t
es
Apache Web
pu
s
e
r
server
Mac corriendo
Navigator
Capa de Aplicacin
22
11
Usa TCP:
el servidor no guarda
informacin sobre las
peticiones de los
clientes
por cierto
23
conexiones HTTP
HTTP no persistente
como mximo, 1 objeto
enviado a travs de
una conexin TCP.
HTTP persistente
mltiples objetos se
pueden enviar a travs
de una conexin TCP
nica entre cliente y
servidor.
Capa de Aplicacin
24
12
HTTP no persistente
un usuario usa como URL:
(contiene texto y
www.someSchool.edu/someDepartment/home.index referencias a 10
imgenes jpeg)
tiempo
Capa de Aplicacin
25
conexin TCP.
Capa de Aplicacin
26
13
iniciar
conexin
TCP
RTT
pedir
archivo
tiempo de
trasnmitir
un archivo
RTT
archivo
recibido
tiempo
total = 2RTT+tiempo de
trasnsmisin
tiempo
Capa de Aplicacin
27
HTTP persistente
cuestiones del HTTP no
persistente:
requiere 2 RTTs por objeto
recargo del SO para cada
conexin TCP
los navegadores a menudo
abren conexiones TCP en
paralelo para conseguir los
objetos referenciados
HTTP persistente
el servidor deja la conexin
abierta tras enviar la
respuesta
los mensajes HTTP
subsiguientes entre el
mismo par cliente/servidor
se envan por la conexin
abierta
el cliente enva peticiones
en cuanto encuentra un
objeto referenciado
un RTT como mximo para
todos los objetos
referenciados
Capa de Aplicacin
28
14
lnea de solicitud
(comandos GET,
POST, HEAD)
cabeceras
retorno de carro +
lnea nueva al inicio
de una lnea indica
final de las cabeceras
retorno de carro
lnea nueva
Capa de Aplicacin
29
cuerpo
Capa de Aplicacin
30
15
la informacin se enva
al servidor en el
cuerpo de la entidad
Mtodo URL:
usa el mtodo GET
la informacin se enva
en el campo de URL de
la lnea de solicitud:
www.somesite.com/animalsearch?monkeys&banana
Capa de Aplicacin
31
Tipos de mtodos
HTTP/1.0
GET
POST
HEAD
HTTP/1.1
GET, POST, HEAD
PUT
sube el archivo en el
cuerpo de la entidad a la
ruta especificada en el
campo URL
DELETE
borra el archivo
especificado en el
campo URL
Capa de Aplicacin
32
16
cabeceras
datos, p.ej.:
archivo HTML
solicitado
Capa de Aplicacin
33
Capa de Aplicacin
34
17
35
1) lnea de cabecera de la
cookie en la respuesta
HTTP
2) lnea de cabecera de la
cookie en la solicitud
HTTP
3) el archivo de cookie
est en el host del
usuario, gestionado por
su navegador
4) base de datos de
respaldo (back-end) en
el sitio Web
ejemplo:
Susana accede a
internet siempre desde
su PC
visita una pgina de
comercio electrnico por
primera vez
con la primera solicitud
HTTP, el sitio crea:
ID nico
entrada en la base de
datos para el ID
Capa de Aplicacin
36
18
servidor
solicitud http habitual
entrada
solicitud http habitual
cookie: 1678
servidor Amazon
crea ID 1678
para usuario crea
accin
acceso
especfica
cookie
acceso
cookie: 1678
base de
datos
back-end
accin
especfica
cookie
Capa de Aplicacin
37
Cookies (cont.)
lo que pueden aportar:
autorizacin
carritos de la compra
recomendaciones
estado de la sesin de
usuario (e-mail Web)
por cierto
cookies y privacidad:
las cookies permiten a
los sitios saber mucho
de ti
puedes proporcionar
nombre y direccin de
e-mail a los sitios
Capa de Aplicacin
38
19
configurar navegador:
accesos Web por
cache
el navegador enva
todas las solicitudes
HTTP a la cache:
acierto: la cache
devuelve el objeto
fallo: lo pide al servidor
de origen y lo reenva al
cliente
servidor
de origen
sol
icit
ud
servidor
Proxy
HT
r
TP
cliente espue
sta
HT
TP
TP
T
H
TP
t ud
ici
HT
l
o
s
ta
s
e
pu
res
cliente
TP
HT
d
u
TP
icit
HT
sol
a
t
s
pue
res
servidor
de origen
Capa de Aplicacin
39
por qu?
reduce tiempo de
respuesta
reduce trfico en el
enlace de la institucin
permite a proveedores
con pocos recursos
distribuir contenidos
de modo efectivo (la
comparticin de
archivos P2P tambin
lo hace)
Capa de Aplicacin
40
20
supuestos
Internet
pblico
enlace de acceso
1.5 Mbps
red
institucional
10 Mbps LAN
consecuencias
uso en la LAN = 15%
uso en el enlace de acceso = 100%
tiempo total = tiempo Internet +
tiempo acceso + tiempo LAN
=
2 s + minutos + milisegundos
Ral Durn, Nacho Prez. v1.0
cache
institucional
Capa de Aplicacin
41
servidores
de origen
Internet
pblico
enlace de acceso
1.5 Mbps
red
institucional
10 Mbps LAN
cache
institucional
Capa de Aplicacin
42
21
posible solucin:
instalar cache
Internet
pblica
consecuencia:
enlace de acceso
1.5 Mbps
red
institucional
LAN 10 Mbps
cache
institucional
Capa de Aplicacin
43
GET Condicional
servidor: la respuesta no
contiene objeto si la
versin en cache est al
da:
HTTP/1.0 304 Not
Modified
servidor
cache
HTTP manda solicitud
If-modified-since: <fecha>
HTTP respuesta
HTTP/1.0
304 Not Modified
HTTP respuesta
HTTP/1.0 200 OK
<data>
Ral Durn, Nacho Prez. v1.0
objeto
no
modificado
antes de
<fecha>
objeto
modificado
despus
de
<fecha>
Capa de Aplicacin
44
22
2.5 DNS
Capa de Aplicacin
45
usuario
en host
FTP
FTP
intefaz cliente
usuario
transf. archivo
sistema de
archivos local
FTP
servidor
sistema de
archivos remoto
Capa de Aplicacin
46
23
FTP
cliente
FTP
servidor
47
ejemplos de cdigos
Capa de Aplicacin
48
24
2.5 DNS
Capa de Aplicacin
agentes de usuario
servidores de correo
Simple Mail Transfer Protocol:
SMTP (protocolo sencillo de
transferencia de correo)
Agente de Usuario
alias lector de correo
composicin, edicin, lectura
de mensajes de correo
ej.: Outlook, elm, Thunderbird,
iPhone Mail Client
mensajes entrantes y salientes
almacenados en el servidor
Ral Durn, Nacho Prez. v1.0
cola
mens. salientes
buzn usuario
3 componentes principales:
49
agente
usuario
servidor
correo
SMTP
SMTP
servidor
correo
agente
usuario
SMTP
agente
usuario
servidor
correo
agente
usuario
agente
usuario
agente
usuario
Capa de Aplicacin
50
25
Servidores de correo
servidor
correo
SMTP
SMTP
servidor
correo
agente
usuario
SMTP
agente
usuario
servidor
correo
agente
usuario
agente
usuario
agente
usuario
Capa de Aplicacin
51
Capa de Aplicacin
52
26
servidor
correo
3
servidor
correo
4
agente
usuario
Capa de Aplicacin
53
220 hamburger.edu
HELO crepes.fr
250 Hello crepes.fr, pleased to meet you
MAIL FROM: <alice@crepes.fr>
250 alice@crepes.fr... Sender ok
RCPT TO: <bob@hamburger.edu>
250 bob@hamburger.edu ... Recipient ok
DATA
354 Enter mail, end with "." on a line by itself
Te gusta el ketchup?
Que tal pepinillos?
.
250 Message accepted for delivery
QUIT
221 hamburger.edu closing connection
Capa de Aplicacin
54
27
Intntalo t mismo!!
telnet servername 25
observar la respuesta 220 del servidor
teclear los comandos HELO, MAIL FROM, RCPT
TO, DATA, QUIT
manualmente permite enviar correos sin usar el
cliente de correo
Capa de Aplicacin
55
56
28
cabecera
lnea en
blanco
cuerpo
To:
From:
Subject:
diferente de los comandos
SMTP!!
cuerpo
el mensaje, slo
caracteres ASCII-7 bits
Capa de Aplicacin
57
SMTP
SMTP
servidor correo
del emisor
protocolo agente
acceso usuario
servidor correo
del receptor
Capa de Aplicacin
58
29
protocolo POP3
fase autorizacin
comandos cliente:
user: declarar usuario
pass: contrasea
respuestas servidor
+OK
-ERR
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
Capa de Aplicacin
on
59
IMAP
mantiene todos los
mensajes en un slo
sitio: el servidor
permite al usuario
organizar sus mensajes
en carpetas
mantiene el estado del
usuario de sesin en
sesin:
nombres de carpetas y
correspondencia entre
IDs de mensaje y
nombre de carpeta
Capa de Aplicacin
60
30
2.5 DNS
Capa de Aplicacin
61
hosts y routers de
Internet:
dir. IP (32 bits) usada
para direccionar
datagramas
nombre, p.ej.:
www.yahoo.com - usado
por humanos
P: correspondencia IP <->
nombre (y viceversa)?
Ral Durn, Nacho Prez. v1.0
62
31
DNS
servicios DNS
traduccin de nombre
de host a IP
alias de host
nombre cannico, alias
alia de servidor de
correo
distribucin de carga
Capa de Aplicacin
63
servidores
DNS
amazon.com
servidores
DNS
umass.com
Capa de Aplicacin
64
32
e NASA Mt View, CA
f Internet Software C. Palo Alto,
hay 13 servidores
raz en el mundo
b USC-ISI Marina del Rey, CA
l ICANN Los Angeles, CA
Capa de Aplicacin
65
Capa de Aplicacin
66
33
no pertenece a la jerarqua
cada ISP tiene uno
tambin se le llama servidor de nombres por
omisin
cuando
Capa de Aplicacin
ejemplo de resolucin
de nombre DNS
un host de
cis.poly.edu quiere la
IP de
gaia.cs.umass.edu
consulta iterativa:
el servidor
contactado responde
con el nombre del
servidor a contactar
Yo no lo s, pero
pregunta a este
servidor
67
3
4
5
servidor DNS local
dns.poly.edu
host peticionario
cis.poly.edu
gaia.cs.umass.edu
Capa de Aplicacin
68
34
ejemplo de resolucin
servidor DNS raz
de nombre DNS
consulta recursiva
pone la carga de la
resolucin en el
servidor contactado
mucha carga?
3
7
6
servidor DNS TLD
host peticionario
cis.poly.edu
gaia.cs.umass.edu
Ral Durn, Nacho Prez. v1.0
Capa de Aplicacin
69
mecanismos de actualizacin/notificacin
propuestos en el IETF standard
RFC 2136
Capa de Aplicacin
70
35
registros DNS
DNS: base de datos distribuida que almacena
registros de recursos (resource records, RR)
formato RR: (nombre,
Tipo=A
nombre es un nombre
de host
valor es su IP
Tipo=NS
Tipo=CNAME
nombre es el alias de un
nombre cannico (el real)
www.ibm.com es en realidad
servereast.backup2.ibm.com
Capa de Aplicacin
71
identificacin: n de 16
bits para la consulta, la
respuesta usa el mismo n
flags:
consulta o respuesta
se prefiere
recursividad
recursividad disponible
la respuesta es
autoritativa
Capa de Aplicacin
72
36
Capa de Aplicacin
73
Capa de Aplicacin
74
37
2.5 DNS
Capa de Aplicacin
75
Capa de Aplicacin
76
peer-peer
3 cuestiones:
distribucin de archivos
bsqueda de informacin
caso de estudio: Skype
Ral Durn, Nacho Prez. v1.0
38
Servidor
Archivo,
tamao F
us
dN
uN
u1
d1
u2
Capa de Aplicacin
77
el servidor enva N
copias
secuencialmente:
tiempo: NF/us
al cliente i le lleva F/di
descargarlo
Servidor
us
dN
uN
u1 d1 u2
d2
Tiempo en distribuir
F a N clientes = dcs = max { NF/us, F/min(di) }
i
usando C/S
78
39
Servidor
us
dN
uN
u1 d1 u2
d2
Capa de
Aplicacin
Application
2-7979
Capa de Aplicacin
80
40
torrente: grupo de
tracker: registra pares
que participan en un torrente pares que intercambian
trozos de un archivo
obtener
lista de
pares
intercambiar
trozos
par
Capa de Aplicacin
81
BitTorrent (1)
Capa de Aplicacin
82
41
BitTorrent (2)
Extraer trozos
en cada momento, pares
diferentes tienen
diferentes subconjuntos
de trozos
peridicamente, cada
par pide a cada vecino la
lista de lo que tienen
entonces solicita los
trozos que le faltan
el menos comn primero
Capa de Aplicacin
83
Capa de Aplicacin
84
42
Capa de Aplicacin
85
Identificadores DHT
asignar
exigir
rango
para obtener claves enteras, hacer un hash de la
original
p.ej.: clave= h(Led Zeppelin IV)
por eso se llama tabla hash distribuida
Capa de Aplicacin
86
43
central:
Capa de Aplicacin
87
15
4
12
5
10
cada
Capa de Aplicacin
88
44
0001
Quin lleva
Yo
0011
la 1110 ?
1111
1110
0100
1110
1110
1100
1110
Definir ms cercano
como sucesor ms
cercano
1010
0101
1110
1110
1000
Capa de Aplicacin
89
15
Quin lleva
la 1110 ?
4
12
5
10
Capa de Aplicacin
90
45
15
4
12
5
10
Capa de Aplicacin
91
inherentemente P2P:
pares de usuarios se
comunican
protocolo de capa de
aplicacin propietario
(deducido por
ingeniera inversa)
superposicin
jerrquica con superpares (super-nodos)
un ndice relaciona
usuarios con IPs; se
distribuye sobre los
super-pares
servidor
de login
Skype
Superpar
(SP)
Capa de Aplicacin
92
46
Pares retransmisores
solucin:
Capa de Aplicacin
93
2.5 DNS
Capa de Aplicacin
94
47
socket
un interfaz local, creado
por la aplicacin,
controlado por el SO, (una
puerta) en la que un
proceso puede enviar y
recibir mensajes a/desde
otro proceso
Capa de Aplicacin
95
proceso
proceso
socket
TCP con
buffers,
variables
socket
TCP con
buffers,
variables
host o
servidor
Ral Durn, Nacho Prez. v1.0
internet
controlado por
desarrollador
de la aplicacin
controlado por
el sistema
operativo
host o
servidor
Capa de Aplicacin
96
48
97
(corriendo en hostid)
Cliente
crear socket,
puerto=x, para
solicitud entrante:
welcomeSocket =
ServerSocket()
establecimiento
esperar solicitud de
conexinTCP
conexin entrante
connectionSocket =
welcomeSocket.accept()
leer solicitud de
connectionSocket
escribir respuesta en
connectionSocket
cerrar
connectionSocket
crear socket,
conectar con hostid, puerto=x
clientSocket =
Socket()
enviar solicitud usando
clientSocket
leer respuesta de
clientSocket
cerrar
clientSocket
Capa de Aplicacin
98
49
jerga de flujos
Client
process
client TCP
socket
Capa de Aplicacin
99
Capa de Aplicacin
100
50
crear flujo
entrada
crear
objeto clientSocket
de tipo Socket,
conectar con servidor
crear
flujo salida
asociado al socket
Capa de Aplicacin
101
BufferedReader inFromServer =
new BufferedReader(new
InputStreamReader(clientSocket.getInputStream()));
sentence = inFromUser.readLine();
enviar lnea
al servidor
outToServer.writeBytes(sentence + '\n');
leer lnea
del servidor
modifiedSentence = inFromServer.readLine();
System.out.println(DEL SERVIDOR: " + modifiedSentence);
cerrar socket
clientSocket.close();
}
}
Ral Durn, Nacho Prez. v1.0
Capa de Aplicacin
102
51
crear
socket recepcin
en el puerto 6789
espera, el mtodo accept()
del socket de recepcin
crea un socket nuevo
crear flujo
entrada, asociado
al socket
Capa de Aplicacin
103
DataOutputStream outToClient =
new DataOutputStream(connectionSocket.getOutputStream());
leer lnea
del socket
clientSentence = inFromClient.readLine();
capitalizedSentence = clientSentence.toUpperCase() + '\n';
escribir lnea
al socket
outToClient.writeBytes(capitalizedSentence);
}
}
Capa de Aplicacin
104
52
2.5 DNS
Capa de Aplicacin
105
Capa de Aplicacin
106
53
(corriendo en hostid)
Client
crear socket,
clientSocket =
DatagramSocket()
crear socket,
puerto= x.
serverSocket =
DatagramSocket()
leer datagrama de
serverSocket
responder a
serverSocket
especificando
IP del cliente y
n de puerto
leer datagrama de
clientSocket
cerrar
clientSocket
Capa de Aplicacin
107
Client
process
Entrada: recibe
paquete (TCP
reciba (flujo de
bytes)
Salida: enva
paquete (TCP
enviaba flujo de
bytes)
client UDP
socket
Capa de Aplicacin
108
54
crear
flujo entrada
class UDPClient {
public static void main(String args[]) throws Exception
{
BufferedReader inFromUser =
new BufferedReader(new InputStreamReader(System.in));
crear
socket cliente
traducir
nombre host a IP
usando DNS
109
DatagramPacket sendPacket =
new DatagramPacket(sendData, sendData.length, IPAddress, 9876);
clientSocket.send(sendPacket);
DatagramPacket receivePacket =
new DatagramPacket(receiveData, receiveData.length);
leer datagrarma
del servidor
clientSocket.receive(receivePacket);
String modifiedSentence =
new String(receivePacket.getData());
System.out.println("DEL SERVIDOR:" + modifiedSentence);
clientSocket.close();
}
}
Capa de Aplicacin
110
55
crear socket
para datagramas
en el puerto 9876
DatagramPacket receivePacket =
new DatagramPacket(receiveData, receiveData.length);
recibir
datagrama
serverSocket.receive(receivePacket);
Capa de Aplicacin
111
obtener IP y
n de puerto
del emisor
crear datagrama
para el cliente
escribir
datagrama
al socket
}
DatagramPacket sendPacket =
new DatagramPacket(sendData, sendData.length, IPAddress,
port);
serverSocket.send(sendPacket);
}
}
112
56
Captulo 2: Resumen
estudio de las aplicaciones en red: completado!
arquiteturas de aplicacin
cliente-servidor
P2P
hbridas
requisitos de servicio de
las aplicaciones:
protocolos especficos:
HTTP
FTP
SMTP, POP, IMAP
DNS
P2P: BitTorrent, Skype
programacin de
sockets
modelo de servicio de
transporte de Internet
orientado a conexin, fiable:
TCP
no fiable, datagramas: UDP
Capa de Aplicacin
113
Captulo 2: Resumen
lo ms importante: hemos aprendido protocolos
intercambio tpico de
solicitud/respuesta:
el cliente solicita
informacin o servicio
el cliente responde con
datos, cdigo de estado
formatos de mensaje:
cabeceras: campos que
dan informacin sobre
los datos
datos: la informacin
que se comunica
Cuestiones importantes:
mensajes de control /
mensajes de datos
en banda, fuera de banda
centralizados /
descentralizados
con / sin estado
transf. de mensajes fiable /
no fiable
complejidad en la frontera
de la red
Capa de Aplicacin
114
57