XMPP

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 26 februarie 2022; verificările necesită 6 modificări .
XMPP
Port/ID 5222 și 5269
 Fișiere media la Wikimedia Commons

XMPP ( Protocol X tensible  de mesagerie și prezență Extensible  Messaging and Presence Protocol ) , cunoscut anterior  sub Jabbernumele de un protocol deschis , bazat pe XML , care poate fi utilizat gratuit pentru mesaje instantanee și informații despre prezență (vezi lista de contacte  ) în modul aproape în timp real. Conceput de la început pentru a fi ușor extensibil, protocolul acceptă transmiterea de voce , video și fișiere printr-o rețea , pe lângă mesajele text .

Extensibilitatea protocolului este concepută pentru a adăuga mesagerie instant, rețele sociale, site-uri care utilizează standarde diferite, incompatibile la o singură rețea de comunicații. Companiile mari trebuiau să deschidă comunicarea de la server la server cu alți IM și să își descrie metodele de criptare, transfer de media și alte date prin publicarea extensiilor XMPP. Extensiile vor fi acceptate sau respinse de comunitatea globală prin modul în care sunt cele mai distribuite, dar funcționalitatea de bază de mesagerie pentru utilizatorii diferitelor mesagerie va fi întotdeauna disponibilă. În realitate, această idee nu a primit o distribuție adecvată, iar majoritatea companiilor mari nu au deschis posibilitatea de comunicare pentru utilizatorii lor cu alte servicii.

Spre deosebire de sistemele comerciale de mesagerie instantanee, cum ar fi AIM , ICQ , WLM și Yahoo , XMPP este federat , extensibil și deschis. Oricine își poate porni propriul server de mesagerie instantanee, poate înregistra utilizatori pe acesta și poate interacționa cu alte servere XMPP. Multe servere XMPP private și corporative sunt deja deschise pe baza protocolului XMPP. Printre acestea se numără sau au fost proiecte mari precum Google Talk , Odnoklassniki.ru , LiveJournal , Juick , Facebook [2] , VKontakte , Yandex [3] [4] .

Istorie

Proiectul Jabber a fost fondat de Jeremy Miller la începutul anului 1999 odată cu dezvoltarea serverului jabberd [5] . Proiectul a fost raportat pentru prima dată pe 4 ianuarie 1999 pe site-ul Slashdot [6] . Această dată este considerată a fi ziua de naștere a tehnologiei [7] . La scurt timp după aceea, câțiva dezvoltatori de bază s-au alăturat proiectului și au început să lucreze la serverul jabberd, clienții Windows și GNU/Linux și gateway -uri către principalele sisteme IM (AIM, ICQ, MSN și Yahoo). Mai târziu, în 1999, Webb Interactive Services a început să sponsorizeze dezvoltatorii de bază, ceea ce a accelerat procesul de creare a proiectului. În acel moment, a apărut baza protocolului Jabber, precum și serverul jabberd și clienții timpurii precum WinJab (depreciat și dezvoltat în Exodus ) și Gabber. Această perioadă timpurie de schimbări constante s-a încheiat în mai 2000 cu lansarea jabberd 1.0.

Primul protocol Jabber a constituit baza standardului XMPP publicat ca RFC 3920 . Acesta este adesea văzut ca începutul unei rivalități cu SIMPLE , bazat pe protocolul SIP , ca protocol standard pentru mesaje instantanee și informații despre prezență.

Din august 2001, protocolul Jabber se află sub controlul Jabber Software Foundation (Jabber Software Foundation a fost redenumită XMPP Standards Foundation [8] la 16 ianuarie 2007 ), pentru a descrie mai precis activitatea sa de dezvoltare a extensiilor la protocolul în sine, spre deosebire de linia de dezvoltare a programului cu același nume.

Jabber Inc. dezvoltă două proiecte - Jabber Extensible Communications Platform (Jabber XCP) și JabberNow. Primul este un cadru, iar al doilea este o soluție software și hardware (un computer special asamblat și configurat). Jabber.org este încă activ. Investitorii proiectului Jabber sunt Jona, Inc. , France Telecom , Intel Capital și Webb Interactive Services, Inc. [unu]

