Jabber
Über die Bedeutung eines Jabbers in Ethernet-Netzwerken siehe Jabber (Ethernet).

Jabber (englisch [quelloffene Alternative zu proprietären Instant-Messaging-Netzwerken.
]: „(daher-)plappern“) ist eineDabei werden in diesem Bereich gängige Funktionen wie Nachrichtenübermittlung, Konferenzen mit mehreren Benutzern, Anzeigen des Online-Status’, Datei-Übertragungen und viele weitere Dienste unterstützt. Wesentliche Merkmale von Jabber sind die verteilte, dezentrale Struktur und die Verwendung von XML-Protokollen zum Datenaustausch. Außerdem erlaubt Jabber über sogenannte „Transports“ die Kommunikation mit Benutzern, die in proprietären Netzwerken wie ICQ oder MSN angemeldet sind.
Das Jabber-Projekt wurde Anfang 1998 von Jeremie Miller gestartet. Die erste öffentlich freigegebene größere Version erschien im Mai 2000.
Hauptbestandteil des Projekts ist das Jabber-Protokoll. Auch wurden realisiert: jabberd, eine Server-Software, mit der sich Jabber-Clients verbinden können, um zu chatten. So kann beispielsweise ein privates Jabber-Netzwerk hinter einer Firewall aufgebaut werden, oder man kann sich am weltweiten Jabber-Netzwerk beteiligen.
Identitäten
Der Jabber Identifier (JID) ist die eindeutige Kennung, mit der jeder Jabber-Benutzer identifiziert wird. Der JID sieht dabei aus wie eine E-Mail-Adresse, z.B.: myName@myJabberServer.com. Der erste Teil der Adresse ist der node, der den Benutzernamen angibt. Vom node durch ein „@“ getrennt, folgt im hinteren Teil die Domain, die den Jabber-Server bestimmt, auf dem die JID registriert ist.
Als weitere Information kann optional eine Resource angehängt werden (z.B.: username@domain.com/zuhause). Diese gibt Zusatzinformationen an, so ist beispielsweise eine Angabe möglich von wo man gerade eingeloggt ist. Mit Hilfe dieser resource kann der Server eine Unterscheidung treffen, so dass ein Nutzer mit der gleichen JID von mehreren Rechnern aus eingeloggt zu sein. Bei eintreffenden Nachrichten wird anhand eines Prioritätswerts festgelegt, an welchen Client die Nachricht ausgeliefert wird. Dieser Wert wird vom Benutzer der JID in den Clients festgelegt.
Konferenzen
Jabber unterstützt Konferenzen mit mehreren Benutzern, dazu wurden folgende Protokolle in der angegebenen Reihenfolge entwickelt:
- Groupchat
- Conference
- Multi User Chat (MUC)
Das von vielen Nutzern bevorzugte Protokoll ist das aktuelle MUC. Es ist eine Erweiterung des Groupchat-Protokolls und somit auch mit älteren Clients, die nur Groupchat unterstützen, nutzbar. Die neuen MUC-Features (beispielsweise Rollenzuordnung für Nutzer innerhalb des Chats, passwortgeschützte oder unsichtbare Räume) lassen sich dann allerdings nicht nutzen.
Sicherheit
Bei Verwendung von Jabber erfolgt die Verbindung zwischen zwei Clients niemals direkt, sondern immer über mindestens einen Jabber-Server. Sind die beiden Clients an zwei verschiedenen Servern angemeldet, erfolgt also die Datenübertragung vom ersten Client zum ersten Server, von diesem zu zweiten Server und von dort zum Ziel-Client.
Sicherheit ermöglicht Jabber hierbei durch das Verschlüsseln der Datenverbindungen: Die Kommunikation zwischen dem Jabber-Client auf Benutzerseite und dem Jabber-Server kann per SSL/TLS verschlüsselt werden. Die Verbindung zwischen Jabber-Servern kann ebenfalls verschlüsselt ablaufen, jedoch ist dies nicht immer der Fall. Da damit nichts über die Verbindung des Chat-Partners zu dessen Server ausgesagt ist, bietet dies trotzdem nur teilweise die gewünschte Sicherheit. Außerdem ist es jedem Serverbetreiber möglich, die über ihn verschickten Nachrichten zu lesen.
Abhilfe schafft die Nutzung einer zusätzlichen Verschlüsselung für die Verbindung zwischen den beiden Jabber-Benutzern. Die verbreitetste Möglichkeit stellt hier OpenPGP dar.
Transports
Ein besonderes Konzept von Jabber ist das der Transports. Hiermit ist es möglich, andere (im Jabber-Jargon Legacy Services genannte) Netzwerke wie AIM, ICQ, MSN, Yahoo!, Gadu-Gadu oder IRC zu verwenden und mit deren Benutzern zu interagieren. Anders als bei Multi-Protokoll-Programmen, wie Trillian (Instant Messenger), Miranda IM oder Gaim, funktioniert die Verbindung zu Fremdnetzen bei Jabber nicht dadurch, dass die notwendigen Protokolle auf Clientseite unterstützt werden. Stattdessen kann alles, was zur Kommunikation mit anderen Netzwerken nötig ist, von den Jabber-Servern unterstützt werden. Die Server transportieren dabei die Nachrichten zwischen den Netzwerken, ohne dass die beiden beteiligten Benutzer hierfür besondere Vorkehrungen treffen müssen.
Folgendes Beispiel soll den Ablauf zwischen Benutzer J, der einen Jabber-Client benutzt, und Benutzer I, der bei ICQ registriert ist, veranschaulichen: Benutzer J übergibt dem Jabber-Server zunächst seine ICQ-Anmeldedaten in Form von ICQ-Nummer und Passwort. Daraufhin loggt sich der Jabber-Server im Auftrag von J bei ICQ ein und verhält sich für das ICQ-Netzwerk wie ein normaler ICQ-Client. Dabei transportiert er einerseits alle Nachrichten von I (im ICQ-Netzwerk) an den Jabber-Client von J weiter und leitet andererseits in die andere Richtung alle Nachrichten von J an I. Benutzer I bekommt von diesem Ablauf nichts mit, für ihn sieht es aus, als ob er mit einem anderen ICQ-Benutzer interagieren würde. In der Kontaktliste (bei Jabber "Roster" genannt) von J wird I als "normaler" Jabber-User dargestellt, obwohl er eigentlich nicht mit dem Jabber-, sondern mit dem ICQ-Netzwerk verbunden ist.
Vorteil dieses Konzepts ist, dass Updates nicht durch neue Clientversionen verteilt werden müssen. Stattdessen wird nur die Server-Software aktualisiert, und alle Clients profitieren unmittelbar von den Änderungen.
Jeder Benutzer von Jabber kann sich bei einem der Transports registrieren, indem er bestehende Login-Informationen für diesen Dienst angibt, und kann dann mit Nutzern dieser Dienste kommunizieren, als ob diese auch Jabber-Benutzer wären. Deshalb kann jedes Clientprogramm, das den vollen Umfang des Jabber-Protokolls unterstützt, ohne weitere Änderung zur Kommunikation mit allen großen proprietären Instant-Messaging-Netzwerken benutzt werden.
Obwohl das Jabber-Protokoll bezüglich der Umsetzung von Funktionen von Fremd-Netzwerken keine Einschränkungen vorgibt, unterstützen die aktuellen Transports nur Basisfunktionalitäten (Senden und Empfangen von Nachrichten, Sichtbarkeiten). Datentransfers und Chaträume sind über Transports also derzeit nicht möglich.
Die Transports werden von vielen aufgrund unbefriedigender Verlässlichkeit und Stabilität nur als Notlösung angesehen. Eine Alternative ist der Einsatz von Multi-Protokoll-Instant-Messengern.
Standardisierung und Foundation
Das Jabber-Protokoll wurde von der IETF Anfang 2004 mit einigen Änderungen als Internet-Standard unter der Bezeichnung XMPP (Extensible Messaging and Presence Protocol) verabschiedet.
Die Jabber Software Foundation ist verantwortlich für die Standardisierung auf XMPP aufbauendender Protokolle, der sogenannten Jabber Enhancement Proposals. Strukturell ist die JSF in ein Board, ein Council und die Membership aufgeteilt.
Executive Director:
- Peter Saint-Andre
Board 2005:
- Toni Bamonti
- Ryan Eatmon
- Ulrich Staudinger
Siehe auch
Weblinks
Allgemein
- http://www.jabber.org/ Jabber Foundation
- XMPP Working Group
Deutschsprachige Informationsquellen über Jabber
- Jabber-Server der Fachschaft Informatik Kaiserslautern - Stichwortartige, umfassende Beschreibung von Jabbers Vorzügen
- Kai Raven: Jabber und OpenPGP (vgl. auch OpenPGP)
Öffentliche Jabber-Server
- Kanonische Liste der öffentlichen Jabber-Server bei der Jabber Foundation
- Jabber monitor - testet die Erreichbarkeit der öffentlichen Jabber-Server (die Ergebnisse dieser Tests fliessen auch in die Liste der Jabber Foundation mit ein.
- amessage größter deutscher Jabber-Server
- i-pobox zuverlässiger deutscher Jabber-Server
- JaIM.at öffentlicher Jabber-Server in Österreich
- SwissJabber öffentlicher Jabber-Server in der Schweiz
- RFC 3920: Extensible Messaging and Presence Protocol (XMPP): Core
- RFC 3921: Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence
- RFC 3922: Mapping the Extensible Messaging and Presence Protocol (XMPP) to Common Presence and Instant Messaging (CPIM)
- RFC 3923: End-to-End Signing and Object Encryption for the Extensible Messaging and Presence Protocol (XMPP)
Client-Software für Jabber
Bezeichnung | Betriebssystem | Lizenz | Bemerkung | Weblink |
Adium | Mac OS X | GPL | [1] | |
Centericq | BSD/Linux/Mac OS X/Solaris/Windows | GPL | [2] | |
Exodus | Windows | GPL | [3] | |
Fire | Mac OS X | GPL | [4] | |
Gabber | Linux/Mac OS X | GPL | [5] | |
Gaim | BSD/Linux/Mac OS X/Windows | GPL | [6] | |
Gajim | BSD/Linux/Windows | GPL | [7] | |
Jabber Instant Messenger | Windows | Proprietär | [8] | |
JAJC | Windows | Freeware/Proprietär | Weiterentwicklung eingestellt | [9] |
jbother | Java - Linux/Mac OS X/Windows | [10] | ||
Jeti/2 | Java-Client eComStation/OS/2/Linux/Mac OS X/Windows | GPL | Cross-platform | [11] |
Kopete | Linux und andere Unix-Systeme | GPL | Teil von KDE ab Version 3.2 | [12] |
LLuna | Windows | GPL | Virtuelle Präsenz | [13] |
Miranda | Windows | GPL | [14] oder [15] | |
Psi | Linux/Mac OS X/Solaris/Windows | GPL | [16] | |
Simple Instant Messenger | Linux/Mac OS X/Solaris/Windows | GPL | [17] | |
The Coccinella | BSD/Linux/Mac OS X/Windows | GPL | [18] | |
Tkabber | Cross-platform | GPL | [19] | |
Bezeichnung | Betriebssystem | Lizenz | Bemerkung | Weblink |
Weitere Clients finden sich auf http://www.jabber.org/software/clients.shtml
Server-Software für Jabber
- Auf http://www.jabber.org/software/servers.shtml findet sich eine ausführliche Liste verfügbarer Server-Software für Jabber.
Jabbergimmicks
- JabRSS - Dieser Dienst liefert RSS-Schlagzeilen per Jabber-Message aus
- Jabber World Map - Eine Weltkarte mit mehreren Hundert Jabber-Nutzern und deren Onlinestatus
- Open-source XMPP server comparison chart - Vergleich der 6 grossen XMPP/Jabber Open source Server (Englisch)