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

Unidad Temtica 1

LA CAPA DE APLICACIN

Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

Capa de aplicacin
Principios de las aplicaciones de red Web y HTTP FTP Correo electrnico
SMTP, POP3, IMAP

Aplicaciones P2P Programacin de Sockets con TCP Programacin de Sockets con UDP

DNS

Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

Algunas aplicaciones de red


Correo electrnico Navegadores Mensajera instantnea Acceso remoto Intercambio de archivos P2P Juegos multiusuario Clip de videos almacenados Voz sobre IP Videoconferencia en tiempo real

Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

Diseo de aplicaciones de red


Escribir programas que: Se puedan ejecutar sobre diferentes sistemas terminales Se comuniquen a travs de la red ej., el software del servidor web se comunica con diferentes navegadores No es necesario escribir software para los dispositivos en el corazn de la red Los dispositivos del corazn no ejecutan aplicaciones de usuario Las aplicaciones en los sistemas terminales permiten un rpido desarrollo y propagacin de las aplicaciones
Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

Capa de aplicacin
Principios de las aplicaciones de red Web y HTTP FTP Correo electrnico
SMTP, POP3, IMAP

Aplicaciones P2P Programacin de Sockets con TCP Programacin de Sockets con UDP

DNS

Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

Arquitecturas de las aplicaciones de red

Cliente-servidor Peer-to-peer (P2P) Hbridas entre cliente-servidor y P2P

Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

Arquitectura Cliente-servidor
servidor: Siempre encendido Direccin IP permanente Granja de servidores clientes: Solicita comunicacin con el servidor Se conecta en forma intermitente Puede tener direccin IP dinmica No se comunica directamente con otros clientes
Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

Arquitectura P2P pura


No hay servidor encendido permanentemente Los sistemas terminales se comunican directamente Los pares se conectan en forma intermitente y cambian dinmicamente sus direcciones IP

Es altamente escalable pero difcil de administrar


Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

Hbrido entre cliente-servidor y P2P


Skype

Mensajera instantnea

Aplicacin P2P de voz sobre IP Servidor centralizado: Buscando direcciones de pares remotos Conexin directa cliente-cliente
El chat entre dos usuarios es P2P Servicio centralizado: registro del cliente

El usuario registra su direccin IP con el servidos central cuando igresa al sistema Los usuarios contactan al servidos central para encontrar la direccin IP de sus amigos
Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

Procesos de comunicacin
Proceso: programa en ejecucin dentro de un host. Dentro del mismo host dos programas procesos se comunican usando comunicacin interprocesos (definido por el S.O). Procesos en diferentes hosts se comunican a tavs del intercambio de mensajes Proceso Cliente: proceso que inicia la comunicacin Proceso Servidor: proceso que espera para ser contactado
Nota: aplicaciones con arquitectura P2P tienen procesos cliente y procesos servidor

Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

Sockets
Los procesos envan/reciben mensajes a/desde su socket El socket es anlogo a una puerta
El proceso transmisor pone el mensaje en la puerta El proceso transmisor depende de la infraestructura de transporte al otro lado de la puerta, la cual lleva al mensaje hasta el socket en el proceso receptor
API: (1) escoge el protocolo de transporte; (2) puede fijar unos pocos parmetros
Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

Direccionamiento
Para recibir mensajes, el proceso debe tener un identificador El host tiene una direccin IP nica de 32-bit Q: La direccin IP de un host es suficiente para identificar el proceso? - No, muchos procesos pueden ejecutarse simultneamente en el mismo host

Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

Direccionamiento
El identificador incluye una direccin IP y uno nmeros de puertos asociados con el proceso que se ejecuta sobre el host. Ejemplos de nmeros de puerto:
HTTP server: 80 Mail server: 25

Para enviar mensajes HTTP al servidor web gaia.cs.umass.edu web server:


Direccin IP: 128.119.245.12 Puerto nmero: 80

Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

Los protocolos de la capa de aplicacin definen


Protocolos de dominio pblico: ej., requerimiento, respuesta Definidos en RFCs Sintaxis del mensaje: Permiten Campos en el mensaje y como interoperabilidad son delineados entre diferentes Semantica del mensaje redes y equipos Significado de la informacin ej., HTTP, SMTP contenida en los campos Protocolos propietarios: Reglas para definir cuando y como los procesos envian ej., Skype y responden los mensajes Tipos de mensajes intercambiados,
Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

Prdida de datos Algunas aplicaciones (ej., audio) pueden tolerar algunas prdidas Otras aplicaciones (ej., transferencia de archivos, telnet) requieren una transferencia de datos 100% confiable Retardo Algunas aplicaciones (ej., VoIP, juegos interactivos) requieren bajo retardo para ser efectivos

