XMPP (Extensible Messaging and Presence Protocol) avatud kiirsõnumite protokoll

Extensible Messaging and Presence Protocol (XMPP) (endise nimega Jabber) on kiirsõnumite protokoll. See on inspireeritud XML-st ning loodud avatuks ja hajusaks standardiks reaalajas sõnumivahetuseks ja kohaloleku (presence) andmete jagamiseks.

XMPP erineb paljudest suletud protokollidest selle poolest, et tegemist on avatud standardiga: igaüks, kellel on domeeninimi ja internetiühendus, võib käivitada oma XMPP- serveri ja liituda maailmavõrguga. Enamik XMPP-iga seotud tarkvarast ja klientidest on avatud lähtekoodiga, mis soodustab omavahelist ühilduvust ja laiendamist.

Mitmed tuntud teenused ja rakendused, nagu Google Talk ja Gizmo5, on kasutanud XMPP-protokolli. Protokoll on paigaldatud tuhandetele serveritele üle interneti ning hinnanguliselt üle viiesaja miljoni kasutaja on kasutanud sellel protokollil põhinevat tarkvara. Näideteks klientidest on Pidgin ja iChat.

Põhimõisted ja tööpõhimõte

  • JID (Jabber ID) — kasutaja aadress XMPP-s; tavaliselt kujul kasutaja@domeen/ressurss, kus ressursi osa võimaldab sama kontoga logida mitmest seadmest.
  • Kohalolek (presence) — reaalajas teave selle kohta, kas kasutaja on saadaval, hõivatud, eemal vms; seda jagatakse automaatselt kontaktidega.
  • Federatsioon — XMPP-serverid suhtlevad omavahel, mis tähendab, et kasutaja kontaktid ei pea olema samal serveris (sarnaselt e-posti mudelile).
  • Sõnumivahetus — sõnumeid saadetakse XML-sõnumitega, mis võimaldab struktureeritud andmete ja metaandmete edastamist.

Turvalisus ja autentimine

  • TLS (Transport Layer Security) — XMPP-serverite ja klientide vahelise ühenduse krüpteerimiseks kasutatakse TLS-i, mis kaitseb andmeid pealtkuulamise eest.
  • SASL — turvaline autentimine (Simple Authentication and Security Layer) võimaldab erinevaid autentimismeetodeid, sealhulgas paroolipõhiseid ja tokenipõhiseid lahendusi.
  • Lisaks on olemas lai valik XMPP-laiendusi ja soovitusi (XEP-id), mis käsitlevad sõnumite allkirjastamist, krüpteerimist lõpp-punktide vahel (nt OMEMO, OpenPGP) ja muude turvamehhanismide integreerimist.

Laiendatavus ja standardid

XMPP on algselt standardiseeritud IETF-is ja selle kõige olulisemad RFC-id on näiteks RFC 6120 ja RFC 6121, mis kirjeldavad põhimehhanisme (sõnumid, sessioonid, kontaktid ja kohalolek). Funktsionaalsust laiendatakse XMPP Extension Protocols (XEP) dokumentidega, mis hõlmavad näiteks failiedastust, gruppvestlusi, videokõnesid, laiendatud kohalolekuandmeid jpm.

Kasutusalad ja tarkvara

XMPP sobib hästi:

  • traditsiooniliseks kiirsõnumiseks ja kohaloleku teenuseks;
  • ettevõttesiseseks reaalajas suhtluseks (self-hosting võimalus ja kontroll andmete üle);
  • masinate ja teenuste vaheliseks sõnumivahetuseks (MQTT asemel või kõrval, sõltuvalt vajadusest);
  • turvaliseks mitmeseadmeliseks sünkroonimiseks (resource ja roster haldus).

Populaarsed XMPP-serverid on näiteks ejabberd, Prosody ja Openfire (nimed on üldtuntud — serverite valik sõltub skaleerimis- ja haldusvajadustest). Klientidest on levinud nii töölauarakendused kui ka mobiilirakendused: Pidgin (lauaarvuti), iChat (Apple’i varasem klient), samuti kaasaegsed mobiilirakendused nagu Conversations ja Gajim klient lauaarvutile.

