Zum Inhalt springen

Jabber

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 25. Juni 2005 um 16:30 Uhr durch 84.140.134.213 (Diskussion) (Client-Software für Jabber). Sie kann sich erheblich von der aktuellen Version unterscheiden.

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

Vorlage:Enthält IPA


Jabber Logo
Jabber Logo

Jabber (englisch [ˈdʒæbəɹ]: „(daher-)plappern“) ist eine quelloffene Alternative zu proprietären Instant-Messaging-Netzwerken.

Dabei 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

Allgemein

Deutschsprachige Informationsquellen über Jabber

Öffentliche Jabber-Server

  • 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

Jabbergimmicks