XMPP ala Jabber – vzor a pro někoho náhrada Google Hangouts, chatu Facebooku či ICQ (díl 1.).

xmpp_logo

Extensible Messaging and Presence Protocol (XMPP) (někdy známý  jako Jabber), neboli „rozšiřitelný protokol pro posílání zpráv a zjištění stavu“ je otevřený komunikační protokol založený na XML, jehož základ je standardizován.
Hlavní výhodou XMPP oproti jiným protokolům je jeho otevřenost a nezávislost na rozmarech nějaké firmy. Díky tomu existuje spousta klientů pro nejrůznější operační systémy a platformy). Také podporuje tzv. transporty, díky kterým můžete z jednoho klientského programu komunikovat i s uživateli jiných sítí (ICQ, AIM, MSN…).

 

jabber_logo

 

Původně vznikl jako protokol pro instant messagingovou síť Jabber. Brzy se ale ukázalo, že kromě IM může být s výhodou použit i pro vzájemnou komunikaci programů nebo pro ovládání různých automatických služeb (botů). Později byl adoptován jakožto standard Internetu do RFC dokumentů – základní normy jsou RFC 3920 (obecná specifikace protokolu) a RFC 3921 (samotný instant messaging a zobrazení stavu). RFC obsahující některá další rozšíření XMPP protokolu jsou například RFC 3922 a RFC 3923.

O vývoj protokolu se stará XMPP Standards Foundation. Rozšíření nad rámec RFC jsou vydávána v podobě tzv. XEP (XMPP Extension Protocol), kterých je momentálně kolem dvou set (v různém stavu, od prvních návrhů až po standardy). XMPP je implementací obecného značkovacího jazyka XML. Specifikace jsou zcela otevřené a dostupné všem, kdo mají zájem o implementaci software s podporou XMPP. Servery XMPP protokolu běží standardně na TCP portu 5222. Pro vzájemnou komunikaci serverů je pak vyhrazen port 5269.

 

xmpp_logo

Jak XMPP pracuje?

Síť XMPP je založena na architektuře klient-server (klienti zpravidla nekomunikují přímo) a je decentralizována stejně jako e-mail. To znamená, že neexistuje žádný centrální server, který by spojoval uživatele, jako je tomu například u ICQ. Každý může zřídit svůj vlastní server, přičemž bude moci komunikovat s uživateli na jiných serverech. Uživatel tak má svobodu volby serveru, ke kterému má důvěru a který mu nabízí lepší služby, a možnost změny stejně jako v případě e-mailu. Samozřejmě existuje spousta serverů, na kterých se lze zdarma zaregistrovat bez potřeby tvorby vlastního serveru.

Síť využívající XMPP protokol tedy není centralizovaná do jednoho místa, jako je zvykem u většiny ostatních IM, ale je distribuovaná na servery po celém světě.

Uživatel se připojuje vždy pouze ke svému serveru, protože jenom tento server je schopen ověřit jeho identitu například pomocí uživatelského jména a hesla. Pokud vznikne potřeba komunikovat s uživateli na jiných serverech, připojí se uživatelův server na vzdálený server a předá si s ním potřebné informace. Toto je nutné vykonávat například i v případě, že je třeba zjistit „prezenci“, tedy zdali je uživatel na vzdáleném serveru přihlášen a v jakém je stavu. Kromě serverů a klientů se v síti vyskytují ještě různé služby – například služba víceuživatelských diskuzí (funkčně velmi podobné IRC), uživatelské adresáře a transporty. (Transporty jsou brány mezi XMPP sítí a IM sítí pracující na jiném protokolu.)

 

Uživatelské jméno neboli Jabber ID

Uživatel je identifikován uživatelským jménem a názvem serveru. Tyto dvě hodnoty jsou odděleny znakem @. Tedy například uzivatel@server.cz. Tento řetězec se nazývá Jabber ID nebo také JID.

Obvykle se vyskytují ve tvaru uzivatel@domena/zdroj. Část zdroj dovoluje uživateli individuální připojení na jeden účet z více míst. Uživatel si může dále své konto rozdělit podle potřeby, například se může jeho klient z domova hlásit jako uzivatel@server/doma, a zároveň třeba i uzivatel@server/prace. Zdroj však není nutný uvádět pro kontaktování uživatele, ale může být vyžadován například při přenosu souborů.

Na jedno uživatelské konto tedy může být přihlášeno i více klientů najednou a mezi nimi se rozhoduje buď podle celé adresy (pokud jí druhá strana zadá) nebo podle nastavené priority.

JID může, až na několik výjimek, obsahovat libovolné znaky unicode, tzn. i česká písmena s diakritikou.

gajim_roster

Co se děje při komunikaci mezi dvěma uživateli, ukazuje názorný příklad.

Uživatel1 má účet na serveru server1.cz, takže její JID má tvar uzivatel1@server1.cz. Chce si povídat s uživatelem2, jehož JID je uživatel2@server2.com. Když napíše zprávu, tak se provede několik akcí:

  • XMPP klient uživatele1 pošle její zprávu serveru server1.cz.
  • Pokud je server2.com blokován, tak je zpráva smazána (a zpět je zasláno chybové hlášení).
  • Pokud ne, tak server1.cz otevře spojení k serveru server2.com s předá mu zprávu.
  • Pokud je však server1.cz na serveru2.com blokován, tak zpráva bude smazána.
  • Pokud není a uživatel2 není právě připojen, tak se zpráva na serveru2.com uschová a bude doručena při nejbližší příležitosti. Pokud je však uživatel 2 na příjmu, tak Server2.com rovnou doručí zprávu klientovi uživatele2.

 

Historie XMPP

Nyní si uvedeme krátkou historie XMPP:

rok 1998 – Jeremie Miller založil projekt Jabber.
srpen 1999 – Jeremie podepsal prohlášení zaručující podporu Jabber komunity IETF standardizaci.
květen 2000 – Uvolněn první software.
červen 2000 – Jeremie a další členové projektu Jabber se upsali koncepci IMPP dokumentující Jabber protokol. Kvůli nesoustředěnosti tehdejší komunity se však nepodařilo plně následovat IMPP či jiné IETF snahy.
rok 2001 – Vytvořena Jabber Software Foundation (JSF) pro zajištění organizace nad rostoucím počtem open source projektů a komerčních entit budujících či používajících technologie XMPP. Jedním z hlavních cílů JSF byla dokumentace XML protokolu a jeho další rozvíjení.
únor 2002 – Nově podepsána koncepce IETF. Výsledkem úspěchu tohoto podpisu bylo rozhodnutí prozkoumat možnosti zformování IETF Working Group pro diskuse o Jabber protokolu pod názvem XMPP, výsledkem čehož byly podepsány tři nové koncepce 21. 6. 2002
29. leden 2004 – IESG uznala XMPP Core a XMPP IM jako navrhované standardy
4. říjen 2004 – IETF uznala XMPP jako standard pro IM.

 

Proč Jabber?

  • Můžete se komunikovat s přáteli, spolužáky i spolupracovníky z celého světa.
  • Můžete se připojit z čehokoli – z PC (z GNU/Linux, MS Windows, Mac OS X a dalšího), z mobilního telefonu i z www prohlížeče.
  • Můžete posílat a sdílet soubory (dokumenty, fotografie…).
  • Můžete se zapojit do konferencí, kde můžete potkat nové přátele a kontakty.
  • Můžete si založit a moderovat vlastní chatovací místnosti, kde se budou probírat vaše témata.
  • Můžete se využívat specifických služeb pro jednotlivé poskytovatele.
Facebooktwitter
Příspěvek byl publikován v rubrice Články, Seriály se štítky . Můžete si uložit jeho odkaz mezi své oblíbené záložky.

2 komentáře: XMPP ala Jabber – vzor a pro někoho náhrada Google Hangouts, chatu Facebooku či ICQ (díl 1.).

  1. Pingback: XMPP ala Jabber – náhrada Hangouts, chatu Facebooku či ICQ (díl 3.).

  2. Pingback: XMPP ala Jabber – náhrada Hangouts, chatu Facebooku či ICQ (díl 4.).

Napsat komentář

Tato stránka používá Akismet k omezení spamu. Podívejte se, jak vaše data z komentářů zpracováváme..