Az Extensible Messaging and Presence Protocol (XMPP) (korábbi nevén Jabber) egy azonnali üzenetküldési protokoll, amely üzenetek és jelenlétinformációk (online/offline állapot, elérhetőség) valós idejű cseréjére szolgál. Az XML ihlette, és az Internet Engineering Task Force (IETF) szabványosította a protokoll alapjait (pl. RFC 6120 és RFC 6121), így nyílt, jól dokumentált specifikációra épül.

A legtöbb protokolltól eltér, mivel nyílt szabvány. Ez azt jelenti, hogy bárki, aki rendelkezik domainnévvel és internetkapcsolattal, saját szervert futtathat, illetve a szerverek egymással is képesek kommunikálni (federáció). A legtöbb szoftver és kliens nyílt forráskódú, így a fejlesztők és rendszergazdák szabadon testre szabhatják és bővíthetik a működést.

Más szoftverek, például a Google Talk és a Gizmo5 az XMPP protokollt használják vagy használták kiindulópontként. Ezt az internet több ezer szerverére telepítették. Több mint ötszázmillió felhasználó használja a protokollon alapuló szoftvereket. A kliensek közé tartozik a Pidgin és az iChat.

Fő jellemzők és kiterjeszthetőség

  • Jelenlét és elérhetőség: a felhasználók státuszinformációt (online, elfoglalt, nem elérhető stb.) küldenek és fogadnak, így könnyű látni, ki érhető el.
  • Federált hálózat: több független szerver kommunikál egymással, ezért nincs központi szolgáltató, akire kizárólagosan támaszkodnánk.
  • Kiterjeszthetőség (XEP-ek): az XMPP az alapprotokollon túl számos kiegészítéssel (XMPP Extension Protocols, XEP-ek) támogat funkciókat, mint a csoportos beszélgetések (MUC), fájlátvitel, értesítések, publikálás-feliratkozás (PubSub), hang- és videóhívások (pl. Jingle) stb.
  • Biztonság: a szerverek közti és kliens–szerver kommunikáció TLS-sel titkosítható, a hitelesítés SASL alapú. Azonban az alap XMPP nem minden esetben biztosít végpontok közti (end-to-end) titkosítást; erre kiterjesztések (például OMEMO, OpenPGP) állnak rendelkezésre.
  • Identitás és címzés: a felhasználói azonosító (JID) formátuma user@domain/resource, amely lehetővé teszi a felhasználó több eszközön való egyidejű megjelenését és különböző erőforrások (resource) kezelését.

További előnyök és korlátok

  • Előnyök: decentralizált felépítés, nyílt szabvány és széleskörű kiterjeszthetőség; alkalmas vállalati és közösségi használatra egyaránt; sok kliens és szervermegoldás közül választhatunk.
  • Korlátok: a federáció és a szabvány sokfélesége néha kompatibilitási problémákhoz vezethet különböző XEP-ek támogatottsága miatt; a végpontok közti titkosítás nem automatikus az alapprotokollban, ezért külön figyelmet igényel a biztonságos beállítás.

Tippek kezdőknek

  • Ha kipróbálnád, telepíts egy XMPP-klienst (asztali vagy mobil), majd hozz létre fiókot egy nyilvános XMPP-szolgáltatónál, vagy ha saját domaine van, állíts be saját szervert (például ejabberd, Prosody vagy Openfire).
  • Ismerkedj meg a JID-formátummal (user@domain/resource) és a jelenlétkezeléssel.
  • Fontold meg a megfelelő biztonsági beállításokat: TLS bekapcsolása, erős hitelesítés és végponti titkosítási megoldások (pl. OMEMO) használata érzékeny kommunikációhoz.

Az XMPP erőssége a rugalmasságában és a közösségi szabványosításban rejlik: a protokoll alapjai stabilak és nyíltak, miközben a különböző XEP-ek segítségével a konkrét igényekhez igazítható. Ha fontos számodra a decentralizáció és a testreszabhatóság, az XMPP jó választás lehet az azonnali üzenetküldésre és valós idejű kommunikációra.