capitulo 2 en español telematica

62
Página 2 Capa de aplicación 2.2 Capítulo 2: Esquema 2.1 Principios de la red aplicaciones 2.2 Web y HTTP 2.3 FTP 2,4 correo electrónico SMTP, POP3, IMAP 2.5 DNS 2.6 aplicaciones P2P Programación 2.7 zócalo con UDP y TCP Página 3 Capa de aplicación 3.2 Capítulo 2: capa de aplicación nuestras metas: conceptual, aspectos de la aplicación de aplicación de red protocolos la capa de transporte modelos de servicio cliente-servidor paradigma peer-to-peer paradigma aprender acerca de los protocolos de examinar populares a nivel de aplicación protocolos HTTP FTP SMTP / POP3 / IMAP DNS red de creación aplicaciones socket API Página 4 Capa de aplicación 2-4 Algunas aplicaciones de red correo electrónico

Upload: francisco-diaz-benav

Post on 22-Jan-2016

55 views

Category:

Documents


0 download

DESCRIPTION

mmmmmmmmm

TRANSCRIPT

Page 1: Capitulo 2 en Español Telematica

Página 2Capa de aplicación 2.2Capítulo 2: Esquema2.1 Principios de la redaplicaciones2.2 Web y HTTP2.3 FTP2,4 correo electrónico SMTP, POP3, IMAP2.5 DNS2.6 aplicaciones P2PProgramación 2.7 zócalocon UDP y TCP

Página 3Capa de aplicación 3.2Capítulo 2: capa de aplicaciónnuestras metas:conceptual,aspectos de la aplicaciónde aplicación de redprotocolos la capa de transportemodelos de servicio cliente-servidorparadigma peer-to-peerparadigmaaprender acerca de los protocolos deexaminar popularesa nivel de aplicaciónprotocolos HTTP FTP SMTP / POP3 / IMAP DNSred de creaciónaplicaciones socket API

Página 4Capa de aplicación 2-4Algunas aplicaciones de redcorreo electrónicowebMensaje de textologin remoto

Page 2: Capitulo 2 en Español Telematica

El intercambio de archivos P2Pjuegos en red multiusuariostreaming de vídeo almacenado(YouTube, Hulu, Netflix)voz sobre IP (por ejemplo, Skype)vídeo en tiempo realconferenciasRedes Socialesbuscar......

Página 5Capa de aplicación 2.5Creación de una aplicación de redescribir programas que:ejecutar en (diferentes) sistemas finalescomunicarse a través de la redpor ejemplo, software de servidor webse comunica con el navegadorsoftwareno hay necesidad de escribir software paradispositivos de red de núcleodispositivos de red de núcleo no lo hacenejecutar aplicaciones de usuarioaplicaciones en sistemas finalespermite una aplicación rápidadesarrollo, propagaciónsolicitudtransportela redenlace de datosfísicosolicitudtransportela redenlace de datosfísicosolicitudtransportela redenlace de datosfísico

Page 3: Capitulo 2 en Español Telematica

Página 6Capa de aplicación 2.6Arquitecturas de aplicacionesposible estructura de las aplicaciones:Servidor de clientepeer-to-peer (P2P)

Página 7Capa de aplicación 7.2Arquitectura cliente-servidorservidor:siempre en el hostdirección IP permanentelos centros de datos para escalarclientes:comunicarse con el servidorpuede ser intermitenteconectadopuede tener IP dinámicadireccionesno se comunican directamentecon cada unoServidor de cliente

Página 8Capa de aplicación 8.2Arquitectura P2Pno siempre en el servidorsistemas finales arbitrariascomunicarse directamentecompañeros solicitan servicio desdeotros compañeros, ofrecen servicioa cambio de otros compañeros auto escalabilidad - nuevocompañeros traen nuevo serviciode capacidad, así como la nuevademandas de serviciocompañeros son intermitentementeIP conectado y el cambiodirecciones gestión complejade igual a igual

Página 9

Page 4: Capitulo 2 en Español Telematica

Capa de aplicación 2.9Procesos de comunicaciónproceso: programa en ejecucióndentro de un huéspeddentro de la misma serie, dosprocesos se comunicanutilizando entre procesosla comunicación (definida porOS)procesos en diferentes hostscomunicarse mediante el intercambio demensajesproceso de cliente:proceso queinicia la comunicaciónproceso del servidor:proceso queespera ser contactadoDejando de lado: aplicaciones con P2Parquitecturas tienen clienteprocesos y servidorprocesosclientes, servidores

Página 10Capa de aplicación 2-10Enchufesproceso envía / recibe mensajes a / de su zócalosocket análoga a la puerta proceso de envío empuja mensaje puerta proceso de envío se basa en la infraestructura de transporte enotro lado de la puerta para entregar el mensaje a la toma enproceso de recepciónInternetcontroladapor el sistema operativocontrolado pordesarrollador de aplicacionestransportesolicitudfísicoenlacela redprocesotransportesolicitudfísicoenlacela redprocesoenchufe

Page 5: Capitulo 2 en Español Telematica

Página 11Capa de aplicación 2-11Abordar procesospara recibir mensajes,proceso debe tener identificadordispositivo host tiene única 32-dirección IP bitsQ: hace dirección IP del hosten el que se ejecuta proceso desuficiente para la identificación de laproceso?identificador incluye tanto IPdirección y números de puertoasociado con el proceso dehost.números de ejemplo de puerto: servidor HTTP: 80 servidor de correo: 25para enviar el mensaje HTTPgaia.cs.umass.edu webservidor: dirección IP: 128.119.245.12 Número de puerto: 80más breve ... R: No, muchos procesospuede estar en ejecución en el mismoanfitrión

Página 12Capa de aplicación 12.2Protocolo App-capa definetipos de mensajesintercambiado, por ejemplo, la solicitud, la respuestamensaje de sintaxis: qué campos en los mensajesY cómo los campos sondelineadola semántica de mensajes significado de la informaciónen los camposreglas para cuándo y cómoprocesos envían y respondena los mensajes

Page 6: Capitulo 2 en Español Telematica

protocolos abiertos:se define en el RFCpermite la interoperabilidadpor ejemplo, HTTP, SMTPprotocolos propietarios:por ejemplo, Skype

Página 13Capa de aplicación 2-13¿Qué servicio de transporte necesita una aplicación?integridad de los datosalgunas aplicaciones (por ejemplo, transferencia de archivos,transacciones web) requierenLa transferencia de datos fiable 100%otras aplicaciones (por ejemplo, audio) puedetolerar una cierta pérdidasincronizaciónalgunas aplicaciones (por ejemplo, Internettelefonía, interactivajuegos) requieren bajo retardoser efectivo"rendimientoalgunas aplicaciones (por ejemplo,multimedia) requierencantidad mínima derendimiento sea"Eficaz"otras aplicaciones ("apps") elásticashacer uso de lo que searendimiento que obtienenseguridadcifrado, integridad de los datos,...

Página 14Capa de aplicación 2.14Requisitos de servicio de transporte: aplicaciones comunessolicitudTransferencia de archivocorreo electrónicoDocumentos Weben tiempo real de audio / vídeoalmacenado audio / videojuegos interactivosMensaje de textopérdida de datos

Page 7: Capitulo 2 en Español Telematica

sin pérdidasin pérdidasin pérdidapérdida tolerantespérdida tolerantespérdida tolerantessin pérdidarendimientoelásticoelásticoelásticoaudio: 5 Kbps-1Mbpsvídeo: 10 Kbps-5Mbpsigual que arribapocos kbps hastaelásticotiempo sensiblenononosí, 100'smssí, pocos segundossí, 100'smssi y no

