XMPP

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 26. februar 2022; checks kræver 6 redigeringer .
XMPP
Port/ID 5222 og 5269
 Mediefiler på Wikimedia Commons

XMPP ( X tensible  M essaging and Presence Protocol " Extensible  Messaging and Presence Protocol " ) , tidligere  kendt Jabbersom en åben , XML -baseret, gratis at bruge protokol til instant messaging og tilstedeværelsesoplysninger (se kontaktliste ) i nær realtid. Designet fra starten til at være let at udvide, understøtter protokollen transmission af tale , video og filer over et netværk ud over tekstbeskeder . 

Protokollens udvidelsesmuligheder er designet til at tilføje instant messengers, sociale netværk, websteder, der bruger forskellige, inkompatible standarder til et enkelt kommunikationsnetværk. Store virksomheder skulle åbne server-til-server-kommunikation med andre IM'er og beskrive deres metoder til kryptering, overførsel af medier og andre data gennem udgivelsen af ​​XMPP-udvidelser. Udvidelserne vil blive accepteret eller afvist af det globale samfund efter den måde, de er mest distribueret på, men den grundlæggende beskedfunktionalitet for brugere af forskellige messengers vil altid være tilgængelig. I virkeligheden har denne idé ikke fået ordentlig distribution, og de fleste store virksomheder åbnede ikke muligheden for kommunikation for deres brugere med andre tjenester.

I modsætning til kommercielle instant messaging-systemer såsom AIM , ICQ , WLM og Yahoo , er XMPP fødereret , udvides og åben. Enhver kan starte deres egen instant messaging-server, registrere brugere på den og interagere med andre XMPP-servere. Mange private og firmaers XMPP-servere er allerede åbne baseret på XMPP-protokollen. Blandt dem er eller var der store projekter som Google Talk , Odnoklassniki.ru , LiveJournal , Juick , Facebook [2] , VKontakte , Yandex [3] [4] .

Historie

Jabber-projektet blev grundlagt af Jeremy Miller i begyndelsen af ​​1999 med udviklingen af ​​jabberd-serveren [5] . Projektet blev første gang rapporteret den 4. januar 1999Slashdot- webstedet [6] . Denne dato anses for at være teknologiens fødselsdag [7] . Kort efter sluttede flere kerneudviklere sig til projektet og begyndte at arbejde på jabberd-serveren, Windows- og GNU/Linux-klienter og gateways til de vigtigste IM-systemer (AIM, ICQ, MSN og Yahoo). Senere, i 1999, begyndte Webb Interactive Services at sponsorere kerneudviklere, hvilket fremskyndede projektoprettelsen. På det tidspunkt dukkede grundlaget for Jabber-protokollen op, såvel som jabberd-serveren og tidlige klienter som WinJab (forældet og udviklet i Exodus ) og Gabber. Denne tidlige periode med konstant forandring sluttede i maj 2000 med udgivelsen af ​​jabberd 1.0.

Den tidlige Jabber-protokol dannede grundlaget for XMPP-standarden udgivet som RFC 3920 . Dette ses ofte som starten på en rivalisering med SIMPLE , baseret på SIP-protokollen , som standardprotokollen for instant messaging og tilstedeværelsesinformation.

Siden august 2001 har Jabber-protokollen været under kontrol af Jabber Software Foundation (Jabber Software Foundation blev omdøbt til XMPP Standards Foundation [8] den 16. januar 2007 ), for mere præcist at beskrive dets arbejde med at udvikle udvidelser til selve protokollen, i modsætning til udviklingslinjen i programmet med samme navn.

Jabber Inc. udvikler to projekter - Jabber Extensible Communications Platform (Jabber XCP) og JabberNow. Den første er en ramme, og den anden er en software- og hardwareløsning (en specielt sammensat og konfigureret computer). Jabber.org er stadig aktiv. Jabber-projektinvestorer er Jona, Inc. , France Telecom , Intel Capital og Webb Interactive Services, Inc. [en]

I august 2005 introducerede Google Google Talk  , en kombination af VoIP og en meddelelsesklient, der bruger XMPP til meddelelsesfunktionalitet og som grundlag for stemme- og filoverførsler. Den første lancering af Google-tjenesten understøttede ikke server-til- server - kommunikation, men den 17. januar 2006 blev denne funktion tilføjet [9] . I maj 2013 annoncerede Google dog, at de ville udfase support til server-til-server-kommunikation på grund af promoveringen af ​​deres Google Hangouts -tjeneste [10] . På trods af officielle udtalelser understøtter Google Talk dog stadig XMPP [11] [12] .

Protokol

XMPP-familien af ​​protokoller er blevet vedtaget som en RFC [13] -standard . Standardporten til XMPP er 5222 [14] . Det er også muligt at bruge port 80 og/eller 443 [15], hvis der er firewallproblemer . Protokollen beskriver klient-server (c2s) og interserver (s2s) kommunikation. En XMPP-aktiveret messenger behøver ikke at følge c2s-standarden for at blive federeret over s2s med andre XMPP-budbringere.[ hvad? ] En række XMPP-budbringere med registrering på telefonnummer tillader dig ikke at bruge andre XMPP-klienter eller oprette forbindelse til andre servere, men deres servere understøtter fødereret kommunikation (interagerer med andre XMPP-servere).

Fordele

Svagheder

XMPP-udvidelser

XMPP-protokollen inkluderer kun den grundlæggende ramme for meddelelsesoverførsel. For at implementere yderligere funktioner bruges XEP-udvidelser (XMPP Extension Protocols). Det modulære system giver dig mulighed for at sammensætte XMPP-baserede systemer, både til messaging og til dataoverførsel af IoT-enheder og andre opgaver. Jabber-klienter kræver support for at de relevante udvidelser fungerer korrekt. Nogle af de vigtigste XMPP-klienter at arbejde med er udvidelser:

Bots

Konferencebots er meget populære i Jabber . De bruges i vid udstrækning til at beskytte konferencer mod spam , som censor , til at vedligeholde forskellige statistikker, til at analysere websteder (vittigheder, nyheder osv.), til at skabe "broer" mellem chats , til at føre logfiler, til at administrere konferencer, og så videre . Funktionaliteten af ​​xmpp-bots og deres omfang er kun begrænset af deres udvikleres fantasi.

Bemærkelsesværdige bots

Adressering

Hver bruger i Jabber-netværket har en unik identifikator - Jabber ID (forkortet JID ). En JID-adresse, ligesom en e-mail-adresse, indeholder brugernavnet og domænenavnet på den server, hvor brugeren er registreret, adskilt af et @ -tegn . For eksempel vil brugeren, der er registreret på example.com-serveren, have adressen: [email protected].

En bruger kan have flere forbindelser på samme tid, som er kendetegnet ved en ekstra JID-attribut kaldet en ressource og tilføjet gennem en skråstreg til slutningen af ​​adressen. Lad f.eks. brugerens fulde adresse være [email protected]/arbejde, så vil meddelelser sendt til [email protected] nå den angivne adresse uanset ressourcenavnet, men meddelelser til [email protected]/arbejde vil nå kun angivet adresse, hvis den tilsvarende ressource er tilsluttet.

JID'er kan også bruges uden et eksplicit brugernavn (med eller uden et ressourcenavn) til systemmeddelelser og til at kontrollere tilgængeligheden på serveren.

Opretter forbindelse til andre protokoller

En nyttig funktion ved XMPP-systemer er transporter eller gateways , som giver brugerne adgang til netværk ved hjælp af andre protokoller. Disse kan være andre instant messaging-protokoller, IRC eller protokoller såsom SMS og e- mail .

I modsætning til multiprotokolklienter giver XMPP adgang på serverniveau gennem kommunikation gennem specielle gatewaytjenester, der kører på en fjerncomputer.

Enhver bruger kan "registrere sig" med en af ​​disse gateways ved at give de nødvendige oplysninger for at logge ind på netværket og kan kommunikere med netværksbrugere, som om de var brugere af Jabber-netværket. Det betyder, at enhver klient, der fuldt ud understøtter XMPP, kan bruges til at få adgang til ethvert netværk, hvortil der findes gateways, uden yderligere kode i klienten, og uden at klienten skal have direkte adgang til internettet.

Implementeringen af ​​gateways er specifik for den specifikke XMPP-server og er underlagt ustabilitet på grund af den lukkede karakter af kommercielle IM-tjenester.

Eksempler på globale XMPP-integrationer

Den høje fejltolerance og lave overhead af XMPP-servere [36] tilskynder en række store virksomheder til at bruge XMPP som en basisplatform til oprettelse af private messengers og chats, samt til levering af push-meddelelser [37]

Software

XMPP- servere

XMPP- klienter

Ifølge statistikkerne for den offentlige XMPP-server 404.city [48] (for sommeren 2017) er de mest populære klienter til stationære og bærbare computere Pidgin og Psi+ . På Android fører Xabber og Samtaler.

Til pc'er og bærbare computere
  • Miranda NG  er en multi-protokol messenger til MS-Windows med understøttelse af OTR , PGP , OMEMO og sit eget SecureIm plugin baseret på det åbne Crypto++ bibliotek
  • Pidgin  er en cross-platform klient med OTR , PGP support . OMEMO understøttes via et plug-in i testtilstand.
  • Psi  er en cross-platform-klient, der understøtter OTR , PGP , OMEMO .
  • Psi+  er en forbedret version af Psi XMPP-klienten (alle nye funktioner vises først i Psi+ og overføres derefter gradvist til Psi ).
  • Gajim  er en cross-platform-klient, der understøtter OTR , PGP , OMEMO .
  • Dino er en klient til Linux- og BSD-familierne med OMEMO- understøttelse . Skrevet på Vala-sproget ved hjælp af GTK-værktøjssættet
Til Android
  • Pix-Art Messenger  er en forgrening af den berømte Conversations-klient med yderligere funktioner. Stort udvalg af servere. Understøtter OMEMO, OTR, OpenPGP.
  • Xabber  er en XMPP klient med OTR , PGP support .
  • Samtaler  - XMPP-klient med OTR -understøttelse (siden version 2.0.0 er denne funktion ikke understøttet), PGP , OMEMO . Det er muligt at sende billeder, filer af forskellige typer, geo-koordinater, optage og sende talebeskeder.
  • IM+  er en multi-protokol messenger med OTR .
  • yaxim.

Til iOS

Se også

Noter

  1. 1 2 Jabber Inc. — Om os Arkiveret 3. juli 2007.
  2. Facebook-udviklere: Chat API (downlink) . Hentet 7. juli 2016. Arkiveret fra originalen 25. september 2015. 
  3. Yandex holder op med at understøtte Jabber, og ingen ved om det / Geektimes . Hentet 28. november 2016. Arkiveret fra originalen 29. november 2016.
  4. Yandex, efter resten, lukker sin jabber-server / Geektimes . Hentet 28. november 2016. Arkiveret fra originalen 29. november 2016.
  5. Historien om XMPP . Hentet 8. september 2009. Arkiveret fra originalen 12. februar 2011.
  6. Åbn Real Time Messaging System
  7. Blogindlæg af Peter St. André  (dødt link)
  8. Jabber Software Foundation omdøbt til XMPP Standards Foundation  : [Pressemeddelelse] :   (downlink)  : [ eng. ]  : [ bue. 21. januar 2007 ] // xmpp.org. - XSF, 2007. - 16. januar.
  9. Gary Burd. XMPP Federation (17. januar 2006). Hentet 30. november 2007. Arkiveret fra originalen 21. august 2011.
  10. Sean Gallagher. Google tillader ikke server-til-server-forbindelser (17. maj 2013). Dato for adgang: 20. maj 2013. Arkiveret fra originalen 20. maj 2013.
  11. Ofte stillede spørgsmål fra Google: Åben kommunikation . Hentet 7. juli 2016. Arkiveret fra originalen 5. oktober 2016.
  12. XMPP-bloggen: Nej, det er ikke slutningen på XMPP for Google Talk . Hentet 7. juli 2016. Arkiveret fra originalen 17. juni 2016.
  13. XMPP RFC'er . Hentet 8. september 2009. Arkiveret fra originalen 17. september 2009.
  14. Kan jeg bruge Jabber, når jeg er bag en firewall? Arkiveret fra originalen den 20. maj 2007. JabberLive!, 9. marts 2007
  15. Jabber tilgængelig bag en firewall eller proxy. Gratis . Hentet 23. maj 2022. Arkiveret fra originalen 25. januar 2021.
  16. Psi . Hentet 24. januar 2009. Arkiveret fra originalen 1. november 2020.
  17. Kopete OTR plugin . Dato for adgang: 24. januar 2009. Arkiveret fra originalen 17. oktober 2008.
  18. Miranda GnuPG Plugin Arkiveret 20. december 2010.
  19. Standards-JIG] Fordeling af strofetyper . Hentet 14. august 2009. Arkiveret fra originalen 15. juni 2009.
  20. Standards-JIG] proto-JEP: Smart Presence Distribution . Hentet 14. august 2009. Arkiveret fra originalen 10. juni 2009.
  21. XEP-0138: Streamkomprimering . Hentet 14. august 2009. Arkiveret fra originalen 15. august 2009.
  22. Komprimeringsmetoder for transportlagssikkerhedsprotokol . Hentet 14. august 2009. Arkiveret fra originalen 12. oktober 2009.
  23. Standards-JIG] MUC-trafikproblemer . Hentet 14. august 2009. Arkiveret fra originalen 10. maj 2009.
  24. Neutron (Jabber bot) . Hentet 20. juli 2011. Arkiveret fra originalen 22. august 2011.
  25. Google Trends . Hentet 5. maj 2013. Arkiveret fra originalen 8. oktober 2016.
  26. fatal-dev . Hentet 26. november 2011. Arkiveret fra originalen 27. maj 2013.
  27. Snapi XMPP bot . Dato for adgang: 20. juli 2011. Arkiveret fra originalen 24. april 2014.
  28. BlackSmith XMPP bot . Hentet 4. december 2011. Arkiveret fra originalen 18. september 2011.
  29. BlackSmith mark.2 (Ny XMPP bot) . Hentet 20. juli 2011. Arkiveret fra originalen 25. november 2011.
  30. Taho på GoogleCode . Dato for adgang: 20. juli 2011. Arkiveret fra originalen den 28. februar 2011.
  31. pako - Pako Jabber bot (C#) . Hentet 14. august 2013. Arkiveret fra originalen 7. oktober 2013.
  32. Disabler Production LabAratory . Hentet 11. februar 2020. Arkiveret fra originalen 16. februar 2020.
  33. Den største XMPP-server i Rusland . Hentet 16. juli 2004. Arkiveret fra originalen 29. juli 2004.
  34. Python Style Guide . Dato for adgang: 20. juli 2011. Arkiveret fra originalen den 29. oktober 2009.
  35. a7x-im (Erl bot-udviklere) . Hentet 20. juli 2011. Arkiveret fra originalen 8. februar 2011.
  36. ejabberd Massiv skalerbarhed: 1 node - 2+ millioner samtidige brugere | ProcessOne blog . Hentet 22. juni 2018. Arkiveret fra originalen 22. juni 2018.
  37. XMPP | Brug af XMPP . Hentet 22. juni 2018. Arkiveret fra originalen 22. juni 2018.
  38. ejabberd & Nintendo Switch NPNS | ProcessOne blog . Hentet 5. juni 2019. Arkiveret fra originalen 5. juni 2019.
  39. NSA bruger Jabber-protokollen til chats - "Hacker" . Hentet 24. juni 2018. Arkiveret fra originalen 25. juni 2018.
  40. Defense Collaboration Services (DCS), som leverer sikre webkonferencer og onlinemeddelelsestjenester på Non-secure Internet Protocol Router Network (NIPRNet) og Secure Internet Protocol Routing Network (SIPRNet) og Extensible Messaging and Presence Protocol (XMPP) chat . Hentet 17. september 2019. Arkiveret fra originalen 9. september 2019.
  41. Militære former ved hjælp af XMPP . Hentet 10. juni 2019. Arkiveret fra originalen 19. april 2019.
  42. EU-Parlament empfiehlt Jabber statt WhatsApp og prüft Signal | heise online . Hentet 19. oktober 2019. Arkiveret fra originalen 19. oktober 2019.
  43. Die Bundespolizei setzt hingegen auf den offenen XMPP-Standard. Ein Messenger auf XMPP-Basis befinde sich derzeit im Probebetrieb, heßt es in der Antwort auf eine small Anfrage der FDP . Hentet 3. december 2019. Arkiveret fra originalen 3. december 2019.
  44. XMPP-software: Servere . XMPP Standards Foundation . Hentet 12. februar 2009. Arkiveret fra originalen 21. august 2011.
  45. Tigas XMPP Server | Tigase.net . tigase.net. Hentet 15. september 2019. Arkiveret fra originalen 30. april 2019.
  46. Wokkel . wokkel.ik.nu. Hentet 15. september 2019. Arkiveret fra originalen 8. september 2019.
  47. Xabber Server v.0.9 alpha er frigivet  . Xabber-blog (13. september 2019). Hentet 15. september 2019. Arkiveret fra originalen 14. december 2019.
  48. Statistik (downlink) (9. august 2017). Hentet 18. april 2018. Arkiveret fra originalen 9. august 2017. 

Links