Qu servicios de transporte necesitan las aplicaciones?


Caudal Algunas aplicaciones (ej., multimedia) requieren un caudal mnimo para ser efectivas Otras aplicaciones (aplicaciones elsticas) del caudal disponible Seguridad Cifrado, integridad de los datos,

Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

Requerimiento de servicios de transporte en aplicaciones comunes


Application file transfer e-mail Web documents real-time audio/video stored audio/video interactive games instant messaging

Data loss
no loss no loss no loss loss-tolerant loss-tolerant loss-tolerant no loss

Throughput elastic elastic elastic audio: 5kbps-1Mbps video:10kbps-5Mbps same as above few kbps up elastic

Time Sensitive no no no yes, 100s msec yes, few secs yes, 100s msec yes and no

Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

Servicios de los protocolos de transporte en Internet


ServiciosTCP: Servicios UDP:
Transferencia de datos no confiable entre procesos transmisor y receptor No provee: establecimiento de sesin, confiabilidad, control de flujo, control de congestin, control de retardo, garantas de caudal, ni seguridad Orientado a conexin: requiere establecer una sesin entre los procesos cliente y servidor Ttransporte confiable entre el proceso transmisor y receptor Control de flujo: el transmisor no abrumar al receptor Control de congestin: regular al transmisor cuando la red este sobrecargada No provee: control de retardo, garantas de caudal mnimo, seguridad

Q: porque existe UDP?

Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

Aplicaciones de Internet: protocolos de aplicacin y transporte

Application e-mail remote terminal access Web file transfer streaming multimedia Internet telephony

Application layer protocol

Underlying transport protocol TCP TCP TCP TCP TCP or UDP

SMTP [RFC 2821] Telnet [RFC 854] HTTP [RFC 2616] FTP [RFC 959] HTTP (eg Youtube), RTP [RFC 1889] SIP, RTP, proprietary (e.g., Skype)

typically UDP

Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

Capa de aplicacin
Principios de las aplicaciones de red Web y HTTP FTP Correo electrnico
SMTP, POP3, IMAP

Aplicaciones P2P Programacin de Sockets con TCP Programacin de Sockets con UDP

DNS

Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

Web y HTTP
Una pgina Web esta compuesta de objetos Los objetos pueden ser archivos HTML, imgenes JPEG, applets Java, archivos de audio, Una pgina Web page consta de un archivo HTML base el cual incluye varias referencias a objetos Cada objeto es direccionable por medio de un URL Ejemplo URL:
www.someschool.edu/someDept/pic.gif
host name path name

Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

HTTP: introduccin
HTTP: protocolo de transferencia de hipertexto
Protocolo de aplicaciones Web Modelo cliente/servidor cliente: browser que solicita, recibe y despliega objetos Web servidor: servidor Web enva objetos en respuesta a requerimientos
Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

HTTP: introduccin
Usa TCP:
El cliente inicia una conexin TCP (crea un socket) con el servidor, puerto 80 El servidor acepta la conexin TCP del cliente Los mensajes HTTP (amensajes del protocolo de capa de aplicacin) son intercambiados entre el browser (cliente HTTP) y el servidor Web (servidor HTTP) La conexin TCP es cerrada

HTTP es sin estados


El servidor no guarda informacin de las solicitudes que el cliente hizo antes.

Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

Conexiones HTTP
Conexin HTTP no persistente A lo sumo un objeto es enviado a travs de una conexin TCP. Conexin HTTP persistente Mltiples objetos pueden ser enviados a travs de la misma conexin TCP entre cliente y servidor.

Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

HTTP no-persistente
Suponga que el usuario ingresa la URL
1a. El cliente HTTP inicia una

www.someSchool.edu/someDepartment/home.index
conexin TCP con el servidor HTTP (proceso) en www.someSchool.edu sobre el puerto 80