Página 15Capa de aplicación 15.2Servicios de protocolos de transporte de InternetServicio TCP:transporte  fiable entreenviar y recibirprocesocontrol de flujo: emisor no lo haráabrumar receptorcontrol de congestión: aceleradorremitente cuando la redsobrecargadono proporciona: calendario,rendimiento mínimogarantía, seguridadorientado a la conexión: configuraciónrequerida entre el cliente yprocesos de servidorServicio UDP:

Page 8: Capitulo 2 en Español Telematica

la transferencia de datos poco fiablesentre el envío yproceso de recepciónno proporciona:fiabilidad, control de flujo,control de la congestión,tiempo, el rendimientogarantía, seguridad, oconfiguración de la conexión,Q: ¿por qué molestarse? Por que esHay una UDP?

Página 16Capa de aplicación 2-16Aplicaciones de Internet: aplicaciones, protocolos de transportesolicitudcorreo electrónicoAcceso terminal remotoTelaTransferencia de archivostreaming multimediaLa telefonía por Internetsolicitudprotocolo de capa deSMTP [RFC 2821]Telnet [RFC 854]HTTP [RFC 2616]FTP [RFC 959]HTTP (por ejemplo, YouTube),RTP [RFC 1889]SIP, RTP, de propiedad(por ejemplo, Skype)subyacenteprotocolo de transporteTCPTCPTCPTCPTCP o UDPTCP o UDP

Página 17Asegurar TCPTCP y UDPsin cifradopasswds texto claro enviadosen travesía tomaInternet en texto planoSSLproporciona cifradoConexión TCP

Page 9: Capitulo 2 en Español Telematica

integridad de los datospunto finalautenticaciónSSL es en la capa de aplicaciónAplicaciones utilizan bibliotecas SSL,que "hablar" con TCPSSL socket APIpasswds texto claro enviadosen travesía tomaInternet encriptadaConsulte el Capítulo 7Capa de aplicación 17.2

Página 18Capa de aplicación 2.18Capítulo 2: Esquema2.1 Principios de la redaplicaciones arquitecturas de aplicaciones requisitos de aplicaciones2.2 Web y HTTP2.3 FTP2,4 correo electrónico SMTP, POP3, IMAP2.5 DNS2.6 aplicaciones P2PProgramación 2.7 zócalocon UDP y TCP

Página 19Capa de aplicación 19.2Web y HTTPEn primer lugar, una revisión ...página web se compone de objetosobjeto puede ser un archivo HTML, imágenes JPEG, applet de Java,archivo de audio,…página web se compone de la base de HTML-archivo queincluye varios objetos referenciadoscada objeto es direccionable por una dirección URL, por ejemplo,www.someschool.edu/someDept/pic.gifnombre de hostnombre de la ruta

Página 20Capa de aplicación 20.2Resumen HTTPHTTP: hipertextoprotocolo de transferencia

Page 10: Capitulo 2 en Español Telematica

Capa de aplicación de Webprotocolomodelo cliente / servidor cliente: navegadorsolicitudes, recibe;(utilizando el protocolo HTTP)y "pantallas" Webobjetos servidor: servidor Webenvía (mediante HTTPprotocolo) en objetosrespuesta a las solicitudesPC runningNavegador FirefoxservidorcorriendoApache Webservidoriphone funcionamientoNavegador Safari

Página 21Capa de aplicación 2-21Resumen HTTP (continuación)utiliza TCP:cliente inicia TCPcrea conexión (socket) al servidor, el puerto 80servidor acepta TCPconexión desde el clienteMensajes HTTP(protocolo de capa de aplicaciónmensajes intercambiados)entre el navegador (HTTPcliente) y el servidor Web(Servidor HTTP)Conexión TCP cerradaHTTP es"apátrida"servidor mantiene ningunaInformación sobrelas solicitudes de cliente últimosprotocolos que mantienen"Estado" son complejos!historia pasada (estado) debe sermantenido

Page 11: Capitulo 2 en Español Telematica

si se bloquea el servidor / cliente, supuntos de vista de "estado" puede serinconsistente, debe serreconciliadoun lado

Página 22Capa de aplicación 22.2Conexiones HTTPHTTP no persistentea lo sumo un objetoenviado a través de TCPconexión conexión a continuación,cerradodescarga múltipleobjetos necesariosmúltiples conexionesHTTP persistentevarios objetos puedeser enviados a través de una solaConexión TCPentre el cliente, el servidor

Página 23Capa de aplicación 23.2HTTP no persistenteSupongamos que el usuario entra en el URL:1a. Cliente HTTP inicia TCPLa conexión al servidor HTTP(proceso) enwww.someSchool.edu en el puerto802. Cliente HTTP envía la solicitud HTTPmensaje (que contiene URL) enToma de conexión TCP.El mensaje indica que el clientequiere objetosomeDepartment / home.index1b. Servidor HTTP en el hostwww.someSchool.edu esperandopara la conexión TCP en el puerto 80."Acepta" la conexión, notificacliente3. Servidor HTTP recibe solicitudmensaje, forma de respuestacontiene solicitó mensajeoponerse, y envía el mensaje ensu zócalohora(contiene texto,referencias a 10

Page 12: Capitulo 2 en Español Telematica

imágenes jpeg)www.someSchool.edu/someDepartment/home.index

Página 24Capa de aplicación 2-24HTTP no persistente (cont.)5. Cliente HTTP recibe respuestamensaje que contiene el archivo html,muestra html. Analizar archivo html,encuentra 10 objetos jpeg referenciados6. Pasos 1-5 repite para cada uno de10 objetos jpeg4. servidor HTTP cierra TCPconexión.hora

Página 25Capa de aplicación 25.2HTTP no persistente: tiempo de respuestaRTT (definición): tiempo para unpequeño paquete para viajar deel cliente al servidor y de regresoTiempo de respuesta HTTP:Un RTT para iniciar TCPconexiónUn RTT de petición HTTPy primeros bytes de HTTPrespuesta al retornotiempo de transmisión de archivosHTTP no persistentetiempo de respuesta =Transmisión de archivos 2RTT +horahora detransmitirarchivoiniciar TCPconexiónRTTpeticiónarchivoRTTarchivorecibidohorahora

Página 26Capa de aplicación 26.2HTTP persistentecuestiones HTTP no persistentes:

Page 13: Capitulo 2 en Español Telematica

requiere 2 RTT por objetoLos gastos generales del sistema operativo para cada TCPconexiónnavegadores menudo abiertasconexiones TCP paralelasen busca de objetos referenciadosHTTP persistente:servidor deja de conexiónabierto después de enviarrespuestaposterior HTTPmensajes entre mismocliente / servidor envía a través deconexión abiertacliente envía peticiones comopronto como se encuentra unaobjeto referenciadotan poco como un RTT para todoslos objetos referenciados

Página 27Capa de aplicación 27.2Mensaje de petición HTTPdos tipos de mensajes HTTP: petición, la respuestaMensaje de petición HTTP: ASCII (formato legible)línea de petición(GET, POST,Comandos cabeza)encabezamientolíneasretorno de carro,avance de línea al iniciode línea indicafinal de las líneas de cabeceraGET /index.html HTTP / 1.1 \ r \ nAnfitrión: www-net.cs.umass.edu \ r \ nUser-Agent: Firefox / 3.6.10 \ r \ nAccept: text / html, application / xhtml + xml \ r \ nAccept-Language: es-es, es; q = 0.5 \ r \ nAccept-Encoding: gzip, desinfla \ r \ nAccept-Charset: ISO-8859-1, UTF-8; q = 0.7 \ r \ nKeep-Alive: 115 \ r \ nConexión: keep-alive \ r \ n\ r \ ncarácter de retorno de carrocarácter de avance de línea

