XMPP

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 26 de febrero de 2022; las comprobaciones requieren 6 ediciones .
XMPP
Puerto/ID 5222 y 5269
 Archivos multimedia en Wikimedia Commons

XMPP ( Xtensible Messaging  and Presence P rotocol " Extensible  Messaging and Presence Protocol " ) , anteriormente conocido como Jabber un protocolo abierto , basado en XML y de uso gratuito para mensajería instantánea e información de presencia (consulte la lista de contactos  ) en modo casi en tiempo real. Diseñado desde el principio para ser fácilmente extensible, el protocolo admite la transmisión de voz , video y archivos a través de una red , además de mensajes de texto .

La extensibilidad del protocolo está diseñada para agregar mensajería instantánea, redes sociales, sitios que utilizan estándares diferentes e incompatibles a una sola red de comunicación. Se suponía que las grandes empresas abrirían la comunicación de servidor a servidor con otros IM y describirían sus métodos de encriptación, transferencia de medios y otros datos a través de la publicación de extensiones XMPP. Las extensiones serán aceptadas o rechazadas por la comunidad global según la forma en que se distribuyan más, pero la funcionalidad básica de mensajería para los usuarios de los diferentes mensajeros siempre estará disponible. En realidad, esta idea no ha recibido la difusión adecuada, y la mayoría de las grandes empresas no abrieron la posibilidad de comunicación de sus usuarios con otros servicios.

A diferencia de los sistemas comerciales de mensajería instantánea como AIM , ICQ , WLM y Yahoo , XMPP es federado , extensible y abierto. Cualquiera puede iniciar su propio servidor de mensajería instantánea, registrar usuarios e interactuar con otros servidores XMPP. Muchos servidores XMPP privados y corporativos ya están abiertos según el protocolo XMPP. Entre ellos hay o hubo grandes proyectos como Google Talk , Odnoklassniki.ru , LiveJournal , Juick , Facebook [2] , VKontakte , Yandex [3] [4] .

Historia

El proyecto Jabber fue fundado por Jeremy Miller a principios de 1999 con el desarrollo del servidor jabberd [5] . El proyecto se informó por primera vez el 4 de enero de 1999 en el sitio web Slashdot [6] . Esta fecha se considera el cumpleaños de la tecnología [7] . Poco después, varios desarrolladores principales se unieron al proyecto y comenzaron a trabajar en el servidor jabberd, los clientes de Windows y GNU/Linux y las puertas de enlace a los principales sistemas de mensajería instantánea (AIM, ICQ, MSN y Yahoo). Posteriormente, en 1999, Webb Interactive Services comenzó a patrocinar a los principales desarrolladores, lo que aceleró el proceso de creación de proyectos. En ese momento, apareció la base del protocolo Jabber, así como el servidor jabberd y los primeros clientes como WinJab (obsoleto y desarrollado en Exodus ) y Gabber. Este primer período de cambio constante finalizó en mayo de 2000 con el lanzamiento de Jabberd 1.0.

El primer protocolo Jabber formó la base del estándar XMPP publicado como RFC 3920 . Esto a menudo se ve como el comienzo de una rivalidad con SIMPLE , basado en el protocolo SIP , como el protocolo estándar para mensajería instantánea e información de presencia.

Desde agosto de 2001, el protocolo Jabber ha estado bajo el control de Jabber Software Foundation (Jabber Software Foundation pasó a llamarse XMPP Standards Foundation [8] el 16 de enero de 2007 ), para describir con mayor precisión su trabajo en el desarrollo de extensiones para el propio protocolo. en contraste con la línea de desarrollo del programa con el mismo nombre.

Jabber Inc. está desarrollando dos proyectos: Jabber Extensible Communications Platform (Jabber XCP) y JabberNow. El primero es un marco y el segundo es una solución de software y hardware (una computadora especialmente ensamblada y configurada). Jabber.org sigue activo. Los inversores del proyecto Jabber son Jona, Inc. , France Telecom , Intel Capital y Webb Interactive Services, Inc. [una]

En agosto de 2005, Google presentó Google Talk  , una combinación de VoIP y un cliente de mensajería que usa XMPP para la funcionalidad de mensajería y como base para las transferencias de voz y archivos. El lanzamiento inicial del servicio de Google no admitía la comunicación de servidor a servidor , pero el 17 de enero de 2006 se agregó esta capacidad [9] . Sin embargo, en mayo de 2013, Google anunció que eliminaría gradualmente el soporte para las comunicaciones de servidor a servidor debido a la promoción de su servicio Google Hangouts [10] . Sin embargo, a pesar de las declaraciones oficiales, Google Talk aún es compatible con XMPP [11] [12] .

Protocolo

