Jabber

Dieser Text ist uralt (ca. 2007) und kann an manchen Stellen falsche Informationen enthalten. — You have been warned!
Hier möchte ich mal etwas Licht ins Dunkle bringen, was Jabber eigentlich so ist, wie es funktioniert, und warum man es unbedingt benutzen sollte.

Inhalt

1. - Übersicht zu Jabber

Jabber (meist auch XMPP genannt) ist ein quelloffenes Netzwerkprotokoll für Instant Messaging, das seit 1998 aus Frust gegenüber der proprietären Instant Messanger wie AIM ICQ MSN Y! entwickelt wurde. Da Jabber Open Source ist, gibt es nicht den Jabberclient, und nicht den Jabberserver, den man sich herunterlädt, installiert und anmeldet, und dann hat man Jabber, nein man sucht sich eher einen Client und Server aus, der einem am besten gefällt und kann dann aber mit Leuten auf anderen Jabber Servern problemlos kommunizieren.
Auch ist es möglich über Jabber mithilfe von sogenannten Transports (manchmal auch Gateways genannt) mit Mitgliedern von anderen Instant Messaging Systemen zu Chatten. Weiterhin sind aufgrund der Quelloffenheit und Flexibilität von Jabber verschiedenste Verwendungszwecke denkbar: zum Beispiel Jabberclients die auf dem Handy laufen, E-Mails über Jabber schreiben und einiges mehr ist möglich. Eine Funktion für Audio- und Videochats wird inzwischen in manche Clients auch mit eingebaut.

1.1 - Vergleich mit anderer IM-Software

Man kann Jabber eigentlich kaum mit den herkömmlichen Instant Messaging Systemen vergleichen, da es im Endeffekt weiter über die Schnittmenge von AIM ICQ MSN Y! hinausgeht, dennoch orientiert es sich auch an diesen. Es gibt bei den meisten Jabberclients einen ähnlichen Aufbau, mit einer Kontaktliste (Roster genannt) in der man die Kontakte (JID) verwaltet, mit Chatfenstern, und eventuell auch Multi-User Chats (MUC, ähnlich wie IRC ). Dateitransfers sind natürlich auch möglich. Somit erklärt sich die Funktionsweise der Jabberclients meist von selbst, wenn man schon einmal ICQ oder ähnliches benutzt hat.
Weiterhin setzt Jabber nicht auf einen großen, zentralen Server, sondern auf viele kleine, damit die Angriffsfläche gegen das gesamte Jabbernetzwerk besonders niedrig ist, und man das gesamte Jabber Netzwerk nicht einfach an einer zentralen Stelle abschalten kann. Weiterhin kann man Chats zusätzlich zur normalen Client zu Server Verschlüsselung zwischen den einzelnen Usern extra verschlüsseln.

2. - Wie funktioniert Jabber

2.1 - Begriffserklärungen

2.1.1 - JID

Eine JID ist eine ID (Jabber User Identifier) unter der man erreichbar ist (ähnlich wie die ICQ Nummer, oder der Screen Name bei AIM). Sie ist ähnlich wie eine E-Mail Adresse aufgebaut, und zwar so: beispiel@server.xy (Der User beispiel ist auf dem Jabberserver server.xy).

2.1.2 - Ressource

Eine Ressource ist ein Anhang an die JID, die spezifiziert, welchen Client man explizit erreichen will.
Im Klartext bedeutet dies: Wenn der User Beispiel gleichzeitig mit seinem Computer und mit seinem Laptop online ist, sehen die Leute den Kontakt einerseits als beispiel@server.xy/computer und andererseits als beispiel@server.xy/laptop.
Die Ressource kann vom Benutzer individuell eingestellt werden (laptop könnte auch unterwegs heißen, oä).
Meldet man sich nur mit einem Client an, erscheint die Ressource nicht, da es ja nur einen Client zu erreichen gibt.

2.1.3 - Priority