Page 14: Capitulo 2 en Español Telematica

Página 28Capa de aplicación 2-28Petición HTTP mensaje: formato generalpeticiónlíneaencabezamientolíneascuerpométodospspCR LFversiónURLCR LFvalorencabezado nombre del campoCR LFvalorencabezado nombre del campoCR LFcuerpo de la entidad

Página 29Capa de aplicación 29.2Formulario de entrada CargaMétodo POST:página web a menudo incluyeformulario de entradade entrada se cargaservidor en el cuerpo de la entidadMétodo de URL:utiliza el método GETde entrada se carga en la URLcampo de la línea de petición:www.somesite.com/animalsearch?monkeys&banana

Página 30Capa de aplicación 30.2Tipos de métodosHTTP / 1.0:OBTENERPOSTECABEZA pide servidor para dejarobjeto solicitado a cabode la respuestaHTTP / 1.1:

Page 15: Capitulo 2 en Español Telematica

GET, POST, HEADPONERArchivo  subidos en la entidadcuerpo a la ruta especificadaen el campo de dirección URLBORRAR borra archivo especificado enel campo URL

Página 31Capa de aplicación 2-31Mensaje de respuesta HTTPlínea de estado(protocolocódigo de estadofrase de estado)encabezamientolíneasdatos, por ejemplo,pedidoArchivo HTMLHTTP / 1.1 200 OK \ r \ nFecha: Dom, 26 de septiembre 2010 20:09:20 GMT \ r \ nServidor: Apache / 2.0.52 (CentOS) \ r \ nLast-Modified: Mar 30 Oct 2007 17:00:02GMT \ r \ nETag: "17dc6-A5c-bf716880" \ r \ nAccept-Ranges: bytes \ r \ nContent-Length: 2652 \ r \ nKeep-Alive: timeout = 10, max = 100 \ r \ nConexión: Keep-Alive \ r \ nContent-Type: text / html; charset = ISO-8859-1 \ r \ n\ r \ nde datos de datos de datos de datos de datos ...

Página 32Capa de aplicación 2-32Códigos de estado HTTP de respuesta200 OK petición tuvo éxito, objeto solicitado más adelante en este msg301 Movido Permanentemente objeto solicitado se movió, nueva ubicación especificada más adelante en este msg(Localización:)400 Petición Incorrecta solicitud msg no entiende por servidor404 No encontrado documento solicitado no se encuentra en este servidor505 HTTP Version Not Supportedcódigo de estado aparece en primera línea en el servidor-a-mensaje de respuesta del cliente.

Page 16: Capitulo 2 en Español Telematica

algunos códigos de ejemplo:

Página 33Capa de aplicación 2-33Probando HTTP (lado del cliente) para usted1. Telnet para el servidor Web favorita:se abre la conexión TCP al puerto 80(por defecto puerto del servidor HTTP) en cis.poly.edu.nada escrito en Sental puerto 80 en cis.poly.edutelnet cis.poly.edu 802. Tipo en una petición HTTP GET:GET / ross / HTTP / 1.1Anfitrión: cis.poly.eduescribiendo esto en (golpeado carroregresa dos veces), se envíaeste mínimo (pero completo)OBTENER solicitud al servidor HTTP3. vistazo a mensaje de respuesta enviado por el servidor HTTP!(o utilizar Wireshark para mirar capturado HTTP solicitud / respuesta)

Página 34Capa de aplicación 2-34Estado del usuario en el servidor: Galletasmuchos sitios web utilizan cookiescuatro componentes:1)línea de cabecera de cookies deRespuesta HTTPmensaje2) línea de cabecera de cookies ensiguiente petición HTTPmensaje3) archivo cookie siguióhost del usuario, gestionadopor el navegador del usuario4) la base de datos back-end enSitio Webejemplo:Susan siempre acceso a internetdesde el PCvisitas de comercio electrónico específicasitio para primera vezcuando las solicitudes HTTP inicialesllega al sitio, sitio crea: único ID entrada en backendbase de datos para la identificación

Página 35Capa de aplicación 2-35

Page 17: Capitulo 2 en Español Telematica

Cookies: mantenimiento de "estado" (cont.)clienteservidorhttp habitual respuesta msghttp habitual respuesta msgarchivo de cookiesuna semana después:http habitual petición msgcookie: 1678Cookie-específicoacciónaccesoebay 8734http habitual petición msgServidor de Amazoncrea ID1678 para el usuariocrearentradarespuesta habitual httpSet-Cookie: 1678ebay 8734Amazonas 1678http habitual petición msgcookie: 1678Cookie-específicoacciónaccesoebay 8734Amazonas 1678backendbase de datos

Página 36Capa de aplicación 2-36Galletas (continuación)lo que las cookies se pueden utilizarpara:autorizacióncarritos de comprarecomendacionesel estado de sesión de usuario (Webcorreo electrónico)Política de privacidad:las cookies permiten a los sitiosaprender mucho acerca de ustedpuede suministrar el nombre ye-mail a sitios

Page 18: Capitulo 2 en Español Telematica

un ladocómo mantener"estado":criterios de valoración de protocolo: mantienen el estado enemisor / receptor a través de múltiplestransaccionesGalletas: http llevan mensajes de estado

Página 37Capa de aplicación 2-37Cachés Web (servidor proxy)usuario establece navegador: Webaccesos a través de cachénavegador envía todos HTTPpeticiones caché objeto en caché: cachévuelve objeto peticiones caché demásobjeto de origenservidor, luego regresaobjeto para el clienteobjetivo: satisfacer la petición del cliente sin la participación de servidor de origenclienteapoderadoservidorclienteorigenservidororigenservidor

Página 38Capa de aplicación 2-38Más sobre el almacenamiento en caché Webcaché actúa comocliente y el servidor servidor para originalescliente solicitante cliente al servidor de origennormalmente caché esinstalado por ISP(universidad, empresa,ISP residencial)¿por qué el almacenamiento en caché Web?reducir el tiempo de respuesta

Page 19: Capitulo 2 en Español Telematica

para la petición del clientereducir el tráfico en unaenlace de acceso de la instituciónInternet densa concachés: permite "pobres"los proveedores de contenidos acumplir efectivamentecontenidos (también lo haceEl intercambio de archivos P2P)

Página 39Capa de aplicación 2-39El almacenamiento en caché ejemplo:origenservidorespúblicoInternetinstitucionalla red1 Gbps LAN1.54 Mbpsenlace de accesosupuestos:tamaño del objeto avg: bits de 100Ktasa de solicitud promedio de los navegadores aservidores de origen: 15 / segvelocidad de datos promedio para los navegadores: 1,50 MbpsRTT desde el router institucional para cualquierservidor de origen: 2 segtasa de enlace de acceso: 1,54 Mbpsconsecuencias:Utilización de LAN: 15%utilización del enlace de acceso = 99%retardo total = retardo de Internet + accesoretardo retardo + LAN= 2 seg + minutos + usecsproblema!

Página 40Capa de aplicación 2-40supuestos:tamaño del objeto avg: bits de 100Ktasa de solicitud promedio de los navegadores aservidores de origen: 15 / seg

Page 20: Capitulo 2 en Español Telematica

