Está en la página 1de 25

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS

FACULTAD DE INGENIERIA ELECTRNICA Y ELCTRICA

Arquitectura TCP/IP: Capa de Aplicacin


Profesor: Ing. Ronald Paucar Curasma

San Miguel, 2013


rpaucarc@gmail.com

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS


FACULTAD DE INGENIERIA ELECTRNICA Y ELCTRICA

Introduccin

rpaucarc@gmail.com

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS


FACULTAD DE INGENIERIA ELECTRNICA Y ELCTRICA

Aplicaciones de red: algunos trminos


Proceso: instancia de un programa que se ejecuta dentro de un nodo o contexto de ejecucin de un programa que est corriendo. Dentro del mismo host, dos procesos se comunican utilizando comunicacin entre procesos (definido por el sistema operativo). Los procesos que se ejecutan entre diferentes nodos lo hacen mediante un protocolo de la capa de aplicacin Agente de usuario: interfaces con el usuario arriba y la red abajo. Implementa la interfaz de usuario y el protocolo de la capa de aplicacin
Cliente Web: browser Cliente E-mail: lector de correo Cliente de mensajera instantnea: IM client Cliente streaming audio/video: media player

rpaucarc@gmail.com

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS


FACULTAD DE INGENIERIA ELECTRNICA Y ELCTRICA

Aplicaciones y protocolos de la capa de aplicaciones


Aplicaciones: procesos distribuidos, procesos que se comunican
Por ejemplo, e-mail, Web, compartir archivos P2P, mensajera instantanea Se ejecutan en end systems (hosts) Intercambian mensajes para implementar la aplicacin
aplicacin
transporte

red enlace fsica

Protocolos de la capa de aplicacin


Son una parte de una aplicacin define los mensajes que se intercambian por las aplicaciones y las acciones que deben realizar Utilizan los servicios de comunicacin proporcionados por los protocolos de la capa inferior (TCP, UDP)

aplicacin
transporte

aplicacin
transporte

red enlace fsica

red enlace fsica

rpaucarc@gmail.com

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS


FACULTAD DE INGENIERIA ELECTRNICA Y ELCTRICA

Los tipos de mensajes intercambiados, es decir los mensajes de solicitud y los de respuesta La sintxis de los tipos de mensaje: qu campos tendr el mensaje y cmo se delimitan los campos La semntica de los campos, es decir, el significado de la informacin colocada en los campos Las reglas de cundo y cmo los procesos envan o reciben mensajes

Un protocolo de la capa de aplicaciones define

Protocolos de dominio pblico: Definidos en RFCs Buscan interoperabilidad ejemplos, HTTP, SMTP, FTP, etc. Protocolos proprietarios: ejemplo, KaZaA

rpaucarc@gmail.com

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS


FACULTAD DE INGENIERIA ELECTRNICA Y ELCTRICA

Paradigma cliente-servidor
Las aplicaciones de red tpicas tienen dos partes: el cliente y el servidor
Cliente: Inicia el contacto con el servidor (habla primero) Normalmente solicita servicios desde el servidor, Web: el cliente est implementado en el browser; e-mail: en el lector de correo
aplicacin
transporte

red enlace fsica

solicitud

respuesta
aplicacin
transporte

Servidor:

Proporciona el servicio solicitado por el cliente ejemplo, el servidor Web enva la pgina web solicitada, el servidor de correo entrega el mensaje de correo
rpaucarc@gmail.com

red enlace fsica

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS


FACULTAD DE INGENIERIA ELECTRNICA Y ELCTRICA

Los procesos se comunican a travs de la red


Los procesos envan/reciben mensajes hacia/desde su socket Un socket es anlogo a una puerta
El proceso que enva empuja el mensaje hacia afuera El proceso que enva asume que existe una infraestructura de transporte al otro lado de la puerta que llevar el mensaje hasta el socket del proceso que lo recibir
host o servidor Controlado por el desarrollador host o servidor

proceso socket

proceso socket

TCP con buffers, variables


controlado por OS

Internet

TCP con buffers, variables

API: (1) seleccin del protocolo de la capa de transporte; (2) habilidad para fijar unos pocos parmetros (se estudiar luego)

rpaucarc@gmail.com

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS


FACULTAD DE INGENIERIA ELECTRNICA Y ELCTRICA