Die Priority ist ein Zahlenwert, der bestimmt wie wichtig ein Client bei gleichzeitiger Aktivität mit einem anderen Client auf dem selben Jabberaccount zu verhalten hat. Die Priority wird vom Benutzer festgelegt, und der Zahlenbereich geht von ca. -100 bis ca. +100, wobei die Regel gilt: Je höher die Nummer, desto wichtiger der Client (Bei negativen Zahen nehmen die Clients nur Nachrichten an, die explizit an ihre Ressource geschickt wird, sonst wird die Nachricht verworfen, oder weitergeleitet). Dies hat den Vorteil, dass man bestimmen kann, an welchen Client die Jabbernachricht deines gegenüber eher ankommt, wenn keine spezielle Ressource vom Versender angegeben wird.
Beispiel: Der User Beispiel ist wieder einmal auf seinen beiden Computern online, also sieht sein Gegenüber: beispiel@server.xy/computer und beispiel@server.xy/laptop
Der User Beispiel hat nun dem Client auf dem Laptop die Priorität 5 zugewießen, und dem Computer die Priorität 3. Wenn nun ein Benutzer eine Nachricht an beispiel@server.xy ohne Ressource schickt kommt sie auf dem Laptop an, da dieser die höhere Priority hat.

2.1.4 - Transport

Ein Transport (manchmal auch Gateway genannt) ist ein Service, der von manchen Jabberserver Betreibern zusätzlich angeboten wird, und Verbindungen zu AIM ICQ MSN Y! zulässt. Vorraussetzung dafür ist, dass man für den jeweiligen Dienst ein Konto benötigt, da sich der Transport mit z.B. deiner ICQ Nummer bei ICQ anmeldet, und deine ICQ Kontakte dich wie gewohnt in ihrer Kontaktliste sehen, und deine ICQ Kontakte in deinem Roster dann als Jabberkontakte erscheinen.
Ein ICQ Kontakt über einen Jabbertransport sieht dann ungefähr so aus: 123456@icq.transport.xy
Der Transport leitet dann die Nachrichten aus ICQ nach Jabber weiter, und umgekehrt. Somit ist es ohne weiteres möglich auf Jabber umzusteigen, ohne dass man seine ehemaligen Kontakte verliert.

2.2 - Veranschaulichung

Jabber Netzwerk
Na, alles klar? Dieses Bild soll mal eine Übersicht geben.

2.2.1 - Server

Wir haben in der Mitte den Jabberserver Server1 der mit dem anderen Servern mittels Server2 verbunden ist. Nebenbei hat Server1 noch einen ICQ Transport im Angebot.

2.2.2 - Jabber User

Also können Alice und Bob über Server1 kommunizieren, und wenn Carol Bob erreichen möchte, dann geht die Nachricht von ihr durch Server2 dann durch Server1 und landet dann bei Bob
Möchte Carol an Alice eine Nachricht schreiben, und möchte, dass sie bei Alice direkt auf dem Notebook ankommt, dann schreibt sie ihre Nachricht an alice@server1/mobile

2.2.3 - Transports

Möchte jetzt Bob seinen Freund Dave erreichen, der noch kein Jabber benutzt, dann meldet sich Bob mit z. B. seiner ICQ Nummer am Transport an, woraufhin Dave als Jabberkontakt in Bobs Roster (Kontaktliste) erscheint.

3. - Was braucht man für Jabber

Für Jabber braucht man nicht viel, man braucht nur einen Client, und einen Jabberaccount auf einem Jabberserver. Eventuell einen Transport, für den Kontakt in andere Instant Messaging Systeme. Und das war eigentlich schon die Hauptsache.
Generell muss man zu Jabberservern sagen, sucht euch größere aus, die schon etwas länger existieren, dort haben die User meist ein bisschen mehr Ahnung und können euch eher helfen, und bei Clients müsst ihr ein paar ausprobieren, bis ihr den findet, der euch am meisten gefällt.

4. - Kleine Tipps und Helferlein

Hier ein paar kleine Tipps, die euch das Leben mit Jabber leichter machen, und noch vieles mehr, das ich in diesem Tutorial nicht ansprechen wollte, da es sonnst den Rahmen sprengen würde..

4.1 - Mehr Infos zu Jabber

Es gibt massig Infos zu Jabber:
Multimedial gibt es:
Auf bitsploit erfährt man, wie man in Psi die Chats mit GnuPG verschlüsselt.
Ein bisschen tiefer in die Technik kann man sich bei O’Reilly einlesen.

4.2 - Jabberserver

Gute Jabberserver sind zum Beispiel
Eine Liste von öffentlichen Jabberservern, an denen man sich einfach anmelden kann, ist auf jabber.org zu finden.
Es ist besser, wenn man sich einen Server aussucht, der etwas größer ist, da man schnelleren Support bekommen kann. Andererseits muss man damit rechnen, dass bei größeren Servern die Wahrscheinlichkeit höher ist, dass dieser überlastet sein könnte.

4.3 - Jabber Transports

Jabber Transports gibt es viele. Leider sind manche nur für die geschlossene Benutzergruppe zugänglich, andere sind chronisch überlastet.. Also gilt es die guten, wenig benutzten Transports zu finden..
Hier stelle ich mal eine Liste von guten Jabber Transports zusammen, mit denen ich gute Erfahrungen gemacht habe:
Leider ändert sich im Umfeld der Jabber Transports immer sehr schnell etwas, so dass diese Liste nicht immer aktuell sein kann..
Dennoch hilft es mit der Service Discovery verschiedene Jabberserver abzusuchen, so findet man auch eine Menge Transports! Viel Spaß.

4.4 - Jabber Clients

Es gibt für Jabber nicht den einen Client, nein, es gibt eine ganze Menge davon. So kann man problemlos den Client wechseln, falls der alte nicht mehr gefallen sollte.
Aus dem riesigen Angebot von Clients möchte ich euch ein paar Empfehlungen geben, denn unter einigen guten Clients gibts leider auch einige, die schlecht programmiert sind, die Entwicklung eingeschlafen ist, oder die leicht menschenunverständlich sind..

Windows

Jabber auf Windows ist kein Problem, gibt es dort ein paar gute Clients: Unterstützen sie doch alle alles was man so fürs Jabbern benötigt.

Mac OS

Leider gibt es noch für Mac OS sehr wenige Jabberclients, dennoch gibt es immerhin:
  • PSI
  • Spark
  • Adium (kann ich nicht wirklich empfehlen, da er Jabber nur mäßig bis schlecht unterstützt)
  • iChat (wenn auch nur sehr begrenzt)

Linux

Für Linux gibts wohl die meisten Clients:
Weiterhin gibt es auf xmpp.net eine ausführliche Liste über Jabberclients, wie auch in der Wikipedia
Nach einer gewissen Zeit wird jeder seinen Client finden, der persönlich am meisten gefällt, man muss nur ein bisschen rumprobieren.

4.5 - Jabber Roster Utility

Jabber-Roster Utility in php - Macht euch das Leben leichter, bei der Verwaltung der Jabber Kontaktliste, z.B. bei einem Transportwechsel. Liste in einen Texteditor kopieren, den alten Transport durch den neuen ersetzen lassen, alten Transport mit - entfernen, Kontaktliste aktualisieren, fertig. (Wer das nicht verstanden hat, der liest sich die Dokumentation vom Jabber Roster Utility lieber selbst durch..

4.6 - JWChat

Unterwegs auf einem Computer, der keinen Jabber Client installiert hat? Kein Problem mit dem Web Chat Frontend von JWChat.org

5 - Fazit

Jabber ist leider noch ein Nerdspielzeug, überzeugt aber in fast allem gegenüber den herkömmlichen Instant Messaging Systemen. Jabber ist zuverlässiger, einfacher, nicht so nervig, und viel transparenter gegenüber dem User, als die herkömmlichen Systeme, die einen meist alleine lassen. selbst das gaze Potential von Jabber ist noch lange nicht ausgenutzt, und dadurch dass Jabber Open Source ist könntest du selbst Jabber nach deinen Wünschen anpassen.
Leider ist Jabber wegen seinem Nerdstatus und wegen seiner noch geringen Verbreitung reichlich unsexy.. Im Gegensatz dazu, was macht denn ICQ oder MSN so supergeil? Die nervigen Fehlermeldungen? Dass von Zeit zu Zeit alle Kontakte aus der Liste verschwinden? Oder ist es die Werbung, die städig blinkt, und einem am konzentrieren hindert? Wohl kaum!?!
Ich fände es schön, wenn ich einigen Leuten, die hier diesen Text gelesen haben, ich mal in Jabber antreffen würde. Und noch schöner wärs, wenn ich sie öfters als nur ein-, zweimal treffen würde. Am besten regelmäßig.
Viel Spaß beim Jabbern!
Eine Einführung in Jabber/XMPP
Erstellt
15.08.2007 - 17:23:11
Editiert
24.06.2016 - 00:48:28
Tags
XMPP