velocidad de datos promedio para los navegadores: 1,50 MbpsRTT desde el router institucional para cualquierservidor de origen: 2 segtasa de enlace de acceso: 1,54 Mbpsconsecuencias:Utilización de LAN: 15%utilización del enlace de acceso = 99%retardo total = retardo de Internet + accesoretardo retardo + LAN= 2 seg + minutos + usecsEl almacenamiento en caché ejemplo:enlace de acceso más gordosorigenservidores1.54 Mbpsenlace de acceso154 Mbps154 MbpsmsecsCosto: mayor velocidad de enlace de acceso (no es barato!)9,9%públicoInternetinstitucionalla red1 Gbps LAN

Página 41institucionalla red1 Gbps LANCapa de aplicación 2-41El almacenamiento en caché ejemplo:instalar caché localorigenservidores1.54 Mbpsenlace de accesoweb localcachesupuestos:tamaño del objeto avg: bits de 100Ktasa de solicitud promedio de los navegadores aservidores de origen: 15 / segvelocidad de datos promedio para los navegadores: 1,50 MbpsRTT desde el router institucional para cualquierservidor de origen: 2 seg

Page 21: Capitulo 2 en Español Telematica

tasa de enlace de acceso: 1,54 Mbpsconsecuencias:Utilización de LAN: 15%utilización del enlace de acceso = 100%retardo total = retardo de Internet + accesoretardo retardo + LAN= 2 seg + minutos + usecs??Cómo calcular enlacela utilización, el retraso?Costo: caché web (barato!)públicoInternet

Página 42Capa de aplicación 2-42El almacenamiento en caché ejemplo:instalar caché localCálculo de enlace de accesoutilización, retrasar la caché:supongamos que la tasa de aciertos de caché es de 0,4 40% solicitudes satisfechas en caché,60% solicitudes satisfechas en origenorigenservidores1.54 Mbpsenlace de accesoAcceso utilización del enlace: 60% de las solicitudes de uso de enlace de accesovelocidad de datos a los navegadores más de enlace de acceso= 0,6 * 1,50 Mbps = .9 Mbps utilización = 0,9 / 1,54 = 0,58retardo total = 0.6 * (retraso desde los servidores de origen) 0.4* (Retraso cuando satisfizo en caché) = 0,6 (2,01) + 0,4 (milisegundos) = 1,2 secs menos que con 154 Mbps de enlace (ymás barato!)públicoInternetinstitucionalla red1 Gbps LANweb localcache

Page 22: Capitulo 2 en Español Telematica

Página 43Capa de aplicación 2-43GET condicionalMeta: no envíe objeto sicaché tiene hasta al díaversión en caché ninguna transmisión objetoretraso utilización del enlace inferiorcache: fecha de especificarcaché de copia en HTTPpeticiónSi-modified-since:<fecha>servidor: respuesta contienesin objeto si copia en cachéestá actualizado:HTTP / 1.0 304 NoModificadoHTTP solicitud msgSi-modified-since: <fecha>Respuesta HTTPHTTP / 1.0304 Not Modifiedobjetonomodificadoantes de<fecha>HTTP solicitud msgSi-modified-since: <fecha>Respuesta HTTPHTTP / 1.0 200 OK<datos>objetomodificadodespués<fecha>clienteservidor

Página 44Capa de aplicación 2-44Capítulo 2: Esquema2.1 Principios de la redaplicaciones arquitecturas de aplicaciones requisitos de aplicaciones2.2 Web y HTTP2.3 FTP2,4 correo electrónico SMTP, POP3, IMAP2.5 DNS

Page 23: Capitulo 2 en Español Telematica

2.6 aplicaciones P2PProgramación 2.7 zócalocon UDP y TCP

Página 45Capa de aplicación 2-45FTP: protocolo de transferencia de archivosTransferencia de archivoFTPservidorFTPusuariointerfazFTPclientearchivo localsistemaarchivo remotosistemausuarioen el hosttransferencia de archivos a / desde el host remotomodelo cliente / servidor cliente: equipo que inicia la transferencia (ya sea a / desde el mando a distancia) servidor: host remotoftp: RFC 959servidor ftp: el puerto 21

Página 46Capa de aplicación 2-46FTP: control separado, las conexiones de datosFTP cliente contacta con el servidor FTPen el puerto 21, mediante TCPcliente autorizado por el controlconexióncliente navega a distanciadirectorio, envía comandossobre conexión de controlcuando el servidor recibe archivocomando de transferencia, el servidorabre 2ndDatos TCPconexión (por archivo) al clientedespués de transferir un archivo,servidor cierra la conexión de datos

Page 24: Capitulo 2 en Español Telematica

FTPclienteFTPservidorConexión de control TCP,puerto del servidor 21Conexión de datos TCP,puerto del servidor 20servidor abre otra TCPconexión de datos para transferirotro archivoconexión de control:"fuerabanda"Servidor FTP mantiene"Estado": directorio actual,autenticación anterior

Página 47Capa de aplicación 2-47Comandos FTP, respuestascomandos de ejemplo:enviado como texto ASCII máscanal de controlNombre de usuario USUARIOPASS contraseñaLISTA lista retorno de archivo enDirectorio actualRETR nombrerecupera (consigue) ArchivoSTOR tiendas de nombre de archivo(puts) presentar a distanciaanfitrióncódigos de retorno de muestrascódigo de estado y la frase (comoen HTTP)331 Nombre de usuario OK,Se requiere contraseñaDatos 125conexiónya abierto;transferencia de partida

Page 25: Capitulo 2 en Español Telematica

425 ¿Puede 't abrirConección de datosEscritura 452 Errorarchivo

Página 48Capa de aplicación 2-48Capítulo 2: Esquema2.1 Principios de la redaplicaciones arquitecturas de aplicaciones requisitos de aplicaciones2.2 Web y HTTP2.3 FTP2,4 correo electrónico SMTP, POP3, IMAP2.5 DNS2.6 aplicaciones P2PProgramación 2.7 zócalocon UDP y TCP

Página 49Capa de aplicación 2-49Correo electrónicoTres componentes principales:los agentes de usuarioservidores de correoSimple Mail Transferprotocolo: SMTPAgente de usuariotambién conocido como "lector de correo"composición, edición, lecturamensajes de correopor ejemplo, Outlook, Thunderbird,cliente de correo iPhonesaliente, entrantelos mensajes almacenados en el servidorbuzón de usuarioextrovertidacola de mensajescorreoservidorcorreoservidorcorreoservidorSMTP

Page 26: Capitulo 2 en Español Telematica

SMTPSMTPusuarioagenteusuarioagenteusuarioagenteusuarioagenteusuarioagenteusuarioagente

Página 50Capa de aplicación 2-50Correo electrónico: servidores de correoservidores de correo:buzón contiene entranteMensajes de los usuariosmensaje de la cola de salida(para ser enviados) de mensajes de correoProtocolo SMTP entreservidores de correo para enviar correo electrónicomensajes cliente: el envío de correoservidor "servidor": el correo que recibeservidorcorreoservidorcorreoservidorcorreoservidorSMTPSMTPSMTPusuarioagenteusuarioagenteusuarioagenteusuarioagenteusuarioagenteusuarioagente

Página 51

Page 27: Capitulo 2 en Español Telematica

Capa de aplicación 2-51Correo electrónico: SMTP[RFC 2821]utiliza TCP para transferir de forma fiable de mensajes de correo electrónico desdeel cliente al servidor, el puerto 25transferencia directa: el envío de servidor para recibirservidortres fases de transferencia apretón de manos (saludo) transferencia de mensajes cierreinteracción comando / respuesta (comoHTTP, FTP) comandos: texto ASCII Respuesta: código de estado y la frasemensajes deben estar en 7 bits ASCI