Eelised ja piirangud

  • Eelised: detsentraliseeritus ja federatsioon, avatud standard, lai laiendatavus XEP-idega, tugev ökosüsteem avatud lähtekoodiga tarkvaraga.
  • Piirangud: XML-põhine sõnumistruktuur võib olla ressursimahukas võrreldes mõne kergema protokolliga; mobiilseadmetel võib XML-ülesõit mõjutada aku- ja võrgukasutust; XEP-ide killustumine tähendab, et kõik kliendid ei toeta kõiki laiendusi ühtemoodi.

Kokkuvõte

XMPP on vaba, avatud ja laialdaselt kasutatav protokoll reaalajas sõnumite ja kohaloleku teabe edastamiseks. Selle tugevus on hajutatus, laiendatavus ja suur kogukond, mis arendab uusi XEP-e ja serveri-/klientitarkvara. Valides XMPP, saab organisatsioon või arendaja kontrolli oma andmete üle ning kasutada hulgaliselt vabu lahendusi reaalajas suhtluse loomiseks.

Ajalugu

Jeremie Miller alustas Jabberi projekti 1998. aastal. Esimene suurem avalik väljaanne oli 2000. aasta mais. See varajane tarkvara oli XMPP aluseks. See oli konkurent SIMPLE-le, mis põhines SIP-protokollil.

2001. aasta augustis asutati Jabber Software Foundation (JSF). JSFi peamine ülesanne oli hallata XMPP XML-protokolle, dokumenteerides neid. Lisaks sellele pidi organisatsioon koordineerima paljusid XMPP-tehnoloogiat kasutavaid ettevõtteid.

2002. aastal lõi Internet Engineering Task Force töörühma, et vormistada protokoll. Rühma nimi oli Extensible Messaging and Presence Protocol Working Group ehk XMPP WG.

2007. aastal sai Jabber Software Foundationist (JSF) XMPP Standards Foundation (XSF).

XMPP ja HTTP

XMPP võib kasutada HTTP-d andmete saatmiseks serveritele. See on kasulik, kui on olemas ranged tulemüürid, sest andmeid saab saata veebi kaudu, mitte teise pordi kaudu (port 5222 ja 5223).

On ka avatud avalikke servereid, mis kasutavad standardseid porte (pordid 80 ja 443), nii et kasutajad saavad enamiku tulemüüride tagant ühendust luua.

Küsimused ja vastused

K: Mis on XMPP?


V: XMPP tähendab Extensible Messaging and Presence Protocol (laiendatav sõnumite ja kohaloleku protokoll). See on kiirsõnumite protokoll, mis on inspireeritud XMList ja on avatud standard.

K: Mille poolest erineb XMPP teistest protokollidest?


V: XMPP erineb teistest protokollidest, sest see on avatud standard. See tähendab, et igaüks, kellel on domeeninimi ja internetiühendus, võib käivitada oma serveri.

K: Millised tarkvarad kasutavad XMPP-protokolli?


V: Google Talk ja Gizmo5 on näited tarkvaradest, mis kasutavad XMPP-protokolli. Enamik tarkvara ja kliente on avatud lähtekoodiga.

K: Kui paljud serverid üle interneti on paigaldanud XMPP?


V: XMPP on paigaldatud tuhandetele serveritele üle interneti.

K: Kui palju kasutajaid kasutab XMPP-protokollile tuginevat tarkvara?


V: Üle viiesaja miljoni kasutaja kasutab XMPP-protokollile tuginevat tarkvara.

K: Millised kliendid kasutavad XMPP-d?


V: Mõned XMPP-d kasutavad kliendid on Pidgin ja iChat.

K: Mis on XMPP kui avatud standardi peamine eelis?


V: XMPP kui avatud standardi peamine eelis on see, et igaüks, kellel on domeeninimi ja internetiühendus, saab käivitada oma serveri.

AlegsaOnline.com - 2020 / 2025 - License CC3