Академический Документы
Профессиональный Документы
Культура Документы
Capa de Aplicacin
Objetivos:
Aspectos
conceptuales y de
implementacin de
los protocolos de
aplicacin
Modelo de
servicio de la
capa transporte
Paradigma
cliente-servidor
Paradigma peerto-peer (par-apar)
Aprendizaje de
protocolos
examinando
protocolos de
aplicacin populares
HTTP
FTP
SMTP / POP3 / IMAP
DNS
Algunas aplicaciones de
red
E-mail
Web
Mensajera
instantnea
Login remoto
Comparticin de
archivos P2P
Juegos de red multiusuarios
Reproduccin de
clips de video
almacenados
Telefona Internet
Conferencias de
video en tiempo real
Computacin
paralela masiva.
No se necesita escribir
software para los
dispositivos intermedios
de red
Los dispositivos
intermedios no ejecutan
aplicaciones de usuario
Las aplicaciones en
sistemas terminales
network
data link
physical
Principios de las
aplicaciones de red
Arquitecturas de
Aplicacin
Las aplicaciones de red pueden
utilizar una de las siguientes
arquitecturas:
Cliente-servidor
Peer-to-peer (P2P)
Hbridos de cliente-servidor y P2P
Arquitectura Clienteservidor
Servidor:
Computador siempre
encendido
Direccin IP
permanente
Granja de servidores
por escalamiento
Cliente:
Se comunica con
servidor
Puede ser conectado
intermitentemente
Puede tener
direcciones IP
dinmicas
No se comunican
directamente entre s
(dos clientes puros)
ARQUITECTURA CLIENTESERVIDOR
Servidor iterativo
no orientado a la
conexin:
ARQUITECTURA CLIENTESERVIDOR
Servidor concurrente
orientado a la
conexin
Puede atender a
mltiples clientes a la
vez
Se establece una
conexin entre el
servidor y cada cliente y
esta permanece activa
hasta que el flujo
completo es procesado
y se cierra la conexin.
Utiliza un puerto bien
conocido y crea puertos
Hbridos de cliente-servidor y
P2P
Skype
Aplicacin P2P de Voz sobre IP
Servidor centralizado: bsqueda de direcciones de
partes remotas
Conexin cliente cliente: directa (no a travs del
servidor)
Mensajera Instantnea
Dilogo entre dos usuarios es P2P
Servicio centralizado: Deteccin/localizacin de
presencia de cliente:
Usuario registra su direccin IP en un servidor central
cuando ingresa al sistema
Usuarios contactan servidor central para encontrar las
direcciones IP de sus amigos.
Procesos que se
comunican
Proceso Cliente:
Proceso: programa que
corre en un host.
Dentro de la mquina
dos procesos se
comunican usando
comunicacin entre
proceso (definida por
OS).
Procesos en diferentes
hosts se comunican
va intercambio de
mensajes
Proceso Servidor:
proceso que espera
por ser contactado
Sockets
Los procesos envan y reciben mensajes a
travs de sus socket
Sockets
Los socket son anlogos a puertas
Proceso transmisor saca mensajes por la puerta
Proceso transmisor confa en la infraestructura de
transporte al otro lado de la puerta la cual lleva los
mensajes al socket en el proceso receptor
DIRECCIONAMIENTO DE PROCESOS
Para que un proceso reciba un mensaje, ste
debe tener un identificar
Un host tiene una direccin IP nica de 32 bits.
El identificador incluye la direccin IP y un nmero
de puerto asociado con el proceso en el host.
Ejemplo de nmeros de puertos:
Servidor HTTP: 80
Servidor de Mail: 25
Protocolos de dominio
pblico:
Definidos en RFCs
Permite
interoperabilidad
Eg: HTTP, SMTP
Protocolos propietarios:
Eg: KaZaA, Skype
Retardo
Algunas Aplicaciones (e.g.,
Telefona Internet, juegos
interactivos) requieren bajo
retardo para ser efectivas
Ancho de banda
Algunas aplicaciones (por
ejemplo, multimedia)
requieren una cantidad
mnima de ancho de
banda para ser
efectivas
Otras (aplicaciones
elsticas) hacen uso del
ancho de banda que
obtengan
REQUERIMIENTOS DE SERVICIO DE
TRANSPORTE DE APLICACIONES COMUNES
Aplicacin
Transferencia
de archivos
e-mail
Documentos
Web
audio/video en
tiempo real
audio/video
lmacenado
Juegos
interactivos
Mensajera
instantnea
Soporta
Prdidas
Ancho de
banda
Sensible a
retardo
no
Elastico
No
no
elastico
no
no
elastico
no
tolerante
audio: 5Kbps-1Mbps
video: 10Kbps-5Mbps
tolerante
Igual al de arriba
Tolerante
no
elstico
Si y no
Protocolo capa
Aplicacin
SMTP [RFC 2821]
Telnet [RFC 854]
HTTP [RFC 2616]
FTP [RFC 959]
HTTP (youtube),
RTP, propietario
SIP, RTP, propietario
(e.g.,Skype)
Protocolo de
transporte que lo
sustenta
TCP
TCP
TCP
TCP
TCP or UDP
Tipicamente UDP
Web y HTTP
protocolo://host/ruta
protocolo://host:puerto/ruta
Estticos
Dinmicos
Activos
Cada objeto es
direccionable por un
Ejemplo URL: www.uandina.edu.pe/dais/index.html
Universal Resource
Nombre de camino
Locator (URL) Nombre de la mquina
(path name)
HTTP Generalidades
HT
TP
req
ues
HT
TP
t
res
pon
se
PC ejecutando
Explorer
st
e
u
eq
r
se
P
n
T
o
p
HT
es
r
TP
T
H
Mac ejecutando
Navigator
Servidor
ejecutando
Apache Web
server
HTTP generalidades
Usa TCP:
Cliente inicia conexin TCP
(crea socket) al servidor,
puerto 80
Servidor acepta conexin
TCP del cliente
Mensajes HTTP (mensajes
del protocolo de capa
aplicacin) son
intercambiados entre
browser (cliente HTTP) y
servidor Web (servidor
HTTP)
Se cierra la conexin TCP
Conexiones HTTP
HTTP Nopersistente
A lo ms un objeto es
enviado por una
conexin TCP.
HTTP Persistente
HTTP no-persistente
Supongamos que el usuario ingresa URL
www.someSchool.edu/someDepartment/home/
index
(contiene texto y
referencia a 10
imgenes jpeg )
Tiempo de respuesta:
solicitar
archivo
Tiempo
para
transmi
tir
archivo
RTT
archivo
recibido
tiempo
tiempo
HTTP no persistente
HTTP Persistente
Problemas de HTTP nopersistente:
Requiere 2 RTTs por objeto
El navegador abre
conexiones paralelas
generalmente para traer
objetos referenciados. =>
el OS debe trabajar y
dedicar recursos para
cada conexin TCP
HTTP Persistente
Servidor deja las
conexiones abiertas
despus de enviar la
respuesta
Mensajes HTTP
subsecuentes entre los
mismos cliente/servidor
HTTP Persistente
nea de requerimiento
request line) (comandos
GET, POST, HEAD)GET /somedir/page.html HTTP/1.1
Host: www.someschool.edu
User-agent: Mozilla/4.0
Connection: close
Lneas de
Accept-language:fr
encabezado
(carriage return, line feed extra)
Carriage return,
line feed
Indica fin de mensaje
Pginas Web
usualmente incluyen
entradas de
formularios
Los datos son subidos
al servidor en el
cuerpo del mensaje
Mtodos URL:
Entrada es subida en
campos URL de la lnea
de requerimiento:
www.somesite.com/animalsearch?monkeys&banana
Tipos de Mtodos
HTTP/1.0
HTTP/1.1
GET
POST
METODO
GET
Solicitar un documento del servidor
Solicitar informacin sobre un documento pero no el propio
HEAD
documento
PUT
Enva un documento del cliente al servidor
POST
Envia alguna informacin del cliente al servidor
TRACE
Repite y devuelve la solicitud entrante
DELETE
Elimina un objeto web
CONNECT Reservado
OPTIONS Consulta sobre opciones disponibles
Nombres de Headers de
peticin
HEADER
User-agent
Accept
Acceptcharset
Acceptencoding
Acceptlanguage
Authorization
Host
Date
Upgrade
Cookie
If-ModifiedSince
DESCRIPCION
Identifica al programa cliente
Muestra el formato del medio que el cliente puede
aceptar
Muestra el juego de caracteres que el cliente puede
manejar
Muestra el esquema de codificacin que el icliente
puede manejar
Muestra el lenguaje que el cliente puede aceptar
Muestra los permisos que tiene el cliente
Muestra el nmero de puerto y host del cliente
Muestra la fecha actual
Especifica el protocolo de comunicacin preferido
Devuelve el cookie al servidor
Si el archivo se modific desde una fecha especfica
HTTP/1.1 200 OK
Connection close
Date: Thu, 06 Aug 1998 12:00:15 GMT
Lneas de Server: Apache/1.3.0 (Unix)
encabezado Last-Modified: Mon, 22 Jun 1998 ...
Content-Length: 6821
Content-Type: text/html
data, e.g.,
archivo
HTML solicitado
Nombres de Headers de
respuesta
HEADER
Date
Upgrade
Server
Set-Cookie
ContentEncoding
ContentLanguage
Content-Length
Content-Type
Location
DESCRIPCION
Muestra la fecha actual
Especifica el protocolo de comunicacin
preferido
Brinda informacin sobre el servidor
El servidor solicita al cliente guardar una
cookie
Especifica el esquema de codificacin
Especifica el lenguaje
Muestra la longitud del documento
Especifica el tipo de medio
Para pedir al cliente que enve la peticin a
otro sitio
200 OK
Probando HTTP
Interaccin usuario-servidor:
cookies
Muchos sitios Web importantes usan cookies
Las cookies fueron implementadas para permitir
personalizar la informacin Web.
Cookie es informacin generada por un servidor
web y almacenada en el computador del usuario
para acceso futuro.
Las cookies son trasportadas entre el
computador del usuario y el servidor.
Por ejemplo, cookies son usadas para almacenar
tems en un carro de compra mientras se recorre
un mall virtual.
Ejemplo:
Susan accede a
Internet siempre desde
el mismo PC
Ella visita un sitio de ecommerce especfico
por primera vez.
Cuando el
requerimiento HTTP
inicial llega al sitio,
ste crea un ID nico y
crea una entrada en la
base de datos para ese
ID.
ebay: 8734
Cookie file
amazon: 1678
ebay: 8734
Requerimiento http
Respuesta http +
Set-cookie: 1678
requerimiento http
cookie: 1678
respuesta http usual
En
Servidor creaba tra
se da
ID 1678
de en
da
para usuario
to
s
Accin
especfica
de la cookie
Un semana despus:
Cookie file
amazon: 1678
ebay: 8734
requerimiento http
cookie: 1678
respuesta http usual
Accin
especfica
de la cookie
eso
c
c
a
ac
ce
so
Cookie file
servidor
Cookies (cont.)
Qu pueden transportar las
cookies:
Al margen
Cookies y privacidad:
Autorizacin
Carrito de compras
Sugerencias
Usuario configura el
browser: Acceso Web
va cache
Browser enva todos
los requerimientos
HTTP al cache
Si objeto est en
cache: cache
retorna objeto
Si no, cache
requiere los objetos
desde el servidor
Web, y retorna el
objeto al cliente
como clientes y
servidores
Tpicamente el
cache est
instalado por ISP
(universidad,
compaa ISP
residencial)
respuesta de las
peticiones del cliente.
Reduce trfico en el
enlace de acceso al
ISP.
Internet densa con
caches permite a
proveedores de
contenido pobres (no
$$) entregar contenido
Ejemplo de Cache
Suposiciones
Utilizacin de la LAN:
(15 peticiones/s)*(1Mb/peticin)/100Mbps = 0.15 (15%)
Ejemplo de Cache
Posible solucin
Aumentar ancho de banda del
enlace a, por ejemplo, 100
Mbps
Consecuencias
Utilizacin de la LAN = 15%
Utilizacin del enlace de
acceso = 15%
Retardo Total = Retardo
Internet + retardo de acceso
+ retardo LAN
= 2 sec + msecs + msecs
A menudo un upgrade caro.
Internet
pblica
Servidor
es
web
100 Mbps
Enlace se acceso
Red
institucional
10 Mbps LAN
Sin cache
institucional
Get Condicional
Objetivo: no enviar
objetos si el cache
tiene la versin
actualizada
Cache: especifica la
fecha de la copia en el
requerimiento HTTP
If-modified-since:
<date>
servidor
cache
HTTP request msg
If-modified-since:
<date>
HTTP response
objeto
no
modificado
HTTP/1.0
304 Not Modified
HTTP response
HTTP/1.0 200 OK
<data>
objeto
modificado
FTP
File Transfer Protocol
Cliente
FTP
Servidor
FTP
FTP - Modelo
USER username
PASS password
LIST Retorna la lista de
archivos del
directorio
actual
RETR archivo baja un archivo
STOR archivo almacena un
archivo
en el host
remoto
Correo Electrnico:
SMTP, POP3 e IMAP
Correo Electrnico
Tres mayores componentes:
Agente usuario o cliente de
correo
Servidor de correo
Simple Mail Transfer
Protocol: SMTP
Agente Usuario
Tambin conocido como
lector de correo
Escritura, edicin, lectura
de mensajes de correos
e.g., Eudora, Outlook, elm,
Mozilla Thunderbird
Mensajes de salida y
entrada son almacenados
en servidor
user
agent
mail
server
user
agent
SMTP
SMTP
mail
server
user
agent
SMTP
user
agent
mail
server
user
agent
user
agent
Cola de
mensajes de
salida
Casilla
usuario
mensajes de
entrada para el
usuario
Cola de mensajes
de los correos de
salida
5) El servidor de correo de
Bob pone el mensaje en
su casilla
telnet servername 25
Ver respuesta 220 desde el servidor
Ingresar los comandos HELO, MAIL FROM, RCPT TO,
DATA, QUIT
Lo de arriba nos permite enviar correo sin usar el
cliente de correo.
/* Equivalentemente, si usted sabe cmo escribir
una aplicacin que maneje sockets, usted sabe
cmo enviar e-mail desde su aplicacin.*/
Hoy muchos servidores estn configurados para
aceptar slo conexiones seguras que no permiten el
uso de telnet para envo de correo. La USM usa TLS
(Transport Layer Security)
Cuerpo
El mensaje, slo
encabezado
Lnea
en blanco
cuerpo
From: alice@crepes.fr
To: bob@hamburger.edu
Subject: Picture of yummy crepe.
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Type: image/jpeg
base64 encoded data .....
.........................
......base64 encoded data
Protocolos de acceso de
correo
SMTP
SMTP
user
agent
Puerto 25
Servidor mail
de la fuente
protocolo
user
de acceso: agent
POP3 (110)
IMAP (143)
Servidor mail o HTTP
del receptor
Protocolo POP3
Fase de autorizacin
S:
C:
S:
C:
S:
on
IMAP
DNS
Host y router en
Internet:
DNS
Servicios DNS
jerarqua
Ejemplo 1
Servidor DNS
raz
Consulta iterativa:
Host en cis.poly.edu
quiere la direccin
IP de
gaia.cs.umass.edu
Servidor contactado
responde con el
nombre del servidor
a contactar
2
Puerto 53
3
4
Servidor DNS
TLD
5
Servidor DNS local
dns.poly.edu
Yo no conozco este
Consulta
nombre, pero
iterativa
pregunta a este
servidor
cis.poly.edu
gaia.cs.umass.edu
Ejemplo 2
Servidor local, aquel que
hace las consultas por mi
aplicacin
Consulta iterativa
Servidor autorizado, aquel
que define el mapeo nombre
<-> IP
Consultas
Recursivas
Consulta recursiva :
2
Pone la carga de la
resolucin de
nombre al servidor
contactado.
3
7
TLD DNS
server
Servidor
DNS local
dns.poly.ed
u
Qu pasa en
5
8
situaciones de alta
Consultas
carga?
Recursivas
4
Servidor DNS
autorizado
dns.cs.umas
s.edu
Host cliente
cis.poly.edu
gaia.cs.umass.edu
Ejemplo
Hacer algo del tipo:
$ nslookup www.uandina.edu.pe
Ejemplo
Luego:
$ nslookup 200.37.189.196
Finalmente:
$nslookup www.google.com
Y
$ nslookup 74.125.67.104
Registros DNS
DNS: es una base de datos distribuida que almacena registros de
recursos (resource records, RR)
Formato RR: (name, value, type, ttl)
Type=A
name es un hostname
Type=CNAME
www.ibm.com es realmente
servereast.backup2.ibm.com
Type=MX
value es el nombre del servidor de
correo asociado con name
SERVICIO DE DOMINIOS EN EL
PERU
SERVICIO DE DOMINIOS EN EL
PERU
DHCP
Direccin IP de host
Mscara de red.
computador
Mientras que ARP mapea una direccin
IP a una direccin fsica, RARP mapea
una direccin fsica a una direccin IP.
RARP no se utiliza ms por dos razones:
Utilizaba el servicio de difusin de
capa de enlace, lo que significa que
se requiere un servidor RARP en cada
red.
Solo proporciona la direccin IP para
el computador, pero un computador
Funcionamiento de DHCP
Consideremos dos escenarios:
El cliente y el servidor DHCP estn en
la misma red
El cliente y el servidor DHCP estn
redes diferentes
4.
4.
5.
6.
TFTP
archivos simple.
Se define en el RFC 1350
Se utiliza para transferir archivos
de arranque y configuracin en
equipos sin disco, enrutadores y
otros similares.
TFTP se implementa sobre UDP y
utiliza el puerto 69.
de archivos
No permite crear ni borrar archivos
o carpetas
Comandos tftp:
get file
get remotefile localfile
put file
put localfile remotefile