XMPP

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 26. helmikuuta 2022 tarkistetusta versiosta . tarkastukset vaativat 6 muokkausta .
XMPP
Portti/ID 5222 ja 5269
 Mediatiedostot Wikimedia Commonsissa

XMPP ( X tensible  M essaging and Presence P rotocol "  Extensible Messaging and Presence Protocol " ) , joka tunnettiin aiemmin nimellä Jabber avoin , XML -pohjainen , vapaasti käytettävä protokolla pikaviestintään ja läsnäolotiedoille (katso yhteystietoluettelo ) lähes reaaliajassa. Alusta alkaen helposti laajennettavaksi suunniteltu protokolla tukee puheen , videon ja tiedostojen lähettämistä verkon yli tekstiviestien lisäksi . 

Protokollan laajennettavuus on suunniteltu lisäämään pikaviestit, sosiaaliset verkostot, sivustot, jotka käyttävät erilaisia, yhteensopimattomia standardeja yhteen viestintäverkkoon. Suurten yritysten piti avata palvelinten välinen kommunikaatio muiden IM:ien kanssa ja kuvata salausmenetelmiään, median ja muun tiedon siirtoa julkaisemalla XMPP-laajennuksia. Maailmanlaajuinen yhteisö hyväksyy tai hylkää laajennukset sen mukaan, miten ne levitetään eniten, mutta perusviestintätoiminto eri lähettimien käyttäjille on aina saatavilla. Todellisuudessa tämä idea ei ole saanut kunnollista levitystä, eivätkä useimmat suuret yritykset avaneet käyttäjilleen mahdollisuutta kommunikoida muiden palvelujen kanssa.

Toisin kuin kaupalliset pikaviestijärjestelmät, kuten AIM , ICQ , WLM ja Yahoo , XMPP on yhdistetty , laajennettavissa ja avoin. Kuka tahansa voi perustaa oman pikaviestipalvelimen, rekisteröidä siihen käyttäjiä ja olla vuorovaikutuksessa muiden XMPP-palvelimien kanssa. Monet yksityiset ja yritysten XMPP-palvelimet ovat jo avoinna XMPP-protokollan perusteella. Niiden joukossa on tai oli suuria projekteja, kuten Google Talk , Odnoklassniki.ru , LiveJournal , Juick , Facebook [2] , VKontakte , Yandex [3] [4] .

Historia

Jeremy Miller perusti Jabber-projektin vuoden 1999 alussa kehittämällä jabberd-palvelimen [5] . Hankkeesta raportoitiin ensimmäisen kerran 4. tammikuuta 1999 Slashdotin verkkosivustolla [6] . Tätä päivämäärää pidetään tekniikan syntymäpäivänä [7] . Pian sen jälkeen useat ydinkehittäjät liittyivät projektiin ja aloittivat työskentelyn jalopalvelimen, Windows- ja GNU/Linux-asiakkaiden sekä tärkeimpien pikaviestintäjärjestelmien (AIM, ICQ, MSN ja Yahoo) yhdyskäytävien parissa. Myöhemmin, vuonna 1999, Webb Interactive Services alkoi sponsoroida ydinkehittäjiä, mikä nopeutti projektin luomisprosessia. Tuolloin ilmestyi Jabber-protokollan perusta, samoin kuin jabberd-palvelin ja varhaiset asiakkaat, kuten WinJab (vanhentunut ja kehitetty Exoduksessa ) ja Gabber. Tämä jatkuvan muutoksen varhainen kausi päättyi toukokuussa 2000 jabberd 1.0:n julkaisuun.

Varhainen Jabber-protokolla muodosti perustan XMPP-standardille, joka julkaistiin nimellä RFC 3920 . Tämä nähdään usein kilpailun alkuna SIP-protokollaan perustuvan SIMPLE :n kanssa, joka on vakioprotokolla pikaviestinnässä ja läsnäolotiedoissa.

Elokuusta 2001 lähtien Jabber-protokolla on ollut Jabber Software Foundationin hallinnassa (Jabber Software Foundation nimettiin uudelleen XMPP Standards Foundation [8] 16. tammikuuta 2007 ), jotta se kuvaa tarkemmin sen työtä itse protokollan laajennuksien kehittämisessä. toisin kuin samannimisen ohjelman kehitysrivi.

