Extensible Messaging And Presence Protocol

Extensible Messaging and Presence Protocol (XMPP, dawniej Jabber) – protokół bazujący na języku XML umożliwiający przesyłanie w czasie rzeczywistym wiadomości oraz statusu.

Protokół ma zastosowanie nie tylko w komunikatorach, ale również w innych systemach natychmiastowej wymiany informacji.

Mimo iż nazwa konta na serwerach XMPP jest skonstruowana podobnie jak adres e-mail, nie dotyczy ona tej samej usługi, więc nie może być wykorzystywana przez oprogramowanie pocztowe. Istnieją jednak firmy, które w ramach jednego konta oferują zarówno adres e-mail jak i Jabber ID (np. Google wraz z Gmailem czy Microsoft i jego usługa Hotmail). Serwisy społecznościowe Facebook i Nk.pl, poprzez implementację języka XMPP na swoich serwerach, pozwalały w przeszłości na korzystanie z wbudowanego w swoim serwisie czatu, z poziomu dowolnego komunikatora opartego na tym protokole. Protokół XMPP zasadniczo używany jest do błyskawicznej komunikacji między użytkownikami, ale nie ma przeszkód, by używać go jak poczty elektronicznej tj. uruchamiać pobieranie wiadomości co pewien czas.

IETF opublikowało RFC dotyczące XMPP.

Zastosowania

Głównym jego zastosowaniem jest wymiana wiadomości w komunikatorach internetowych. Serwery XMPP umożliwiają także za pomocą tzw. transportów komunikację z użytkownikami innych protokołów, jak Gadu-Gadu, Tlen.pl czy ICQ.

Protokół nie musi być wykorzystywany jedynie do komunikacji między użytkownikami, przykładem czego był system blogowania przez XMPP – Jogger.

Cechy XMPP

Extensible Messaging And Presence Protocol 
Schemat działania sieci XMPP

XMPP posiada kilka cech wyróżniających go spośród konkurencyjnych sieci.

    otwartość
    Protokół XMPP jest publicznie dostępny i podlega swobodnej modyfikacji. Klienty, serwery oraz biblioteki są często udostępniane jako Wolne i Otwarte Oprogramowanie.
    decentralizacja
    Dostępnych jest wiele serwerów XMPP. Dodatkowo można uruchomić serwer na własny użytek. Wszystkie dostępne serwery tworzą jedną wspólną sieć.
    bezpieczeństwo
    Każdy serwer XMPP może być oddzielony od głównej publicznej sieci. Wiele serwerów używa SSL do komunikacji z użytkownikami. Część klientów obsługuje PGP lub GPG do szyfrowania transmisji oraz zabezpieczenia oparte na SASL.
    transporty
    Serwery mogą udostępniać użytkownikom dodatkowe usługi, jak komunikacja z innymi protokołami oraz obsługa poczty elektronicznej. W przeciwieństwie do wtyczek do komunikatorów można z nich korzystać za pomocą dowolnego klienta.

XMPP a Jabber

Jabber został zapoczątkowany w 1998 roku przez Jeremiego Millera. Od tamtego czasu powstało wiele serwerów oraz klientów XMPP, które korzystają z tego protokołu. Sam protokół z kolei nie został nigdy w pełni opisany, a jego dokumentacja jest opisem stanu istniejącego i nie może być brana pod uwagę jako standard, który powinien zostać zaimplementowany.

XMPP (o dawnej nazwie Jabber) został ustandaryzowany przez IETF. Pomimo jego wstecznej kompatybilności, bardzo stare serwery nie są w pełni zgodne z XMPP.

Implementacje XMPP można zobaczyć w takich serwerach jak jabberd2 oraz klientach, jak np. Tkabber.

Protokół pochodny od XMPP był wykorzystywany w polskim komunikatorze Tlen.pl (teraz jednak dąży on do coraz większej kompatybilności z XMPP).

XMPP określa sposób podłączenia się klienta do serwera, połączenia serwerów między sobą, raportowania błędów, wymiany podstawowych informacji między serwerami i klientami oraz sposób zarządzania listą kontaktów i regułami prywatności. Pozostała funkcjonalność, opisana XEP-ami, nie jest już częścią XMPP – XMPP nie określa i nie będzie określał sposobu przesyłu plików czy dostępu do listy transportów na serwerze. To wszystko to tylko rozszerzenia będące częścią Jabber, a nie XMPP.

