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

3f4a05fa73be3e28667149056fbd50a1?s=47 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

3f4a05fa73be3e28667149056fbd50a1?s=128

Gonzalo Correa

November 13, 2011
Tweet

Transcript

  1. Redes de Computadores Ayudantía 2 Gonzalo Correa gonzalo.correa@alumnos.usm.cl ILI-256, Redes

    de Computadores 05-04-2011
  2. Temas • Arquitecturas de aplicaciones de red • Servicios de

    transporte de Internet • Protocolos de la capa de aplicación ILI-256, Redes de Computadores 2
  3. ARQUITECTURAS Cliente – Servidor, Peer to Peer 3 ILI-256, Redes

    de Computadores
  4. 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
  5. 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
  6. 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
  7. 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
  8. Comunicación entre procesos ILI-256, Redes de Computadores 8

  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. SERVICIOS DE TRANSPORTE EN INTERNET TCP, UDP ILI-256, Redes de

    Computadores 14
  15. 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
  16. 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
  17. 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
  18. 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
  19. PROTOCOLOS DE LA CAPA DE APLICACIÓN HTTP, FTP, SMTP ILI-256,

    Redes de Computadores 19
  20. 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
  21. 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
  22. 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
  23. 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
  24. 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
  25. 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
  26. RTT (Round Trip Time) ILI-256, Redes de Computadores 26

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

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

    • Ejemplo Wireshark ILI-256, Redes de Computadores 29 versión estado frase status line
  30. 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
  31. 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
  32. 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
  33. 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
  34. FILE TRANFER PROTOCOL FTP ILI-256, Redes de Computadores 34

  35. 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
  36. 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
  37. 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
  38. 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
  39. FTP • Comandos – Ejemplo FileZilla ILI-256, Redes de Computadores

    39
  40. CORREO ELECTRÓNICO SMTP, IMAP, Web Mail ILI-256, Redes de Computadores

    40
  41. 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
  42. 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
  43. SMTP ILI-256, Redes de Computadores 43

  44. 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
  45. 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
  46. 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
  47. 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
  48. 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
  49. 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