Página 52Capa de aplicación 2-52usuarioagenteEscenario: Alice envía mensaje a Bob1) Alice utiliza UA para componermensaje "a"[email protected]) UA de Alice envía mensajea su servidor de correo; mensajecolocado en la cola de mensajes3) del lado del cliente de SMTP abreConexión TCP con Bobservidor de correo4) cliente SMTP envía Alicia demensaje a través del TCPconexión5) servidor de correo de Bob coloca elmensaje en el buzón de Bob6) Bob invoca su agente de usuariopara leer el mensajecorreoservidorcorreoservidor123456Servidor de correo de Alice

Page 28: Capitulo 2 en Español Telematica

Servidor de correo de Bobusuarioagente

Página 53Capa de aplicación 2-53Interacción SMTP MuestraS: 220 hamburger.eduC: HELO crepes.frS: 250 Hola crepes.fr, encantado de conocerteC: MAIL FROM: <[email protected]>S: 250 [email protected] ... Remitente okC: RCPT TO: <[email protected]>S: 250 [email protected] ... destinatario okC: DATOSS: 354 Introduzca el correo, extremo con "." en una línea por sí mismoC: ¿Te gusta la salsa de tomate?C: ¿Qué hay de pepinillos?C:.S: 250 Mensaje aceptado para la entregaC: QUITS: Conexión de cierre 221 hamburger.edu

Página 54Capa de aplicación 2-54Trate interacción SMTP por sí mismo:nombre_servidor telnet 25ver 220 respuesta de servidorintroducir HELO, MAIL FROM, RCPT TO, DATOS, SALIRcomandosanterior le permite enviar correo electrónico sin necesidad de usar cliente de correo electrónico (lector)

Página 55Capa de aplicación 2-55SMTP: palabras finalesSMTP utiliza persistenteconexionesSMTP requiere mensaje(cabecera y cuerpo) para estar en7-bit ASCIIUsos del servidor SMTPCRLF.CRLF adeterminar el final del mensajela comparación con HTTP:HTTP: tireSMTP: empuje

Page 29: Capitulo 2 en Español Telematica

ambos tienen ASCIIcomando / respuesta, códigos de estado de interacciónHTTP: cada objetoencapsulado en su propiomsg respuestaSMTP: varios objetosenviado en msg multiparte

Página 56Capa de aplicación 2-56Formato de mensaje de correoSMTP: protocolo paraintercambio de Mensajes de correo electrónicoRFC 822: estándar para el textoformato de mensaje:líneas de cabecera, por ejemplo, Para: Desde: Asunto:diferente deCORREO SMTPFROM, RCPT TO:comandos!Cuerpo: el "mensaje"Sólo  caracteres ASCIIencabezamientocuerpoblancolínea

Página 57Capa de aplicación 2-57Protocolos de acceso electrónicoSMTP: entrega / almacenamiento al servidor del receptorprotocolo de acceso electrónico: recuperación del servidor POP: Post Office Protocol [RFC 1939]: la autorización,descargar IMAP: Protocolo de acceso a correo de Internet [RFC 1730]: máscaracterísticas, incluyendo la manipulación de Mensajes almacenados enservidor HTTP: gmail, Hotmail, Yahoo! Mail, etc.electrónico del remitenteservidorSMTPSMTPAcceso electrónicoprotocolocorreo del receptorservidor

Page 30: Capitulo 2 en Español Telematica

(por ejemplo,POP,IMAP)usuarioagenteusuarioagente

Página 58Capa de aplicación 2-58Protocolo POP3fase de autorizacióncomandos del cliente: usuario: declarar nombre de usuario pase: contraseñalas respuestas del servidor + OK -ERRfase de transacción,cliente:Lista: números de mensaje listaretr: recuperar mensajenúmerodele: eliminardejarC: ListaS: 1 498S: 2 912S:.C: retr 1S: <mensaje 1 Contenido>S:.C: dele 1C: retr 2S: <mensaje 1 Contenido>S:.C: dele 2C: dejar de fumarS: + OKServidor POP3 firma offS: + OK servidor POP3 listoC: bob usuarioS: + OKC: pasar hambreS: + OKusuario conectado con éxito en

Página 59Capa de aplicación 2-59

Page 31: Capitulo 2 en Español Telematica

POP3 (más) e IMAPMás información acerca de POP3ejemplo anterior utilizaDescarga POP3 "ymodo de eliminar " Bob no puede volver a leer e-electrónico si cambiaclientePOP3 "download-y-mantener ": copias de los mensajesen diferentes clientesPOP3 es apátrida travéssesionesIMAPmantiene todos los mensajes en un soloLUGAR: en el servidorpermite al usuario organizarlos mensajes en carpetasmantiene el estado del usuario a través desesiones: nombres de carpetas yasignaciones entreID de mensaje y la carpetanombre

Página 60Capa de aplicación 2-60Capítulo 2: Esquema2.1 Principios de la redaplicaciones arquitecturas de aplicaciones requisitos de aplicaciones2.2 Web y HTTP2.3 FTP2,4 correo electrónico SMTP, POP3, IMAP2.5 DNS2.6 aplicaciones P2PProgramación 2.7 zócalocon UDP y TCP

Página 61Capa de aplicación 2-61DNS: Domain Name Systempersonas: muchos identificadores: SSN, nombre, pasaporte #Servidores de Internet, routers: dirección IP (32 bits) -utilizado para abordardatagramas

Page 32: Capitulo 2 en Español Telematica

 "nombre", por ejemplo,www.yahoo.com -utilizado por los seres humanosQ: cómo asignar entre IPla dirección y el nombre, yviceversa ?Sistema de nombres de dominio:base de datos distribuidaimplementado en jerarquía demuchos servidores de nombresla capa de aplicación del protocolo: anfitriones,servidores de nombres se comunican anombres resolver (dirección / nombretraducción) Nota: la función de Internet básico,implementado como aplicación-protocolo de capa de complejidad en la red de"Borde"

Página 62Capa de aplicación 2-62DNS: servicios, la estructurapor qué no centralizar el DNS?punto único de fallovolumen de tráficobase de datos centralizada distantemantenimientoServicios de DNSnombre de host a la dirección IPtraducciónsede de aliasing canónicas, nombres de aliasservidor de alias de correodistribución de la carga Web replicadoservidores: muchos IPdirecciones correspondena un nombreR: doesn't escala!

Página 63Capa de aplicación 2-63Servidores DNS Root

Page 33: Capitulo 2 en Español Telematica

servidores DNS comservidores DNS orgservidores DNS edupoly.eduServidores DNSumass.eduServidores DNSyahoo.comServidores DNSamazon.comServidores DNSpbs.orgServidores DNSDNS: una base de datos jerárquica distribuidacliente quiere IP para www.amazon.com; 1staprox:cliente consulta servidor raíz para encontrar servidor DNS comcliente consulta el servidor DNS .com para obtener amazon.com servidor DNScliente consulta amazon.com servidor DNS para obtener la dirección IP parawww.amazon.com... ...

