Extensible Messaging and Presence Protocol – Wikipedie
Přeskočit na obsah
Z Wikipedie, otevřené encyklopedie
Logo protokolu XMPP
Extensible Messaging and Presence Protocol
XMPP
) (dříve známý jako
Jabber
[ˈdžæbə(r)]), neboli „rozšiřitelný
protokol
pro posílání zpráv a zjištění
stavu
“, 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
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 zapouzdřuje zprávy do
XML
Síť využívající XMPP protokol 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ě, na kterých je možno si založit uživatelské konto. Identifikátory uživatelů (takzvané
Jabber ID
, zkráceně JID) jsou v
základním tvaru syntakticky i sémanticky podobné
e-mailovým
adresám, tedy uzivatel@server. 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
. Na jedno uživatelské konto může tedy být přihlášeno i více klientů najednou a mezi nimi se rozhoduje buď podle celé adresy, pokud ji druhá strana zadá, nebo podle nastavené priority.
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 vlastně brány mezi XMPP sítí a IM sítí pracující na jiném protokolu.
Ukázka transportu do
ICQ
Jak XMPP pracuje?
editovat
editovat zdroj
Síť XMPP
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.
Uživatel je identifikován uživatelským jménem a názvem serveru. Tyto dvě hodnoty jsou odděleny znakem
. Tedy např.
pepa@jehoserver.cz
. Tento
řetězec
se nazývá
Jabber ID
nebo také
JID
Co se děje při komunikaci mezi dvěma uživateli, ukazuje názorný příklad. Uživatelka Julie má účet na serveru
Kapuletova.cz
, takže její JID má tvar
julie@kapuletova.cz
. Chce si povídat s
Romeem, jehož JID je
romeo@montek.com
. Když Julie napíše zprávu a pošle ji Romeovi, provede se několik akcí:
XMPP klient Julie pošle její zprávu serveru Kapuletova.cz.
Pokud je Montek.com blokován, zpráva je smazána (zpět je zasláno chybové hlášení).
Server Kapuletova.cz otevře spojení k
serveru Montek.com a předá mu zprávu.
Server Montek.com doručí zprávu klientovi Romea.
Pokud je server Kapuletova.cz na Montek.com blokován, zpráva bude smazána (zpět je zaslána chybová hláška).
Pokud není Romeo právě připojen, zpráva se uschová (na montek.com) a bude doručena při nejbližší příležitosti.
Jabber ID
editovat
editovat zdroj
Jabber ID neboli také
JID
jsou uživatelská jména, pomocí kterých se přistupuje k
XMPP účtu. Obvykle se skládají ze tvaru
uzivatel@domena/zdroj
. Jsou podobná
e-mailovým
adresám. Část zdroj dovoluje uživateli individuální připojení na jeden účet z
více míst. Například
uzivatel@domena/doma
uzivatel@domena/prace
. Zdroj 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ů. JID může, až na několik výjimek, obsahovat libovolné znaky
unicode
, tzn. i česká písmena s
diakritikou.
Historie XMPP
editovat
editovat zdroj
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.
Jabber v Česku
editovat
editovat zdroj
1.
duben 2001 – založen server jabber.cz.
21.
červenec 2001 – založen server njs.netlab.cz, provozovaný společností HumboldTec.
16.
září 2005 – njs.netlab.cz, který se stal největším serverem v
ČR, pohltil server jabber.cz.
1.
září 2006 – za spolufinancování provozu obou serverů, sjednocených pod projekt
jabbim.cz
, jsou uživatelům nabídnuty rozšířené služby.
23.
dubna 2007 –
Jabbim
oznámil dosažení 70
000 registrací, 14
000 aktivních uživatelů a přes 5
000 přihlášených ve špičce.
Google Talk
editovat
editovat zdroj
Související informace naleznete také v článku
Google Talk
Společnost
Google
uvedla koncem roku 2005 nový projekt Google Talk. Tato služba pro Instant Messaging využívá protokolu XMPP. Dále přidala možnost hlasové komunikace, na jejíž specifikaci spolupracuje s
XMPP Standards Foundation
. Později přibyla i možnost videohovorů.
Klienti XMPP
editovat
editovat zdroj
Bombus
(pro
mobilní telefony
Java ME
Bombus-ng
(pro zařízení s
Windows Mobile
Coccinella
Empathy
(klient s
podporou hlasu a videa, kompatibilní s
Google Talkem;
Gajim
Jabbim
JWChat
(webový klient; některé servery provozují vlastní verzi pro své uživatele;
mcabber
Psi
Spark
Tkabber
Xeus Messenger
glu
Xabber
(open-source klient pro operační systém
Android
Renga (program)
(XMPP klient pro
Haiku
Tento seznam není ani zdaleka kompletní. Další klienty naleznete např. na
Jabber.cz Wiki
Multiprotokoloví klienti s podporou XMPP
editovat
editovat zdroj
Adium
BitlBee
CenterIM
(pokračovatel
CenterICQ
Digsby
Empathy
iChat
(nahrazen aplikací
Messages
Kopete
Meebo
(odkoupen Googlem a následně zrušen)
Miranda
Mozilla Thunderbird
(poštovní a IM klient, česky:
Pidgin
(dříve Gaim)
qutIM
QIP Infium
SIM-IM
Trillian
Reference
editovat
editovat zdroj
XMPP Coding Sprint Berlin.
Haiku Project
[online]. 2024-07-21 [cit. 2024-07-22].
Dostupné online
. (anglicky)
Související články
editovat
editovat zdroj
Matrix
Open Discussion Day
Stav účastníka
Externí odkazy
editovat
editovat zdroj
Obrázky, zvuky či videa k tématu
Extensible Messaging and Presence Protocol
na Wikimedia Commons
(anglicky)
Oficiální stránky
– XMPP Standards Foundation
(česky)
Jabber.cz – Wiki
– velké množství informací o
XMPP/Jabberu
(česky)
Jabber/XMPP
– návod, jak začít komunikovat s
Jabberem pro úplné začátečníky.
(slovensky)
Seriál Jabber – komunikačný protokol
Protokoly
počítačových sítí
internetu
podle
modelu ISO/OSI
Aplikační vrstva
– 7
BitTorrent
BOOTP
DNS
DHCP
FTP
Gopher
HTTP
HTTPS
IMAP
IPP
IRC
Ident
NNTP
NFS
NTP
POP3
RTP
SIP
SMB
SMTP
SNMP
SSH
STUN
Telnet
XMPP
Prezentační vrstva
– 6
NCP
Relační vrstva
– 5
SPDY
SSL
TLS
NetBIOS
RPC
SMB
NFS
Transportní vrstva
– 4
DCCP
QUIC
RUDP
SCTP
TCP
UDP
Síťová vrstva
– 3
IPv4
IPv6
ICMP
IGMP
adresování
směrování
Linková vrstva
– 2
Ethernet
FDDI
PPP
Token ring
Wi-Fi
...
sběrnice
ARP
Proxy ARP
RARP
Fyzická vrstva
– 1
10Base5
10Base2
10BASE-T
100BASE-TX
1000BASE-T
RS-232
RS-422
RS-449
RS-485
topologie sítí
Instant messaging
Protokoly (
porovnání
Otevřené
DDP
IMPP
IRC
Matrix
MTProto
RCS
Retroshare
Signal Protocol
SIP
MSRP
SIMPLE
Tox
XMPP
Zephyr
Uzavřené
MSNP
OSCAR
Služby
Band
BiP
DingTalk
Discord
Facebook Messenger
Google Chat
Google Meet
GroupMe
iGap
iMessage
IRC Networks
Jongla
KakaoTalk
Kik
Libon
Line
Marco Polo
Mattermost
The Palace
Signal
Skype
Slack
Snapchat
SNOW
Tango
Telegram
QQ
Textfree/Pinger
Threema
Tox
Trillian
Viber
WeChat
WhatsApp
Wickr
Zoom
Zulip
Klienty (
porovnání
Jeden protokol
Baidu Hi
Briar
Element
Facebook Messenger
FaceTime
GG
GroupMe
HCL Sametime
IMVU
Jami
Jongla
Linphone
QQ
Retroshare
Ricochet
Signal
Telegram
Tox
WeChat
WhatsApp
Wickr
Wire
Víceprotokolové
Adium
Ayttm
BitlBee
Centericq
eBuddy
Jitsi
Kopete
Messages
iChat
Miranda
Nimbuzz
Pidgin
Skype for Business
Telepathy
Thunderbird
Trillian
XMPP (Jabber)
ChatSecure
Gajim
Psi
Spark
Tkabber
MSNP
Microsoft Teams
Bývalé
BlackBerry Messenger
Empathy
Google Allo
Google Hangouts
ICQ
Meebo
QIP
Skype
Windows Live Messenger
Xfire
Yahoo! Messenger
Zprávy Google
Související
Chatbot
Emotikon
Smajlík
FirstClass
LAN messenger
Mobile VoIP
Sdílení souborů
Stav účastníka
Telekonference
Videohovor
VoIP
Webová kamera
Windows Messenger
Yammer
Kontakty Google
Autoritní data
LCCN
sh2002000573
NLI
987007566352705171
Portály
Internet
Citováno z „
Kategorie
Internetové protokoly
Chat
Otevřené standardy
XML
Skryté kategorie:
Monitoring:Články s identifikátorem LCCN
Monitoring:Články s identifikátorem NLI
Portál Internet/Zapojené články
Extensible Messaging and Presence Protocol
Přidat téma
US