Grupo de Tratamiento de Seales y Telecomunicaciones - GTST
LA CAPA DE APLICACIN Unidad Temtica 1 Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST Principios de las aplicaciones de red Web y HTTP FTP Correo electrnico SMTP, POP3, IMAP DNS Aplicaciones P2P Programacin de Sockets con TCP Programacin de Sockets con UDP Capa de aplicacin Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST Principios de las aplicaciones de red Web y HTTP FTP Correo electrnico SMTP, POP3, IMAP DNS Aplicaciones P2P Programacin de Sockets con TCP Programacin de Sockets con UDP Capa de aplicacin Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST Aplicaciones: la interfaz entre las personas y la red de datos Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST Aplicaciones: la interfaz entre las personas y la red de datos Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST Aplicaciones: la interfaz entre las personas y la red de datos 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 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 Cliente-servidor 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 Aplicacin P2P de voz sobre IP Servidor centralizado: Buscando direcciones de pares remotos Conexin directa cliente-cliente Mensajera instantnea 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 inter- procesos (definido por el S.O). Procesos en diferentes hosts se comunican a travs 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 unos 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 Tipos de mensajes intercambiados, ej., requerimiento, respuesta Sintaxis del mensaje: Campos en el mensaje y como son delineados Semantica del mensaje Significado de la informacin contenida en los campos Reglas para definir cuando y como los procesos envian y responden los mensajes Protocolos de dominio pblico: Definidos en RFCs Permiten interoperabilidad entre diferentes redes y equipos ej., HTTP, SMTP Protocolos propietarios: ej., Skype Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST Qu servicios de transporte necesitan las aplicaciones? 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 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: 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 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 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 SMTP [RFC 2821] Telnet [RFC 854] HTTP [RFC 2616] FTP [RFC 959] HTTP (eg Youtube), RTP [RFC 1889] SIP, RTP, proprietary (e.g., Skype) Underlying transport protocol TCP TCP TCP TCP TCP or UDP typically UDP Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST Principios de las aplicaciones de red Web y HTTP FTP Correo electrnico SMTP, POP3, IMAP DNS Aplicaciones P2P Programacin de Sockets con TCP Programacin de Sockets con UDP Capa de aplicacin Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST Web y HTTP Una pgina Web est 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 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. HTTP: introduccin 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. Una de las principales diferencias entre la versin HTTP1.0 y HTTP1.1 Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST HTTP no-persistente Suponga que el usuario ingresa la URL www.someSchool.edu/someDepartment/home.index 1a. El cliente HTTP inicia una conexin TCP con el servidor HTTP (proceso) en www.someSchool.edu sobre el puerto 80 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 someDepartment/home.index 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 3. El servidor HTTP recibe el mensaje de solicitud, crea un mensaje de respuesta conteniendo el objeto solicitado, y enva el mensaje al socket (contiene texto, referencias a 10 Imgenes jpeg Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST 5. El cliente HTTP recibe el 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 4. El servidor HTTP cierra la conexin TCP. HTTP no-persistente (cont..) 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 no- persistente: 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) GET /somedir/page.html HTTP/1.1 Host: www.someschool.edu User-agent: Mozilla/4.0 Connection: close Accept-language:fr (extra carriage return, line feed) request line (GET, POST, HEAD commands) header lines Carriage return, line feed indicates end of message 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 HEAD: Similar al 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 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 En la primera lnea en el mensaje de respuesta del servidor al cliente. Algunos ejemplos de cdigos : Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST Web caches (servidor proxy) 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. meta: satisfacer las solicitudes del cliente sin involucrar el servidor original 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 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 Cookies? Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST Principios de las aplicaciones de red Web y HTTP FTP Correo electrnico SMTP, POP3, IMAP DNS Aplicaciones P2P Programacin de Sockets con TCP Programacin de Sockets con UDP Capa de aplicacin Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST FTP: file transfer protocol Transferencia de archivos a/desde un host remoto Modelo cliente/servidor cliente: lado que inicia la conexin server: host remoto ftp: RFC 959 ftp server: puerto 21 file transfer FTP server FTP user interface FTP client local file system remote file system user at host Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST FTP: separa conexiones de control y datos El cliente FTP contacta al servidor FTP a travs del puerto 21 El cliente es autorizado a travs de la conexin de control El cliente navega en el directorio remoto enviando comandos a travs de la conexin de control Cuando el servidor recibe un comando de transferencia de archivo abre una segunda conexin TCP para transferir el archivo al cliente Despus de transferir un archivo el servidor cierra la conexin de datos FTP client FTP server TCP control connection port 21 TCP data connection port 20 El servidor abre otra conexin de datos TCP para transferir otro archivo Conexin de control: out of band El servidor FTP mantiene el estado: directorio actual, previa autenticacin del usuario Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST FTP comandos, respuestas Comandos comunes: Enviados como texto ASCII a travs del canal de control USER username PASS password LIST retorna la lista de archivos en el directorio actual RETR filename recupera (extrae) un archivo STOR filename almacena (pone) un archivo en el host remoto Respuestas comunes Cdigo de estado y frase (como en HTTP) 331 Username OK, password required 125 data connection already open; transfer starting 425 Cant open data connection 452 Error writing file Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST Principios de las aplicaciones de red Web y HTTP FTP Correo electrnico SMTP, POP3, IMAP DNS Aplicaciones P2P Programacin de Sockets con TCP Programacin de Sockets con UDP Capa de aplicacin Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST Correo electrnico Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST Correo electrnico Tres principales componentes: Agentes de usuario Servidores de correo Protocolo de transferencia de archivo simple: SMTP Agente de usuario Conocido como. lector de correo composicin, edicin, lectura de mensajes de correo ej., Eudora, Outlook, Mozilla Thunderbird Salida, entrada de mensajes almacenados en el servidor Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST Correo electrnico Servidores de correo Buzn de correo contiene los mensajes entrantes para el usuario Cola de mensajes de coreo de salida (para ser enviados) Protocolo SMTP entre servidores de correo para intercambiar mensajes de correo cliente: enva correo al servidor servidor: recibe correo de servidor Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST Utiliza TCP para transferir mensajes de correo desde el cliente al servidor, puerto 25 Transferencia directa: de servidor transmisor a servidor receptor Tres fases de transferencia handshaking (saludo) Transferencia de mensajes cierre Interaccin comando/respuesta comandos: texto ASCII respuesta: cdigo de estado y frase Los mensajes deben estar en cdigo ASCII de 7-bits Correo electrnico: SMTP [RFC 2821] Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST Correo electrnico: escenario Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST SMTP usa conexiones persistentes SMTP requiere que los mensajes (header & body) tengan formato ASCII 7- bit El servidor el servidor SMTP usa CRLF.CRLF para indicar el final del mensaje Comparacin con HTTP: HTTP: pull SMTP: push Ambos tienen interaccin comando/respuesta ASCII, cdigos de estado HTTP: cada objeto es encapsulado en su propio mensaje de respuesta SMTP: mltiples objetos son enviados en un mismo mensaje Correo electrnico Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST SMTP: protocolo para intercambiar mensajes de correo RFC 822: estndar para el formato de los mensajes de texto: Lneas de cabecera, ej., To: From: Subject: cuerpo El mensaje, caracteres ASCII solamente header body blank line Formato de mensaje Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST Protocolos de acceso a los mensajes SMTP: entrega/almacenamiento al servidor del receptor Protocolo de acceso al correo: recupera mensajes del servidor POP: Post Office Protocol [RFC 1939] autorizacin (agent <-->server) y descarga IMAP: Internet Mail Access Protocol [RFC 1730] Ms caractersticas (ms complejo) Manipulacin de mensajes almacenados en el servidor HTTP: gmail, Hotmail, Yahoo! Mail, etc. Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST Ms de POP3 El ejemplo previo utiliza el modo descargue y borre. El usuario no puede releer el mensaje si cambia el cliente descargue y guarde: copia de mensajes en diferentes clientes POP3 es sin estados a travs de las secciones IMAP Mantiene todos los mensajes en un lugar: el servidor Permite a los usuarios organizar los mensajes el folders IMAP mantiene el estado del usuario a travs de las secciones: Protocolo POP3 e IMAP Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST Principios de las aplicaciones de red Web y HTTP FTP Correo electrnico SMTP, POP3, IMAP DNS Aplicaciones P2P Programacin de Sockets con TCP Programacin de Sockets con UDP Capa de aplicacin Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST DNS: Domain Name System Internet hosts, routers: Direcciones IP (32 bits) usadas para direccionar datagramas nombres, ej., ww.yahoo.com usado por los seres humanos Q: porque mapear entre direcciones IP y nombres? Domain Name System: Base de datos distribuida implementada jerarquicamente en muchos servidores de nombre Protocolo de capa de aplicacin host, routers, servidores de nombres se comunican para resolver nombres (traduccin direccin/nombre) nota: funcin del corazn de Internet, implementada como protocolo de la capa de aplicacin Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST DNS Porqu no centralizar DNS? nico punto de falla Volumen de trfico Base de datos centralizada y distante Mantenimiento No es escalable Servicios DNS Traduccin nombre de host a direccin IP Alias de host Nombres cannicos, alias Alias del servidor de correo Distribucin de carga Servidores web replicados: conjunto de direcciones IP para un nombre cannico Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST Root DNS Servers com DNS servers org DNS servers edu DNS servers poly.edu DNS servers umass.edu DNS servers yahoo.com DNS servers amazon.com DNS servers pbs.org DNS servers Base de datos jerrquica y distribuida Un cliente desea la direccin IP de www.amazon.com; 1 st aprox: Solicita a un servidor raz encontrar el servidor DNS .com Solicita al servidor DNS .com obtener el servidor DNS de amazon.com Solicita al servidor DNS amazon.com resolver la direccin IP para www.amazon.com Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST DNS: servidores de nombre raz Contactado por servidores de nombre local que no pueden resolver un nombre Servidor de nombre raz: Contacta a servidores de nombre autoritativos si no conoce la traduccin. Realiza la traduccin Devuelve la readuccin al servidor DNS local Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST Servidores TLD y Autoritativos Servidores de nivel superior (TLD): responsables por com, org, net, edu, etc, y todos los dominios de nivel superior de los pases, uk, fr, ca, jp. La empresa Network Solutions mantiene los servidores para el dominio de nivel superior TLD .com Educause mantiene el dominio TLD .edu Servidores DNS autoritativos: Los servidores DNS de las organizaciones prestan el servicio de traduccin a los host y servidores de la empresa Puede ser mantenido por la organizacin o un ISP Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST Servidor de nombres local No pertenece estrictamente a la jerarqua Cada ISP (ISP residencial, compaia, universidad) tiene uno. Tambin llamado servidor de nombres por defecto Cuando un host hace una solicitud DNS, sta es enviada a su servidor de nombres local Acta como proxy, pasa la solicitud a travs de la jerarqua Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST Ejemplo de resolucin DNS El host en cis.poly.edu desea la direccin IP de gaia.cs.umass.edu Solicitud interactiva: El servidor contactado responde con el nombre del servidor a contactar no conozco este nombre, pero pregntale a este servidor Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST DNS: Cacheo y actualizacin de registros Una vez cualquier servidor de nombres aprende una traduccin almacena una nueva entrada Las entradas desaparecen despus de algn tiempo Los servidores TLD son cacheados tpicamente en servidores de nobres locales Por lo tanto los servidores de nombres raz no son visitados con frecuencia Los mecansmos de actualizacin y notificacin son diseados por la IETF RFC 2136 http://www.ietf.org/html.charters/dnsind-charter.html Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST Registros DNS DNS: base de datos distribuida que almacena registros de recursos (RR) Type=NS name es un dominio (ej. foo.com) value es un nombre de host de un servidor de nombres autoritativo para este dominio Formato RR: (name, value, type, ttl) Type=A name es un nombre de host value es una direccin IP Type=CNAME name es un alias para algn nombre canonico (el real) www.ibm.com es realmente servereast.backup2.ibm.com value es un nombre cannico Type=MX value es el nombre de un servidor de correo asociado con name Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST Mensajes del protocolo DNS Protocolo DNS : mensajes de solicitud y respuesta, ambos tienen el mismo formato de mensaje Encabezado de msg identificacin: 16 bit # para solicitud, respuestas a solicitud usan el mismo # flags: Solicitud o respuesta recursin deseada recursin disponible Respuesta es autoritativa Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST DNS protocol, messages Name, type fields for a query RRs in response to query records for authoritative servers additional helpful info that may be used Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST Principios de las aplicaciones de red Web y HTTP FTP Correo electrnico SMTP, POP3, IMAP DNS Aplicaciones P2P Programacin de Sockets con TCP Programacin de Sockets con UDP Capa de aplicacin Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST Aplicaciones P2P No siempre hay un servidor encendido Sistemas terminales arbitrario se comunican directamente Los pares se comunican de forma intermitente y cambian sus direcciones IP Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST Distribucin de archivos: cliente- servidor vs P2P Q : cuanto tiempo se necesita para distribuir un archivo desde un servidor a N pares? u s : ancho de banda de subida desde el servidor u i : ancho de banda de subida desde el par i d i : ancho de banda de descarga del par i Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST Tiempo de distribucin del archivo: servidor-cliente El servidor secuencialmente enva N copias: Tiempo = NF/u s El cliente i toma F/d i minutos para descargar Incrementa linealmente en N (para N grande) = d cs = max { NF/u s , F/min(d i ) } i Tiempo para distribuir F a N clientes usando el mtodo cliente/servidor Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST Tiempo de distribucin del archivo : P2P El servidor debe enviar una copia: tiempo=F/u s El cliente i gasta F/d i segundos en descargarlo NF bits deben ser descargados (aggregate) La ms rpida velocidad de descarga posible: u s + Su i d P2P = max { F/u s , F/min(d i ) , NF/(u s + Su i ) } i Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST 0 0.5 1 1.5 2 2.5 3 3.5 0 5 10 15 20 25 30 35 N M i n i m u m
D i s t r i b u t i o n
T i m e P2P Client-Server Servidor-cliente vs. P2P: ejemplo Velocidad de subida en el cliente = u, F/u = 1 hour, u s = 10u, d min u s Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST Skype Inherentemente P2P: comunicacin entre pares de usuarios. Protocolo de capa de aplicacin propietario Albeiro Corts Cabezas. Ph.D. Grupo de Tratamiento de Seales y Telecomunicaciones - GTST Tarea Leer las secciones: 2.6.1 BitTorrent, 2.6.2 Tablas Hash distribuidas, 2.6.3 Skype, 2.7 Sockets con TCP y 2.8 Sockets con UDP