PDF de programación - Clase 22 Nivel de Aplicación WWW

Imágen de pdf Clase 22 Nivel de Aplicación WWW

Clase 22 Nivel de Aplicación WWWgráfica de visualizaciones

Publicado el 14 de Enero del 2017
625 visualizaciones desde el 14 de Enero del 2017
8,2 MB
28 paginas
Creado hace 18a (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-
  • Links de descarga
http://lwp-l.com/pdf846

Comentarios de: Clase 22 Nivel de Aplicación WWW (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad