SlideShare a Scribd company logo
Protokol Jabber

        Na začátku roku 1998 Jeremie Miller odstartoval projekt, který byl představen v lednu 1999
jménem Jabber. Cílem bylo vytvořit protokol pro posílání zpráv a stavů založený na XML. Důraz byl
kladen na snadné porozumění, jednoduchou implementaci, snadnou rozšiřitelnost a otevřenost celého
projektu. V roce 2004 byl na základě používaného protokolu vydán standard XMPP (Extensible
Messaging and Presence Protocol) se standardizovanými normami RFC 3920 a RFC 3921 (a roz-
šiřujícími RFC 3922 a RFC 3923), které byly v březnu 2010 nahrazeny novými normami RFC 6120 a
RFC 6121. Přibylo RFC 6122 popisující formát pro adresování v XMPP. [1]
        Architektura sítě Jabber je decentralizovaná, to znamená, že na světě je velké množství serverů
poskytujících prostředky ke komunikaci. Velkou výhodou decentralizace je, že pád jednoho serveru,
neznamená výpadek celé sítě, tak jako je to u centralizovaných architektur. Jabber server může být
nainstalován a svobodně provozován na každém serveru. Jabber je navržený tak, aby klienti byli nuceni
implementovat pouze samotný protokol a o vše ostatní se staral server. Z tohoto důvodu je například
seznam kontaktů, označovaný jako roster, uložen právě na serveru.
        Každá entita adresovatelná v Jabberu má svou vlastní kontaktní adresu nazývanou Jabber ID
(dále jen JID). JID identifikující uživatele má tvar jmeno@server/zdroj. Uživatel může mít vytvořen
účet na libovolném serveru a každé uživatelské jméno (nezáleží na velikosti písmen) je pro konkrétní
server unikátní. K jednomu účtu může být uživatel přihlášen ve stejném čase z více různých klientů
(notebook, mobil atd.) a zdroj poté určuje konkrétní přihlášení klienta v rámci jednoho účtu (například
uzivatel@jabber.org/notebook a uzivatel@jabber.org/mobil). Každý zdroj má přidělenu prioritu a
příchozí zpráva je doručena na adresu s nejvyšší prioritou.
        Komunikace a zasílání stavů mezi uživateli je prováděno pomocí jejich hostitelských serverů.
Každý server se stará o klienty svých uživatelů, tj. přijímá od nich zprávy, které posílá cílovému
serveru, ten se stará o doručení zprávy správnému uživateli. V případě, že je cílový uživatel
momentálně nedostupný, je zpráva ponechána na serveru a doručena jakmile se uživatel přihlásí. V pří-
padě, že je nedostupný cílový server, je zpráva uchována na hostitelském serveru odesilatele a
doručena ve chvíli, kdy se cílový server stane dostupným.
        Konkrétní komunikace probíhá pomocí TCP (Transmission Control Protocol) spojení a klient se
připojuje na server přes port 5222. Komunikace je zahájena klientem, zasláním kořenového tagu, na
který server odpoví. Poté je klient nucen se autentizovat. Po úspěšné autentizaci může klient pomocí
serveru komunikovat s jinými uživateli. K tomuto slouží tři elementy: [2]

<message/> - element obsahující zprávu
<presence/> - element nesoucí stav a status
<iq/> - element s dotazem (zkratka z "Info/Query")

Ukázka elementu <message/>:

<message
    from=’juliet@example.com/balcony’
    id=’ktx72v49’
    to=’romeo@example.net’
    type=’chat’
    xml:lang=’en’>
  <body>Art thou not Romeo, and a Montague?</body>
</message>
Jednou ze stěžejních funkcí každé aplikace pro posílání zpráv je možnost uchování našich
kontaktů. Takovýto list kontaktů se v Jabberu označuje jako roster. Kromě prostého zobrazení kontaků
umožňuje sledovat i jejich aktuální dostupnost. Každý kontakt je dostupný (available) nebo nedostupný
(unavailable) v případě, že není zrovna připojený na server. Pokud je kontakt dostupný, může být jeho
stav rozšířen pomocí některého z následujících typů:

away – určuje, že uživatel je dočasně nedostupný
chat – uživatel má momentálně zájem o rozhovor
dnd – zkratka z „Do Not Disturb“ (nerušit) znamená, že uživatel je momentálně zaměstnán a nepřeje si
být rušen
xa – zkratka z "eXtended Away" (dlouho nedostupný) znamená, že uživatel je delší dobu nedostupný

         Dalším rozšířením stavu dostupný je možnost nastavení statusu. Status je prostý text umožňující
přidat ke stavu nějakou rozšiřující informaci, která se zobrazí jako další popis našeho stavu (typické
použití je napřiklad typ stavu away se statusem nesoucí text „Přijdu do pěti minut“). Do rosteru může
být přidán kterýkoliv jiný uživatel, ke sledování jeho aktualního stavu je však potřebná autorizace.
Dokud neproběhne autorizace, je kontakt zobrazován jako nedostupný.
         Jabber není nástroj pouze pro jednoduchou komunikaci mezi dvěma uživateli. Má několik
dalších užitečných funkcí. Jednou z nich je například možnost vytvoření konference, tj. vytvoření
místnosti pro víceuživatelskou komunikaci. Místnost má své JID ve stejné formě jako běžní uživatelé a
po připojení umožňuje posílat zprávy viditelné každému uživateli připojenému do místnosti. Další
praktickou funkcí jsou transporty. Ty umožňující pomocí Jabberu komunikovat i s uživateli jiných
komunikačních protokolů (ICQ, MSN, AIM atd.). Pomocí Jabberu je možné posílat SMS do některých
telefonních sítí nebo číst RSS. Na Jabberu je možné nalézt také množství botů. Jedná se o programy
mající své vlastní JID a se kterými je možné komunikovat stejně jako s běžnými uživateli. Určité
zprávy jsou brány jako příkazy, na které bot umí zareagovat a odpovědět. Pomocí botů je tak možné
zjistit například aktualní počasí nebo odjezdy vlaků. [3]
         Na násldující ikonografice je přehledně znázorněno použítí Jabberu ze tří nejpouživánějších
operačních systémů (Linux, Windows, MacOS):
Použitá literatura:
   1. History [online]. XMPP Standards Foundation. [cit. 4.1.2013] Dostupné z World Wide Web:
       <http://xmpp.org/about-xmpp/history/>
   2. Adams, D. J. Programming Jabber. Sebastopol, CA: O’REILLY & Associates, Inc., 2002, ISBN
       0-596-00202-5.
   3. Jabber, Inc. and America Online, Inc. Team to Provide Server-to-Server Instant Messaging --
       IM – Federation [online]. Business Wire [cit. 4.1.2013] Dostupné z World Wide Web:
       <http://search.proquest.com/docview/445432782?accountid=16531>

More Related Content

Viewers also liked

Social networking-overview
Social networking-overviewSocial networking-overview
Social networking-overview
sakshicherry
 
самопрезентация лелет
самопрезентация лелетсамопрезентация лелет
самопрезентация лелетbhfghj555
 
Con un tratto di penna - Soggetto per Webserie.
Con un tratto di penna - Soggetto per Webserie. Con un tratto di penna - Soggetto per Webserie.
Con un tratto di penna - Soggetto per Webserie.
Sante Alagia
 
с чего начинается родина
с чего начинается родинас чего начинается родина
с чего начинается родинаbhfghj555
 
Comic Book Terms and Definitions
Comic Book Terms and DefinitionsComic Book Terms and Definitions
Comic Book Terms and Definitions
grantthomasonline
 
Pengerajin tenun masinal supangat ra'am blogg.doc
Pengerajin tenun masinal supangat ra'am blogg.docPengerajin tenun masinal supangat ra'am blogg.doc
Pengerajin tenun masinal supangat ra'am blogg.doc
Tamir Mb
 
παρουσίαση θ3 π2 - ναθαναήλ
παρουσίαση   θ3 π2 - ναθαναήλπαρουσίαση   θ3 π2 - ναθαναήλ
παρουσίαση θ3 π2 - ναθαναήλKonstantinos Karagiannis
 
エージェントシステム特論発表スライド
エージェントシステム特論発表スライドエージェントシステム特論発表スライド
エージェントシステム特論発表スライド
Genki Furumi
 

Viewers also liked (11)

Church slideshow
Church slideshowChurch slideshow
Church slideshow
 
Social networking-overview
Social networking-overviewSocial networking-overview
Social networking-overview
 
самопрезентация лелет
самопрезентация лелетсамопрезентация лелет
самопрезентация лелет
 
Con un tratto di penna - Soggetto per Webserie.
Con un tratto di penna - Soggetto per Webserie. Con un tratto di penna - Soggetto per Webserie.
Con un tratto di penna - Soggetto per Webserie.
 
с чего начинается родина
с чего начинается родинас чего начинается родина
с чего начинается родина
 
Comic Book Terms and Definitions
Comic Book Terms and DefinitionsComic Book Terms and Definitions
Comic Book Terms and Definitions
 
1587
15871587
1587
 
Pengerajin tenun masinal supangat ra'am blogg.doc
Pengerajin tenun masinal supangat ra'am blogg.docPengerajin tenun masinal supangat ra'am blogg.doc
Pengerajin tenun masinal supangat ra'am blogg.doc
 
παρουσίαση θ3 π2 - ναθαναήλ
παρουσίαση   θ3 π2 - ναθαναήλπαρουσίαση   θ3 π2 - ναθαναήλ
παρουσίαση θ3 π2 - ναθαναήλ
 
Ppt rangkuman paket
Ppt rangkuman paketPpt rangkuman paket
Ppt rangkuman paket
 
エージェントシステム特論発表スライド
エージェントシステム特論発表スライドエージェントシステム特論発表スライド
エージェントシステム特論発表スライド
 

Similar to Protokol jabber

Lotus Notes 7
Lotus Notes 7Lotus Notes 7
Lotus Notes 7
Martin Humpolec
 
Smart Cards & Devices Forum 2013 - Babel
Smart Cards & Devices Forum 2013 - BabelSmart Cards & Devices Forum 2013 - Babel
Smart Cards & Devices Forum 2013 - BabelOKsystem
 
Závěrečný úkol KPI
Závěrečný úkol KPIZávěrečný úkol KPI
Závěrečný úkol KPI
Jan Vyhnánek
 
Komunikace na internetu 1
Komunikace na internetu 1Komunikace na internetu 1
Komunikace na internetu 1Martin Krčál
 

Similar to Protokol jabber (6)

Lotus Notes 7
Lotus Notes 7Lotus Notes 7
Lotus Notes 7
 
Internet2
Internet2Internet2
Internet2
 
Sak ukol
Sak ukolSak ukol
Sak ukol
 
Smart Cards & Devices Forum 2013 - Babel
Smart Cards & Devices Forum 2013 - BabelSmart Cards & Devices Forum 2013 - Babel
Smart Cards & Devices Forum 2013 - Babel
 
Závěrečný úkol KPI
Závěrečný úkol KPIZávěrečný úkol KPI
Závěrečný úkol KPI
 
Komunikace na internetu 1
Komunikace na internetu 1Komunikace na internetu 1
Komunikace na internetu 1
 

