Mi az XMPP? Nyílt azonnali üzenetküldési protokoll (Jabber)
Ismerd meg az XMPP-et (Jabber): nyílt, XML-alapú azonnali üzenetküldő protokoll—saját szerver, nyílt forrású kliensek és több százmillió felhasználó.
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.
Történelem
Jeremie Miller 1998-ban indította el a Jabber projektet. Az első nagyobb nyilvános kiadás 2000 májusában jelent meg. Ez a korai szoftver volt az XMPP alapja. A SIMPLE versenytársa volt, amely a SIP protokollon alapult.
2001 augusztusában megalakult a Jabber Software Foundation (JSF). A JSF fő feladata az XMPP XML protokolljainak kezelése volt, azok dokumentálása révén. Emellett a szervezet feladata volt az XMPP technológiát használó számos vállalat koordinálása is.
2002-ben az Internet Engineering Task Force létrehozott egy munkacsoportot a protokoll formalizálására. A csoport az Extensible Messaging and Presence Protocol Working Group, azaz XMPP WG nevet kapta.
2007-ben a Jabber Software Foundation (JSF) az XMPP Standards Foundation (XSF) nevet kapta.
XMPP és HTTP
Az XMPP a HTTP protokollt használhatja a kiszolgálók felé történő adatátvitelre. Ez akkor hasznos, ha szigorú tűzfalak vannak érvényben, mivel az adatokat a weben keresztül lehet küldeni, nem pedig egy másik porton (5222-es és 5223-as port).
Vannak nyílt nyilvános szerverek is, amelyek szabványos portokat használnak (80-as és 443-as port), így a felhasználók a legtöbb tűzfal mögül is csatlakozhatnak.
Kérdések és válaszok
K: Mi az az XMPP?
V: Az XMPP az Extensible Messaging and Presence Protocol rövidítése. Ez egy azonnali üzenetküldési protokoll, amelyet az XML ihletett, és nyílt szabvány.
K: Miben különbözik az XMPP más protokolloktól?
V: Az XMPP abban különbözik más protokolloktól, hogy nyílt szabvány. Ez azt jelenti, hogy bárki, aki rendelkezik domainnévvel és internetkapcsolattal, saját szervert futtathat.
K: Milyen szoftverek használják az XMPP protokollt?
V: A Google Talk és a Gizmo5 példák az XMPP protokollt használó szoftverekre. A legtöbb szoftver és kliens nyílt forráskódú.
K: Hány szerverre telepítették az XMPP-t az interneten?
V: Az XMPP-t több ezer szerverre telepítették az interneten.
K: Hány felhasználó használja az XMPP protokollon alapuló szoftvert?
V: Több mint ötszázmillió felhasználó használja az XMPP protokollon alapuló szoftvereket.
K: Milyen kliensek használják az XMPP-t?
V: Az XMPP-t használó kliensek közé tartozik a Pidgin és az iChat.
K: Mi a fő előnye annak, hogy az XMPP nyílt szabvány?
V: Az XMPP mint nyílt szabvány fő előnye, hogy bárki, aki rendelkezik domainnévvel és internetkapcsolattal, saját kiszolgálót futtathat.
Keres