Ewolucja

  • Do uwierzytelnienia użytkowników XMPP wykorzystuje protokół SASL. Również uwierzytelnienie między serwerami może być realizowane przy pomocy tego protokołu.
  • Dodano reguły prywatności. Pozwalają one określić użytkownikowi od kogo chce dostawać wiadomości, komu pokazywać swój status.
  • XMPP zawiera dokładniejsze informacje o powstałych błędach, dzięki czemu klient użytkownika może wygenerować zrozumiały komunikat lub podjąć automatycznie działanie, które obsłuży dany wyjątek.
  • Wbudowano rozszerzenie StartTLS, które pozwala na szyfrowanie połączenia na standardowym porcie.

Dokumenty RFC

Przykładowa sesja Jabber

Klient (kuusipuu) łączy się z serwerem Jabberowym (amessage.de port tcp numer 5222), wysyła wiadomość (temat: „test 1449” i treść: „test 1449”) do innego klienta (tero) i wylogowuje się.

kuusipuu (otwarcie połączenia):

    xmlns:stream=>"http://etherx.jabber.org/streams"  xmlns="jabber:client" to="amessage.de"> 

amessage.de:

  xmlns='jabber:client'  xmlns:stream=>'http://etherx.jabber.org/streams' from='amessage.de'  id='1461777714'> 

kuusipuu (autoryzacja użytkownika):

  type="set" id="auth_2" to="amessage.de" >     xmlns="jabber:iq:auth">      kuusipuu      mypassword      Work        

amessage.de:

  from="amessage.de" id='auth_2' type='result'/> 

kuusipuu (wysyłanie wiadomości i zamknięcie połączenia):

  to="[email protected]" >    test 1449    test 1449     type="unavailable" >  Logged out     

amessage.de:

  

Zobacz też

Przypisy

Linki zewnętrzne

Tags:

Extensible Messaging And Presence Protocol ZastosowaniaExtensible Messaging And Presence Protocol Cechy XMPPExtensible Messaging And Presence Protocol XMPP a JabberExtensible Messaging And Presence Protocol EwolucjaExtensible Messaging And Presence Protocol Dokumenty RFCExtensible Messaging And Presence Protocol Przykładowa sesja JabberExtensible Messaging And Presence Protocol Zobacz teżExtensible Messaging And Presence Protocol PrzypisyExtensible Messaging And Presence Protocol Linki zewnętrzneExtensible Messaging And Presence ProtocolJęzyk znacznikówXML

🔥 Trending searches on Wiki Polski:

HiszpaniaAdolf HitlerTeksasSzwajcariaOlga Semeniuk-PatkowskaMistrzostwa Europy w piłce nożnejCzarnogóraEdward GierekZespół AspergeraCalvin KleinAlfabetCharkówBiałoruśBitwa pod GrunwaldemBizmutRzeżuchaSzwecjaFacebookKasynoAmeryka PołudniowaAleksandra Gajewska (ur. 1989)Lyndon B. JohnsonKu Klux KlanRanking FIFAWyspy KanaryjskieCripsAdam MarczakKamil GrosickiDroga krzyżowaWłodzimierz CzarzastyBitwa o Monte CassinoMichał WośWirusyJózef PiłsudskiCristiano RonaldoWojna secesyjnaSeszeleWiosnaHaitiMistrzostwa Europy w Piłce Nożnej 2008Janusz Korwin-MikkeGdańskJan Paweł IIJerzy DudekFryderyk ChopinStany ZjednoczoneSzczecinSibebeDiuna (powieść)Szogun (serial telewizyjny)Real MadrytAzerbejdżanBolesław I ChrobryTonya HardingMercedes-BenzAriana GrandeAgencja Bezpieczeństwa WewnętrznegoTaylor SwiftNatalia LeszPodlasieJulia WieniawaPortugaliaRojst (serial telewizyjny)Franciszek Józef IBiedronka (sieć handlowa)Dominik TarczyńskiWłochyDeizmWojska LądoweMao ZedongMetamfetaminaStanisław August PoniatowskiBanderowcyEmmanuel OlisadebeMarek BiernackiWietnamKorea PółnocnaBielsko-Biała🡆 More