Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Ayudantía 2 Redes de Computadores (Stgo, 2011-1)

Gonzalo Correa
November 13, 2011

Ayudantía 2 Redes de Computadores (Stgo, 2011-1)

Ayudantía 2 del ramo Redes de Computadores dictado el primer semestre del 2011 en el campus Santiago San Joaquín de la USM

Gonzalo Correa

November 13, 2011
Tweet

More Decks by Gonzalo Correa

Other Decks in Education

Transcript

  1. Temas • Arquitecturas de aplicaciones de red • Servicios de

    transporte de Internet • Protocolos de la capa de aplicación ILI-256, Redes de Computadores 2
  2. Cliente - Servidor • Existe un servidor always-on que ofrece

    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
  3. Peer to Peer • No existen o muy pocos servidores

    – 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
  4. Peer to Peer • Problemas – No amigable con ISPs

    • 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
  5. Comunicación entre procesos • Siempre se tendrán dos actores –

    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
  6. Servicios de Transporte • La capa de transporte se encarga

    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
  7. Servicios de Transporte • Transferencia de datos confiable – Recordar

    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
  8. Servicios de Transporte • Throughput – Existen aplicaciones que necesitan

    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
  9. Servicios de Transporte • Throughput (Continuación) – Aplicaciones sensibles al

    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
  10. Servicios de Transporte • Seguridad – Datos son encriptados, tal

    que si hay un observador, no pueda descifrar el mensaje, pero el receptor si pueda ILI-256, Redes de Computadores 13
  11. TCP • Servicio orientado a la conexión – Previo al

    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
  12. TCP • Servicio de transferencia de datos confiable – Mensajes

    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
  13. UDP • No requiere conexión previa (sin handshake) • No

    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
  14. Servicios de transporte en Internet • Los protocolos de transporte

    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
  15. Protocolos de la capa de Aplicación • Definen como dos

    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
  16. Web y HTTP • La Web fue la primera aplicación

    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
  17. Web y HTTP • Estructura Cliente – Servidor • Algunos

    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
  18. Web y HTTP • Algunos elementos (Cont.) – Web browsers

    • Cliente o browser • Firefox, IE, Chrome, Opera, Lynx (?) – Web servers • Apache • IIS ILI-256, Redes de Computadores 23
  19. HTTP • Funciona sobre TCP • Protocolo sin estado –

    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
  20. Conexiones persistentes y no persistentes • No persistente: Se ocupa

    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
  21. Conexiones persistentes y no persistentes • Persistentes: Se ocupa una

    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
  22. Formato de los mensajes HTTP • Mensaje de solicitud HTTP

    • Ejemplo Wireshark ILI-256, Redes de Computadores 28
  23. Formato de los mensajes HTTP • Mensaje de respuesta HTTP

    • Ejemplo Wireshark ILI-256, Redes de Computadores 29 versión estado frase status line
  24. Cookies • Las cookies son una manera de agregar estados

    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
  25. Web Caching • También conocido como servidor proxy • Servidor

    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
  26. Web Caching • Beneficios – Cuando el cuello de botella

    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
  27. GET condicional • Problema de Web Caching – Contenido antiguo

    • 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
  28. FTP • File Transfer Protocol – Pensado para transferencias de

    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
  29. FTP • Control – Comandos para cambiar de directorio, obtener

    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
  30. FTP • Como ocupa una conexión separada para los comandos

    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
  31. FTP • Necesita mantener el estado de los usuarios, lo

    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
  32. Sistema de Correo de Internet • Consta de 3 actores

    – 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
  33. SMTP • Simple Mail Transfer Protocol • Basado en TCP

    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
  34. SMTP • Problema – Servidores se pueden comunicar entre si,

    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
  35. POP3 • Post Office Protocol – Version 3 • Basado

    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
  36. POP3 • Dos modos de conexión – download-and-delete • Los

    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
  37. IMAP • Internet Mail Access Protocol • Problema con POP3

    – 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
  38. IMAP • Permite búsquedas en el servidor • Mantiene estados

    entre sesiones • Existen comandos para recuperar secciones del mensaje – Solo mensaje en casos de bajo ancho de banda ILI-256, Redes de Computadores 48
  39. Web Mail • Usa HTTP para enviar mails a servidor

    en vez de SMTP • Interfaz web como Gmail, Hotmail, etc. ILI-256, Redes de Computadores 49