Direccionamiento de procesos:
Para que un proceso reciba mensajes, este debe tener un identificador Cualquier nodo en Internet tiene una direccin IP nica (32 bits en IPv4, 128 bits en IPv6) Pregunta: es suficiente con la direccin IP para identificar los procesos? Respuesta: No. Muchos procesos pueden ejectutarse en el mismo host

El identificador de un proceso en Internet incluye tanto la direccin IP como el nmero de puerto asociado con el proceso dentro del host. Ejemplos de nmeros de puerto bien conocidos:
Servidor HTTP: 80 Servidor de correo: 25

Se estudiar luego

rpaucarc@gmail.com

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS


FACULTAD DE INGENIERIA ELECTRNICA Y ELCTRICA

Nmero de puertos

rpaucarc@gmail.com

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS


FACULTAD DE INGENIERIA ELECTRNICA Y ELCTRICA

Qu servicios de transporte requiere una aplicacin?


Prdida de datos Algunas aplicaciones (por ejemplo, audio) pueden tolerar alguna prdida otras aplicaciones (ftp, telnet) requieren una confiabilidad del 100% al transferir datos
Ancho de Banda Algunas aplicaciones (multimedia) requieren un mnimo en la cantidad de ancho de banda para ser efectivas otras aplicaciones (aplicaciones elsticas) utilizan el ancho de banda que encuentren

Control preciso de tiempo Algunas aplicaciones (telefona Internet, juegos interactivos) requieren poco retardo para que sean efectivas
rpaucarc@gmail.com

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS


FACULTAD DE INGENIERIA ELECTRNICA Y ELCTRICA

Requerimientos de servicios de transporte de aplicaciones comunes


Prdida Aplicacin de Datos Ancho de Banda Transferencia de archivos Correo Documentos web audio/video en tiempo real elstico elstico elstico audio: 5kbps-1Mbps video:10kbps-5Mbps audio/video almacenado Tolerante El mismo anterior Juegos interactivos Tolerante Algunos kbps Mensajera instantnea No elstico No No No Tolerante Sensitivo al tiempo

no no no s, 100s ms
s, pocos s s, 100s ms s y no

rpaucarc@gmail.com

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS


FACULTAD DE INGENIERIA ELECTRNICA Y ELCTRICA

Servicios de los protocolos de transporte de Internet


Servicio de TCP:
Orientado a conexin: se debe establecer una conexin entre los procesos cliente y servidor Transporte confiable entre el proceso emisor y el proceso receptor Control de flujo: el emisor no debe saturar al receptor Control de congestin: el emisor debe moderarse cuando la red est sobrecargada No ofrece: ni control de tiempos, ni garantiza un mnimo ancho de banda

Servicio de UDP:
Transferencia de datos no confiable entre el proceso emisor y el receptor NO ofrece: establecimiento de conexin, confiabilidad, control de flujo, control de congestin, control de tiempo, o garanta de ancho de banda mnimo

rpaucarc@gmail.com

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS


FACULTAD DE INGENIERIA ELECTRNICA Y ELCTRICA

Aplicaciones de Internet: aplicacin, protocolos de transporte

Aplicacin e-mail Acceso remoto Web Transferencia de archivos streaming multimedia Telefona Internet

Protocolo de la capa de aplicacin

Protocolo de la capa de transporte TCP TCP TCP TCP TCP o UDP

SMTP [RFC 2821] Telnet [RFC 854] HTTP [RFC 2616] FTP [RFC 959] proprietario (RealNetworks) proprietary (Dialpad)

normalmente UDP

rpaucarc@gmail.com

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS


FACULTAD DE INGENIERIA ELECTRNICA Y ELCTRICA

WEB y HTTP

rpaucarc@gmail.com

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS


FACULTAD DE INGENIERIA ELECTRNICA Y ELCTRICA

Web y HTTP
Algunos trminos Una pgina Web consta de objetos Los objetos pueden ser un archivo HTML, una imagen JPEG, un applet Java, un archivo de audio, Una pgina 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 ELECTRNICA Y ELCTRICA

Panormica de HTTP
HTTP: protocolo de transferencia de hipertexto
Es el protocolo de la capa de aplicacin para el Web Usa el modelo cliente/servidor cliente: browser o navegador que solicita, recibe y muestra los objetos Web servidor: Servidor www que enva objetos en respuesta a las solicitudes del browser HTTP 1.0: RFC 1945 HTTP 1.1: RFC 2068
PC ejecutando IE Explorer

Servidor ejecutando El servidor Web Apache

Mac ejecutando Netscape Navigator

rpaucarc@gmail.com

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS


FACULTAD DE INGENIERIA ELECTRNICA Y ELCTRICA

Panormica de HTTP (continuacin)


Utiliza TCP:
El cliente inicia la conexin TCP (crea el socket) al servidor, puerto 80 El servidor acepta la conexin TCP solicitada por cliente Los mensajes HTTP (mensajes del protocolo de la capa de aplicacin) se intercambian entre el browser (cliente HTTP) y el servidor Web (servidor HTTP) Se cierra la conexin TCP

HTTP es stateless
El servidor no mantiene informacin sobre las solicitudes anteriores del cliente
NOTA Los protocolos que mantienen informacin de estado son complejos! La historia pasada (estado) debe guardarse Si el servidor o el cliente fallan, sus imgenes del estado de la sesin pueden ser inconsistentes y deben reconciliarlas

rpaucarc@gmail.com

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS


FACULTAD DE INGENIERIA ELECTRNICA Y ELCTRICA

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

rpaucarc@gmail.com

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS


FACULTAD DE INGENIERIA ELECTRNICA Y ELCTRICA

HTTP No persistente
Supongamos que el usuario ingresa el URL
www.algunsitio.edu/algunaFacultad/index.html 1a. El cliente HTTP inicia la conexin
TCP al servidor HTTP (el proceso) en www.algunsitio.edu en el puerto 80

(contiene texto, referencia a 10 imgenes jpeg)

1b. El servidor HTTP en el host


www.algunsitio.edu espera conexiones TCP en el puerto 80. Cuando acepta una conexin, notifica al cliente

2. El cliente HTTP enva un


request message (que contiene el URL) hacia su socket de conexin TCP. El mensaje indica que el cliente desea el objeto algunaFacultad/index.html
tiempo

3. El servidor HTTP recibe el


mensaje de solicitud, construye un response message que contiene el objeto solicitado, y enva el mensaje hacia su socket

rpaucarc@gmail.com

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS


FACULTAD DE INGENIERIA ELECTRNICA Y ELCTRICA

HTTP No persistente (cont.)


4. El servidor HTTP cierra la 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
conexin TCP.

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 ELECTRNICA Y ELCTRICA

Modelamiento del tiempo de respuesta


Definicin de RRT: tiempo para enviar un pequeo paquete y que este viaje desde el cliente hasta el servidor y que regrese. Tiempo de respuesta: Un RTT para iniciar la conexin TCP Un RTT para la solicitud HTTP y para que los primeros bytes de la respuesta HTTP regresen Tiempo de transmisin del archivo total = 2RTT+tiempo de transmisin

Inicia Conexin TCP RTT solicita archivo RTT archivo recibido tiempo tiempo tiempo para transmitir archivo

rpaucarc@gmail.com

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS


FACULTAD DE INGENIERIA ELECTRNICA Y ELCTRICA

Mensaje de solicitud HTTP


HTTP tiene dos tipos de mensajes: request, response Mensaje de solicitud:
ASCII (formato legible para nosotros)
Lnea de solicitud (comandos GET, POST, HEAD)

GET /algundir/pagina.html HTTP/1.1 Host: www.algunsitio.edu User-agent: Mozilla/4.0 Lneas de Connection: close encabezado Accept-language:fr (carriage return, line feed adicional)

Carriage return, line feed Indica el final del mensaje

rpaucarc@gmail.com

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS


FACULTAD DE INGENIERIA ELECTRNICA Y ELCTRICA

Mensaje de respuesta de HTTP


Lnea de estado (cdigo de estado del Protocolo, frase de estado) Lneas de encabezado HTTP/1.1 200 OK Connection close Date: Thu, 06 Aug 1998 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 1998 ... Content-Length: 6821 Content-Type: text/html datos datos datos datos datos ...

datos, es decir, archivo HTML solicitado

rpaucarc@gmail.com

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS


FACULTAD DE INGENIERIA ELECTRNICA Y ELCTRICA

Cdigos de estado de HTTP


Se usan en la primera lnea 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 ubicacin 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 ELECTRNICA Y ELCTRICA

Conexin HTTP (cliente) hecha a mano


1. Conctese, a travs de telnet al puerto 80, a su sitio Web favorito: Abre una conexin 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 mtodo GET: telnet www.arcesio.net 80
GET /index.html HTTP/1.0

Al digitar esto (y oprimir <ENTER> dos veces), se enviar esta solicitud HTTP mnima (pero completa) al servidor HTTP

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

rpaucarc@gmail.com

También podría gustarte