La familia de protocolos XMPP se ha adoptado como estándar RFC [13] . El puerto estándar para XMPP es 5222 [14] . También es posible utilizar el puerto 80 y/o 443 [15] si hay problemas de firewall . El protocolo describe las comunicaciones cliente-servidor (c2s) e interservidor (s2s). Un mensajero habilitado para XMPP no tiene que seguir el estándar c2s para poder federarse en s2s con otros mensajeros XMPP.[ ¿Qué? ] Varios mensajeros XMPP con registro por número de teléfono no le permiten usar otros clientes XMPP ni conectarse a otros servidores, pero sus servidores admiten la comunicación federada (interactuar con otros servidores XMPP).

Beneficios

Debilidades

Extensiones XMPP

El protocolo XMPP incluye solo el marco básico para el paso de mensajes. Para implementar funciones adicionales, se utilizan extensiones XEP (protocolos de extensión XMPP). El sistema modular le permite ensamblar sistemas basados ​​en XMPP, tanto para mensajería como para transferencia de datos de dispositivos IoT y otras tareas. Los clientes de Jabber requieren soporte para que las extensiones apropiadas funcionen correctamente. Algunos de los clientes XMPP más importantes para trabajar son las extensiones:

Robots

Los bots de conferencia son muy populares en Jabber . Son ampliamente utilizados para proteger las conferencias del spam , como censor , para mantener varias estadísticas, para analizar sitios web (chistes, noticias, etc.), para crear "puentes" entre chats , para mantener registros, administrar conferencias, etc. . La funcionalidad de los bots xmpp y su alcance están limitados únicamente por la imaginación de sus desarrolladores.

Bots notables

Direccionamiento

Cada usuario en la red Jabber tiene un identificador único: Jabber ID (abreviado como JID ). Una dirección JID, como una dirección de correo electrónico, contiene el nombre de usuario y el nombre de dominio del servidor donde está registrado el usuario, separados por un signo @ . Por ejemplo, el usuario usuario registrado en el servidor ejemplo.com tendrá la dirección: [email protected].

Un usuario puede tener varias conexiones al mismo tiempo, que se distinguen por un atributo JID adicional llamado recurso y se agrega mediante una barra inclinada al final de la dirección. Por ejemplo, si la dirección completa del usuario es [email protected]/trabajo, los mensajes enviados a [email protected] llegarán a la dirección especificada independientemente del nombre del recurso, pero los mensajes a [email protected]/trabajo llegarán al dirección especificada solo si el recurso correspondiente está conectado.

Los JID también se pueden usar sin un nombre de usuario explícito (con o sin un nombre de recurso) para los mensajes del sistema y para controlar la accesibilidad en el servidor.

Conexión a otros protocolos

Una característica útil de los sistemas XMPP son los transportes , o puertas de enlace , que permiten a los usuarios acceder a las redes utilizando otros protocolos. Estos pueden ser otros protocolos de mensajería instantánea, IRC , o protocolos como SMS y correo electrónico .

A diferencia de los clientes multiprotocolo , XMPP brinda acceso a nivel de servidor, a través de la comunicación a través de servicios especiales de puerta de enlace que se ejecutan en una computadora remota.

Cualquier usuario puede "registrarse" en una de estas puertas de enlace proporcionando la información requerida para iniciar sesión en la red y puede comunicarse con los usuarios de la red como si fueran usuarios de la red Jabber. Esto significa que cualquier cliente que admita totalmente XMPP se puede utilizar para acceder a cualquier red para la que existan puertas de enlace, sin ningún código adicional en el cliente y sin que el cliente tenga que tener acceso directo a Internet.

La implementación de puertas de enlace es específica para el servidor XMPP específico y está sujeta a inestabilidad debido a la naturaleza cerrada de los servicios de mensajería instantánea comercial.

Ejemplos de integraciones XMPP globales

La alta tolerancia a fallas y la baja sobrecarga de los servidores XMPP [36] alientan a varias grandes empresas a utilizar XMPP como plataforma base para crear mensajeros y chats privados, así como para enviar notificaciones automáticas [37]

Software

Servidores XMPP

Clientes XMPP

Según las estadísticas del servidor público XMPP 404.city [48] (para el verano de 2017), los clientes más populares para computadoras de escritorio y portátiles son Pidgin y Psi+ . En Android, lideran Xabber y Conversations.

