Вы находитесь на странице: 1из 28

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS

FACULTAD DE INGENIERIA ELECTRÓNICA Y ELÉCTRICA

Capa de Aplicación

Profesor: Ing. Ronald Paucar C.

San Miguel, 2014


rpaucarc@gmail.com
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
FACULTAD DE INGENIERIA ELECTRÓNICA Y ELÉCTRICA

Introducción

rpaucarc@gmail.com
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
FACULTAD DE INGENIERIA ELECTRÓNICA Y ELÉCTRICA

Modelo OSI y TCP/IP


OSI TCP/IP

rpaucarc@gmail.com
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
FACULTAD DE INGENIERIA ELECTRÓNICA Y ELÉCTRICA

Generaciones de Servicios por Internet

Según Cisco, la primera ola de Internet era el


correo electrónico y los sitios web básicos. La
segunda era del comercio electrónico. El tercero,
que es el estado actual, se define por la nube,
redes sociales y video. La versión 4.0 es la
Internet, ahora el desarrollo de las Cosas.

Read more from Journal


Sentinel: http://www.jsonline.com/business/rockwe
ll-leading-way-in-next-industrial-revolution-
b99174535z1-238731421.html#ixzz2yyF4YqV4
Follow us: @JournalSentinel on Twitter

rpaucarc@gmail.com
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
FACULTAD DE INGENIERIA ELECTRÓNICA Y ELÉCTRICA

Internet de las cosas

rpaucarc@gmail.com
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
FACULTAD DE INGENIERIA ELECTRÓNICA Y ELÉCTRICA

Aplicaciones de red: algunos términos


Proceso: instancia de un programa Agente de usuario: interfaces con el
que se ejecuta dentro de un usuario “arriba” y la red “abajo”.
nodo o contexto de ejecución de • Implementa la interfaz de usuario
un programa que está corriendo. y el protocolo de la capa de
• Dentro del mismo host, dos aplicación
procesos se comunican utilizando – Cliente Web: browser
comunicación entre procesos – Cliente E-mail: lector de correo
(definido por el sistema
– Cliente de mensajería
operativo). instantánea: MSN, gtalk
• Los procesos que se ejecutan – Cliente streaming audio/video:
entre diferentes nodos lo hacen media player
mediante un protocolo de la capa
de aplicación

rpaucarc@gmail.com
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
FACULTAD DE INGENIERIA ELECTRÓNICA Y ELÉCTRICA

Aplicaciones y protocolos de la capa de aplicaciones

Aplicaciones: procesos distribuidos, aplicación


procesos que se comunican transporte
red
– Por ejemplo, e-mail, Web, compartir enlace
física
archivos P2P, mensajería instantanea
– Se ejecutan en end systems (hosts)
– Intercambian mensajes para
implementar la aplicación
Protocolos de la capa de aplicación
– Son “una parte” de una aplicación
– define los mensajes que se
intercambian por las aplicaciones y las
acciones que deben realizar
aplicación
– Utilizan los servicios de comunicación aplicación transporte
transporte red
proporcionados por los protocolos de red enlace
la capa inferior (TCP, UDP) enlace física
física

rpaucarc@gmail.com
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
FACULTAD DE INGENIERIA ELECTRÓNICA Y ELÉCTRICA

Un protocolo de la capa de aplicaciones define…


• Los tipos de mensajes Protocolos de dominio público:
intercambiados, es decir los
mensajes de solicitud y los de • Definidos en RFCs
respuesta • Buscan interoperabilidad
• La sintáxis de los tipos de • ejemplos, HTTP, SMTP, FTP,
mensaje: qué campos tendrá el
etc.
mensaje y cómo se delimitan los
campos Protocolos proprietarios:
• La semántica de los campos, es • ejemplo, KaZaA, Skype, etc.
decir, el significado de la
información colocada en los
campos
• Las reglas de cuándo y cómo los
procesos envían o reciben
mensajes
rpaucarc@gmail.com
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
FACULTAD DE INGENIERIA ELECTRÓNICA Y ELÉCTRICA

Paradigma cliente-servidor
Las aplicaciones de red típicas tienen
dos partes: el cliente y el servidor aplicación
transporte
red
enlace
Cliente: física

 Inicia el contacto con el servidor solicitud