Página 64Capa de aplicación 2-64Servidores de nombres root: DNScontactado por servidor de nombres local que no puede resolver el nombrenombre de la raíz del servidor: contactos del servidor de nombres con autoridad si mapeo nombre no conoce consigue mapeo devuelve mapeo de servidor de nombres localNombre del 13 de raíz"servidores"en todo el mundoa. Verisign, Los Angeles CA(Otros 5 sitios)b. USC-ISI Marina del Rey, CAl. ICANN Los Angeles, CA(41) otros sitiose. NASA Mt View, CAf. Internet Software C.Palo Alto, CA (48 y otrasitios)yo. Netnod, Estocolmo (otros 37 sitios)k. RIPE Londres (otros 17 sitios)m. AMPLIA Tokio(Otros 5 sitios)c. Cogent, Herndon, VA (otros 5 sitios)d. U de Maryland en College Park, MD

Page 34: Capitulo 2 en Español Telematica

h. ARL Aberdeen, MDj. Verisign, Dulles VA (otros 69 sitios)g. US DoD Columbus,OH (5 otros sitios)

Página 65Capa de aplicación 2-65TLD, servidores autorizadosdominio (TLD) servidores de primer nivel: responsable de com, org, net, edu, aero, trabajos, museos,y todos los dominios de país de primer nivel, por ejemplo: Reino Unido, Francia, ca, jp Network Solutions mantiene servidores para TLD .com EDUCAUSE para TLD .eduservidores DNS autorizados: propio servidor DNS de la organización (s), proporcionandonombre de host de autoridad a las asignaciones de IP para la organización deanfitriones nombrados puede ser mantenido por la organización o proveedor de servicios

Página 66Capa de aplicación 2-66LocalDNSservidor de nombresno pertenece estrictamente a la jerarquíacada ISP (proveedor de Internet residencial, empresa, universidad) tieneuno también llamado "servidor de nombre por defecto"cuando el host hace consulta DNS, consulta se envía a suservidor DNS local tiene caché local de la reciente traducción de nombre a direcciónpares (pero pueden estar fuera de fecha!) actúa como proxy, forwards consulta en jerarquía

Página 67Capa de aplicación 2-67host solicitantecis.poly.edugaia.cs.umass.eduservidor DNS raízservidor DNS localdns.poly.edu123456servidor DNS autorizadodns.cs.umass.edu78

Page 35: Capitulo 2 en Español Telematica

Servidor DNS de TLDNombre DNSejemplo de resoluciónanfitrión cis.poly.eduquiere dirección IP paragaia.cs.umass.educonsulta iterativa:servidor contactadoresponde con el nombre deservidor para contactar"Yo no conozco a estenombrar, pero hacer estaservidor "

Página 68Capa de aplicación 2-684563consulta recursiva:pone carga de nombreresolución sobreNombre contactadoservidorcarga pesada en la parte superiorniveles de jerarquía?host solicitantecis.poly.edugaia.cs.umass.eduservidor DNS raízservidor DNS localdns.poly.edu127servidor DNS autorizadodns.cs.umass.edu8Nombre DNSejemplo de resoluciónDNS TLDservidor

Página 69Capa de aplicación 2-69Registros de almacenamiento en caché, actualización: DNSuna vez (hay) servidor de nombres se entera de la cartografía, se almacena en cachécartografía

Page 36: Capitulo 2 en Español Telematica

 entradas de caché de tiempo de espera (desaparecer) después de algún tiempo (TTL) servidores TLD típicamente almacenan en los servidores de nombres locales• tanto los servidores de nombres raíz no a menudo visitadoentradas en caché puede estar fuera de fecha (el mejor esfuerzode nombre a dirección de traducción!) si el nombre de host cambia la dirección IP, no puede ser conocidoEn toda la Internet hasta que expiren todos TTLactualización / notificar mecanismos estándar IETF propuesto RFC 2136

Página 70Capa de aplicación 2-70Registros DNSDNS:distribuido db almacenar registros de recursos(RR)type = NS nombre es de dominio (por ejemplo,foo.com) valor es el nombre de hostnombres con autoridadservidor para este dominioFormato RR:(nombre, valor, tipo, ttl)type = A nombre es el nombre de host valor es la dirección IPtype = CNAME nombre es nombre de alias para algunos"Canónica" (el verdadero) Nombre www.ibm.comrealmente esservereast.backup2.ibm.com valor es el nombre canónicotype = MX valor es el nombre del servidor de correoasociado con el nombre

Página 71Capa de aplicación 2 a 71Protocolo DNS, los mensajesmensajes de consulta y respuesta, ambos con un mismo mensajeformatocabeceras de los mensajesIdentificación: 16 bits # paraconsulta, responder a consultas utilizamismo #banderas: consulta o respuesta

Page 37: Capitulo 2 en Español Telematica

 recursión deseada recursividad disponible respuesta es autoritativaidentificaciónbanderas# Preguntaspreguntas (variable # de preguntas)# RR adicionales# Autoridad RR# Respuesta RRrespuestas (variable # del RR)autoridad (variable # del RR)información adicional (variable # del RR)2 bytes2 bytes

Página 72Capa de aplicación 2-72nombre, campos de tipopara una consultaRR en la respuestapara consultarregistros paraservidores autorizadosadicional "útil"información que puede ser utilizadaidentificaciónbanderas# Preguntaspreguntas (variable # de preguntas)# RR adicionales# Autoridad RR# Respuesta RRrespuestas (variable # del RR)autoridad (variable # del RR)información adicional (variable # del RR)Protocolo DNS, los mensajes2 bytes2 bytes

Página 73Capa de aplicación 2-73Inserción de registros enDNSejemplo: nuevo inicio "Red Utopía"registrar el nombre networkuptopia.com al registro DNS(por ejemplo, soluciones de red) proporcionar los nombres, las direcciones IP de servidor de nombres con autoridad(Primaria y secundaria) registrador inserta dos RR en servidor TLD .com:(networkutopia.com, dns1.networkutopia.com, NS)(dns1.networkutopia.com, 212.212.212.1, A)

Page 38: Capitulo 2 en Español Telematica

crear un registro de tipo servidor autorizado parawww.networkuptopia.com; escribir registro MX paranetworkutopia.com

Página 74DNS AtacarLos ataques DDoSBombardear servidores raízcon el tráfico No exitoso hasta la fecha Filtrado de Tráfico servidores DNS localesIPs caché de TLDservidores, permitiendo la raízBypass servidorBombardear servidores TLD potencialmente máspeligrosoRedirigir ataquesEl hombre-en-medio consultas IntercepciónEnvenenamiento de DNS Enviar falsa depende enServidor DNS, quecachésExplotar DNS DDoSEnviar consultas confuente falsificadaDirección: target IPRequiere de amplificaciónCapa de aplicación 2-74

Página 75Capa de aplicación 2-75Capítulo 2: Esquema2.1 Principios de la redaplicaciones arquitecturas de aplicaciones requisitos de aplicaciones2.2 Web y HTTP2.3 FTP2,4 correo electrónico SMTP, POP3, IMAP2.5 DNS2.6 aplicaciones P2PProgramación 2.7 zócalocon UDP y TCP

Página 76Capa de aplicación 2-76

Page 39: Capitulo 2 en Español Telematica

PuraP2Parquitecturano siempre en el servidorsistemas finales arbitrariascomunicarse directamentecompañeros son intermitentementeIP conectado y el cambiodireccionesejemplos: distribución de archivos(BitTorrent) Transmisión (Kankan) VoIP (Skype)

Página 77Capa de aplicación 2-77Distribución de archivos: cliente-servidor vs P2PPregunta: ¿cuánto tiempo para distribuir archivos (tamaño F) deun servidor a N pares? carga pares / capacidad de descarga es limitado recursousuNdNservidorred (con abundanteancho de banda)archivo, tamaño Fus: Carga del servidorcapacidaduyo: Peer puedo subircapacidaddyo: Peer puedo descargarcapacidadu2d2u1d1dyo