Para PC y portátiles
  • Miranda NG  es un mensajero multiprotocolo para MS-Windows con soporte para OTR , PGP , OMEMO y su propio complemento SecureIm basado en la biblioteca abierta Crypto++
  • Pidgin  es un cliente multiplataforma con soporte OTR , PGP . OMEMO es compatible a través de un complemento en modo de prueba.
  • Psi  es un cliente multiplataforma compatible con OTR , PGP , OMEMO .
  • Psi+  es una versión mejorada del cliente Psi XMPP (todas las funciones nuevas aparecen primero en Psi+ y luego se transfieren gradualmente a Psi ).
  • Gajim  es un cliente multiplataforma compatible con OTR , PGP , OMEMO .
  • Dino es un cliente para las familias Linux y BSD con soporte OMEMO . Escrito en el idioma Vala usando el kit de herramientas GTK
Para Android
  • Pix-Art Messenger  es una bifurcación del famoso cliente Conversaciones con características adicionales. Amplia selección de servidores. Compatible con OMEMO, OTR, OpenPGP.
  • Xabber  es un cliente XMPP con soporte OTR , PGP .
  • Conversaciones  : cliente XMPP con soporte OTR (desde la versión 2.0.0, esta función no es compatible), PGP , OMEMO . Es posible enviar imágenes, archivos de varios tipos, coordenadas geográficas, grabar y enviar mensajes de voz.
  • IM+  es un mensajero multiprotocolo con OTR .
  • yaxim.

para iOS

  • ChatSecure  es un cliente XMPP con soporte OTR , OMEMO del equipo de The Guardian Project .
  • Zom  es un cliente XMPP con soporte OTR , OMEMO . Es una rama del proyecto ChatSecure . Soporte para envío de archivos y mensajes de voz.

Véase también