Protokol jabber

  • 1. Protokol Jabber Na začátku roku 1998 Jeremie Miller odstartoval projekt, který byl představen v lednu 1999 jménem Jabber. Cílem bylo vytvořit protokol pro posílání zpráv a stavů založený na XML. Důraz byl kladen na snadné porozumění, jednoduchou implementaci, snadnou rozšiřitelnost a otevřenost celého projektu. V roce 2004 byl na základě používaného protokolu vydán standard XMPP (Extensible Messaging and Presence Protocol) se standardizovanými normami RFC 3920 a RFC 3921 (a roz- šiřujícími RFC 3922 a RFC 3923), které byly v březnu 2010 nahrazeny novými normami RFC 6120 a RFC 6121. Přibylo RFC 6122 popisující formát pro adresování v XMPP. [1] Architektura sítě Jabber je decentralizovaná, to znamená, že na světě je velké množství serverů poskytujících prostředky ke komunikaci. Velkou výhodou decentralizace je, že pád jednoho serveru, neznamená výpadek celé sítě, tak jako je to u centralizovaných architektur. Jabber server může být nainstalován a svobodně provozován na každém serveru. Jabber je navržený tak, aby klienti byli nuceni implementovat pouze samotný protokol a o vše ostatní se staral server. Z tohoto důvodu je například seznam kontaktů, označovaný jako roster, uložen právě na serveru. Každá entita adresovatelná v Jabberu má svou vlastní kontaktní adresu nazývanou Jabber ID (dále jen JID). JID identifikující uživatele má tvar jmeno@server/zdroj. Uživatel může mít vytvořen účet na libovolném serveru a každé uživatelské jméno (nezáleží na velikosti písmen) je pro konkrétní server unikátní. K jednomu účtu může být uživatel přihlášen ve stejném čase z více různých klientů (notebook, mobil atd.) a zdroj poté určuje konkrétní přihlášení klienta v rámci jednoho účtu (například uzivatel@jabber.org/notebook a uzivatel@jabber.org/mobil). Každý zdroj má přidělenu prioritu a příchozí zpráva je doručena na adresu s nejvyšší prioritou. Komunikace a zasílání stavů mezi uživateli je prováděno pomocí jejich hostitelských serverů. Každý server se stará o klienty svých uživatelů, tj. přijímá od nich zprávy, které posílá cílovému serveru, ten se stará o doručení zprávy správnému uživateli. V případě, že je cílový uživatel momentálně nedostupný, je zpráva ponechána na serveru a doručena jakmile se uživatel přihlásí. V pří- padě, že je nedostupný cílový server, je zpráva uchována na hostitelském serveru odesilatele a doručena ve chvíli, kdy se cílový server stane dostupným. Konkrétní komunikace probíhá pomocí TCP (Transmission Control Protocol) spojení a klient se připojuje na server přes port 5222. Komunikace je zahájena klientem, zasláním kořenového tagu, na který server odpoví. Poté je klient nucen se autentizovat. Po úspěšné autentizaci může klient pomocí serveru komunikovat s jinými uživateli. K tomuto slouží tři elementy: [2] <message/> - element obsahující zprávu <presence/> - element nesoucí stav a status <iq/> - element s dotazem (zkratka z "Info/Query") Ukázka elementu <message/>: <message from=’juliet@example.com/balcony’ id=’ktx72v49’ to=’romeo@example.net’ type=’chat’ xml:lang=’en’> <body>Art thou not Romeo, and a Montague?</body> </message>
  • 2. Jednou ze stěžejních funkcí každé aplikace pro posílání zpráv je možnost uchování našich kontaktů. Takovýto list kontaktů se v Jabberu označuje jako roster. Kromě prostého zobrazení kontaků umožňuje sledovat i jejich aktuální dostupnost. Každý kontakt je dostupný (available) nebo nedostupný (unavailable) v případě, že není zrovna připojený na server. Pokud je kontakt dostupný, může být jeho stav rozšířen pomocí některého z následujících typů: away – určuje, že uživatel je dočasně nedostupný chat – uživatel má momentálně zájem o rozhovor dnd – zkratka z „Do Not Disturb“ (nerušit) znamená, že uživatel je momentálně zaměstnán a nepřeje si být rušen xa – zkratka z "eXtended Away" (dlouho nedostupný) znamená, že uživatel je delší dobu nedostupný Dalším rozšířením stavu dostupný je možnost nastavení statusu. Status je prostý text umožňující přidat ke stavu nějakou rozšiřující informaci, která se zobrazí jako další popis našeho stavu (typické použití je napřiklad typ stavu away se statusem nesoucí text „Přijdu do pěti minut“). Do rosteru může být přidán kterýkoliv jiný uživatel, ke sledování jeho aktualního stavu je však potřebná autorizace. Dokud neproběhne autorizace, je kontakt zobrazován jako nedostupný. Jabber není nástroj pouze pro jednoduchou komunikaci mezi dvěma uživateli. Má několik dalších užitečných funkcí. Jednou z nich je například možnost vytvoření konference, tj. vytvoření místnosti pro víceuživatelskou komunikaci. Místnost má své JID ve stejné formě jako běžní uživatelé a po připojení umožňuje posílat zprávy viditelné každému uživateli připojenému do místnosti. Další praktickou funkcí jsou transporty. Ty umožňující pomocí Jabberu komunikovat i s uživateli jiných komunikačních protokolů (ICQ, MSN, AIM atd.). Pomocí Jabberu je možné posílat SMS do některých telefonních sítí nebo číst RSS. Na Jabberu je možné nalézt také množství botů. Jedná se o programy mající své vlastní JID a se kterými je možné komunikovat stejně jako s běžnými uživateli. Určité zprávy jsou brány jako příkazy, na které bot umí zareagovat a odpovědět. Pomocí botů je tak možné zjistit například aktualní počasí nebo odjezdy vlaků. [3] Na násldující ikonografice je přehledně znázorněno použítí Jabberu ze tří nejpouživánějších operačních systémů (Linux, Windows, MacOS):
  • 3. Použitá literatura: 1. History [online]. XMPP Standards Foundation. [cit. 4.1.2013] Dostupné z World Wide Web: <http://xmpp.org/about-xmpp/history/> 2. Adams, D. J. Programming Jabber. Sebastopol, CA: O’REILLY & Associates, Inc., 2002, ISBN 0-596-00202-5. 3. Jabber, Inc. and America Online, Inc. Team to Provide Server-to-Server Instant Messaging -- IM – Federation [online]. Business Wire [cit. 4.1.2013] Dostupné z World Wide Web: <http://search.proquest.com/docview/445432782?accountid=16531>