Publicado el 14 de Enero del 2017
722 visualizaciones desde el 14 de Enero del 2017
8,2 MB
28 paginas
Creado hace 19a (14/10/2005)
Clase 22
Nivel de Aplicación
WWW
Tema 6.- Nivel de aplicación en Internet
Dr. Daniel Morató
Redes de Computadores
Ingeniero Técnico de Telecomunicación
Especialidad en Sonido e Imagen
3º curso
Temario
1.- Introducción
2.- Nivel de enlace en LANs
3.- Interconexión de redes IP
4.- Enrutamiento con IP
5.- Nivel de transporte en Internet
6.- Nivel de aplicación en Internet
7.- Ampliación de temas
Temario
1.- Introducción
2.- Nivel de enlace en LANs
3.- Interconexión de redes IP
4.- Enrutamiento con IP
5.- Nivel de transporte en Internet
6.- Nivel de aplicación en Internet
»
»
»
»
7.- Ampliación de temas
Nivel de aplicación: WWW
FTP. Telnet. Ejemplos
E-mail
DNS. P2P. Mensajería…
Tema 6: Nivel de Aplicación
Objetivos:
» Conceptos detrás
de los protocolos
de aplicación
Paradigma cliente-
servidor
Paradigma peer-to-
peer
Servicios den nivel
de transporte
» Aprender sobre
protocolos analizando
protocolos de servicios
populares
HTTP
FTP
SMTP / POP3
DNS
Algunas aplicaciones en red
» E-mail
» Web
» Mensajería
instantánea
» login remoto
» Compartición de
ficheros P2P
» Juegos multiusuario
en red
» Streaming de video
clips
» Telefonía por Internet
» Videoconferencia en
tiempo real
» Computación
masiva en paralelo
Aplicaciones en red
Las aplicaciones
Son software
Diferentes máquinas y Sistemas
Operativos
Aplicación
transporte
Red
Enlace
Físico
se comunican
son
Aplicación
transporte
Red
Enlace
Físico
Aplicación
transporte
Red
Enlace
Físico
Quienes
procesos
IPC:
Communication
Inter
Nos
interesan
Process
procesos
en diferentes
ejecutándose
máquinas
Se comunican a través de una
red
Intercambian mensajes
Emplean Protocolos de nivel de
aplicación (…)
Aplicaciones y Protocolos
Aplicación
transporte
Red
Enlace
Físico
Los Protocolos de aplicación
las
son una parte de
aplicaciones de red (... …)
Definen:
Tipos de mensajes
Sintaxis/formato de mensajes
Significado del contenido
Reglas de funcionamiento
Ejemplo: La Web
Navegador, Servidor Web (…)
HTTP (…)
Muchos
estándares abiertos (en RFCs)
protocolos
son
P
r
H
o
T
t
o
T
c
P
olo
Aplicación
transporte
Red
Enlace
Físico
Aplicación
transporte
Red
Enlace
Físico
Paradigmas
» Cliente-servidor
» Peer-to-peer (P2P)
» Híbrido de cliente-servidor y P2P
Arquitectura cliente-servidor
Servidor:
Comienza
primero (…)
a
ejecutarse
Espera a ser contactado
Host siempre disponible
Dirección permanente
Cliente:
tarde por el
Lanzado más
usuario (…)
Inicia la comunicación con un
servidor (…)
No con clientes
Termina cuando el usuario
deja de usarlo
Puede no tener siempre
misma dirección
la
Arquitectura Peer-to-Peer
» No hay un servidor siempre
disponible
» Hosts extremos cualesquiera se
comunican (peers) (…)
» Pueden
no estar siempre
conectados (…)
Los peers pueden cambiar de
dirección
El mismo proceso puede ser
cliente o servidor
Ejemplo: Gnutella
»
»
»
Escalable
Difícil de controlar
Híbrido de cliente-servidor y P2P
Napster
Transferencia de ficheros P2P
Búsqueda de ficheros centralizada:
» Peers registran el contenido ofrecido en un servidor central
» Peers preguntan al mismo servidor para buscar ficheros
Mensajería Instantánea (Instant messaging=IM)
Conversación entre dos usuarios es P2P
Detección de presencia y localización centralizada:
» Los usuarios registran su dirección en un servidor central cuando
se conectan a la red
» Contactan con el servidor central para encontrar la dirección
actual de sus contactos
Sockets
»
Los procesos envían y reciben
mensajes a través de un socket
» Delega en el nivel de transporte
los
para que haga
mensajes al otro socket
llegar
» Acceso a través de un API
» Puede escoger el protocolo de
transporte
» Puede
configurar
parámetros del mismo
algunos
» No controla cómo se comporta
host
proceso
socket
TCP
host
proceso
socket
TCP
controlado por
el desarrollador
Internet
Controlado por el SO
Identificando al proceso
»
El emisor de un mensaje debe
identificar al host receptor
» Un host
(interfaz)
tiene una
dirección IP única (32 bits)
» Muchos procesos en el mismo
host
» Debe
identificar al proceso
receptor que corre en ese host
» Número de puerto diferente
»
asociado a cada proceso
Ejemplos:
Servidor Web: puerto TCP 80
Servidor e-mail: puerto TCP 25
Aplicación
Aplicación
Puerto
TCP o UDP
Transporte
Dirección
IP
IP
Red
Enlace
Físico
Servicios que necesitan las apps
Pérdidas
» Algunas apps soportan
pérdidas (ej. audio)
» Otras requieren 100% de
fiabilidad (ej. transferencia de
ficheros)
Retardo
» Algunas apps
requieren
bajo retardo (ej. juegos
en red)
Ancho de banda
» Algunas apps
requieren
un mínimo de ancho de
banda (ej. audioconf)
» Otras (elásticas)
funcionan con cualquier
cantidad pero pueden
sacar provecho a todo el
disponible
Tema 6: Nivel de Aplicación
Objetivos:
» Conceptos detrás
de los protocolos
de aplicación
Paradigma cliente-
servidor
Paradigma peer-to-
peer
Servicios den nivel
de transporte
» Aprender sobre
protocolos analizando
protocolos de servicios
populares
HTTP
FTP
SMTP / POP3
DNS
Web y HTTP
Términos
» Una Página Web está compuesta por objetos
» Un objeto puede ser un fichero HTML, una
imagen JPEG, un applet JAVA, un fichero de
sonido, etc
» La página Web está compuesta por un fichero
HTML base que hace referencia a otros objetos
» Se hace referencia a cada objeto mediante un
URL
» Ejemplo de URL:
http://www.tlm.unavarra.es/~daniel/index.html
host
path
HTTP
HTTP: HyperText Transfer Protocol
» Protocolo de nivel de aplicación
de la Web
» Modelo cliente/servidor
cliente: browser (nevegador) que
solicita, recibe y muestra objetos
de la Web
servidor: el servidor Web envía
objetos en respuesta a peticiones
» HTTP 1.0: RFC 1945
» HTTP 1.1: RFC 2068
PC corriendo
Explorer
Petición HTTP
Respuesta HTTP
P e tició n H
e s p u e s t a H
P
T
T
P
T
T
R
Servidor
corriendo
Servidor Web
Apache
Mac corriendo
Safari
HTTP
» Emplea TCP
» Well known port: 80
» Acciones típicas:
HTTP no persistente
»
En cada conexión TCP se
envía como máximo un
objeto
Cliente
servidor
conecta
con
» HTTP/1.0
Solicita un objeto mediante
su URI
Servidor envía el objeto y
cierra la conexión
» HTTP es sin estado
»
servidor
información
El
no mantiene
ninguna
de
peticiones anteriores del cliente
Los protocolos sin estado son
más simples
»
HTTP persistente
»
En la misma conexión TCP se
pueden enviar varios objetos
entre el servidor y el cliente
» HTTP/1.1,
por defecto
funcionamiento
HTTP no persistente
Supongamos que el usuario solicita el URL:
www.tlm.unavara.es/~daniel/index.html
(contiene texto y
1 referencia a
una imagen JPEG)
Three-way
handshake
1a: El cliente HTTP inicia la
TCP con el
conexión
servidor
en
w w w . t l m . u n a v a r r a . e s
puerto 80
2: El cliente HTTP envía un
mensaje de petición
El mensaje
indica que el
cliente quiere el objeto
/~daniel/index.html
1b: El
servidor acepta
la
conexión, notificando al
cliente
3: El servidor HTTP recibe el
mensaje de petición
un mensaje de
Forma
respuesta que contiene el
objeto solicitado y lo envía
a través de su socket
HTTP no persistente
5: El cliente HTTP recibe el
mensaje de
respuesta
que contiene el fichero
HTML
Lo
y al
interpretarlo encuentra
la
referencia a un
objeto JPEG
muestra
6: Los pasos 1-5 se repiten
para el objeto JPEG
Finalización
4: El servidor HTTP clierra la
conexión TCP
Three-way
handshake
Finalización
Modelo del tiempo de respuesta
Tiempo de respuesta:
» Un RTT para
iniciar
la
conexión
» Un RTT para la petición HTTP
la
y el comienzo de
respuesta
Tiempo de transmisión del
fichero
» Mejor
ignorando
caso,
»
mecanismos de TCP
Iniciar
conexión TCP
RTT
Pedir
fichero
RTT
Tiempo
transmitir
fichero
total
=
2xRTT
tiempo_transmisión
+
Fichero
recibido
tiempo
HTTP persistente
HTTP no persistente:
»
» OS debe reservar recursos para
Requiere 2 RTTs por objecto
Iniciar
conexión TCP
RTT
»
cada conexión TCP
Pero el navegador suele abrir
varias conexiones
TCP en
paralelo
Pedir
fichero
RTT
HTTP persistente:
El servidor deja
»
abierta tras enviar la respuesta
Los siguientes mensajes HTTP
entre cliente y servidor van por
la misma conexión
la conexión
»
Fichero
recibido
Pedir fichero
Fichero
recibido
tiempo
Tiempo
transmitir
fichero
Tiempo
transmitir
fichero
HTTP persistente
Persistente sin pipelining:
»
El cliente manda
la nueva
petición cuando ha terminado
de recibir la respuesta anterior
» Al menos un RTT por cada
objeto
Persistente con pipelining:
» default en HTTP/1.1
»
El cliente envía petición tan
pronto como encuentra una
referencia a objeto
Solo un RTT para todos
objetos
referenciados en
página base
los
la
»
Iniciar
conexión TCP
RTT
Pedir
fichero
RTT
Pedir fichero
Fichero
recibido
Fichero
recibido
tiempo
Tiempo
transmitir
fichero
Tiempo
transmitir
fichero
HTTP request message
tipos de mensajes messages:
request,
» Dos
response
» Mensaje HTTP request :
ASCII (formato legible por humanos)
GET /~daniel/index.html HTTP/1.1
Host: www.tlm.unavarra.es
User-agent: Mozilla/4.0
Connection: close
Accept-language:es
línea de petición
(comandos GET,
POST, HEAD)
líneas de
cabecera
Retorno del carro,
fín de linea
indica fin del mensaje
HTTP response message
línea de estado
(código de estado
frase de estado)
cabecera
datos, ej.,
fichero HTML
solicitado
HTTP/1.1 200 OK
Connection close
Date: Thu, 06 Aug 1998 12:00:15 GMT
Server: Apache/2.0.47 (Unix)
Last-Modified: Mon, 22 Jun 1998 ...
Content-
Comentarios de: Clase 22 Nivel de Aplicación WWW (0)
No hay comentarios