(“habla primero”)
 Normalmente solicita servicios
desde el servidor,
 Web: el cliente está implementado
en el browser; e-mail: en el lector de respuesta
correo
aplicación
transporte
Servidor: red

 Proporciona el servicio solicitado por el


enlace
física

cliente
 ejemplo, el servidor Web envía la página
web solicitada, el servidor de correo
entrega el mensaje de correo
rpaucarc@gmail.com
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
FACULTAD DE INGENIERIA ELECTRÓNICA Y ELÉCTRICA

Los procesos se comunican a través de la red

host o
• Los procesos envían/reciben host o
servidor servidor
mensajes hacia/desde su
socket Controlado por
• Un socket es análogo a una proceso
el desarrollador
proceso
puerta socket socket
– El proceso que envía empuja el
TCP con TCP con
mensaje hacia afuera buffers, Internet buffers,
– El proceso que envía asume variables variables
que existe una infraestructura
de transporte al otro lado de la
controlado
puerta que llevará el mensaje por OS
hasta el socket del proceso que
lo recibirá

rpaucarc@gmail.com
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
FACULTAD DE INGENIERIA ELECTRÓNICA Y ELÉCTRICA

Direccionamiento de procesos:
• Para que un proceso reciba • El identificador de un
mensajes, este debe tener un proceso en Internet
identificador incluye tanto la dirección
• Cualquier nodo en Internet tiene IP como el número de
una dirección IP única (32 bits puerto asociado con el
en IPv4, 128 bits en IPv6) proceso dentro del host.
• Pregunta: ¿es suficiente con la • Ejemplos de números de
dirección IP para identificar los
puerto “bien conocidos”:
procesos?
– Servidor HTTP: 80
• Respuesta: No. Muchos
– Servidor de correo: 25
procesos pueden ejectutarse en
el mismo host

rpaucarc@gmail.com
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
FACULTAD DE INGENIERIA ELECTRÓNICA Y ELÉCTRICA

Número de puertos

rpaucarc@gmail.com
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
FACULTAD DE INGENIERIA ELECTRÓNICA Y ELÉCTRICA

¿Qué servicios de transporte requiere una aplicación?

Pérdida de datos Ancho de Banda


• Algunas aplicaciones (por ejemplo, • Algunas aplicaciones
audio) pueden tolerar alguna (multimedia) requieren un
pérdida mínimo en la cantidad de ancho
• otras aplicaciones (ftp, telnet) de banda para ser “efectivas”
requieren una confiabilidad del • otras aplicaciones (“aplicaciones
100% al transferir datos elásticas”) utilizan el ancho de
banda que encuentren
Control preciso de tiempo
• Algunas aplicaciones (telefonía
Internet, juegos interactivos)
requieren poco retardo para
que sean “efectivas”

rpaucarc@gmail.com
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
FACULTAD DE INGENIERIA ELECTRÓNICA Y ELÉCTRICA

Requerimientos de servicios de transporte de


aplicaciones comunes

Pérdida Sensitivo al
Aplicación de Datos Ancho de Banda tiempo

Transferencia de archivos No elástico no


Correo No elástico no
Documentos web No elástico no
audio/video en tiempo real audio: 5kbps-1Mbps
Tolerante sí, 100’s ms
video:10kbps-5Mbps
audio/video almacenado Tolerante El mismo anterior sí, pocos s
Juegos interactivos Tolerante Algunos kbps sí, 100’s ms
Mensajería instantánea No elástico sí y no

rpaucarc@gmail.com
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
FACULTAD DE INGENIERIA ELECTRÓNICA Y ELÉCTRICA

Servicios de los protocolos de transporte de Internet

Servicio de TCP: Servicio de UDP:


• Orientado a conexión: se debe • Transferencia de datos no
establecer una conexión entre los confiable entre el proceso
procesos cliente y servidor emisor y el receptor
• Transporte confiable entre el proceso
emisor y el proceso receptor
• NO ofrece: establecimiento
de conexión, confiabilidad,
• Control de flujo: el emisor no debe
“saturar” al receptor
control de flujo, control de
congestión, control de
• Control de congestión: el emisor debe
moderarse cuando la red esté tiempo, o garantía de ancho
“sobrecargada” de banda mínimo
• No ofrece: ni control de tiempos, ni
garantiza un mínimo ancho de banda

