Publicado el 29 de Septiembre del 2020
448 visualizaciones desde el 29 de Septiembre del 2020
4,4 MB
23 paginas
Creado hace 20a (14/10/2004)
Funcionamiento de Servicios
Web, FTP
Tema 2.- Nivel de aplicación en Internet
Dr. Daniel Morató
Redes de Computadores
Ingeniero Técnico en Informática de
Gestión, 2º curso
Material adaptado del libro Computer Networking: A Top Down Approach Featuring the Internet,
3rd edition. Jim Kurose, Keith Ross, Ed. Addison-Wesley, Julio 2004
Temario
0.- Presentación de la asignatura
0.- Presentación de la asignatura
1.- Introducción
1.- Introducción
2.- Nivel de aplicación en Internet
2.- Nivel de aplicación en Internet
3.- Nivel de transporte en Internet
3.- Nivel de transporte en Internet
4.- Nivel de red en Internet
4.- Nivel de red en Internet
5.- Nivel de enlace
5.- Nivel de enlace
13 Oct
Servicios: Web, FTP
1/22
Temario
0.- Presentación de la asignatura
0.- Presentación de la asignatura
1.- Introducción
1.- Introducción
2.- Nivel de aplicación en Internet
2.- Nivel de aplicación en Internet
Principios
Principios
Funcionamiento de servicios
Funcionamiento de servicios
Diseño y programación de servicios
Diseño y programación de servicios
3.- Nivel de transporte en Internet
3.- Nivel de transporte en Internet
4.- Nivel de red en Internet
4.- Nivel de red en Internet
5.- Nivel de enlace
5.- Nivel de enlace
13 Oct
Servicios: Web, FTP
2/22
Tema 2: Servicios
Objetivos:
Objetivos:
» Aprender con el ejemplo: Funcionamiento
» Aprender con el ejemplo: Funcionamiento
de protocolos de nivel de aplicación
de protocolos de nivel de aplicación
Web y HTTP
Web y HTTP
FTP
FTP
13 Oct
Servicios: Web, FTP
3/22
Tema 2: Servicios
Objetivos:
Objetivos:
» Aprender con el ejemplo: Funcionamiento
» Aprender con el ejemplo: Funcionamiento
de protocolos de nivel de aplicación
de protocolos de nivel de aplicación
Web y HTTP
Web y HTTP
FTP
FTP
13 Oct
Servicios: Web, FTP
4/22
Web y HTTP
Términos
Términos
» Una Página Web está compuesta por objetos
» Una Página Web está compuesta por objetos
» Un objeto puede ser un fichero HTML, una
» Un objeto puede ser un fichero HTML, una
imagen JPEG, un applet JAVA, un fichero de
imagen JPEG, un applet JAVA, un fichero de
sonido...
sonido...
» La página Web está compuesta por un fichero
» La página Web está compuesta por un fichero
HTML base que hace referencia a otros objetos
HTML base que hace referencia a otros objetos
» Se hace referencia a cada objeto mediante un
» Se hace referencia a cada objeto mediante un
URL
URL
» Ejemplo de URL:
» Ejemplo de URL:
http://www.tlm.unavarra.es/~daniel/index.html
host
path
13 Oct
Servicios: Web, FTP
5/22
HTTP
HTTP: HyperText Transfer
HTTP: HyperText Transfer
Protocol
Protocol
» Protocolo de nivel de
» Protocolo de nivel de
aplicación de la Web
aplicación de la Web
» Modelo cliente/servidor
» Modelo cliente/servidor
cliente:
cliente:
browser
browser
(nevegador)
que
que
(nevegador)
solicita,
y
solicita,
y
muestra objetos de la
muestra objetos de la
Web
Web
recibe
recibe
servidor: el
servidor: el
servidor
servidor
Web envía objetos en
Web envía objetos en
respuesta a peticiones
respuesta a peticiones
» HTTP 1.0: RFC 1945
» HTTP 1.0: RFC 1945
» HTTP 1.1: RFC 2068
» HTTP 1.1: RFC 2068
13 Oct
PC corriendo
Explorer
Petición HTTP
Respuesta HTTP
P e tició n H
R e s p u e s t a H
T P
T
T P
T
Servidor
corriendo
Servidor Web
Apache
Mac corriendo
Safari
Servicios: Web, FTP
6/22
HTTP
Usa TCP:
Usa TCP:
» El
» El
inicia
inicia
cliente
cliente
una
una
conexión TCP al servidor,
conexión TCP al servidor,
puerto 80
puerto 80
» El
» El
servidor acepta
servidor acepta
conexión TCP del cliente
conexión TCP del cliente
la
la
» Cada uno tiene un socket
» Cada uno tiene un socket
conectado con el otro
conectado con el otro
» Se intercambian mensajes
» Se intercambian mensajes
HTTP entre el navegador y
HTTP entre el navegador y
el servidor Web
el servidor Web
» Se cierra la conexión TCP
» Se cierra la conexión TCP
servidor
servidor
HTTP es “sin estado”
HTTP es “sin estado”
» El
no
» El
no
ninguna
mantiene
ninguna
mantiene
de
información
de
información
peticiones anteriores
peticiones anteriores
del cliente
del cliente
Nota
Los protocolos que mantienen
“estado” son complejos
Debe mantener la historia pasada
(estado)
Si el cliente/servidor falla, el
estado entre ambos puede volverse
incoherente
13 Oct
Servicios: Web, FTP
7/22
Empleo de las conexiones
HTTP no persistente
HTTP no persistente
» En cada conexión
» En cada conexión
TCP se envía como
TCP se envía como
máximo un objeto
máximo un objeto
HTTP persistente
HTTP persistente
» En la misma conexión
» En la misma conexión
TCP se pueden enviar
TCP se pueden enviar
varios objetos entre el
varios objetos entre el
servidor y el cliente
servidor y el cliente
» HTTP/1.0
» HTTP/1.0
» HTTP/1.1,
» HTTP/1.1,
funcionamiento por
funcionamiento por
defecto
defecto
13 Oct
Servicios: Web, FTP
8/22
HTTP no persistente
Supongamos que el usuario solicita el URL
Supongamos que el usuario solicita el URL
www.tlm.unavara.es/~daniel/index.html
www.tlm.unavara.es/~daniel/index.html
(contiene texto y
1 referencia a
una imagen JPEG)
1a. El cliente HTTP inicia la conexión
1a. El cliente HTTP inicia la conexión
TCP con el (proceso) servidor de
TCP con el (proceso) servidor de
HTTP en
HTTP en
www.tlm.unavarra.es puerto 80
www.tlm.unavarra.es puerto 80
2. El cliente HTTP envía un mensaje
de petición (contiene el URL) a
través de
TCP
(empleando el socket). El mensaje
indica que el cliente quiere el
objeto /~daniel/index.html
conexión
la
o
p
m
e
i
t
1b. El servidor HTTP en el host
www.tlm.unavarra.es
espera
conexiones al puerto 80. Acepta la
conexión, notificando al cliente
3. El servidor HTTP recibe el mensaje
de petición, forma un mensaje de
respuesta que contiene el objeto
solicitado y lo envía a través de su
socket
13 Oct
Servicios: Web, FTP
9/22
HTTP no persistente
4. El servidor HTTP clierra la
conexión TCP
5. El cliente HTTP recibe el
5. El cliente HTTP recibe el
mensaje de respuesta que
mensaje de respuesta que
contiene el fichero HTML. Lo
contiene el fichero HTML. Lo
muestra y al interpretarlo
muestra y al interpretarlo
encuentra la referencia a un
encuentra la referencia a un
objeto jpeg
objeto jpeg
o
p
m
e
i
t
6. Los pasos 1-5 se repiten
para el objeto jpeg
13 Oct
Servicios: Web, FTP
10/22
Modelo del tiempo de respuesta
Definición de RTT: tiempo para
Definición de RTT: tiempo para
que un paquete pequeño
que un paquete pequeño
viaje de cliente a servidor y
viaje de cliente a servidor y
vuelta
vuelta
Tiempo de respuesta:
Tiempo de respuesta:
» Un RTT para iniciar la
» Un RTT para iniciar la
conexión
conexión
» Un RTT para la petición HTTP
» Un RTT para la petición HTTP
y el comienzo de la
y el comienzo de la
respuesta
respuesta
Tiempo de transmisión del
Tiempo de transmisión del
fichero
fichero
»
»
total = 2RTT+tiempo transmisión
total = 2RTT+tiempo transmisión
Iniciar
conexión TCP
RTT
Pedir
fichero
RTT
Fichero
recibido
Tiempo
transmitir
fichero
13 Oct
Servicios: Web, FTP
tiempo
tiempo
11/22
HTTP persistente
Con HTTP no persistente:
Con HTTP no persistente:
» Requiere 2 RTTs por objecto
» Requiere 2 RTTs por objecto
» OS debe reservar recursos
» OS debe reservar recursos
para cada conexión TCP
para cada conexión TCP
» Pero el navegador suele
» Pero el navegador suele
abrir varias conexiones TCP
abrir varias conexiones TCP
en paralelo
en paralelo
HTTP persistente:
HTTP persistente:
» El servidor deja la conexión
» El servidor deja la conexión
la
la
abierta
abierta
respuesta
respuesta
Los
siguientes mensajes
Los
siguientes mensajes
HTTP entre cliente y servidor
HTTP entre cliente y servidor
van por la misma conexión
van por la misma conexión
tras enviar
tras enviar
»
»
Iniciar
conexión TCP
RTT
Pedir
fichero
RTT
Fichero
recibido
Pedir fichero
Fichero
recibido
tiempo
13 Oct
Servicios: Web, FTP
Tiempo
transmitir
fichero
Tiempo
transmitir
fichero
tiempo
12/22
HTTP persistente
Persistente sin pipelining:
Persistente sin pipelining:
»
»
El cliente manda la nueva
El cliente manda la nueva
petición
ha
ha
petición
terminado de
la
terminado de
la
respuesta anterior
respuesta anterior
cuando
cuando
recibir
recibir
» Al menos un RTT por cada
» Al menos un RTT por cada
objeto
objeto
Persistente con pipelining:
Persistente con pipelining:
» default en HTTP/1.1
» default en HTTP/1.1
»
»
El cliente envía petición tan
El cliente envía petición tan
pronto como encuentra una
pronto como encuentra una
referencia a objeto
referencia a objeto
Solo un RTT para todos los
Solo un RTT para todos los
objetos referenciados en la
objetos referenciados en la
página base
página base
»
»
Iniciar
conexión TCP
RTT
Pedir
fichero
RTT
Fichero
recibido
Fichero
recibido
Pedir fichero
Tiempo
transmitir
fichero
Tiempo
transmitir
fichero
13 Oct
Servicios: Web, FTP
tiempo
tiempo
13/22
HTTP request message
tipos de mensajes messages:
tipos de mensajes messages:
request,
request,
» Dos
» Dos
response
response
» Mensaje HTTP request :
» Mensaje HTTP request :
ASCII (formato legible por humanos)
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
13 Oct
Servicios: Web, FTP
14/22
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-Lengt
Comentarios de: Tema 2.- Nivel de aplicación en Internet - Funcionamiento de Servicios Web, FTP (0)
No hay comentarios