conceptual,
aspectos de la aplicacin
de aplicacin de red
protocolos
lacapadetransporte
modelos de servicio
clienteservidor
paradigma
peertopeer
paradigma
red de creacin
aplicaciones
socketAPI
Pgina 4
correo electrnico
web
Mensaje de texto
login remoto
Redes Sociales
buscar
...
...
Pgina 5
transporte
la red
enlace de datos
fsico
Pgina 6
Servidor de cliente
peer-to-peer (P2P)
Pgina 7
siempre en el host
direccin IP permanente
no se comunican directamente
con cada uno
Servidor de cliente
Pgina 8
no siempre en el servidor
compaeros son intermitentemente
IP conectado y el cambio
direcciones
gestincompleja
de igual a igual
Pgina 9
enlace
la red
proceso
transporte
solicitud
fsico
enlace
la red
proceso
enchufe
Pgina 11
Q: hacedireccinIPdelhost
en el que se ejecuta proceso de
suficiente para la identificacin de la
proceso?
identificador incluyetanto IP
direccin y nmeros de puerto
asociado con el proceso de
host.
ms breve ...
R:No, muchosprocesos
puede estar en ejecucin en el mismo
anfitrin
Pgina 12
tipos de mensajes
intercambiado,
porejemplo,lasolicitud,larespuesta
mensaje de sintaxis:
qucamposenlosmensajes
Y cmo los campos son
delineado
la semntica de mensajes
significadodelainformacin
en los campos
se define en el RFC
permite la interoperabilidad
...
Pgina 14
abrumar receptor
no proporciona: calendario,
rendimiento mnimo
garanta, seguridad
no proporciona:
fiabilidad, control de flujo,
control de la congestin,
tiempo, el rendimiento
garanta, seguridad, o
configuracin de la conexin,
Q: porqumolestarse? Porquees
Hay una UDP?
Pgina 16
TCP o UDP
Pgina 17
Asegurar TCP
TCP y UDP
sin cifrado
proporciona cifrado
Conexin TCP
punto final
autenticacin
SSL es en la capa de aplicacin
Consulte el Captulo 7
Capa de aplicacin 17.2
Pgina 18
Mensajes HTTP
a lo sumo un objeto
enviado a travs de TCP
conexin
conexinacontinuacin,
cerrado
descarga mltiple
objetos necesarios
mltiples conexiones
HTTP persistente
www.someSchool.edu en el puerto
80
2. ClienteHTTPenva lasolicitud HTTP
mensaje (quecontieneURL)en
Toma de conexin TCP.
El mensaje indica que el cliente
quiere objeto
someDepartment / home.index
1b. ServidorHTTPenelhost
www.someSchool.edu esperando
para la conexin TCP en el puerto 80.
"Acepta" la conexin, notifica
cliente
3. ServidorHTTPrecibesolicitud
mensaje, forma derespuesta
contienesolicit mensaje
oponerse, y enva el mensaje en
su zcalo
hora
(contiene texto,
referencias a 10
imgenes jpeg)
www.someSchool.edu/someDepartment/home.index
Pgina 24
HTTP no persistente
tiempo de respuesta =
Transmisin de archivos 2RTT +
hora
hora de
transmitir
archivo
iniciar TCP
conexin
RTT
peticin
archivo
RTT
archivo
recibido
hora
hora
Pgina 26
posterior HTTP
mensajes entre mismo
cliente / servidor enva a travs de
conexin abierta
Mensaje de peticin HTTP:
ASCII(formatolegible)
lnea de peticin
(GET, POST,
Comandos cabeza)
encabezamiento
lneas
retorno de carro,
avance de lnea al inicio
de lnea indica
final de las lneas de cabecera
GET /index.html HTTP / 1.1 \ r \ n
Anfitrin: www-net.cs.umass.edu \ r \ n
User-Agent: Firefox / 3.6.10 \ r \ n
Accept: text / html, application / xhtml + xml \ r \ n
Accept-Language: es-es, es; q = 0.5 \ r \ n
Accept-Encoding: gzip, desinfla \ r \ n
Accept-Charset: ISO-8859-1, UTF-8; q = 0.7 \ r \ n
Keep-Alive: 115 \ r \ n
Conexin: keep-alive \ r \ n
\r\n
carcter de retorno de carro
carcter de avance de lnea
Pgina 28
de entrada se carga
servidor en el cuerpo de la entidad
Mtodo de URL:
OBTENER
POSTE
CABEZA
pideservidorparadejar
objeto solicitado a cabo
de la respuesta
HTTP / 1.1:
PONER
Archivo subidosenlaentidad
cuerpo a la ruta especificada
en el campo de direccin URL
BORRAR
borraarchivoespecificadoen
el campo URL
Pgina 31
ETag: "17dc6-A5c-bf716880" \ r \ n
Accept-Ranges: bytes \ r \ n
Content-Length: 2652 \ r \ n
Keep-Alive: timeout = 10, max = 100 \ r \ n
Conexin: Keep-Alive \ r \ n
Content-Type: text / html; charset = ISO-88591\r\n
\r\n
de datos de datos de datos de datos de datos ...
Pgina 32
1)
lnea de cabecera de cookies de
Respuesta HTTP
mensaje
2) lnea de cabecera de cookies en
siguiente peticin HTTP
mensaje
3) archivo cookie sigui
host del usuario, gestionado
por el navegador del usuario
4) la base de datos back-end en
Sitio Web
ejemplo:
especfico
accin
acceso
ebay 8734
Amazonas 1678
backend
base de datos
Pgina 36
autorizacin
carritos de compra
recomendaciones
objeto de origen
servidor, luego regresa
objeto para el cliente
objetivo: satisfacerlapeticindelclientesinlaparticipacindeservidorde
origen
cliente
apoderado
servidor
cliente
origen
servidor
origen
servidor
Pgina 38
normalmente cach es
instalado por ISP
(universidad, empresa,
ISP residencial)
por qu el almacenamiento en cach Web?
supuestos:
enlace de acceso
154 Mbps
154 Mbps
msecs
Costo: mayorvelocidaddeenlacedeacceso(noesbarato!)
9,9%
pblico
Internet
institucional
la red
1 Gbps LAN
Pgina 41
institucional
la red
1 Gbps LAN
Capa de aplicacin 2-41
El almacenamiento en cach ejemplo:
instalar cach local
origen
servidores
1.54 Mbps
enlace de acceso
web local
cache
supuestos:
Pgina 42
retardo total
=0.6*(retrasodesdelosservidoresdeorigen)0.4
* (Retraso cuando satisfizo en cach)
=0,6(2,01)+0,4(milisegundos)
=1,2secs
menosquecon154Mbpsdeenlace(y
ms barato!)
pblico
Internet
institucional
la red
1 Gbps LAN
web local
cache
Pgina 43
Meta: noenveobjetosi
cach tiene hasta al da
versin en cach
ningunatransmisinobjeto
retraso
utilizacindelenlaceinferior
servidor: respuesta contiene
sin objeto si copia en cach
est actualizado:
HTTP / 1.0 304 No
Modificado
HTTP solicitud msg
Si-modified-since: <fecha>
Respuesta HTTP
HTTP / 1.0
304 Not Modified
objeto
no
modificado
antes de
<fecha>
HTTP solicitud msg
Si-modified-since: <fecha>
Respuesta HTTP
HTTP / 1.0 200 OK
<datos>
objeto
modificado
despus
<fecha>
cliente
servidor
Pgina 44
archivo local
sistema
archivo remoto
sistema
usuario
en el host
conexin de control:
"
fuera
banda
"
PASS contrasea
LISTA listaretornodearchivoen
Directorio actual
RETR nombre
recupera (consigue) Archivo
Datos 125
conexin
ya abierto;
transferencia de partida
aplicaciones
arquitecturasdeaplicaciones
requisitosdeaplicaciones
2.2 Web y HTTP
2.3 FTP
2,4 correo electrnico
SMTP,POP3,IMAP
2.5 DNS
2.6 aplicaciones P2P
Programacin 2.7 zcalo
con UDP y TCP
Pgina 49
servidores de correo
saliente, entrante
los mensajes almacenados en el servidor
buzn de usuario
extrovertida
cola de mensajes
correo
servidor
correo
servidor
correo
servidor
SMTP
SMTP
SMTP
usuario
agente
usuario
agente
usuario
agente
usuario
agente
usuario
agente
usuario
agente
Pgina 50
S: 220 hamburger.edu
C: HELO crepes.fr
S: 250 Hola crepes.fr, encantado de conocerte
C: MAIL FROM: <alice@crepes.fr>
S: 250 alice@crepes.fr ... Remitente ok
C: RCPT TO: <bob@hamburger.edu>
S: 250 bob@hamburger.edu ... destinatario ok
C: DATOS
S: 354 Introduzca el correo, extremo con "." en una lnea por s mismo
C: Te gusta la salsa de tomate?
C: Qu hay de pepinillos?
C:.
S: 250 Mensaje aceptado para la entrega
C: QUIT
S: Conexin de cierre 221 hamburger.edu
Pgina 54
nombre_servidor telnet 25
HTTP: tire
SMTP: empuje
encapsulado en su propio
msg respuesta
Cuerpo: el "mensaje"
Slo caracteresASCII
encabezamiento
cuerpo
blanco
lnea
Pgina 57
)
usuario
agente
usuario
agente
Pgina 58
Lista: nmerosdemensajelista
retr: recuperarmensaje
nmero
dele: eliminar
dejar
C: Lista
S: 1 498
S: 2 912
S:.
C: retr 1
S: <mensaje 1 Contenido>
S:.
C: dele 1
C: retr 2
S: <mensaje 1 Contenido>
S:.
C: dele 2
C: dejar de fumar
S: + OK
Servidor POP3 firma off
S: + OK servidor POP3 listo
C: bob usuario
S: + OK
C: pasar hambre
S: + OK
usuario conectado con xito en
Pgina 59
datagramas
"nombre",porejemplo,
www.yahoo.com utilizado por los seres humanos
Q: cmoasignarentreIP
la direccin y el nombre, y
viceversa ?
Sistema de nombres de dominio:
volumen de trfico
mantenimiento
Servicios de DNS
sede de aliasing
cannicas,nombresdealias
distribucin de la carga
Webreplicado
servidores: muchos IP
direcciones corresponden
a un nombre
R: doesn
'
t escala!
Pgina 63
cliente consulta el servidor DNS .com para obtener amazon.com servidor DNS
4
5
6
servidor DNS autorizado
dns.cs.umass.edu
7
8
Servidor DNS de TLD
Nombre DNS
ejemplo de resolucin
anfitrin cis.poly.edu
quiere direccin IP para
gaia.cs.umass.edu
consulta iterativa:
servidor contactado
responde con el nombre de
servidor para contactar
Pgina 69
Capa de aplicacin 2 a 71
Protocolo DNS, los mensajes
mensajesdeconsultayrespuesta,ambosconunmismomensaje
formato
cabeceras de los mensajes
Identificacin: 16bits#para
consulta, responder a consultas utiliza
mismo #
banderas:
consultaorespuesta
recursindeseada
recursividaddisponible
respuestaesautoritativa
identificacin
banderas
# Preguntas
preguntas (variable # de preguntas)
# RR adicionales
# Autoridad RR
# Respuesta RR
respuestas (variable # del RR)
autoridad (variable # del RR)
informacin adicional (variable # del RR)
2 bytes
2 bytes
Pgina 72
DNS Atacar
Los ataques DDoS
El hombre-en-medio
consultasIntercepcin
Envenenamiento de DNS
Enviarfalsadependeen
Servidor DNS, que
cachs
Explotar DNS DDoS
Requiere de amplificacin
Capa de aplicacin 2-74
Pgina 75
aplicaciones
arquitecturasdeaplicaciones
requisitosdeaplicaciones
2.2 Web y HTTP
2.3 FTP
2,4 correo electrnico
SMTP,POP3,IMAP
2.5 DNS
2.6 aplicaciones P2P
Programacin 2.7 zcalo
con UDP y TCP
Pgina 76
no siempre en el servidor
: Peer puedosubir
capacidad
d
yo
: Peer puedodescargar
capacidad
u
2
d
2
u
1
d
1
d
yo
u
yo
Pgina 78
cliente: cadanecesidaddelcliente
copia de archivos descarga
d
min
= Tasa de descarga del cliente min
tiempodedescargadelclientemin:F/d
min
u
s
la red
d
yo
u
yo
F
Pgina 79
u
yo
)}
cliente: cadanecesidaddelcliente
copia de archivos descarga
tiempodedescargadelclientemin:F/d
min
clientes: comoagregadodebedescargarlosbitsNF
tasadecargamxima(limtingtasadedescargamxima)esdeu
s
+
u
yo
... Pero tambin lo hace esto, ya que cada pares ofrece una capacidad de servicio
aumenta linealmente en N ...
Pgina 80
archivo dividido en trozos 256Kb
pares puede cambiar los compaeros con los que intercambia trozos
churn: compaerospuedeniryvenir
una vez entre pares tiene todo el archivo, puede (egostamente) salir o
(altruista) permanecer en torrent
Pgina 83
reevaluarlas4every10segundos
cuestin central:
asignacin(valorclave,)paresapares.
idea bsica:
convertircadallaveaunentero
Asignaracadanmeroenteroentrepares
poner(valorclave,)parenelparqueesmscercano
a la tecla
Aplicacin 2-86
Pgina 87
Identificadores de DHT
[0,2
n
-1] Para algunos n.
cadaidentificadorrepresentadopornbits.
1
3
4
5
8
10
12
15
DHT Circular (1)
"Red superpuesta"
Aplicacin 2-89
Pgina 90
0001
0011
0100
0101
1000
1010
1100
1111
Quien
'
s responsable
para la clave 1110?
soy
O (n) los mensajes
en avgerage para resolver
consulta, cuando hay
son N pares
1110
1110
1110
1110
1110
1110
Definir ms cercano
como ms cercano
sucesor
Aplicacin 2-90
DHT Circular (1)
Pgina 91
reducido de 6 a 2 mensajes.
Churn Peer
ejemplo: pares 5 deja bruscamente
3
4
5
8
10
12
15
el manejo de la rotacin entre iguales:
proceso
transporte
solicitud
fsico
enlace
la red
proceso
enchufe
Pgina 95
UDP: datagramasnofiable
TCP: fiable,corrienteorientadaabyte
Ejemplo de aplicacin:
1.
Cliente lee una lnea de caracteres (datos) de su
teclado y enva los datos al servidor.
2.
El servidor recibe los datos y convertidos
caracteres en maysculas.
3.
El servidor enva los datos modificados al cliente.
4.
El cliente recibe los datos y pantallas modificados
la lnea en su pantalla.
Pgina 96
clientSocket =
socket (AF_INET, SOCK_DGRAM)
Crear datagrama IP con servidor y
PORT = x; enviar datagramas a travs de
clientSocket
crear socket, port = x:
ServerSocket =
socket (AF_INET, SOCK_DGRAM)
leer datagrama desde
serverSocke t
escribir respuesta a
ServerSocket
especificando
direccin del cliente,
nmero de puerto
Aplicacin 2-97
servidor
(corriendo
en
servidor IP
)
cliente
Pgina 98
serverPort = 12000
ServerSocket = socket (AF_INET, SOCK_DGRAM)
serverSocket.bind (('', serverPort))
impresin
"El servidor est preparado para recibir"
mientras que 1:
mensaje, Direccin_cliente = serverSocket.recvfrom (2048)
modifiedMessage = message.upper ()
serverSocket.sendto (modifiedMessage, Direccin_cliente)
Python UDPServer
crear socket UDP
toma unen al puerto local
nmero 12.000
bucle para siempre
Leer de socket UDP en
mensaje, conseguir clientes de
(IP cliente y puerto)
enviar cadena maysculas
de nuevo a este cliente
Pgina 100
Pgina 101
arquitecturas de aplicaciones
clienteservidor
P2P
de servicios de aplicaciones
requisitos:
fiabilidad,anchodebanda,retardo
protocolos especficos:
HTTP
FTP
SMTP,POP,IMAP
DNS
P2P:BitTorrent,DHT
la programacin del zcalo: TCP,
Sockets UDP
Pgina 105
formatos de mensaje:
encabezados:Camposdando
informacin sobre los datos
datos:informacindeser
comunicados
temas importantes:
vs.decentralized centralizado
vs.stateful aptridas
"Complejidad en la red
borde "