Kaj je XMPP (Jabber) — odprt protokol za takojšnje sporočanje in prisotnost
XMPP (Jabber): odprt XML protokol za takojšnje sporočanje in prisotnost — spoznajte prednosti, odprtokodne odjemalce, varnost in kako nastaviti lasten strežnik.
Protokol XMPP (Extensible Messaging and Presence Protocol), prej znan kot Jabber, je odprt in razširljiv standard za takojšnje sporočanje in upravljanje prisotnosti v omrežju. Temelji na XML in določa način, kako odjemalci in strežniki izmenjujejo sporočila, stanje uporabnikov (prisotnost) in poizvedbe med seboj.
Za razliko od številnih lastniških sistemov je XMPP decentraliziran in odprt: vsakdo z ime domene in dostopom do interneta lahko upravlja svoj strežnik, uporabniki pa se lahko medsebojno povezujejo preko različnih strežnikov, podobno kot pri elektronski pošti. Večina programske opreme in odjemalcev, povezanih z XMPP, je odprtokodna.
Drugi ponudniki in programi (vključno z nekaterimi zgodnejšimi rešitvami) so prav tako uporabljali XMPP; primeri iz preteklosti so Google Talk in Gizmo5. XMPP strežniki so razširjeni po celem internetu — nameščen je na tisoče strežnikov — in ga uporablja več sto milijonov uporabnikov.
Kako deluje
XMPP uporablja model odjemalec–strežnik. Uporabniški naslov (JID, Jabber ID) ima obliko uporabnik@domena (pogosto z dodatkom /resource). Glavne vrste sporočil (stanza) so:
- message – za posredovanje besedilnih sporočil;
- presence – za obveščanje o dosegljivosti in stanju uporabnika (na voljo, zaseden, odsoten …);
- iq (info/query) – za poizvedbe in nastavitev podatkov med odjemalcem in strežnikom.
Razširitve in funkcionalnosti
XMPP je zasnovan kot jedro s številnimi razširitvami (XEP – XMPP Extension Protocol), ki dodajajo funkcije, kot so:
- avtorizacija stikov in upravljanje imenika (roster);
- prenos datotek in prenos glasovnih/večpredstavnostnih klicev (Jingle);
- prikaz avatarjev, skupinski klepet (MUC – multi-user chat), obvestila in koledarji;
- napredne varnostne razširitve za šifriranje od konca do konca, npr. OMEMO, OTR ali OpenPGP.
Varnost in standardizacija
XMPP podpira varnostne mehanizme, kot sta TLS za varno povezavo med odjemalcem in strežnikom ter SASL za overjanje uporabnika. Za end‑to‑end šifriranje se uporabljajo dodatne razširitve (OMEMO je v zadnjem času pogosto uporabljana). Protokol je opredeljen v nizu standardov (RFC in XMPP dokumentov) ter ga razvija skupnost in organizacije, kot je XMPP Standards Foundation.
Primeri strežnikov in odjemalcev
Na trgu so na voljo različne implementacije strežnikov (npr. ejabberd, Prosody, Openfire) in odjemalcev za namizje in mobilne naprave. Med odjemalci sta v Sloveniji in širše poznana Pidgin in iChat, na voljo pa so tudi Gajim, Conversations, Dino, Psi, Swift in drugi.
Prednosti in omejitve
- Prednosti: odprtost, decentralizacija (federacija), velika razširljivost preko XEP-ov, možnost gostovanja lastnega strežnika in izbira različnih odjemalcev.
- Omejitve: interoperabilnost lahko zahteva dodatne razširitve (XEP), konfiguracija lastnega strežnika zahteva tehnično znanje in nekatere napredne funkcije (kot so E2E šifriranje) so odvisne od podpore odjemalca in strežnika.
Kako začeti z XMPP
Če želite začeti uporabljati XMPP:
- Izberite odjemalca za svojo napravo (namizje ali mobilno).
- Ustvarite uporabniški račun pri obstoječem javnem strežniku ali postavite svoj strežnik, če želite popoln nadzor.
- Povežite se z drugimi uporabniki z njihovim JID (uporabnik@domena) in po potrebi nastavite varnostne razširitve (npr. OMEMO) za šifriranje pogovorov.
XMPP ostaja priljubljena izbira za organizacije in posameznike, ki želijo odprto, razširljivo in federirano rešitev za takojšnje sporočanje ter upravljanje prisotnosti v spletu.
Zgodovina
Jeremie Miller je projekt Jabber začel leta 1998. Prva večja javna izdaja je bila maja 2000. Ta zgodnja programska oprema je bila osnova za XMPP. Bila je konkurenca protokolu SIMPLE, ki je temeljil na protokolu SIP.
Avgusta 2001 je bila ustanovljena fundacija Jabber Software Foundation (JSF). Glavna vloga JSF je bila upravljanje protokolov XML za XMPP z njihovim dokumentiranjem. Poleg tega naj bi organizacija usklajevala številna podjetja, ki so uporabljala tehnologijo XMPP.
Leta 2002 je projektna skupina za internetno inženirstvo ustanovila delovno skupino za formalizacijo protokola. Skupina se je imenovala Extensible Messaging and Presence Protocol Working Group ali XMPP WG.
Leta 2007 je Jabber Software Foundation (JSF) postala XMPP Standards Foundation (XSF).
XMPP in HTTP
XMPP lahko za pošiljanje podatkov v strežnike uporablja HTTP. To je uporabno, kadar so vzpostavljeni strogi požarni zidovi, saj se lahko podatki pošiljajo prek spleta in ne prek drugih vrat (vrata 5222 in 5223).
Na voljo so tudi odprti javni strežniki, ki uporabljajo standardna vrata (80 in 443), tako da se lahko uporabniki povežejo izza večine požarnih zidov.
Vprašanja in odgovori
V: Kaj je XMPP?
O: XMPP je kratica za Extensible Messaging and Presence Protocol (razširljiv protokol za sporočanje in prisotnost). To je protokol za takojšnje sporočanje, ki temelji na XML in je odprt standard.
V: Kako se XMPP razlikuje od drugih protokolov?
O: XMPP se razlikuje od drugih protokolov, ker je odprt standard. To pomeni, da lahko vsakdo, ki ima ime domene in internetno povezavo, upravlja svoj strežnik.
V: Katera programska oprema uporablja protokol XMPP?
O: Google Talk in Gizmo5 sta primera programske opreme, ki uporabljata protokol XMPP. Večina programske opreme in odjemalcev je odprtokodnih.
V: Koliko strežnikov v internetu ima nameščen protokol XMPP?
O: Protokol XMPP je bil nameščen na več tisoč strežnikih po internetu.
V: Koliko uporabnikov uporablja programsko opremo, ki temelji na protokolu XMPP?
O: Programsko opremo, ki temelji na protokolu XMPP, uporablja več kot petsto milijonov uporabnikov.
V: Kateri odjemalci uporabljajo protokol XMPP?
O: Nekateri odjemalci, ki uporabljajo protokol XMPP, so Pidgin in iChat.
V: Kakšna je glavna prednost odprtega standarda XMPP?
O: Glavna prednost odprtega standarda XMPP je, da lahko vsak, ki ima ime domene in internetno povezavo, upravlja svoj strežnik.
Iskati