Page 40: Capitulo 2 en Español Telematica

uyo

Página 78Capa de aplicación 2-78Archivo tiempo de distribución: cliente-servidortransmisión de servidor: debesecuencialmente enviar (upload) Ncopias de archivos:tiempo para enviar una copia: F / ustiempo para enviar N copias: NF / usaumenta linealmente en Ntiempo para distribuir Fa los clientes el uso de Nenfoque cliente-servidorDcs> Max {NF / us,, F / dmin}cliente: cada necesidad del clientecopia de archivos descarga dmin= Tasa de descarga del cliente min tiempo de descarga del cliente min: F / dminusla reddyouyoF

Página 79Capa de aplicación 2-79Archivo tiempo de distribución: P2Ptransmisión de servidor: debesubir al menos una copiatiempo para enviar una copia: F / ustiempo para distribuir Fa los clientes el uso de N

Page 41: Capitulo 2 en Español Telematica

Enfoque P2Pusla reddyouyoFDP2P> Max {F / us,, F / dmin,, NF / (us+uyo)}cliente: cada necesidad del clientecopia de archivos descarga tiempo de descarga del cliente min: F / dminclientes: como agregado debe descargar los bits NF tasa de carga máxima (limting tasa de descarga máxima) es de us+uyo... Pero también lo hace esto, ya que cada pares ofrece una capacidad de servicioaumenta linealmente en N ...

Página 80Capa de aplicación 2-8000.511522.533.5051015202530

Page 42: Capitulo 2 en Español Telematica

35NMyonimumDyostRhode Islandperoión TyomeP2PServidor de clienteCliente-servidor vs.P2P: ejemplotasa de subida cliente = u, F / u = 1 hora, us= 10u, dmin≥ us

Página 81Capa de aplicación 2-81Distribución de archivos P2P: BitTorrentTracker: pistas paresparticipar en torrenttorrent: grupo de compañerosel intercambio de trozos de un archivoAlice llega ...archivo dividido en trozos 256Kbcompañeros en torrent enviar / recibir trozos de archivos... Obtiene la listade los compañeros de rastreador... Y comienza a intercambiartrozos de archivos con sus compañeros en torrent

Página 82Capa de aplicación 2-82mirar unirse torrent: no tiene trozos, pero lo haráacumular en el tiempode otros compañeros registra con el perseguidor de conseguirlista de compañeros, se conecta asubconjunto de pares("Vecinos")

Page 43: Capitulo 2 en Español Telematica

Distribución de archivos P2P: BitTorrentdurante la descarga, mirar archivos trozos de otros compañerospares puede cambiar los compañeros con los que intercambia trozoschurn: compañeros pueden ir y veniruna vez entre pares tiene todo el archivo, puede (egoístamente) salir o(altruista) permanecerá en torrent

Página 83Capa de aplicación 2-83BitTorrent: requirente, enviando trozos de archivossolicitando trozos:en cualquier momento dado, diferentecompañeros tienen diferentes subconjuntosde trozos de archivosperiódicamente, Alice le pide a cadapares para la lista de trozos queellos tienenPeticiones Alice desaparecidostrozos de pares, más raraprimeroenviando trozos: ojo por ojoAlice envía a los trozoscuatro pares Actualmente enviándolatrozos de tasa más alta otros compañeros son ahogados byAlice(no reciben trozos de ella) re-evaluar las 4 every10 segundoscada 30 segundos: seleccionar al azarotro compañero, comienza a enviartrozos "optimismo unchoke" esta entre pares pares recién elegido puede unirse a la parte superior 4

Página 84Capa de aplicación 2-84BitTorrent: ojo por ojo(1) Alice "optimismo unchokes" Bob(2) Alice se convierte en uno de los cuatro principales proveedores de Bob; Bob reciproca(3) Bob se convierte en uno de los cuatro principales proveedores de Alicemayor tasa de subida: encontrar mejorsocios comerciales, obtener archivos más rápido!

Página 85Tabla de Hash Distribuido (DHT)DHT: una base de datos P2P distribuido

Page 44: Capitulo 2 en Español Telematica

base de datos tiene (clave, valor) pares; ejemplos: clave: número ss; valor: nombre humano clave: título de la película; valor: dirección IPDistribuir los (valor clave,) pares sobre el(millones de pares)un compañero consulta DHT con llave DHT devuelve valores que coinciden con la teclacompañeros también pueden insertar (clave, valor) paresAplicación 2-85

Página 86Q: cómo asignar teclas a sus compañeros?cuestión central: asignación (valor clave,) pares a pares.idea básica: convertir cada llave a un entero Asignar a cada número entero entre pares poner (valor clave,) par en el par que es más cercanoa la teclaAplicación 2-86

Página 87Identificadores de DHTasignar a cada identificador entero en el rango de pares[0,2n-1] Para algunos n. cada identificador representado por n bits.exigir a cada clave para ser un número entero en el mismo rangopara obtener la clave de enteros, hash de llave original por ejemplo, clave = picadillo ("Led Zeppelin IV") esta es la razón por la se conoce como una distribuida"picadillo"mesaAplicación 2-87

Página 88Asignar claves de sus compañerosregla: clave asignar a los pares que tiene lamás cercano ID.convención en conferencia: más cercano es elsucesor inmediato de la llave.por ejemplo, n = 4; compañeros: 1,3,4,5,8,10,12,14;

Page 45: Capitulo 2 en Español Telematica

 clave = 13, entonces los compañeros sucesor = 14 clave = 15, entonces los compañeros sucesor = 1Aplicación 2-88

Página 8913458101215DHT Circular (1)cada par sólo se consciente de inmediato sucesor ypredecesor."Red superpuesta"Aplicación 2-89

Página 9000010011010001011000101011001111Quien's responsablepara la clave 1110?soyO (n) los mensajesen avgerage para resolverconsulta, cuando hayson N pares111011101110111011101110Definir más cercanocomo más cercanosucesorAplicación 2-90DHT Circular (1)

Página 91DHT Circular con accesos directoscada par mantiene un registro de las direcciones IP de predecesor,sucesor, atajos.

Page 46: Capitulo 2 en Español Telematica

reducido de 6 a 2 mensajes.posible diseñar métodos abreviados de modo O (log N) vecinos, O (log N)mensajes en consulta13458101215¿Quién es responsablepara la clave 1110?Aplicación 2-91

Página 92Churn Peerejemplo: pares 5 deja bruscamentepares 4 pares 5 detecta la salida; hace 8 su inmediatasucesor; pregunta 8 que su sucesor inmediato es; haceDe 8 sucesor inmediato su segundo sucesor.¿y si los compañeros 13 quiere unirse?13458101215el manejo de la rotación entre iguales:compañeros pueden ir y venir (churn)cada interlocutor sabe dirección de sudos sucesorescada par pings periódicamente sudos sucesores para comprobar la vitalidadsi sale de inmediato sucesor,elegir el próximo sucesor como nuevosucesor inmediatoAplicación 2-92

Página 93Capa de aplicación 2-93Capítulo 2: Esquema2.1 Principios de la redaplicaciones arquitecturas de aplicaciones requisitos de aplicaciones

Page 47: Capitulo 2 en Español Telematica

2.2 Web y HTTP2.3 FTP2,4 correo electrónico SMTP, POP3, IMAP2.5 DNS2.6 aplicaciones P2PProgramación 2.7 zócalocon UDP y TCP