Jabber Inc. kehittää kahta projektia - Jabber Extensible Communications Platform (Jabber XCP) ja JabberNow. Ensimmäinen on kehys ja toinen ohjelmisto- ja laitteistoratkaisu (erityisesti koottu ja konfiguroitu tietokone). Jabber.org on edelleen aktiivinen. Jabber-projektin sijoittajat ovat Jona, Inc. , France Telecom , Intel Capital ja Webb Interactive Services, Inc. [yksi]

Elokuussa 2005 Google esitteli Google Talkin , VoIP :n ja viestintäasiakkaan  yhdistelmän, joka käyttää XMPP:tä viestitoimintoihin sekä äänen ja tiedostojen siirron perustana. Google-palvelun alkuperäinen julkaisu ei tukenut palvelinten välistä viestintää, mutta 17. tammikuuta 2006 mennessä tämä ominaisuus lisättiin [9] . Toukokuussa 2013 Google ilmoitti kuitenkin lopettavansa asteittain palvelinten välisen viestinnän tuen Google Hangouts -palvelunsa mainostamisen vuoksi [10] . Virallisista lausunnoista huolimatta Google Talk kuitenkin tukee XMPP :tä [11] [12] .

Protokolla

XMPP-protokollaperhe on otettu käyttöön RFC [13] -standardina . XMPP:n vakioportti on 5222 [14] . On myös mahdollista käyttää porttia 80 ja/tai 443 [15] , jos palomuurissa on ongelmia . Protokolla kuvaa asiakas-palvelin (c2s) ja palvelinten välinen (s2s) viestintää. XMPP-yhteensopivien lähettimien ei tarvitse noudattaa c2s-standardia voidakseen yhdistää s2s:n muiden XMPP-lähettimien kanssa.[ mitä? ] Useat XMPP-viestintälaitteet, joihin on rekisteröity puhelinnumero, eivät salli muiden XMPP-asiakkaiden käyttämistä tai yhteyden muodostamista muihin palvelimiin, mutta niiden palvelimet tukevat hajautettua viestintää (vuorovaikutuksessa muiden XMPP-palvelimien kanssa).

Edut

Heikkoudet

XMPP-laajennukset

XMPP-protokolla sisältää vain peruskehyksen viestien välittämiselle. Lisäominaisuuksien toteuttamiseen käytetään XEP-laajennuksia (XMPP Extension Protocols). Modulaarisen järjestelmän avulla voit koota XMPP-pohjaisia ​​järjestelmiä sekä viestintää että IoT-laitteiden tiedonsiirtoa ja muita tehtäviä varten. Jabber-asiakkaat tarvitsevat tukea, jotta asianmukaiset laajennukset toimivat oikein. Jotkut tärkeimmistä XMPP-asiakasohjelmista, joiden kanssa työskennellä, ovat laajennukset:

Botit

Konferenssibotit ovat erittäin suosittuja Jabberissa . Niitä käytetään laajalti konferenssien suojaamiseen roskapostilta , sensorina , erilaisten tilastojen ylläpitämiseen, verkkosivustojen jäsentämiseen (vitsit, uutiset jne.), "siltojen" luomiseen keskustelujen välille , lokien pitämiseen, konferenssien hallintaan ja niin edelleen. . Xmpp-bottien toimivuutta ja niiden laajuutta rajoittaa vain niiden kehittäjien mielikuvitus.

Merkittävät robotit

Osoitus

Jokaisella Jabber-verkon käyttäjällä on yksilöllinen tunniste - Jabber ID (lyhennetty JID ). JID-osoite, kuten sähköpostiosoite, sisältää käyttäjänimen ja sen palvelimen verkkotunnuksen , johon käyttäjä on rekisteröity, erotettuna @ -merkillä . Esimerkiksi esimerkki.com-palvelimelle rekisteröidyllä käyttäjällä on osoite: [email protected].

Käyttäjällä voi olla useita yhteyksiä samanaikaisesti, jotka erotetaan ylimääräisellä JID-attribuutilla, jota kutsutaan resurssiksi ja lisätään vinoviivalla osoitteen loppuun. Oletetaan esimerkiksi, että käyttäjän koko osoite on [email protected]/work, jolloin osoitteeseen [email protected] lähetetyt viestit saapuvat määritettyyn osoitteeseen resurssin nimestä riippumatta, mutta viestit osoitteeseen [email protected]/work saavuttavat määritetty osoite vain, jos vastaava resurssi on kytketty.

JID:itä voidaan käyttää myös ilman nimenomaista käyttäjätunnusta (resurssinimen kanssa tai ilman) järjestelmäviesteissä ja palvelimen saavutettavuuden ohjaamisessa.

