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.

Autor: Leandro Alegsa

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ť
AlegsaOnline.com - 2020 / 2025 - License CC3