XMPP (Jabber) — otvorený protokol pre okamžité správy a prítomnosť
XMPP (Jabber) – otvorený štandard pre okamžité správy a prítomnosť. Spúšťajte vlastný server, používajte otvorené klienty (Pidgin, iChat) a zabezpečte interoperabilitu naprieč sieťami.
Protokol XMPP (Extensible Messaging and Presence Protocol) (pôvodný názov Jabber) je protokol na okamžité zasielanie správ. Je inšpirovaný XML.
Od väčšiny protokolov sa líši tým, že ide o otvorený štandard. To znamená, že každý, kto má doménové meno a internetové pripojenie, môže spustiť vlastný server. Väčšina softvéru a klientov má otvorený zdrojový kód.
Ďalší softvér, ako napríklad Google Talk a Gizmo5, používa protokol XMPP. Je nainštalovaný na tisícoch serverov na internete. Softvér založený na tomto protokole používa viac ako päťsto miliónov používateľov. Medzi klientov patrí Pidgin a iChat.
Čo je XMPP a ako funguje
XMPP je decentralizovaný komunikačný protokol postavený na XML správoch (tzv. „stanzas“). Základné typy stánz sú message (správa), presence (informácia o dostupnosti) a iq (informačný dotaz/odpoveď). Klient sa pripája na server (typicky cez TCP na porte 5222, prípadne cez WebSocket alebo BOSH pre webové aplikácie) a server potom smeruje správy medzi používateľmi, prípadne medzi rôznymi servermi – to umožňuje federáciu podobne ako pri e‑maile.
Hlavné vlastnosti
- Prítomnosť: informácie o stave používateľa (online, offline, zaneprázdnený a pod.).
- Okamžité správy: textové správy, skupinové chaty (MUC).
- Federácia: rôzne servery sa môžu navzájom spájať, takže používatelia na rôznych doménach si môžu navzájom písať.
- Rozšíriteľnosť: XMPP má modulárnu štruktúru; nové funkcie sa pridávajú pomocou XEP (XMPP Extension Protocols).
- Otvorený štandard: špecifikácie sú verejné, implementácie môžu byť otvorené alebo uzavreté.
Bezpečnosť a šifrovanie
Štandardne XMPP podporuje zabezpečenie spojenia pomocou TLS a autentifikáciu cez SASL. Pre end‑to‑end šifrovanie medzi koncovými zariadeniami sa využívajú rozšírenia a protokoly tretích strán, napr. OTR, OpenPGP a moderné OMEMO, ktoré poskytuje šifrovanie správ aj pre skupinové chaty a synchronizáciu medzi viacerými zariadeniami. Typické nasadenie by malo mať povolené TLS a overovanie certifikátov, aby sa predišlo útokom typu man‑in‑the‑middle.
Implementácie a klienti
Existuje množstvo serverových a klientských implementácií, často s otvoreným zdrojovým kódom. Medzi známe serverové riešenia patria ejabberd, Prosody a Openfire. Klientov je tiež mnoho: okrem už spomenutých Pidgin a iChat nájdete Gajim, Conversations (Android), Dino (Linux), Swift (macOS) a ďalšie.
Rozšírenia a štandardy (XEP)
XMPP je základný rámec, ktorý sa rozširuje cez XEP (XMPP Extension Protocols). Pomocou XEP môžete pridať funkcie ako zdieľanie súborov, audio/video volania (signaling), oznamy o písaní, nickservy, viacero zariadení, push notifikácie a pod. Komunita aktívne navrhuje a schvaľuje nové XEPy cez XMPP Standards Foundation (predtým Jabber Software Foundation).
Použitie a prípady nasadenia
XMPP sa používa nielen pre bežné chatovanie, ale aj pre systémy na odosielanie notifikácií, instantné spolupráce, herné servery, IoT komunikáciu a signaling pre VoIP/video hovory. Vďaka federácii je vhodný tam, kde je dôležitá nezávislosť infraštruktúry a interoperabilita medzi organizáciami.
Výhody a nevýhody
- Výhody: otvorenosť a decentralizácia, široká podpora, flexibilita cez XEP, možnosť vlastného servera.
- Nevýhody: XML môže byť verbózny (vyššia režijná záťaž), nie vždy sú všetky rozšírenia univerzálne podporované medzi klientmi/servery (fragmentácia), implementácia end‑to‑end šifrovania môže vyžadovať ďalšie konfigurácie alebo zásuvné moduly.
Ako začať s XMPP
Ak chcete XMPP vyskúšať, môžete si buď zriadiť účet na verejnom XMPP serveri, alebo nainštalovať vlastný server na doméne, ktorú vlastníte. Potom si vyberiete klienta podľa zariadenia a preferencií a prihlásite sa pomocou JID (Jabber ID) vo formáte užívateľ@domena. Pre lepšiu bezpečnosť povoľte TLS a zvážte použitie OMEMO alebo iného end‑to‑end riešenia.
Záver
XMPP zostáva silným a flexibilným protokolom pre okamžité správy a prítomnosť, obzvlášť tam, kde sú dôležité otvorené štandardy, federácia a možnosť vlastného nasadenia. Hoci sa v niektorých oblastiach stretáva s konkurenciou moderných centralizovaných služieb, jeho modulárnosť a komunita ho držia relevantným pre široké spektrum použití.
História
Jeremie Miller začal projekt Jabber v roku 1998. Prvé veľké verejné vydanie bolo v máji 2000. Tento raný softvér bol základom XMPP. Bol konkurentom protokolu SIMPLE, ktorý bol založený na protokole SIP.
V auguste 2001 bola založená Jabber Software Foundation (JSF). Hlavnou úlohou JSF bolo spravovať protokoly XML pre XMPP ich dokumentovaním. Okrem toho mala organizácia koordinovať mnohé spoločnosti, ktoré používali technológiu XMPP.
V roku 2002 vytvorila pracovná skupina Internet Engineering Task Force pracovnú skupinu na formalizáciu protokolu. Skupina dostala názov Extensible Messaging and Presence Protocol Working Group (Pracovná skupina pre rozšíriteľný protokol správ a prítomnosti) alebo XMPP WG.
V roku 2007 sa Jabber Software Foundation (JSF) premenovala na XMPP Standards Foundation (XSF).
XMPP a HTTP
XMPP môže na odosielanie údajov na servery používať protokol HTTP. To je užitočné v prípade, že sú zavedené prísne firewally, pretože údaje sa môžu posielať cez web namiesto cez iný port (port 5222 a 5223).
Existujú aj otvorené verejné servery, ktoré používajú štandardné porty (porty 80 a 443), takže sa k nim používatelia môžu pripojiť spoza väčšiny firewallov.
Otázky a odpovede
Otázka: Čo je XMPP?
Odpoveď: XMPP je skratka pre Extensible Messaging and Presence Protocol (Rozšíriteľný protokol na posielanie správ a prítomnosť). Je to protokol pre okamžité zasielanie správ, ktorý je inšpirovaný XML a je otvoreným štandardom.
Otázka: V čom sa XMPP líši od iných protokolov?
Odpoveď: XMPP sa líši od iných protokolov, pretože je to otvorený štandard. To znamená, že každý, kto má doménové meno a internetové pripojenie, môže spustiť vlastný server.
Otázka: Aký softvér používa protokol XMPP?
Odpoveď: Google Talk a Gizmo5 sú príklady softvéru, ktorý používa protokol XMPP. Väčšina tohto softvéru a klientov má otvorený zdrojový kód.
Otázka: Koľko serverov na internete má nainštalovaný protokol XMPP?
Odpoveď: Protokol XMPP je nainštalovaný na tisícoch serverov na internete.
Otázka: Koľko používateľov používa softvér založený na protokole XMPP?
Odpoveď: Softvér založený na protokole XMPP používa viac ako päťsto miliónov používateľov.
Otázka: Ktorí klienti používajú protokol XMPP?
Odpoveď: Medzi klientov, ktorí používajú protokol XMPP, patria Pidgin a iChat.
Otázka: Aká je hlavná výhoda toho, že XMPP je otvorený štandard?
Odpoveď: Hlavnou výhodou otvoreného štandardu XMPP je, že každý, kto má doménové meno a pripojenie na internet, môže spustiť vlastný server.
Prehľadať