Yhdistäminen muihin protokolliin

XMPP-järjestelmien hyödyllinen ominaisuus ovat siirrot eli yhdyskäytävät , joiden avulla käyttäjät voivat käyttää verkkoja muita protokollia käyttäen. Nämä voivat olla muita pikaviestiprotokollia, IRC : tä tai protokollia, kuten tekstiviesti ja sähköposti .

Toisin kuin moniprotokolla-asiakkaat , XMPP tarjoaa pääsyn palvelintasolla etätietokoneessa suoritettavien erityisten yhdyskäytäväpalvelujen kautta.

Kuka tahansa käyttäjä voi "rekisteröidä" johonkin näistä yhdyskäytävistä antamalla verkkoon kirjautumiseen tarvittavat tiedot ja voi kommunikoida verkon käyttäjien kanssa ikään kuin he olisivat Jabber-verkon käyttäjiä. Tämä tarkoittaa, että mitä tahansa asiakasta, joka tukee täysin XMPP:tä, voidaan käyttää mihin tahansa verkkoon, jolle on olemassa yhdyskäytäviä, ilman lisäkoodia asiakkaassa ja ilman, että asiakkaalla on oltava suora pääsy Internetiin.

Yhdyskäytävien toteutus on ominaista tietylle XMPP-palvelimelle, ja se on alttiina epävakaudelle kaupallisten pikaviestipalvelujen suljetun luonteen vuoksi.

Esimerkkejä globaaleista XMPP-integroinneista

XMPP-palvelimien [36] korkea vikasietokyky ja alhainen ylikuormitus kannustavat useita suuria yrityksiä käyttämään XMPP:tä perusalustana yksityisten viestien ja keskustelujen luomiseen sekä push-ilmoitusten toimittamiseen [37] .

Ohjelmisto

XMPP- palvelimet

XMPP- asiakkaat

Julkisen XMPP-palvelimen 404.city [48] tilastojen (kesällä 2017) mukaan suosituimmat pöytätietokoneiden ja kannettavien tietokoneiden asiakkaat ovat Pidgin ja Psi+ . Androidissa Xabber ja Conversations johtavat.

PC- ja kannettaville tietokoneille
  • Miranda NG  on moniprotokollaviestintä MS-Windowsille, joka tukee OTR- , PGP- , OMEMO- ja omaa SecureIm-laajennusta, joka perustuu avoimeen Crypto ++-kirjastoon .
  • Pidgin  on monialustainen asiakas, jossa on OTR- ja PGP -tuki . OMEMOa tuetaan laajennuksen kautta testitilassa.
  • Psi  on monialustainen asiakas, joka tukee OTR :ää , PGP :tä ja OMEMO :ta .
  • Psi+  on parannettu versio Psi XMPP -asiakkaasta (kaikki uudet ominaisuudet näkyvät ensin Psi+ :ssa ja siirretään sitten vähitellen Psi :hen ).
  • Gajim  on monialustainen asiakas, joka tukee OTR :ää , PGP :tä ja OMEMO :ta .
  • Dino on asiakasohjelma Linux- ja BSD-perheille OMEMO- tuella . Kirjoitettu Valan kielellä GTK-työkalupakin avulla
Androidille
  • Pix-Art Messenger  on kuuluisan Conversations-asiakkaan haarukka lisäominaisuuksilla. Suuri valikoima palvelimia. Tukee OMEMO, OTR, OpenPGP.
  • Xabber  on XMPP-asiakas, jossa on OTR- ja PGP -tuki .
  • Keskustelut  - XMPP-asiakas, jossa OTR -tuki (versiosta 2.0.0 lähtien tätä toimintoa ei tueta), PGP , OMEMO . On mahdollista lähettää kuvia, erityyppisiä tiedostoja, geokoordinaatteja, äänittää ja lähettää ääniviestejä.
  • IM+  on moniprotokollaviestintä, jossa on OTR .
  • yaxim.

iOS:lle

  • ChatSecure  on XMPP-asiakas, jossa on OTR -tuki , The Guardian Project -tiimin OMEMO .
  • Zom  on XMPP-asiakasohjelma, jossa on OTR- ja OMEMO-tuki . Se on ChatSecure- projektin sivuhaara . Tuki tiedostojen ja ääniviestien lähettämiseen.

Katso myös