rpaucarc@gmail.com
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
FACULTAD DE INGENIERIA ELECTRÓNICA Y ELÉCTRICA

Aplicaciones de Internet: aplicación, protocolos de


transporte

Protocolo de la Protocolo de la
Aplicación capa de aplicación capa de transporte

e-mail SMTP [RFC 2821] TCP


Acceso remoto Telnet [RFC 854] TCP
Web HTTP [RFC 2616] TCP
Transferencia de archivos FTP [RFC 959] TCP
streaming multimedia proprietario TCP o UDP
(RealNetworks)
Telefonía Internet proprietary
(Dialpad) normalmente UDP

rpaucarc@gmail.com
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
FACULTAD DE INGENIERIA ELECTRÓNICA Y ELÉCTRICA

WEB y HTTP

rpaucarc@gmail.com
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
FACULTAD DE INGENIERIA ELECTRÓNICA Y ELÉCTRICA

Web y HTTP
Algunos términos
• Una página Web consta de objetos
• Los objetos pueden ser un archivo HTML, una imagen JPEG,
un applet Java, un archivo de audio,…
• Una página Web consta de un archivo HTML base que incluye
diversos objetos referenciados
• Cada objeto se direcciona con un URL
• Ejemplo de un URL:
www.algunsitio.edu/algunaFacultad/documento.html

Nombre del host Nombre del path

rpaucarc@gmail.com
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
FACULTAD DE INGENIERIA ELECTRÓNICA Y ELÉCTRICA

Panorámica de HTTP

HTTP: protocolo de transferencia de


hipertexto
• Es el protocolo de la capa de
aplicación para el Web PC ejecutando
• Usa el modelo cliente/servidor IE Explorer
– cliente: browser o navegador que
solicita, recibe y muestra los
objetos Web
– servidor: Servidor www que Servidor
envía objetos en respuesta a las ejecutando
solicitudes del browser El servidor Web
• HTTP 1.0: RFC 1945 Apache
• HTTP 1.1: RFC 2068
Mac ejecutando
Netscape Navigator

rpaucarc@gmail.com
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
FACULTAD DE INGENIERIA ELECTRÓNICA Y ELÉCTRICA

Panorámica de HTTP (continuación)


Utiliza TCP: HTTP es “stateless”
• El cliente inicia la conexión TCP • El servidor no mantiene
(crea el socket) al servidor, información sobre las
puerto 80 solicitudes anteriores del
• El servidor acepta la conexión cliente
TCP solicitada por cliente
• Los mensajes HTTP (mensajes NOTA
del protocolo de la capa de ¡Los protocolos que mantienen
aplicación) se intercambian entre información de estado son
el browser (cliente HTTP) y el complejos!
servidor Web (servidor HTTP) • La historia pasada (estado)
• Se cierra la conexión TCP debe guardarse
• Si el servidor o el cliente fallan,
sus “imágenes” del estado de
la sesión pueden ser
inconsistentes y deben
“reconciliarlas”

rpaucarc@gmail.com
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
FACULTAD DE INGENIERIA ELECTRÓNICA Y ELÉCTRICA

Conexiones HTTP
HTTP no persistente HTTP persistente
• Al menos un objeto es • Multiples objetos pueden
enviado sobre una conexión ser enviados sobre una
TCP. misma conexión TCP entre
• HTTP/1.0 utiliza HTTP no el cliente y el servidor.
persistente • HTTP/1.1, por omisión,
utiliza conexiones
persistentes

rpaucarc@gmail.com
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
FACULTAD DE INGENIERIA ELECTRÓNICA Y ELÉCTRICA

HTTP No persistente
Supongamos que el usuario ingresa el URL
www.algunsitio.edu/algunaFacultad/index.html

1a. El cliente HTTP inicia la conexión


TCP al servidor HTTP (el proceso) en
www.algunsitio.edu en el puerto
1b. El servidor HTTP en el host
80 www.algunsitio.edu espera
conexiones TCP en el puerto
80. Cuando “acepta” una
conexión, notifica al cliente
2. El cliente HTTP envía un
request message (que contiene
el URL) hacia su socket de 3. El servidor HTTP recibe el
conexión TCP. El mensaje mensaje de solicitud, construye
indica que el cliente desea el un response message que
objeto contiene el objeto solicitado, y
algunaFacultad/index.html envía el mensaje hacia su
socket
tiempo

