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.