Muistiinpanot

  1. 1 2 Jabber Inc. — Tietoja meistä Arkistoitu 3. heinäkuuta 2007.
  2. Facebook-kehittäjät: Chat API (downlink) . Haettu 7. heinäkuuta 2016. Arkistoitu alkuperäisestä 25. syyskuuta 2015. 
  3. Yandex lopettaa Jabberin tukemisen eikä kukaan tiedä siitä / Geektimes . Haettu 28. marraskuuta 2016. Arkistoitu alkuperäisestä 29. marraskuuta 2016.
  4. Yandex sulkee jalopalvelimensa / Geektimes . Haettu 28. marraskuuta 2016. Arkistoitu alkuperäisestä 29. marraskuuta 2016.
  5. XMPP:n historia . Haettu 8. syyskuuta 2009. Arkistoitu alkuperäisestä 12. helmikuuta 2011.
  6. Avaa reaaliaikainen viestintäjärjestelmä
  7. Blogiviesti Peter St. Andrélta  (kuollut linkki)
  8. Jabber Software Foundation nimetty uudelleen XMPP Standards Foundationiksi  : [Lehdistötiedote] :   (downlink)  : [ eng. ]  : [ arch. 21. tammikuuta 2007 ] // xmpp.org. - XSF, 2007. - 16. tammikuuta.
  9. Gary Burd. XMPP-liitto (17. tammikuuta 2006). Haettu 30. marraskuuta 2007. Arkistoitu alkuperäisestä 21. elokuuta 2011.
  10. Sean Gallagher. Google ei salli palvelinten välisiä yhteyksiä (17. toukokuuta 2013). Käyttöpäivä: 20. toukokuuta 2013. Arkistoitu alkuperäisestä 20. toukokuuta 2013.
  11. Googlen UKK: Open Communications . Haettu 7. heinäkuuta 2016. Arkistoitu alkuperäisestä 5. lokakuuta 2016.
  12. XMPP-blogi: Ei, se ei ole Google Talkin XMPP:n loppu . Haettu 7. heinäkuuta 2016. Arkistoitu alkuperäisestä 17. kesäkuuta 2016.
  13. XMPP RFC:t . Haettu 8. syyskuuta 2009. Arkistoitu alkuperäisestä 17. syyskuuta 2009.
  14. Voinko käyttää Jabberia, kun olen palomuurin takana? Arkistoitu alkuperäisestä 20. toukokuuta 2007. JabberLive!, 9. maaliskuuta 2007
  15. Jabber saatavilla palomuurin tai välityspalvelimen takana. Ilmainen . Haettu 23. toukokuuta 2022. Arkistoitu alkuperäisestä 25. tammikuuta 2021.
  16. Psi . Haettu 24. tammikuuta 2009. Arkistoitu alkuperäisestä 1. marraskuuta 2020.
  17. Kopete OTR -laajennus . Käyttöpäivä: 24. tammikuuta 2009. Arkistoitu alkuperäisestä 17. lokakuuta 2008.
  18. Miranda GnuPG -laajennus arkistoitu 20. joulukuuta 2010.
  19. Standards-JIG] Stanza-tyyppien jakautuminen . Haettu 14. elokuuta 2009. Arkistoitu alkuperäisestä 15. kesäkuuta 2009.
  20. Standards-JIG] proto-JEP: Smart Presence Distribution . Haettu 14. elokuuta 2009. Arkistoitu alkuperäisestä 10. kesäkuuta 2009.
  21. XEP-0138: Virran pakkaus . Haettu 14. elokuuta 2009. Arkistoitu alkuperäisestä 15. elokuuta 2009.
  22. Transport Layer Security Protocol -pakkausmenetelmät . Haettu 14. elokuuta 2009. Arkistoitu alkuperäisestä 12. lokakuuta 2009.
  23. Standards-JIG] MUC-liikenneongelmat . Haettu 14. elokuuta 2009. Arkistoitu alkuperäisestä 10. toukokuuta 2009.
  24. Neutron (Jabber bot) . Haettu 20. heinäkuuta 2011. Arkistoitu alkuperäisestä 22. elokuuta 2011.
  25. Google Trends . Haettu 5. toukokuuta 2013. Arkistoitu alkuperäisestä 8. lokakuuta 2016.
  26. fatal-dev . Haettu 26. marraskuuta 2011. Arkistoitu alkuperäisestä 27. toukokuuta 2013.
  27. Snapi XMPP -botti . Käyttöpäivä: 20. heinäkuuta 2011. Arkistoitu alkuperäisestä 24. huhtikuuta 2014.
  28. BlackSmith XMPP -botti . Haettu 4. joulukuuta 2011. Arkistoitu alkuperäisestä 18. syyskuuta 2011.
  29. BlackSmith mark.2 (uusi XMPP-botti) . Haettu 20. heinäkuuta 2011. Arkistoitu alkuperäisestä 25. marraskuuta 2011.
  30. Taho GoogleCodessa . Käyttöpäivä: 20. heinäkuuta 2011. Arkistoitu alkuperäisestä 28. helmikuuta 2011.
  31. pako - Pako Jabber bot (C#) . Haettu 14. elokuuta 2013. Arkistoitu alkuperäisestä 7. lokakuuta 2013.
  32. Disabler Production LabAratory . Haettu 11. helmikuuta 2020. Arkistoitu alkuperäisestä 16. helmikuuta 2020.
  33. Venäjän suurin XMPP-palvelin . Haettu 16. heinäkuuta 2004. Arkistoitu alkuperäisestä 29. heinäkuuta 2004.
  34. Python-tyyliopas . Käyttöpäivä: 20. heinäkuuta 2011. Arkistoitu alkuperäisestä 29. lokakuuta 2009.
  35. a7x-im (Erl-bot-kehittäjät) . Haettu 20. heinäkuuta 2011. Arkistoitu alkuperäisestä 8. helmikuuta 2011.
  36. ejabberd Massiivinen skaalautuvuus: 1 solmu - yli 2 miljoonaa samanaikaista käyttäjää | ProcessOne-blogi . Haettu 22. kesäkuuta 2018. Arkistoitu alkuperäisestä 22. kesäkuuta 2018.
  37. XMPP | XMPP:n käyttötarkoitukset . Haettu 22. kesäkuuta 2018. Arkistoitu alkuperäisestä 22. kesäkuuta 2018.
  38. ejabberd & Nintendo Switch NPNS | ProcessOne-blogi . Haettu 5. kesäkuuta 2019. Arkistoitu alkuperäisestä 5. kesäkuuta 2019.
  39. NSA käyttää Jabber-protokollaa keskusteluihin - "Hakkeri" . Haettu 24. kesäkuuta 2018. Arkistoitu alkuperäisestä 25. kesäkuuta 2018.
  40. Defense Collaboration Services (DCS), joka tarjoaa suojattuja verkkoneuvottelu- ja pikaviestipalveluita ei-suojatussa Internet Protocol Router Networkissa (NIPRNet) ja Secure Internet Protocol Routing Networkissa (SIPRNet) sekä Extensible Messaging and Presence Protocol (XMPP) chatissa . Haettu 17. syyskuuta 2019. Arkistoitu alkuperäisestä 9. syyskuuta 2019.
  41. XMPP:tä käyttävät sotilasmuodot . Haettu 10. kesäkuuta 2019. Arkistoitu alkuperäisestä 19. huhtikuuta 2019.
  42. EU-parlamentin empfiehlt Jabber-tilastot WhatsApp ja prüft Signal | heise verkossa . Haettu 19. lokakuuta 2019. Arkistoitu alkuperäisestä 19. lokakuuta 2019.
  43. Die Bundespolizei setzt hingegen auf den offfenen XMPP-Standard. Ein Messenger auf XMPP-Basis befinde sich derzeit im Probebetrieb, heißt es in der Antwort auf eine kleine Anfrage der FDP . Haettu 3. joulukuuta 2019. Arkistoitu alkuperäisestä 3. joulukuuta 2019.
  44. XMPP-ohjelmisto: Palvelimet . XMPP Standards Foundation . Haettu 12. helmikuuta 2009. Arkistoitu alkuperäisestä 21. elokuuta 2011.
  45. Tigas XMPP -palvelin | Tigase.net . tigase.net. Haettu 15. syyskuuta 2019. Arkistoitu alkuperäisestä 30. huhtikuuta 2019.
  46. Wokkel . wokkel.ik.nu. Haettu 15. syyskuuta 2019. Arkistoitu alkuperäisestä 8. syyskuuta 2019.
  47. Xabber Server v.0.9 alpha on julkaistu  . Xabber-blogi (13.9.2019). Haettu 15. syyskuuta 2019. Arkistoitu alkuperäisestä 14. joulukuuta 2019.
  48. Tilastot (downlink) (9. elokuuta 2017). Haettu 18. huhtikuuta 2018. Arkistoitu alkuperäisestä 9. elokuuta 2017. 

Linkit