servicios on-demand • Los clientes se conectan a un servidor, realizan una solicitud, y el servidor responde de acuerdo a lo solicitado • Esta arquitectura conlleva un gran costo de operación • Ejemplos – Web (o HTTP) – FTP – E-Mail 4 ILI-256, Redes de Computadores
– No hay una dependencia para su funcionamiento – Esto disminuye considerablemente los costos • Clientes (peers) se conectan entre si de manera intermitente • Auto-escalable • Ejemplos – BitTorrent – Skype – eMule ILI-256, Redes de Computadores 5
• Conexiones asimétricas – Seguridad • Por su naturaleza distribuida y abierta – Incentivos para su uso • Usuario debe “regalar” recursos al usarlo ILI-256, Redes de Computadores 6
Cliente: Quien inicia la comunicación • Recibe datos – Servidor: Espera a ser contactado • Envía datos • La comunicación esta basada en mensajes • Socket – Interfaz de software que utilizan los procesos para enviar mensajes a través de la red – Ejemplo “Casas y puertas” ILI-256, Redes de Computadores 7
de llevar el mensaje enviado por la aplicación desde un socket a otro (de una puerta a otra) • La elección del protocolo de transporte depende de las cosas que se necesiten… – Ejemplo “Tren-Avión” • … pero, existen 4 criterios para elegir ILI-256, Redes de Computadores 9
que datos se pueden perder • Buffer lleno en router • Paquete corrupto – Existen protocolos que aseguran la llegada de datos a destino • Process-to-process reliable data transfer ILI-256, Redes de Computadores 10
una velocidad de transmisión especifica – El protocolo de transporte podría asegurar tener ese mínimo de velocidad para poder transmitir – Si no hay suficiente ancho de banda disponible, la aplicación puede • Adaptar la velocidad que necesita • Rendirse ILI-256, Redes de Computadores 11
ancho de banda • Aquellas que necesitan una velocidad de transferencia especifica – Aplicaciones elásticas • Ocupan tanto ancho de banda como puedan • Tiempo – Asegurar que los datos llegarán en un tiempo máximo determinado ILI-256, Redes de Computadores 12
envió de mensajes, cliente y servidor intercambian datos de control de la capa de transporte • Handshake – Antes de esto, se dice que la conexión TCP ya existe entre los sockets – Conexión es Full Duplex – Al terminar el envío de mensajes, aplicación debe cerrar la conexión ILI-256, Redes de Computadores 15
llegarán a su destino intactos • Además, TCP tiene control de congestión – Limita el envío de mensajes de un proceso cuando la red esta congestionada ILI-256, Redes de Computadores 16
asegura que el mensaje llegará a destino • Mensajes pueden llegar desordenados • No tiene control de congestión – Mensajes son enviados de inmediato • Algo bueno? – Al no tener control de congestión, los datos son enviados de inmediato – Los paquetes son mas livianos a diferencia de TCP ILI-256, Redes de Computadores 17
de internet no proveen servicios que aseguren throughput o tiempo • Para que un proceso se comunique con otro, debe saber como ubicarlo! – Dirección IP – Puerto ILI-256, Redes de Computadores 18
procesos corriendo en dos sistemas distintos se pasan mensajes – Tipos de mensajes – Sintaxis de los mensajes – Semántica de los mensajes – Reglas para determinar envío y respuesta a mensajes • Ejemplo: HTTP ILI-256, Redes de Computadores 20
de Internet que fue masivamente conocida • Opera on-demand, al entregar los contenidos que un usuario quiere, cuando quiere • HTTP (HyperText Transfer Protocol) – Protocol de aplicación de la Web ILI-256, Redes de Computadores 21
elementos – Página Web • Formada por objetos • Una archivo base HTML – Enlaza a otros objetos por su URL • Estructura de una URL – Nombre de Host y nombre de ruta http://www.codegears.cl/test/logo.png ILI-256, Redes de Computadores 22
Servidor no guarda información de los clientes que solicitan objetos – Si un mismo cliente solicita un archivo dos veces seguidas, el servidor enviara el archivo ambas veces, ya que no recuerda que el cliente lo había solicitado previamente ILI-256, Redes de Computadores 24
una conexión TCP por cada solicitud – Cada conexión consta de un mensaje de solicitud y un mensaje de respuesta – Ejemplo: Página base con 10 elementos – Concepto importante: RTT (Round Trip Time) • Tiempo que demora un paquete desde el cliente al servidor, y de vuelta desde el servidor al cliente ILI-256, Redes de Computadores 25
conexión TCP para todas las solicitudes – Se puede usar pipelining • No esperar respuesta a cada solicitud – Sujeto a timeout ILI-256, Redes de Computadores 27
a HTTP para “seguir los pasos” de un cliente • Esto se realiza con los headers – Set-cookie: nombre=valor – cookie: nombre=valor ILI-256, Redes de Computadores 30
que recibe y responde consultas HTTP • Mantiene copias de los objetos originales • Si no posee un objeto solicitado, lo pide al servidor de origen, almacena el objeto, y le envía una copia al cliente ILI-256, Redes de Computadores 31
de ancho de banda entre origen y cliente es muy pequeño comparado con el que hay entre el proxy y el cliente, además si el proxy puede entregar el contenido más rápido – Disminución del ancho de banda requerido para acceder a internet de una institución ILI-256, Redes de Computadores 32
• Para evitarlo, existe un header HTTP que ayuda a comprobar si un objeto ha cambiado If-modified-since: D, d M yyyy, hh:mm:ss ILI-256, Redes de Computadores 33
archivos entre un sistema de archivos remoto y el sistema de archivos local • Usa dos conexiones TCP paralelas – Control – Datos ILI-256, Redes de Computadores 35
y enviar archivos – Información de sesión – Persistente • Datos – Para transferencia de archivos – No persistente: Una por cada archivo a transferir ILI-256, Redes de Computadores 36
de control, se dice que FTP envía información de control out-of-band (fuera de banda) • Caso contrario, como HTTP, se llama in-band (en banda) ILI-256, Redes de Computadores 37
que limita la cantidad de usuarios simultáneos – Asociar conexión de control a un usuario – Saber en que directorio está • Soporta 2 modos de conexión – Activo: Cliente manda solicitud a servidor con su IP y puerto, y servidor crea la conexión TCP – Pasivo: Cliente manda comando PASV a servidor, servidor retorna IP y puerto para que cliente cree la conexión ILI-256, Redes de Computadores 38
– User agent • Programa para leer, recibir, enviar, etc. mensajes – Mail server • Encargado del envío y recepción de correos, y de mantener los buzones de cada usuario – SMTP • Protocolo de la capa de aplicación en la cual se basan todas las transacciones de correos. • Ejemplo de funcionamiento ILI-256, Redes de Computadores 41
con conexiones persistentes • Es para el envío de correos • Dato – Mensajes deben estar encodeados en ASCII de 7 bits ILI-256, Redes de Computadores 42
porque SMTP es un protocolo estilo push – Si queremos recuperar correos, debemos hacer algo estilo pull • Para eso, existen protocolos de acceso para transferir los mensajes entre servidor y user agent ILI-256, Redes de Computadores 44
en TCP • 3 fases – Autorización • Usuario - Contraseña – Transacción • Obtener mensajes y estadísticas, marcar y desmarcar mensajes para borrar – Actualización • Se cierra la conexión, y el servidor borra los mensajes marcados ILI-256, Redes de Computadores 45
mensajes son descargados y eliminados del servidor – download-and-keep • Los mensajes son descargados pero no son eliminados • El protocolo mantiene estados durante una sesión (mensajes a eliminar), pero no entre sesiones ILI-256, Redes de Computadores 46
– Al descargar mensajes, usuario puede organizarlos en carpetas, eliminarlos, y realizar búsquedas – Estos cambios son locales • IMAP asocia mensajes a carpetas a nivel de servidor – Mensajes entrantes llegan a carpeta INBOX ILI-256, Redes de Computadores 47
entre sesiones • Existen comandos para recuperar secciones del mensaje – Solo mensaje en casos de bajo ancho de banda ILI-256, Redes de Computadores 48