rpaucarc@gmail.com
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
FACULTAD DE INGENIERIA ELECTRÓNICA Y ELÉCTRICA

HTTP No persistente (cont.)

4. El servidor HTTP cierra la


conexión TCP.
5. El cliente HTTP recibe el mensaje de
repuesta que contiene el archivo
html, muestra el html. Al recorrer
el archivo html encuentra 10
objetos jpeg referenciados

tiempo
6. Los pasos 1 a 5 se repiten para
cada uno de los 10 objetos jpeg

rpaucarc@gmail.com
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
FACULTAD DE INGENIERIA ELECTRÓNICA Y ELÉCTRICA

Modelamiento del tiempo de respuesta


Definición de RRT: tiempo para enviar
un pequeño paquete y que este
viaje desde el cliente hasta el
servidor y que regrese.
Inicia Conexión
Tiempo de respuesta: TCP
• Un RTT para iniciar la conexión RTT
TCP solicita
• Un RTT para la solicitud HTTP y archivo
tiempo para
para que los primeros bytes de la RTT
transmitir
respuesta HTTP regresen archivo
archivo
• Tiempo de transmisión del archivo recibido
total = 2RTT+tiempo de transmisión
tiempo tiempo

rpaucarc@gmail.com
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
FACULTAD DE INGENIERIA ELECTRÓNICA Y ELÉCTRICA

Mensaje de solicitud HTTP


• HTTP tiene dos tipos de mensajes: request, response
• Mensaje de solicitud:
– ASCII (formato legible para nosotros)

Línea de solicitud
(comandos GET, POST, GET /algundir/pagina.html HTTP/1.1
HEAD) Host: www.algunsitio.edu
User-agent: Mozilla/4.0
Líneas de
Connection: close
encabezado
Accept-language:fr

“Carriage return, (“carriage return, line feed” adicional)


line feed”
Indica el final
del mensaje
rpaucarc@gmail.com
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
FACULTAD DE INGENIERIA ELECTRÓNICA Y ELÉCTRICA

Mensaje de respuesta de HTTP


Línea de estado
(código de
estado del HTTP/1.1 200 OK
Protocolo, Connection close
frase de estado) Date: Thu, 06 Aug 1998 12:00:15 GMT
Server: Apache/1.3.0 (Unix)
Líneas
Last-Modified: Mon, 22 Jun 1998 …...
de encabezado
Content-Length: 6821
Content-Type: text/html

datos, es decir, datos datos datos datos datos ...


archivo HTML
solicitado

rpaucarc@gmail.com
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
FACULTAD DE INGENIERIA ELECTRÓNICA Y ELÉCTRICA

Códigos de estado de HTTP


Se usan en la primera línea del mensaje de respuesta del servidor-
>cliente. Ejemplos:

200 OK
– Solicitud exitosa, el objeto solicitado va en este mensaje
301 Moved Permanently
– El objeto solicitado fue movido, la nueva ubicación se especifica
posteriormente en este mensaje (Location:)
400 Bad Request
– El mensaje de solicitud no fue entendido por el servidor
404 Not Found
– El documento solicitado no se encontró en este servidor
505 HTTP Version Not Supported
rpaucarc@gmail.com
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
FACULTAD DE INGENIERIA ELECTRÓNICA Y ELÉCTRICA

Conexión HTTP (cliente) hecha “a mano”


1. Conéctese, a través de telnet al puerto 80, a su sitio Web favorito:

telnet www.arcesio.net 80 Abre una conexión TCP al puerto 80


(puerto “bien conocido” de HTTP) en
www.arcesio.net.
Cualquier cosa que se digite será enviada
Al puerto 80 en www.arcesio.net
2. Digite una solicitud de HTTP con el método GET:

GET /index.html HTTP/1.0 Al digitar esto (y oprimir <ENTER>


dos veces), se enviará
esta solicitud HTTP mínima
(pero completa) al servidor HTTP

3. ¡Observe el mensaje de respuesta enviado por el servidor HTTP!

rpaucarc@gmail.com

Вам также может понравиться