Página 94Capa de aplicación 2-94Programación de socketsobjetivo: aprender a construir aplicaciones cliente / servidor quecomunicarse utilizando socketssocket: puerta entre proceso de solicitud y End-protocolo de transporte finalInternetcontroladapor el sistema operativocontrolado pordesarrollador de aplicacionestransportesolicitudfísicoenlacela redprocesotransportesolicitudfísicoenlacela redprocesoenchufe

Página 95Capa de aplicación 2-95Programación de socketsDos tipos de conectores para dos servicios de transporte:UDP: datagramas no fiableTCP: fiable, corriente orientada a byteEjemplo de aplicación:1.Cliente lee una línea de caracteres (datos) de suteclado y envía los datos al servidor.2.El servidor recibe los datos y convertidoscaracteres en mayúsculas.3.El servidor envía los datos modificados al cliente.4.El cliente recibe los datos y pantallas modificadosla línea en su pantalla.

Page 48: Capitulo 2 en Español Telematica

Página 96Capa de aplicación 2-96Programación de sockets UDPUDP: no "conexión" entre el cliente y el servidorsin protocolo de enlace antes de enviar datosemisor concede explícitamente la dirección IP de destino ypuerto # para cada paqueteRCVR extrae dirección IP del remitente y el puerto de #paquete recibidoUDP: los datos transmitidos pueden ser perdidos o recibidosfuera de servicioPunto de vista de la aplicación: UDP ofrece poco fiable transferencia de grupos de bytes("Datagramas") entre el cliente y el servidor

Página 97Cliente / servidor de interacción socket: UDPcercaclientSocke tleer datagrama desdeclientSocketcrear socket:clientSocket =socket (AF_INET, SOCK_DGRAM)Crear datagrama IP con servidor yPORT = x; enviar datagramas a través declientSocketcrear socket, port = x:ServerSocket =socket (AF_INET, SOCK_DGRAM)leer datagrama desdeserverSocke tescribir respuesta aServerSocketespecificandodirección del cliente,número de puertoAplicación 2-97servidor(corriendoenservidor IP)cliente

Página 98Capa de aplicación 2-98Ejemplo de aplicaciones: cliente UDPde la toma de las importaciones *serverName = 'nombre de host'serverPort = 12000clientSocket = socket (socket.AF_INET,socket.SOCK_DGRAM)

Page 49: Capitulo 2 en Español Telematica

message = raw_input ('Input frase minúscula:')clientSocket.sendto(mensaje, (serverName, serverPort))modifiedMessage, serverAddress =clientSocket.recvfrom (2.048)modifiedMessage impresiónclientSocket.close ()Python UDPClientincluir toma de Pythonbibliotecacrear socket UDP paraservidorconseguir el teclado del usuarioentradaColoque el nombre del servidor, el puerto demensaje; enviar en el zócaloimprimir cadena recibiday cerca zócaloleer caracteres respuesta detoma en cadena

Página 99Capa de aplicación 2-99Ejemplo de aplicaciones: servidor UDPde la toma de las importaciones *serverPort = 12000ServerSocket = socket (AF_INET, SOCK_DGRAM)serverSocket.bind (('', serverPort))impresión"El servidor está preparado para recibir"mientras que 1:mensaje, Dirección_cliente = serverSocket.recvfrom (2048)modifiedMessage = message.upper ()serverSocket.sendto (modifiedMessage, Dirección_cliente)Python UDPServercrear socket UDPtoma unen al puerto localnúmero 12.000bucle para siempreLeer de socket UDP enmensaje, conseguir clientes de(IP cliente y puerto)enviar cadena mayúsculasde nuevo a este cliente

Página 100Capa de aplicación 2-100Programación de sockets con TCPcliente debe contactar con el servidorproceso de servidor debe ser primerocorriendoservidor debe haber creadosocket (puerta) queacoge con satisfacción el contacto del cliente

Page 50: Capitulo 2 en Español Telematica

servidor de contactos de clientes a través de:Creación de socket TCP,especificando la dirección IP, el puertonúmero de proceso del servidorcuando el cliente crea socket:establece TCP clienteconexión al servidor TCPcuando fue contactado por el cliente,TCP servidor crea nuevo socketpara el proceso de servidorcomunicarse con eseespecialmente cliente permite servidor para hablar convarios clientes números de puerto de origen utilizadospara distinguir clientes(más en el capítulo 3)TCP proporciona fiable, en ordentransferencia de flujo de bytes ("pipe")entre cliente y servidoraplicación punto de vista:

Página 101Capa de aplicación 2-101Cliente / servidor de interacción socket: TCPesperar a que entrantesolicitud de conexiónconnectionSocket =serverSocket.accept ()crear socket,= portuarias x, para el entrantepetición:ServerSocket = socket ()crear socket,conectarse a hostid, port = xclientSocket = socket ()servidor(corriendoenhostid)clienteenviar solicitud utilizandoclientSocketleer petición deconnectionSocke tescribir respuesta aconnectionSocketTCPconfiguración de la conexióncercaconnectionSocket

Page 51: Capitulo 2 en Español Telematica

leer respuesta declientSocketcercaclientSocket

Página 102Capa de aplicación 2-102Ejemplo de aplicaciones: cliente TCPde la toma de las importaciones *serverName = 'nombre_servidor'serverPort = 12000clientSocket = socket (AF_INET, SOCK_STREAM)clientSocket.connect ((serverName, serverPort))frase = raw_input ('Input frase minúscula:')clientSocket.send (frase)modifiedSentence = clientSocket.recv (1024)print 'De Servidor:', modifiedSentenceclientSocket.close ()Python TCPClientcrear socket TCP paraservidor, 12000 puerto remotoNo hay necesidad de conectar el servidornombre, puerto

Página 103Capa de aplicación 2-103Ejemplo de aplicaciones: servidor TCPde la toma de las importaciones *serverPort = 12000ServerSocket = socket (AF_INET, SOCK_STREAM)serverSocket.bind (('', serverPort))serverSocket.listen (1)print "El servidor está preparado para recibir"mientras que 1:connectionSocket, addr = serverSocket.accept ()frase = connectionSocket.recv (1024)capitalizedSentence = sentence.upper ()connectionSocket.send (capitalizedSentence)connectionSocket.close ()Python TCPServercrear TCP bienvenidaenchufeservidor empieza escuchandopeticiones TCP entrantesbucle para siempreservidor espera en aceptar ()para las solicitudes entrantes, nuevosocket creado en el retornoleer bytes de enchufe (perono abordan como en UDP)estrecha relación con estecliente (pero no bienvenidasocket)

Página 104Capa de aplicación 2-104

Page 52: Capitulo 2 en Español Telematica

Capítulo 2: Resumenarquitecturas de aplicaciones cliente-servidor P2Pde servicios de aplicacionesrequisitos: fiabilidad, ancho de banda, retardoServicio de transporte de Internetmodelo orientado a conexión,fiable: TCP poco fiables, los datagramas UDP:nuestro estudio de aplicaciones de red ahora completa!protocolos específicos: HTTP FTP SMTP, POP, IMAP DNS P2P: BitTorrent, DHTla programación del zócalo: TCP,Sockets UDP

Página 105Capa de aplicación 2-105solicitud típica / respuestaintercambio de mensajes: cliente solicita información oservicio servidor responde conde datos, código de estadoformatos de mensaje: encabezados: Campos dandoinformación sobre los datos datos: información de sercomunicadostemas importantes:vs.data de control Mensajes en banda, fuera de bandavs.decentralized centralizadovs.stateful apátridasmsg vs.unreliable confiabletransferencia"Complejidad en la redborde "

Page 53: Capitulo 2 en Español Telematica