Notas

  1. 1 2 Jabber Inc. — Acerca de nosotros Archivado el 3 de julio de 2007.
  2. Desarrolladores de Facebook: API de chat (enlace descendente) . Consultado el 7 de julio de 2016. Archivado desde el original el 25 de septiembre de 2015. 
  3. Yandex deja de admitir Jabber y nadie lo sabe / Geektimes . Consultado el 28 de noviembre de 2016. Archivado desde el original el 29 de noviembre de 2016.
  4. Yandex, siguiendo al resto, cierra su servidor jabber / Geektimes . Consultado el 28 de noviembre de 2016. Archivado desde el original el 29 de noviembre de 2016.
  5. Historia de XMPP . Consultado el 8 de septiembre de 2009. Archivado desde el original el 12 de febrero de 2011.
  6. Abrir sistema de mensajería en tiempo real
  7. ↑ Publicación de blog de Peter St. André  (enlace caído)
  8. Jabber Software Foundation renombrada como XMPP Standards Foundation  : [Comunicado de prensa]:   (enlace descendente)  : [ eng. ]  : [ arq. 21 de enero de 2007 ] // xmpp.org. - XSF, 2007. - 16 de enero.
  9. Gary Burd. Federación XMPP (17 de enero de 2006). Consultado el 30 de noviembre de 2007. Archivado desde el original el 21 de agosto de 2011.
  10. Sean Gallagher. Google no permitirá conexiones de servidor a servidor (17 de mayo de 2013). Fecha de acceso: 20 de mayo de 2013. Archivado desde el original el 20 de mayo de 2013.
  11. Preguntas frecuentes de Google: Comunicaciones abiertas . Consultado el 7 de julio de 2016. Archivado desde el original el 5 de octubre de 2016.
  12. The XMPP Blog: No, no es el final de XMPP para Google Talk . Consultado el 7 de julio de 2016. Archivado desde el original el 17 de junio de 2016.
  13. RFC XMPP . Consultado el 8 de septiembre de 2009. Archivado desde el original el 17 de septiembre de 2009.
  14. ¿Puedo usar Jabber cuando estoy detrás de un firewall? Archivado desde el original el 20 de mayo de 2007. JabberLive!, 9 de marzo de 2007
  15. Jabber disponible detrás de un firewall o proxy. Gratis _ Consultado el 23 de mayo de 2022. Archivado desde el original el 25 de enero de 2021.
  16. Psi . Consultado el 24 de enero de 2009. Archivado desde el original el 1 de noviembre de 2020.
  17. Complemento OTR de Kopete . Fecha de acceso: 24 de enero de 2009. Archivado desde el original el 17 de octubre de 2008.
  18. Complemento Miranda GnuPG Archivado el 20 de diciembre de 2010.
  19. Standards-JIG] Distribución de tipos de estrofas . Consultado el 14 de agosto de 2009. Archivado desde el original el 15 de junio de 2009.
  20. Standards-JIG] proto-JEP: Smart Presence Distribution . Consultado el 14 de agosto de 2009. Archivado desde el original el 10 de junio de 2009.
  21. XEP-0138: Compresión de flujo . Consultado el 14 de agosto de 2009. Archivado desde el original el 15 de agosto de 2009.
  22. Métodos de compresión del protocolo de seguridad de la capa de transporte . Consultado el 14 de agosto de 2009. Archivado desde el original el 12 de octubre de 2009.
  23. Normas-JIG] Problemas de tráfico de MUC . Consultado el 14 de agosto de 2009. Archivado desde el original el 10 de mayo de 2009.
  24. Neutrón (bot Jabber) . Consultado el 20 de julio de 2011. Archivado desde el original el 22 de agosto de 2011.
  25. Tendencias de Google . Consultado el 5 de mayo de 2013. Archivado desde el original el 8 de octubre de 2016.
  26. fatal-dev . Consultado el 26 de noviembre de 2011. Archivado desde el original el 27 de mayo de 2013.
  27. Bot Snapi XMPP . Fecha de acceso: 20 de julio de 2011. Archivado desde el original el 24 de abril de 2014.
  28. Robot BlackSmith XMPP . Consultado el 4 de diciembre de 2011. Archivado desde el original el 18 de septiembre de 2011.
  29. BlackSmith mark.2 (Nuevo bot XMPP) . Consultado el 20 de julio de 2011. Archivado desde el original el 25 de noviembre de 2011.
  30. Taho en Google Code . Fecha de acceso: 20 de julio de 2011. Archivado desde el original el 28 de febrero de 2011.
  31. pako: bot de Pako Jabber (C#) . Consultado el 14 de agosto de 2013. Archivado desde el original el 7 de octubre de 2013.
  32. Laboratorio de producción de discapacitantes . Consultado el 11 de febrero de 2020. Archivado desde el original el 16 de febrero de 2020.
  33. El servidor XMPP más grande de Rusia . Consultado el 16 de julio de 2004. Archivado desde el original el 29 de julio de 2004.
  34. Guía de estilo de Python . Fecha de acceso: 20 de julio de 2011. Archivado desde el original el 29 de octubre de 2009.
  35. a7x-im (desarrolladores de bots Erl) . Consultado el 20 de julio de 2011. Archivado desde el original el 8 de febrero de 2011.
  36. ejabberd Escalabilidad masiva: 1 nodo - más de 2 millones de usuarios simultáneos | Blog de ProcessOne . Consultado el 22 de junio de 2018. Archivado desde el original el 22 de junio de 2018.
  37. XMPP | Usos de XMPP . Consultado el 22 de junio de 2018. Archivado desde el original el 22 de junio de 2018.
  38. Jabberd y Nintendo Switch NPNS | Blog de ProcessOne . Consultado el 5 de junio de 2019. Archivado desde el original el 5 de junio de 2019.
  39. NSA usa el protocolo Jabber para chats - "Hacker" . Consultado el 24 de junio de 2018. Archivado desde el original el 25 de junio de 2018.
  40. Defense Collaboration Services (DCS), que proporciona conferencias web seguras y servicios de mensajería instantánea en la red de enrutador de protocolo de Internet no seguro (NIPRNet) y la red de enrutamiento de protocolo de Internet seguro (SIPRNet) y el chat de protocolo de presencia y mensajería extensible (XMPP) . Consultado el 17 de septiembre de 2019. Archivado desde el original el 9 de septiembre de 2019.
  41. Formularios militares usando XMPP . Consultado el 10 de junio de 2019. Archivado desde el original el 19 de abril de 2019.
  42. EU-Parlament empfiehlt Jabber statt WhatsApp y prüft Signal | Heise en línea . Consultado el 19 de octubre de 2019. Archivado desde el original el 19 de octubre de 2019.
  43. Die Bundespolizei setzt hingegen auf den offenen XMPP-Standard. Ein Messenger auf XMPP-Basis befinde sich derzeit im Probebetrieb, heißt es in der Antwort auf eine kleine Anfrage der FDP . Consultado el 3 de diciembre de 2019. Archivado desde el original el 3 de diciembre de 2019.
  44. Software XMPP: Servidores . Fundación de estándares XMPP . Consultado el 12 de febrero de 2009. Archivado desde el original el 21 de agosto de 2011.
  45. Servidor Tigas XMPP | Tigase.net . tigase.net. Consultado el 15 de septiembre de 2019. Archivado desde el original el 30 de abril de 2019.
  46. Wokkel . wokkel.ik.nu. Consultado el 15 de septiembre de 2019. Archivado desde el original el 8 de septiembre de 2019.
  47. ↑ Lanzamiento de Xabber Server v.0.9 alpha  . Blog de Xabber (13 de septiembre de 2019). Consultado el 15 de septiembre de 2019. Archivado desde el original el 14 de diciembre de 2019.
  48. Estadísticas (enlace descendente) (9 de agosto de 2017). Consultado el 18 de abril de 2018. Archivado desde el original el 9 de agosto de 2017. 

Enlaces