În august 2005, Google a introdus Google Talk  , o combinație de VoIP și un client de mesagerie care utilizează XMPP pentru funcționalitatea de mesagerie și ca bază pentru transferurile de voce și fișiere. Lansarea inițială a serviciului Google nu a suportat comunicarea de la server la server , dar până la 17 ianuarie 2006, această capacitate a fost adăugată [9] . Cu toate acestea, în mai 2013, Google a anunțat că va elimina treptat suportul pentru comunicațiile de la server la server datorită promovării serviciului Google Hangouts [10] . Cu toate acestea, în ciuda declarațiilor oficiale, Google Talk încă acceptă XMPP [11] [12] .

Protocol

Familia de protocoale XMPP a fost adoptată ca standard RFC [13] . Portul standard pentru XMPP este 5222 [14] . De asemenea, este posibil să utilizați portul 80 și/sau 443 [15] dacă există probleme de firewall . Protocolul descrie comunicațiile client-server (c2s) și interserver (s2s). Un mesager compatibil XMPP nu trebuie să urmeze standardul c2s pentru a fi federat peste s2s cu alți mesageri XMPP.[ ce? ] O serie de mesageri XMPP cu înregistrare prin număr de telefon nu vă permit să utilizați alți clienți XMPP sau să vă conectați la alte servere, dar serverele lor acceptă comunicarea federată (interacționează cu alte servere XMPP).

Beneficii

Puncte slabe

Extensii XMPP

Protocolul XMPP include doar cadrul de bază pentru transmiterea mesajelor. Pentru a implementa caracteristici suplimentare, sunt utilizate extensii XEP (XMPP Extension Protocols). Sistemul modular vă permite să asamblați sisteme bazate pe XMPP, atât pentru mesagerie, cât și pentru transferul de date al dispozitivelor IoT și alte sarcini. Clienții Jabber necesită asistență pentru ca extensiile adecvate să funcționeze corect. Unii dintre cei mai importanți clienți XMPP cu care să lucrați sunt extensiile:

Bots

Boții de conferință sunt foarte populari în Jabber . Sunt utilizate pe scară largă pentru a proteja conferințele de spam , ca cenzor , pentru a menține diverse statistici, pentru a analiza site-uri web (glume, știri etc.), pentru a crea „punți” între chat -uri , pentru a păstra jurnalele, pentru a gestiona conferințe și așa mai departe . Funcționalitatea boților xmpp și domeniul lor sunt limitate doar de imaginația dezvoltatorilor lor.

Boți notabile

Adresare

Fiecare utilizator din rețeaua Jabber are un identificator unic - Jabber ID (abreviat ca JID ). O adresă JID, ca o adresă de e-mail, conține numele de utilizator și numele de domeniu al serverului pe care este înregistrat utilizatorul, separate prin semnul @ . De exemplu, utilizatorul utilizator înregistrat pe serverul example.com va avea adresa: user@example.com.

Un utilizator poate avea mai multe conexiuni în același timp, care se disting printr-un atribut JID suplimentar numit resursă și adăugat printr-o bară oblică la sfârșitul adresei. De exemplu, lăsați adresa completă a utilizatorului să fie user@example.com/work, apoi mesajele trimise către user@example.com vor ajunge la adresa specificată, indiferent de numele resursei, dar mesajele către user@example.com/work vor ajunge la adresa specificată numai dacă resursa corespunzătoare este conectată.

JID-urile pot fi folosite și fără un nume de utilizator explicit (cu sau fără nume de resursă) pentru mesajele de sistem și pentru a controla accesibilitatea pe server.

Conectarea la alte protocoale

O caracteristică utilă a sistemelor XMPP sunt transporturile sau gateway-urile , care permit utilizatorilor să acceseze rețelele folosind alte protocoale. Acestea pot fi alte protocoale de mesagerie instantanee, IRC sau protocoale precum SMS și e- mail .

Spre deosebire de clienții multiprotocol , XMPP oferă acces la nivel de server, prin comunicare prin servicii speciale de gateway care rulează pe un computer la distanță.

Orice utilizator se poate „înregistra” cu unul dintre aceste gateway-uri furnizând informațiile necesare pentru a vă conecta în rețea și poate comunica cu utilizatorii rețelei ca și cum ar fi utilizatori ai rețelei Jabber. Aceasta înseamnă că orice client care acceptă pe deplin XMPP poate fi folosit pentru a accesa orice rețea pentru care există gateway-uri, fără niciun cod suplimentar în client și fără ca clientul să aibă acces direct la Internet.

Implementarea gateway-urilor este specifică serverului XMPP specific și este supusă instabilității din cauza naturii închise a serviciilor de IM comerciale.

Exemple de integrări globale XMPP

Toleranța ridicată la erori și supraîncărcarea redusă a serverelor XMPP [36] încurajează un număr de companii mari să folosească XMPP ca platformă de bază pentru crearea de mesageri și chat-uri private, precum și pentru livrarea de notificări push [37]

Software

Servere XMPP

Clienți XMPP

Conform statisticilor serverului public XMPP 404.city [48] (pentru vara anului 2017), cei mai populari clienți pentru desktop -uri și laptop-uri sunt Pidgin și Psi+ . Pe Android, Xabber și Conversations conduc.

Pentru PC-uri și laptopuri Pentru Android
  • Pix-Art Messenger  este un furk al celebrului client Conversations cu funcții suplimentare. O gamă largă de servere. Suporta OMEMO, OTR, OpenPGP.
  • Xabber  este un client XMPP cu suport OTR , PGP .
  • Conversații  - client XMPP cu suport OTR (din versiunea 2.0.0 această funcție nu este acceptată), PGP , OMEMO . Este posibil să trimiteți imagini, fișiere de diferite tipuri, coordonate geografice, să înregistrați și să trimiteți mesaje vocale.
  • IM+  este un mesager multi-protocol cu ​​OTR .
  • yaxim.

Pentru iOS

  • ChatSecure  este un client XMPP cu suport OTR , echipa OMEMO de The Guardian Project .
  • Zom  este un client XMPP cu suport OTR , OMEMO . Este o ramură a proiectului ChatSecure . Suport pentru trimiterea de fișiere și mesaje vocale.

Vezi și