(contiene texto, referencias a 10 Imgenes jpeg

1b. El servidor HTTP en el host


www.someSchool.edu esta esperando solicitudes de conexin TCP en el puerto 80. acepta la conexin y notifica al cliente

2. El cliente HTTP enva un

mensaje de solicitud HTTP

(conteniendo el URL) a travs del socket de conexin TCP. El mensaje indica que el cliente desea el objeto

3. El servidor HTTP recibe el


mensaje de respuesta

mensaje de solicitud, crea un conteniendo el objeto solicitado, y enva el mensaje al socket

someDepartment/home.index

Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

HTTP no-persistente
5. El cliente HTTP recibe el

(cont..)

4. El servidor HTTP cierra la


conexin TCP. mensaje de respuesta conteniendo el archivo html y lo despliega. Analiza gramticamente el archivo, encuentra 10 referencias a objetos jpeg

6. Los pasos 1-5 son repetidos


para cada uno de los 10 objetos jpeg

Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

HTTP no-persistente: tiempo de respuesta


Definicin de RTT: tiempo necesario para que un paquete pequeo viaje desde el cliente hasta el servidor y regrese. Tiempo de respuesta: Un RTT para iniciar la conexinTCP Un RTT para la solicitud HTTP y primeros bytes de la respuesta HTTP Tiempo de transmisin del archivo total = 2RTT+transmit time
Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

HTTP persistente
Desventajas de HTTP nopersistente: Consume 2 RTTs por objeto El OS se sobrecarga por cada conexin TCP Los browsers a menudo abren conexiones TCP paralelas TCP para traer objetos referenciados HTTP persistente El servidor deja abierta la conexin despus de enviar la respuesta Subsecuentes mensajes HTTP entre el mismo cliente y servidor se envan sobre la conexin abierta El cliente enva solicitudes tan pronto como encuentra objetos referenciados

Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

Mensaje de solicitud HTTP


Dos tipos de mensajes HTTP: solicitud, respuesta Mensaje de solicitud HTTP:
ASCII (formato legible por humanos) request line (GET, POST, HEAD commands) GET /somedir/page.html HTTP/1.1 Host: www.someschool.edu User-agent: Mozilla/4.0 header Connection: close lines Accept-language:fr

Carriage return, line feed indicates end of message

(extra carriage return, line feed)

Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

Mensaje de solicitud HTTP: formato general

Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

Cargando formatos de entrada


Mtodo Post: Las pginas Web a menudo incluyen formularios de entrada El formulario es cargado al servidor en el cuerpo de la entidad entity body

Mtodo URL: Usa el mtodo GET La informacin es cargada en la lnea de campo URL:

www.somesite.com/animalsearch?monkeys&banana

Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

Tipos de Mtodos
HTTP/1.0 GET POST HEAD
Indica al servidor que no incluya el objeto solicitado en la respuesta. Utilizado en operaciones de prueba y configuracin.

HTTP/1.1 GET, POST, HEAD PUT


Permite subir objetos en el servidor en una ruta especificada en el URL

DELETE
Borra archivos especificados en el campo URL

Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

Mensaje de respuesta HTTP

Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

Cdigos de estado HTTP en los mensajes de respuesta


En la primera lnea en el mensaje de respuesta del servidor al cliente. Algunos ejemplos de cdigos :

200 OK
request succeeded, requested object later in this message

301 Moved Permanently


requested object moved, new location specified later in this message (Location:)

400 Bad Request


request message not understood by server

404 Not Found


requested document not found on this server

505 HTTP Version Not Supported


Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

Web caches (servidor proxy)


meta: satisfacer las solicitudes del cliente sin involucrar el servidor original

Usuarios configuran el browser: acceso Web va cache El browser enva todas las solicitudes HTTP a la cache
La cache retorna los objetos La cache tambin solicita objetos al servidor original, y entonces entrega los objetos al cliente.
Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

Ms sobre Web caching


La cache acta como cliente y servidor Tpicamente la cache es instalada por el ISP (university, company, residential ISP)
Porqu usar Web caching? reduce el tiempo de respuesta a las solicitudes del cliente Reduce el trfico sobre el enlace de acceso a una institucin. Ayuda a reducir el trfico en Internet.

Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

Caching example
Assumptions
average object size = 100,000 bits avg. request rate from institutions browsers to origin servers = 15/sec delay from institutional router to any origin server and back to router = 2 sec

Consequences
utilization on LAN = 15% utilization on access link = 100% total delay = Internet delay + access delay + LAN delay = 2 sec + minutes + milliseconds
Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

Caching example (cont)


possible solution
increase bandwidth of access link to, say, 10 Mbps

consequence
utilization on LAN = 15% utilization on access link = 15% Total delay = Internet delay + access delay + LAN delay = 2 sec + msecs + msecs often a costly upgrade

Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

GET condicional
meta: no enviar un objeto a la cache si sta tiene una versin actualizada cache: especifica la fecha de la copia almacenada en la solicitud HTTP
If-modified-since: <date>

server: si los objetos de la copia almacenada estn actualizados responde:


HTTP/1.0 304 Not Modified

Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

Capa de aplicacin
Principios de las aplicaciones de red Web y HTTP FTP Correo electrnico
SMTP, POP3, IMAP

Aplicaciones P2P Programacin de Sockets con TCP Programacin de Sockets con UDP

DNS

Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST

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