Capitulo 2 - Aplicacion Flashcards
Arquitectura Cliente-Servidor
En este tipo de arquitecturas hay un host denominado servidor, siempre disponible, que atiende peticiones de muchos otros host denominados clientes. Ejemplo: Aplicacion Web, FTP, email.
Arquitectura Peer-to-Peer y cual es la gran ventaja?
La necesidad de un servidor no existe o es mínima. Este tipo de arquitecturas explotan la comunicación directa entre pares de hosts denominados peers. Una de las grandes ventajas es que es auto escalable. El que empieza la comunicación se llama cliente y el otro servidor. Pueden ser a la vez cliente y servidor. Ejemplo: File distribution, Skype.
Socket
Es la interfaz (librería del sistema operativo) entre la capa de aplicación y la capa de transporte de un host.
Servicios que puede brindar la Capa de Transporte
- Transferencia confiable
- Throughput
- Tiempo
- Seguridad
Servicios de TCP
- Orientado a conexión: handshaking antes de comenzar la conexión full-duplex.
- Transferencia confiable de datos: sin errores y en orden.
- Control de congestión.
Servicios de UDP
Transferencia de datos no confiable: no garantiza que llegue y si llega no garantiza orden.
SSL
Security Socket Layer. Es una mejora para TCP, implementada a nivel de capa de aplicación (API), que provee encriptación de datos.

HTTP (TCP, 80)
HTTP es el protocolo de capa de aplicación para la Web. Esta implementado en dos programas, cliente y servidor, que se comunican entre sí intercambiando mensajes http.
Utiliza TCP como protocolo de transporte y no mantiene estado (stateless).

HTTP con conexiones NO persistentes (que es y nombrar 2 desventajas)
Cada par request/response se envía en una conexión TCP diferente. (Se pueden hacer en paralelo).
Desventajas: tiempo de handshaking y sobrecarga del servidor.
RTT
Round Trip Time: es el tiempo que le lleva a un paquete ir desde el cliente al servidor y de vuelta al cliente.
HTTP con conexiones persistentes
La conexión TCP se mantiene abierta luego de enviar la respuesta. Se cierra cuando no es utilizada por un cierto tiempo (timeout). HTTP usa por defecto conexiones persistentes.
HTTP Request Message
Ejemplo:
GET /somedir/page.html HTTP/1.1
Host: www.someschool.edu
Connection: close
User-agent: Mozilla/5.0
Accept-language: fr

HTTP Response Message
Ejemplo:
HTTP/1.1 200 OK
Connection: close
Date: Tue, 09 Aug 2011 15:44:04 GMT
Server: Apache/2.2.3 (CentOS)
Last-Modified: Tue, 09 Aug 2011 15:11:03 GMT
Content-Length: 6821
Content-Type: text/html
(data data data data data …)
El contenido del mensaje de http es en binario, a diferencia de SMTP que es en ascii.

HTTP 1.0 vs HTTP 1.1
Las mas importantes:
HTTP 1.1 admite conexiones persistentes, HTTP 1.0 no.
HTTP 1.1 tiene un header requerido “host”, HTTP 1.0 no
Cookies
Utilizada por los sitios para guardar información de los usuarios. Permite restringir el acceso o brindar contenido específico al usuario.

Proxy Server y 2 ventajas
Es una entidad que satisface pedidos en nombre de otro Web server. Mantiene copias de los objetos pedidos recientemente en un disco.
Ventajas: reduce sustancialmente el tiempo de respuesta y reduce el tráfico hacia afuera (internet).
Conditional GET
Es un mecanismo que permite verificar que los objetos almacenados estan actualizados. Es un HTTP request que utiliza el método GET con el header If-Modified-Since.
Request:
GET /fruit/kiwi.gif HTTP/1.1
Host: www.exotiquecuisine.com
If-modified-since: Wed, 7 Sep 2011 09:23:24
Response:
HTTP/1.1 304 Not Modified
Date: Sat, 15 Oct 2011 15:39:29
Server: Apache/1.3.0 (Unix)
(empty entity body)
FTP (TCP 20,21)
Es un protocolo que permite transferir archivos desde un sistema de archivos local a un sistema de archivos remoto y viceversa.
Utiliza dos conexiones TCP paralelas, una para transferir datos (por archivo) y otra para enviar mensajes de control (user, pwd, comandos). Out-Of-Band.
Mantiene estado: datos de usuario y directorio actual.

Comandos FTP


User Agent (email)
Permite leer, responder y forwardear mensajes que luego serán enviados al mail server.
SMTP (TCP, 25)
Es el principal protocolo de capa de aplicación para el correo electrónico. SMTP transfiere mensajes desde el servidor de correo de origen al servidor de correo del receptor. Utiliza conexiones persistentes.

Email protocols

POP3 (TCP, 110)

IMAP (TCP, 143)
Permite crear carpetas remotas, POP3 no. Permite también, obtener solo parte de los mensajes, por ejemplo los headers, útil cuando hay poco ancho de banda.






