Universidad Pol Facultad D Trabajo

Universidad Pol Facultad D Trabajo

UNIVERSIDAD POLITÉCNICA DE MADRID FACULTAD DE INFORMÁTICA TRABAJO FINAL DE CARRERA ESTUDIO DEL PROTOCOLO XMPP DE MESAJERÍA ISTATÁEA, DE SUS ATECEDETES, Y DE SUS APLICACIOES CIVILES Y MILITARES Autor: José Carlos Díaz García Tutor: Rafael Martínez Olalla Madrid, Septiembre de 2008 2 A mis padres, Francisco y Pilar, que me empujaron siempre a terminar esta licenciatura y que tanto me han enseñado sobre la vida A mis abuelos (q.e.p.d.) A mi hijo icolás, que me ha dejado terminar este trabajo a pesar de robarle su tiempo de juego conmigo Y muy en especial, a Susana, mi fiel y leal compañera, y la luz que ilumina mi camino Agradecimientos En primer lugar, me gustaría agradecer a toda mi familia la comprensión y confianza que me han dado, una vez más, para poder concluir definitivamente esta etapa de mi vida. Sin su apoyo, no lo hubiera hecho. En segundo lugar, quiero agradecer a mis amigos Rafa y Carmen, su interés e insistencia para que llegara este momento. Por sus consejos y por su amistad, les debo mi gratitud. Por otra parte, quiero agradecer a mis compañeros asesores militares de Nextel Engineering sus explicaciones y sabios consejos, que sin duda han sido muy oportunos para escribir el capítulo cuarto de este trabajo. Del mismo modo, agradecer a Pepe Hevia, arquitecto de software de Alhambra Eidos, los buenos ratos compartidos alrrededor de nuestros viejos proyectos sobre XMPP y que encendieron prodigiosamente la mecha de este proyecto. A Jaime y a Bernardo, del Ministerio de Defensa, por haberme hecho descubrir las bondades de XMPP. Y por último, quiero enviarles un grato reconocimiento a todos mis antiguos compañeros de la Facultad de Informática y a los que coincidieron conmigo en su Club de Informática y Telemática, el Capítulo de Estudiantes de ACM, el Grupo de Modelos y Software para el Medio Ambiente (los “Adivinos del Aire” como nos llamó El País en aquel artículo sobre nuestras investigaciones), a los amigos del Laboratorio de Comunicación Oral “Robert Wayne Newcomb” y a muchos más compañeros de la promoción de 1.991 que hicieron de la FIUPM un lugar entrañable y con una ambición de excelencia académica a la que nunca debe renunciar. José Carlos Díaz García Universidad Politécnica de Madrid Facultad de Informática Madrid, 29 de Septiembre de 2.008 I II Índice general 1. Introducción ............................................................................................................ 1 2. Objetivos .................................................................................................................. 5 3. Estado del arte ......................................................................................................... 7 3.1. Fundamentos generales de la MI ....................................................................... 7 3.2. Antecedentes ...................................................................................................... 8 3.2.1. Talkomatic y Term-Talk ............................................................................. 9 3.2.2. Talk de UNIX ............................................................................................ 12 3.2.2.1. Orígenes ............................................................................................. 12 3.2.2.2. Descripción técnica ............................................................................ 13 3.2.3. Internet Relay Chat (IRC) ......................................................................... 14 3.2.3.1. Orígenes ............................................................................................. 14 3.2.3.2. Descripción técnica ............................................................................ 15 3.2.3.3. Clientes .............................................................................................. 18 3.2.3.4. Servidores .......................................................................................... 18 3.2.4. ICQ y el comienzo de la era moderna de la MI......................................... 19 3.2.4.1. Fundamentos del protocolo OSCAR ................................................. 20 3.2.4.2. Formato de los paquetes .................................................................... 21 3.2.4.3. Funcionamiento general del protocolo .............................................. 28 3.2.4.4. Servicios de mensajería y estructura de los mensajes ....................... 29 3.2.5. Jabber y XMPP .......................................................................................... 32 3.2.5.1. Introducción ....................................................................................... 32 3.2.5.2. Orígenes ............................................................................................. 33 3.3. Fundamentos técnicos de XMPP ..................................................................... 35 3.3.1. Arquitectura general del protocolo ............................................................ 35 3.3.2. Direccionamiento ...................................................................................... 37 3.3.3. Estructura de la comunicación basada en XML: Streams y Stanzas ......... 38 3.3.3.1. Negociación de la comunicación: XML Streams .............................. 39 3.3.3.2. TLS: La seguridad en la capa de transporte ....................................... 40 3.3.3.3. Autenticación con SASL ................................................................... 46 3.3.3.4. Comandos: XML Stanzas .................................................................. 52 3.3.4. La mensajería Instantánea en XMPP ........................................................ 53 III 3.3.4.1. Direccionamiento de los mensajes .................................................... 53 3.3.4.2. Estructura de los mensajes ................................................................. 54 3.3.4.3. Listas de Privacidad ........................................................................... 59 3.3.5. La Presencia en XMPP .............................................................................. 60 3.3.5.1. El concepto de presencia ................................................................... 60 3.3.5.2. Descripción técnica del protocolo de presencia ................................ 62 3.3.5.3. Cambios en el estado de presencia de los clientes ............................. 63 3.3.5.4. Suscripciones de presencia ................................................................ 64 3.3.5.5. Manejo del Roster .............................................................................. 67 3.3.5.5.1. Descarga del roster ..................................................................... 69 3.3.5.5.2. Actualización del roster: inserción, modificación y borrado ...... 71 3.3.5.6. Prioridades de los recursos ................................................................ 73 3.3.5.7. Presencia dirigida .............................................................................. 74 3.3.5.8. Presencia final .................................................................................... 75 3.3.5.9. Ejemplos de presencia ....................................................................... 75 3.3.6. Consideraciones de seguridad en XMPP .................................................. 80 3.3.7. Extensiones del protocolo: JEPs/XEPs ..................................................... 81 3.3.7.1. Introducción ....................................................................................... 82 3.3.7.2. Tipos de XEPs ................................................................................... 84 3.3.7.3. Algunas de las XEPs más importantes .............................................. 84 3.3.8. Ejemplo de una sesión XMPP ................................................................... 88 3.3.8.1. Conectar con el servidor de GMail e iniciar sesión ........................... 88 3.3.8.2. El mecanismo de autenticación segura de Gtalk ............................... 97 3.3.8.3. Enviar un mensaje a uno de los contactos ....................................... 100 3.3.8.4. Cambiar el estatus de presencia ....................................................... 101 3.3.8.5. Asociar un Nuevo grupo a un contacto del roster ........................... 102 3.3.8.6. Enviar un fichero a un contacto del roster ....................................... 103 3.3.8.7. Cerrar la sesión ................................................................................ 104 3.3.9. Roadmap.................................................................................................. 104 3.3.10. Software existente ................................................................................. 106 3.3.10.1. Clientes XMPP .............................................................................. 106 3.3.10.2. Servidores XMPP .......................................................................... 110 3.3.10.3. Librerías para el desarrollo de software......................................... 113 IV 3.3.11. Posibilidades del protocolo XMPP ....................................................... 115 3.3.11.1. Transporte entre Jabber/XMPP y otros servidores de MI ............. 116 3.3.11.2. Robots XMPP ................................................................................ 118 3.3.11.3. XMPP como facilitador de los Cloud Services ............................. 119 3.3.11.4. La capacidad P2P ........................................................................... 120 4. Aplicaciones del protocolo XMPP ....................................................................

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    235 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us