Note

  1. 1 2 Jabber Inc. — Despre noi Arhivat 3 iulie 2007.
  2. Facebook Developers: Chat API (downlink) . Consultat la 7 iulie 2016. Arhivat din original la 25 septembrie 2015. 
  3. Yandex nu mai susține Jabber și nimeni nu știe despre el / Geektimes . Consultat la 28 noiembrie 2016. Arhivat din original pe 29 noiembrie 2016.
  4. Yandex, urmând restul, își închide serverul jabber / Geektimes . Consultat la 28 noiembrie 2016. Arhivat din original pe 29 noiembrie 2016.
  5. Istoricul XMPP . Consultat la 8 septembrie 2009. Arhivat din original pe 12 februarie 2011.
  6. Deschideți Sistemul de mesagerie în timp real
  7. Postare pe blog de Peter St. André  (link mort)
  8. Jabber Software Foundation redenumită XMPP Standards Foundation  : [Comunicat de presă] :   (downlink)  : [ ing. ]  : [ arh. 21 ianuarie 2007 ] // xmpp.org. - XSF, 2007. - 16 ianuarie.
  9. Gary Burd. Federația XMPP (17 ianuarie 2006). Consultat la 30 noiembrie 2007. Arhivat din original pe 21 august 2011.
  10. Sean Gallagher. Google nu va permite conexiuni de la server la server (17 mai 2013). Data accesului: 20 mai 2013. Arhivat din original pe 20 mai 2013.
  11. Întrebări frecvente Google: Comunicații deschise . Consultat la 7 iulie 2016. Arhivat din original la 5 octombrie 2016.
  12. Blogul XMPP: Nu, nu este sfârșitul XMPP pentru Google Talk . Preluat la 7 iulie 2016. Arhivat din original la 17 iunie 2016.
  13. RFC-uri XMPP . Consultat la 8 septembrie 2009. Arhivat din original pe 17 septembrie 2009.
  14. Pot folosi Jabber când sunt în spatele unui firewall? Arhivat din original pe 20 mai 2007. JabberLive!, 9 martie 2007
  15. Jabber disponibil în spatele unui firewall sau proxy. Gratuit . Preluat la 23 mai 2022. Arhivat din original la 25 ianuarie 2021.
  16. Psi . Consultat la 24 ianuarie 2009. Arhivat din original la 1 noiembrie 2020.
  17. Pluginul Kopete OTR . Data accesului: 24 ianuarie 2009. Arhivat din original la 17 octombrie 2008.
  18. Plugin Miranda GnuPG Arhivat 20 decembrie 2010.
  19. Standards-JIG] Distribuția tipurilor de strofe . Preluat la 14 august 2009. Arhivat din original la 15 iunie 2009.
  20. Standards-JIG] proto-JEP: Smart Presence Distribution . Preluat la 14 august 2009. Arhivat din original la 10 iunie 2009.
  21. XEP-0138: Compresia fluxului . Preluat la 14 august 2009. Arhivat din original la 15 august 2009.
  22. Metode de comprimare a protocolului de securitate al stratului de transport . Consultat la 14 august 2009. Arhivat din original la 12 octombrie 2009.
  23. Standards-JIG] Probleme de trafic MUC . Preluat la 14 august 2009. Arhivat din original la 10 mai 2009.
  24. Neutron (bot Jabber) . Preluat la 20 iulie 2011. Arhivat din original la 22 august 2011.
  25. Google Trends . Preluat la 5 mai 2013. Arhivat din original la 8 octombrie 2016.
  26. fatal-dev . Consultat la 26 noiembrie 2011. Arhivat din original la 27 mai 2013.
  27. Snapi XMPP bot . Data accesului: 20 iulie 2011. Arhivat din original pe 24 aprilie 2014.
  28. Botul XMPP BlackSmith . Preluat la 4 decembrie 2011. Arhivat din original la 18 septembrie 2011.
  29. BlackSmith mark.2 (Nou bot XMPP) . Preluat la 20 iulie 2011. Arhivat din original la 25 noiembrie 2011.
  30. Taho pe GoogleCode . Data accesului: 20 iulie 2011. Arhivat din original la 28 februarie 2011.
  31. pako - Pako Jabber bot (C#) . Preluat la 14 august 2013. Arhivat din original la 7 octombrie 2013.
  32. Disabler Production LabAratory . Consultat la 11 februarie 2020. Arhivat din original pe 16 februarie 2020.
  33. Cel mai mare server XMPP din Rusia . Consultat la 16 iulie 2004. Arhivat din original la 29 iulie 2004.
  34. Ghid de stil Python . Data accesului: 20 iulie 2011. Arhivat din original la 29 octombrie 2009.
  35. a7x-im (dezvoltatori de bot Erl) . Preluat la 20 iulie 2011. Arhivat din original pe 8 februarie 2011.
  36. ejabberd Scalabilitate masivă: 1 nod - 2+ milioane de utilizatori concurenți | Blog ProcessOne . Preluat la 22 iunie 2018. Arhivat din original la 22 iunie 2018.
  37. XMPP | Utilizări ale XMPP . Preluat la 22 iunie 2018. Arhivat din original la 22 iunie 2018.
  38. ejabberd și Nintendo Switch NPNS | Blog ProcessOne . Consultat la 5 iunie 2019. Arhivat din original pe 5 iunie 2019.
  39. NSA folosește protocolul Jabber pentru chat - „Hacker” . Preluat la 24 iunie 2018. Arhivat din original la 25 iunie 2018.
  40. Defense Collaboration Services (DCS), care furnizează servicii de conferințe web și mesagerie instantanee securizate în rețeaua de router cu protocol Internet nesecurizat (NIPRNet) și rețea de rutare a protocolului Internet securizat (SIPRNet) și chat-ul XMPP (Extensible Messaging and Presence Protocol) . Preluat la 17 septembrie 2019. Arhivat din original la 9 septembrie 2019.
  41. Forme militare folosind XMPP . Consultat la 10 iunie 2019. Arhivat din original la 19 aprilie 2019.
  42. EU-Parlament empfiehlt Jabber statt WhatsApp und prüft Signal | heise online . Consultat la 19 octombrie 2019. Arhivat din original la 19 octombrie 2019.
  43. Die Bundespolizei setzt hingegen auf den offenen XMPP-Standard. Ein Messenger auf XMPP-Basis befinde sich derzeit im Probebetrieb, heißt is in der Antwort auf eine kleine Anfrage der FDP . Preluat la 3 decembrie 2019. Arhivat din original la 3 decembrie 2019.
  44. Software XMPP: Servere . Fundația pentru standarde XMPP . Consultat la 12 februarie 2009. Arhivat din original pe 21 august 2011.
  45. Tigas XMPP Server | Tigase.net . tigase.net. Consultat la 15 septembrie 2019. Arhivat din original la 30 aprilie 2019.
  46. Wokkel . wokkel.ik.nu. Preluat la 15 septembrie 2019. Arhivat din original la 8 septembrie 2019.
  47. ↑ Este lansat Xabber Server v.0.9 alpha  . Blog Xabber (13 septembrie 2019). Preluat la 15 septembrie 2019. Arhivat din original la 14 decembrie 2019.
  48. Statistici (downlink) (9 august 2017). Preluat la 18 aprilie 2018. Arhivat din original la 9 august 2017. 

Link -uri