Erweiterbares Messaging- und Präsenzprotokoll XMPP-Protokolllogo.
Funktion | Instant Messaging |
---|---|
Akronym | XMPP |
Erstellungsdatum | 1999 |
Hafen | 5222 (Client - Server) und 5269 (Server - Server) |
RFC | RFC 6120 - RFC 6121 - RFC 6122 - RFC 3922 - RFC 3923 |
Extensible Messaging and Presence Protocol (die durch "erweiterbares Protokoll von Präsenz- und Messaging" übersetzt werden kann), häufig abgekürzt alsXMPP, ist eine Reihe vonoffenenStandardProtokolle der Internet Engineering Task Force (IETF) fürInstant Messagingund generell ein dezentrale Datenaustauscharchitektur. XMPP ist mit seinerJingle-Erweiterung auch ein Echtzeit- und Multimedia-Austauschsystem, für dasVoice-over-IP(Internet-Telefonie),Videokonferenzenund Dateiaustausch Beispiele für Anwendungen sind.
XMPP besteht aus einem TCP / IP-Protokoll, das auf einer Client-Server- Architektur basiert und den dezentralen Austausch von Sofortnachrichten zwischen Clients im XML- Format ( Extensible Markup Language ) ermöglicht. XMPP befindet sich innerhalb der IETF in ständiger und offener Entwicklung .
Die Server können privat ( Intranet ) oder öffentlich sein, dh über das Internet (wie bei Facebook ) mit anderen öffentlichen Servern verbunden sein . Alle öffentlichen Server erstellen das sogenannte Jabber-Netzwerk (oder das XMPP-Netzwerk).
XMPP wird daher weltweit von Hunderten von öffentlichen und privaten Servern sowie von Millionen von Benutzern verwendet. Viele industrielle Player verwenden XMPP, z. B. Apple , Cisco , Gizmo5 , GNOME , Google , IBM , Oracle Corporation usw.
Das XMPP-Protokoll ist in zwei verschiedene Teile unterteilt:
XMPP ist breiter und offener gestaltet als nur populäres, proprietäres Instant Messaging . Es ist daher von Firmen und Behörden im Zusammenhang mit dem Datenaustausch zwischen Applikationen (das ETL , EAI , ESB ) in Informationssystemen, sondern auch im Zusammenhang mit dem grid computing , Warnmeldungen oder ‚Informationen, System und Netzwerküberwachung oder Cloud Computing . Schließlich wird XMPP auch im Bereich der zeitnahen Freigabe und Zusammenarbeit eingesetzt, z. B. beim interaktiven Whiteboard (TBI) oder bei der gemeinsamen Bearbeitung und Entwicklung, aber auch bei Spielen im Internet (insbesondere bei Kartenspielen) und auf dem Plateau.
Im Jahr 1998 erfand Jeremie Miller Jabber, ein XML- basiertes Instant Messaging-Protokoll . Seine Arbeit wurde von ICQ inspiriert , das 1996 als erstes System seiner Art gegründet wurde.
Im Januar 1999 kündigte er auf Slashdot öffentlich "eine vollständige Open-Source- Computerplattform für Instant Messaging mit transparenter Kommunikation mit anderen IM-Systemen (Instant Messaging)" an. Das Protokoll wurde ebenso entworfen wie ein funktionaler Server ( jabberd ) und Testclients (WinJab und Gabber).
Im August 1999 forderte Jeremie Miller die Standardisierung des Protokolls durch die IETF, um offene Standards und Interoperabilität zu fördern. Die IMPP-Arbeitsgruppe wurde dann erstellt und im Februar 2000 mit den RFCs 2778 und 2779 veröffentlicht, erreichte jedoch keinen Konsens.
Der Open-Source- Server jabberd 1.0 wurde im Mai 2000 veröffentlicht und stabilisiert das Protokoll. Im Juni veröffentlicht Jeremie Miller einen Internet-Entwurf, aber die Frist ist abgelaufen. Mit der Version 1.2 von jabberd wurde ein Dialback eingeführt , das den Diebstahl von Serveridentitäten verhindert.
Die Jabber Software Foundation wurde im August 2001 gegründet, um die wachsende Anzahl von Open Source- Entwicklern und Unternehmen, die Jabber-Technologien einsetzen, zu koordinieren und die Dokumentation, Erstellung und Wartung von XML-Protokollen zu verwalten.
Im Jahr 2002 werden Internet-Entwürfe erneut als XMPP Core und XMPP IM an die IETF übermittelt, und es wird eine XMPP-Arbeitsgruppe erstellt.
Der RFC 3920 XMPP Core und XMPP-IM 3921 sowie der RFC 3922 und 3923 CPIM E2E werden im Oktober 2004 akzeptiert.
Im Jahr 2007 wurde der JSF zum XSF für die XMPP Standards Foundation und bot Vermittlungsdienste für die TLS / SSL-Zertifizierung an.
Apple hat die Jabber-Unterstützung in seiner iChat- Messaging-Software eingeführt,dieim Mai 2005mit OS X Tiger ausgeliefert wurde.
Google von 2005 bis 2013Das Google- Unternehmen veröffentlichte im August 2005 Google Talk , einen proprietären XMPP-Client, der mit den Servern von Google verbunden ist. Dieser Client bietet Sprache (Internettelefonie) über das Jingle- Protokoll , dessen Spezifikationen in der Bibliothek veröffentlicht werden libjingle. Das JSF übernimmt dann die Standardisierung. Einige Monate später werden diese Server für das Jabber-Netzwerk geöffnet. Im Mai 2013 gab Google seine Absicht bekannt, XMPP zugunsten des proprietären Google+ Hangouts- Protokolls aufzugeben .
Facebook von 2008 bis 2015Im Mai 2008 kündigten Facebook- Entwickler die Unterstützung von XMPP für ihre Chat- Anwendung an . Die Implementierung wird am 10. Februar 2010 wirksam, der Server ist jedoch nicht mit dem Rest des Jabber-Netzwerks verbunden. Im Juli 2015 entfernte Facebook die Unterstützung für XMPP und zwang es, seine eigene API zu verwenden.
Tests von ICQ / AIM und Yahoo!Im Januar 2008 richtete AOL , damals Anbieter von Instant Messaging-Software ICQ und AIM (kompatibel und basierend auf dem OSCAR- Protokoll ), einen experimentellen Server ein, der die Verbindung über XMPP ermöglicht. Es ist daher eine Basis von mehr als 50 Millionen Nutzern wodurch das Jabber-Netzwerk erweitert wird. Im Februar 2008 hat Yahoo! , Inhaber von Yahoo! Messenger kündigt auch Interesse an XMPP an. Seitdem können die Server eine Verbindung zu anderen XMPP-Servern herstellen
Skype im Jahr 2011Im Juni 2011 kündigte Skype die Erstellung eines XMPP-Connectors für die Windows-Version der in Entwicklung befindlichen Client-Software an. Die Verwendung ist jedoch auf Text und nicht auf Video / Audio beschränkt. Diese Integration schien darauf abzielen, eine Verbindung zu Facebook herzustellen, das XMPP verwendet .
WLM im Jahr 2011Im September 2011 gab Microsoft bekannt, dass Windows Live Messenger (auch MSN (von MicroSoft Network) genannt) eine Möglichkeit bietet, über das XMPP-Protokoll mithilfe des OAuth- Authentifizierungssystems im Kontext seines neuen Windows 8- Betriebssystems und eine Verbindung zu Instant Messaging herzustellen insbesondere die damit verbundenen Online-Dienste. Die Integration erfolgt jedoch nur auf Client-Server-Ebene, sodass Personen, die in anderen XMPP-Domänen (z. B. gmail.com oder jabber.org) vertreten sind, nicht mit ihnen interagieren können, da nur wenige Spezifikationen beibehalten werden.
Dieser Ankündigung folgte schnell die Integration in alternative E-Mail-Clients, die mehrere Protokolle unterstützen.
Es kann interessant sein festzustellen, dass Microsoft Anteile an Facebook hat und Skype im Mai 2011 gekauft hat
Im September 2008 gab Cisco eine Vereinbarung zur Übernahme des Unternehmens Jabber Inc. bekannt . Weder XSF, die gemeinnützige Stiftung noch das XMPP-Protokoll sind von dieser Übernahme betroffen.
XMPP ist das Herz von Jabber. XMPP ist für Jabber das, was das Hypertext Transfer Protocol (HTTP) für das World Wide Web bedeutet .
Das Protokoll wird von der XMPP Standards Foundation (ehemals Jabber Software Foundation ) verwaltet und von der Internet Engineering Task Force (IETF) unter dem Namen XMPP standardisiert.
Jeremie Miller startete das Projekt 1998 und die erste öffentliche Version wurde im Mai 2000 veröffentlicht. Die Hauptausgabe des Projekts ist jabberd , ein kostenloser Server, über den Client- Software Verbindungen herstellen und chatten kann. Dieser Server wird entweder verwendet, um ein privates Jabber-Netzwerk (hinter einer Firewall ) zu erstellen oder um anderen öffentlichen Verbundservern im Internet beizutreten und online mit seinen Korrespondenten zu chatten.
Viele Jabber-Anwendungen können erstellt werden:
Dank Klingeln , Multimedia - Erweiterung des XMPP ist es möglich , die Ströme in jeden binären Inhalt zu erweitern: Internet - Telefonie , Videokonferenzen , usw.
Das Benutzernetzwerk von Jabber ist dezentralisiert, dh es besteht aus mehreren Servern, die miteinander verbunden sind. Dies funktioniert ähnlich wie bei E-Mails : Sofortnachrichten werden über ihren jeweiligen Server von einem Benutzer auf einen anderen übertragen. Eine weitere Ähnlichkeit besteht darin, dass ein Benutzer durch einen Benutzernamen und einen Servernamen identifiziert wird, wobei die beiden Felder durch ein at-Zeichen "@" getrennt sind. Diese Kennung wird als Jabber-ID oder einfacher als "Jabber-Adresse" bezeichnet.
Wenn beispielsweise ein Benutzer [email protected] mit [email protected] kommunizieren möchte , sendet die Client-Software von Bob seine Nachricht zuerst an seinen Server ( jabber.org ). Dann kontaktiert Bobs Server Gilles 'Server ( jabber.cz ) über das Internet und leitet die Nachricht an ihn weiter. Schließlich kann der jabber.cz- Server die Client-Software von Gilles kontaktieren, wenn diese online ist, und ihm die Nachricht übermitteln (andernfalls bleibt die Nachricht auf dem Server anstehend und wird zugestellt, wenn Gilles online ist). Offensichtlich werden alle diese Schritte sofort und transparent für den Benutzer ausgeführt, genau wie beim E-Mail-Versand.
|
↔ |
|
← |
|
→ |
|
↔ |
|
Eine "Jabber-Adresse" ist die Kennung eines Jabber-Benutzers.
Es besteht aus zwei oder drei Teilen:
Diese zwei oder drei Felder werden als Benutzer @ Server / Ressource oder einfacher als Benutzer @ Server wie eine E-Mail-Adresse dargestellt.
Beispielsweise hat der Benutzer bob auf dem jabber.org- Server , der die Arbeitsressource verwendet , die folgende Jabber-Adresse:
[email protected]/Work oder einfacher [email protected] als E-Mail-Adresse.
Die Kontaktliste eines Jabber-Benutzers wird auf dem Server gespeichert. Ein Benutzer findet seine Kontaktliste, wenn er auf anderen Arbeitsstationen oder mit anderen Clients eine Verbindung zu Jabber herstellt.
Präsenz und ZuständeWenn ein Jabber-Client eine Verbindung zu einem Server herstellt (oder die Verbindung trennt), teilt dieser automatisch allen seinen Kontakten die Online-Präsenz (bzw. die Trennung) des Benutzers mit.
Es ist auch möglich, sich „unsichtbar“ zu machen: Der Benutzer erscheint dann in den Augen seiner Korrespondenten getrennt, während er die Anwesenheitsbenachrichtigungen seiner Kontakte sehen kann.
Es gibt mehrere Präsenz Zustände : „Online“, „offline“, „abwesend“, und so weiter.
Ressourcen und PrioritätenDie Ressource ist ein optionaler Teil einer Jabber-Adresse. Es ist das letzte Feld dieses Feldes, das durch einen Schrägstrich ("/") von den anderen getrennt ist.
Eine Ressource, die vom Benutzer in seiner Client-Software frei konfiguriert werden kann, gibt im Allgemeinen den Speicherort an, an dem sich ein Jabber-Benutzer befindet. Beispielsweise sind Werte für Heim , Arbeit , Laptop oder Software üblich. Die Ressource wird nützlich, wenn sich ein Benutzer von mehreren Standorten aus oder mit mehreren Clients gleichzeitig anmeldet. Seine Kontakte haben dann die Wahl, ihm eine Nachricht an die eine oder andere seiner Ressourcen oder an die Standardressource zu senden, dh an die mit der höchsten Priorität . Wenn mehrere gleichzeitig verbundene Ressourcen gleiche Prioritäten haben, wird die Nachricht an die zuletzt verbundene Ressource adressiert.
Die Priorität ist eine Ganzzahl zwischen -128 und +127. Es ist optional und in den meisten Jabber-Clients konfigurierbar. Bei Abwesenheit betrachtet der Server seine Priorität als gleich 0. Seine Hauptverwendung ist die Zustellung von Nachrichten, die für eine Jabber-Adresse ohne Ressource bestimmt sind.
TransportViele Jabber-Server bieten einen Transportdienst (auch als Gateways bezeichnet ) an, mit dem der Benutzer mit Benutzern anderer Instant Messaging-Systeme chatten kann.
Der Benutzer kann sich für diese Transporte registrieren, indem er seine spezifischen Informationen an das Zielnetzwerk weiterleitet ( für ICQ ist es beispielsweise erforderlich, die UIN ( User Identification Name ) und das Kennwort anzugeben ). Sobald dies erledigt ist, kann der Benutzer Kontakte über dieses andere Netzwerk hinzufügen, wie dies für einen Kontakt mit Jabber der Fall wäre. Derzeit sind Transporte für die am häufigsten verwendeten Protokolle verfügbar, z. B. IRC , MSN Messenger , Yahoo! Messenger und ICQ / AOL Instant Messenger (AIM). Es gibt auch andere Transporte wie E-Mail-Dienste.
Durch die Nutzung eines Transports ist der Benutzer auf die Kapazitäten des Kunden und des verwendeten Transports beschränkt; Es wird wahrscheinlich nicht alle Funktionen des offiziellen Clients des Zielnetzwerks haben.
Kontakte aus anderen Netzwerken werden in der Kontaktliste als Jabber-Kontakte mit bestimmten Jabber-Adressen angezeigt: identifier @ transport . Also zum Beispiel:
Doch einige Unternehmen diese proprietären Protokolle und Dienste tätig sind , zu blockieren oder haben Zugriff auf wichtige Jabber - Server blockiert, wie jabber.org und jabber.com , in ihrem Netzwerk. Dies macht es daher unmöglich, die betreffenden Transporte auf diesen Servern zu verwenden. Einige Unternehmen haben laut einigen Auch ihr Protokoll geändert , um der Nutzung ihres Netzwerks durch alternative Kunden oder durch Jabber-Transporte entgegenzuwirken.
SchwerpunktgruppenDie Diskussionsgruppen oder Konferenzen ("MUC" für " Multi User Chat " oder " GroupChat ") erstellen Konversationen mit mehr als zwei Benutzern, z. B. den IRC- Kanälen .
Es ist möglich, öffentliche oder private Gruppen zu erstellen, Kontakte zu einer Gruppe einzuladen, Gruppen zu moderieren („ Kick “ und „ Ban “ wie im IRC), Diskussionen zu protokollieren und den Raum dauerhaft zu gestalten.
DateiübertragungenMit Jabber können Dateien direkt zwischen Benutzern oder mithilfe eines zwischengeschalteten Proxys übertragen werden , wobei die Übertragung unterbrochen und fortgesetzt werden kann.
KlimpernJingle ermöglicht Voice-over-IP-Netzwerk- und Videokonferenzsitzungen . Jingle wurde in mehrere Jabber - Clients wie integrierte Psi , Kopete , Funken und Pidgin seit 2008 . Es wurde von Google Talk bis 2014 verwendet, bevor es durch Google Hangout ersetzt wurde .
PublikationsabonnementEin Publish-Subscribe- Mechanismus befindet sich in der Entwicklung und Standardisierung. XEP-0060 Dies beinhaltet die Möglichkeit, Informationen auf Jabber-Servern zu verteilen und zu speichern sowie diese Newsfeeds zu abonnieren.
Dieser Mechanismus kann unter anderem das Einrichten von Veröffentlichungen von Briefs und Artikeln, Abonnements dieser Threads, erweiterter Präsenz, freigegebenen Lesezeichen, Auktions- und Austauschsystemen, Online-Katalogen, Workflow- Systemen , Ereignisbenachrichtigungen ... ermöglichen.
Erweiterte PräsenzEin erweiterter Präsenzmechanismus wird derzeit entwickelt und standardisiert , beinhaltet die Fähigkeit, dynamische Informationen zu senden, die sich auf den Status des Benutzers beziehen, nämlich seine Stimmung, seine Aktivität, seine Geolokalisierung, seine Musik, sein Profil, seinen Spitznamen, das Surfen im Internet, Gruppenchats, Spiele und Videos angesehen, und sicherlich noch mehr zu kommen.
Die erweiterte Präsenz basiert auf einer Vereinfachung und Spezialisierung des Publikations-Abonnement-Mechanismus.
Jingle bietet dank seines breiten Designs, seiner Skalierbarkeit und Standardisierung ein breites Anwendungsspektrum:
Das XMPP-Protokoll (Jabber) wurde von der IETF als " Entwurf " veröffentlicht , damit es zu einem Instant Messaging- Standard werden kann .
Im Jahr 2002 wurde die XMPP- Gruppe gegründet und an der Standardisierung des Protokolls gearbeitet. Daher wurden am 4. Oktober 2005 die Protokollspezifikationen als RFCs veröffentlicht . Seit diesem Datum hat die XMPP Standards Foundation die Kontrolle über ihre Haupttechnologien an die IETF abgetreten und gleichzeitig zahlreiche Erweiterungen des Protokolls (XEP-Serie) entwickelt.