Instant Messaging mit Jabber



Ähnliche Dokumente
Instant Messaging. von Christina Nell

Instant Messaging mit XMPP

F Session Initiation Protocol

Chatten mit der Glühbirne

SCHICHTENMODELLE IM NETZWERK

Jabber. Florian Holzhauer. Proseminar Uni Ulm, 27. April <page="1" max="22"/>

XMPP: Extensible Messaging and Presence Protocol

SIP - Session Initiation Protocol

VoIP : SIP. Das Session Initiation Protocol. 20. Dezember VoIP : SIP. Johannes Jakob. Überblick. VoIP SIP SDP. Praxis.

Zentrale Serverdienste Einrichtung des zentralen Messenger-Dienstes der h_da

Jabber-Comets-Integration

Jabber - das Plaudern geht weiter

MESSI DIE HDM MESSENGER DIENSTE. MI-Präsentationstag

FAQ 12/2015. PROFINET IO- Kommunikation.

Installationsführer für den SIP Video Client X-Lite

Politisch oder ideell interessante Alternativen zu den Standard-Diensten und Grundregeln zum Datenschutz. Silke Meyer

Anwendungsfelder. Technologie Newsgroup - Chat, Instant Messaging - Voice over IP - Videotelefonie - Groupware

Kommunikation im lokalen Netz

.NET Networking 1. Proseminar Objektorientiertes Programmieren mit.net und C# Matthias Jaros. Institut für Informatik Software & Systems Engineering

Einführung in die Netzwerktechnik

ARCHITEKTUR VON INFORMATIONSSYSTEMEN

Anleitungen. Stand: 28. April (Work in Progress) 4 Sichere Mailverbindung in Thunderbird und Outlook 5

Peer-to-Peer- Netzwerke

Streaming Protokolle Jonas Hartmann

Vorlesung SS 2001: Sicherheit in offenen Netzen

Netzwerk-Programmierung. Netzwerke.

Architekturen verteilter Firewalls für IP-Telefonie-Plattformen

SIRTCP/IP und Telekommunikations netze

Humboldt-Universität zu Berlin Wintersemester 2012/2013. OpenID

Autor: Version: Datum: Auerswald DS

Audio/Video - Chat - System User Manual

Client/Server-Systeme

Einführung in die Netzwerktechnik

Architektur von REST basierten Webservices

Netzwerke 2 Asterisk. Merkle, Matthias Prösl, Johannes Schätzle, Nicolas Weng, Daniel Wolf, David

Chatsysteme (IRC, Instant Messenger) Konzepte Interaktiver Medien

P2P Kameras M-Sight und VMS Lite

Netzwerk-Programmierung. Netzwerke. Alexander Sczyrba Michael Beckstette.

ARP, ICMP, ping. Jörn Stuphorn Bielefeld, den 4. Mai Mai Universität Bielefeld Technische Fakultät

SIP DECT Basisstation singlecell elmeg DECT150

, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2006w-MMK-F-SIP.fm, ]

Netzwerke. Netzwerk-Programmierung. Sven Hartmeier.

Konfigurationsanleitung Verbindung zum SIP-Provider mit ISDN-Backup Graphical User Interface (GUI) Seite - 1 -

Das Internet-Protocol. Aufteilung von Octets. IP-Adressformat. Class-A Netzwerke. Konventionen für Hostadressen

Anwendungsprotokolle: HTTP, POP, SMTP

Mailserver Teil 1 Linux-Kurs der Unix-AG

Handbuch Unified Communications

RADIUS (Remote Authentication Dial In User Service)

KN Das Internet

DIAMETER Base Protocol (RFC3588)

Rechnernetzwerke. Rechnernetze sind Verbünde von einzelnen Computern, die Daten auf elektronischem Weg miteinander austauschen können.

XMPP - Jabber. Noch ein IM (v ) Thomas Merkel (tm@core.io)

2. Architektur von Kommunikationssystemen

Java und XML 2. Java und XML

Mobilkommunikationsnetze - TCP/IP (und andere)-

SOAP Simple Object Access Protocol. Dr. Reinhard Riedl Universität Zürich/Universität Rostock

SMPP Zugang. Beschreibung. DS-Beschreibung SMPP-Zugang-2017.docx Version 1.0 Änderungsdatum

Mehr als Voice over IP Integrierte Sprach- und SIP. =====!" ==Systems= Wolfgang Mandok T-Systems Nova, Technologiezentrum

DECT-over-SIP Basisstation singlecell elmeg DECT150

Client-Server mit Socket und API von Berkeley

Vorlesung 11: Netze. Sommersemester Peter B. Ladkin

Neues System an der BO

12. Kieler OpenSource und Linux Tage. Wie funktioniert eigentlich Mail? , Frank Agerholm, Linux User Group Flensburg e.v.

Vorwort zur fünften Auflage

A501 Disk-Subsystem. IKT-Standard. Ausgabedatum: Version: Ersetzt: 2.02

Internet - Grundzüge der Funktionsweise. Kira Duwe

UDP User Datagramm Protokoll

Mail Integration Solution White Paper

Wo geht's lang: I Ro R u o t u i t n i g

SIP: Session Initiation Protocol (Signalisierungsprotokoll für Sessions) Request. Response

Layer 2 Forwarding Protokoll. Chair for Communication Technology (ComTec), Faculty of Electrical Engineering / Computer Science

ARCHITEKTUR VON INFORMATIONSSYSTEMEN

Vorlesung 11. Netze. Peter B. Ladkin Sommersemester 2001

Internetprotokoll TCP / IP

Packetsniffer. Jens Zentgraf. 26. Juli Zentgraf Packetsniffer 26. Juli / 21

Netzwerkbetriebssysteme

SAP NetWeaver Gateway. 2013

SIMP 1.01 Protokollspezifikation (Mindestanforderung)

Netzwerktechnologie 2 Sommersemester 2004

IMAP und POP. Internet Protokolle WS 12/13 Niklas Teich Seite 1

Der studentische Jabber-Server. Instant Messaging an der RWTH Aachen. Andreas Kelle-Emden, Martin Weusten. 1. Oktober JUNe

Einführung: Grundlegende Design-Prinzipien des Internet B. Plattner, H. Lubich Internet Intro 1

Pidgin unter Ubuntu-Linux einsetzen

Netzwerke. Netzwerk - Programmierung. Alexander Sczyrba. Madis Rumming.

Erweiterung der Autokonfigurationsmethode für Rich Communications Suite enhanced (RCS-e) durch die COCUS AG

Best Practices WPA2 Enterprise und Radius-SSO

Das ISO / OSI -7 Schichten Modell

Grundlagen der Rechnernetze. Internetworking

Technical Note 0604 ewon

NAT Network Adress Translation

SMTP-Verfahren POP-Verfahren IMAP-Verfahren

ABB MEASUREMENT & ANALYTICS SYSTEMHANDBUCH CEM-DAS Connect Sicherer Zugang zu CEM-DAS Systemen über ein öffentliches Netzwerk. Measurement made easy

Mobile IP. Jeremi Dzienian. 29. Januar Universität Freiburg. Jeremi Dzienian (Universität Freiburg) Mobile IP 29. Januar / 13

Projektierung und Betrieb von Rechnernetzen

Transkript:

Seminararbeit von Myrjam Stotz aus Mannheim vorgelegt am Lehrstuhl für Praktische Informatik IV Prof. Dr. W. Effelsberg Fakultät für Mathematik und Informatik Universität Mannheim 15. November 2006

1 Inhaltsverzeichnis Inhaltsverzeichnis... 1 Abbildungsverzeichnis... 2 1. Instant Messaging... 3 1.1 Herkunft und Zweck...3 1.2 Verbreitung...4 1.3 Abgrenzung zu Email...5 2. Übertragungsprotokolle beim Instant Messaging... 6 2.1 Die Rolle von Übertragungsprotokollen bei Instant Messaging Systemen...6 2.2 Das Übertragungsprotokoll SIMPLE...8 2.3 Das Übertragungsprotokoll XMPP...10 2.3 Vergleich von SIMPLE und XMPP...11 3. Das Instant Messaging System Jabber... 12 3.1 Jabber - Clients...13 3.2 Jabber - Server...14 3.3 Gateways Kommunikation mit anderen IM-Systemen...15 3.4 Kritische Würdigung von Jabber...16 4. Fazit und Ausblick... 17 Literaturverzeichnis... 19

2 Abbildungsverzeichnis Abbildung 1: Anzahl an Nutzern der Instant Messaging Anbieter...5 Abbildung 2: Struktur von Instant Messaging Systemen...7 Abbildung 3: Nachricht mittels SIMPLE...9 Abbildung 4: Komponenten von SIMPLE...10 Abbildung 5: Nachricht mit XMPP...11 Abbildung 6: Die Jabber - Architektur...13 Abbildung 7: Gateways bei Jabber...16

3 1. Instant Messaging 1.1 Herkunft und Zweck Wie bereits Instant Messaging (IM), auf Deutsch sofortige Nachrichtenübermittlung, suggeriert, ermöglicht es den sofortigen Austausch von Nachrichten über ein Netzwerk, beispielsweise das Internet. Instant Messaging Systeme ermöglichen den Anwendern, über aktuelle Zustandsinformationen von Nutzern (auch Presence genannt) festzustellen, welche anderen Anwender momentan anwesend sind und ermöglichen diesen gleichzeitig den Austausch von kurzen Nachrichten. 1 Bei diesen Mitteilungen ist zwischen zwei Varianten zu unterscheiden: erstens, das Instant Messaging als private Kommunikation über ein Netzwerk zwischen zwei Nutzern, und zweitens, die Kommunikation zwischen zwei oder mehreren Nutzern als Chat Session. 2 Es existieren eine Reihe von IM-Systemen am Markt, die alle ähnliche Dienste anbieten: Kommunikation mittels privater Nachrichten oder in so genannten Chat Rooms. Des weiteren ermöglichen einige IM-Systeme auch weitere Anwendungen, wie beispielsweise Datentransfer, Kommunikation mit Web - Cams, Kontaktlisten (Buddy Lists) und Voice Chat Sessions. 3 Wahrscheinlich geht der Begriff auf Science-Fiction Geschichten der 60er zurück. In diesen war es möglich, Nachrichten mit Überlichtgeschwindigkeiten über extreme Distanzen hinweg zu verschicken. Diese Nachrichtenübertragung galt jedoch als sehr teuer und fast unerschwinglich. Später wurde der Newsletter der New England Science Fiction Association nach diesen Nachrichten benannt. Dies ist wahrscheinlich der Ursprung des Begriffes Instant Messaging im heutigen Gebrauch. 4 1 Vgl. Day, Mark, Jonathan Rosenberg und Hiroyasu Sugano: A Model for Presence and Instant Messaging, in: IETF RFC 2778 (2000), S. 1. 2 Vgl. Jennings, Raymond B., Erich M. Nahum, David P. Oldhefski, Debanjan Saha, Zon-Yin Shae und Chris Waters: A Study of Internet Instant Messaging and Chat Protocols, in: IEEE Network, 20. Jg. (2006), Nr. 4, S. 16 21. 3 Vgl. Jennings: A Study of Internet Instant Messaging and Chat Protocols, S. 16. 4 Vgl. o.v.: Instant Messaging, eingesehen am 17. 10. 2006: http://de.wikipedia.org/wiki/instant_messaging.

4 Geschichtlich begann die Nutzung von Instant Messaging mit der Einführung des UNIX Betriebssystems. Anwender konnten sofortige Nachrichten mittels den Finger und Talk Befehlen in der UNIX Umgebung versenden und empfangen. 1988 wurde dann der so genannte Internet Relay Chat (IRC) eingeführt, welcher Benutzern eines öffentlichen Netzwerkes weltweite Kommunikation in Echtzeit ermöglichte. Hier war es den Anwendern zusätzlich möglich, jederzeit einen Chat Room zu betreten, dort mit anderen Anwendern zu kommunizieren und ihn wieder zu verlassen. 1996 wurde schließlich ICQ ( I Seek You ) auf den Markt gebracht. ICQ ermöglichte es, mit mehreren Anwendern gleichzeitig über das Internet zu chatten, ohne einen Chat Room zu betreten. Hiermit begann der Boom des Instant Messaging. Mitte 1998 kaufte America Online (AOL) ICQ auf, ICQ und AIM, der Instant Messenger von AOL, bestehen seitdem nebeneinander. Im Laufe des folgenden Jahres traten dann der Microsoft Messenger (MSN) und der Yahoo Messenger (YMSG) auf den Markt, welche sich 2006 zusammenschlossen. All diese Anbieter basieren jedoch heute noch auf geschützten, so genannten proprietären Protokollen. D.h., die IM-Systeme sind bis heute nicht miteinander kompatibel (ausgenommen MSN und YMSG oder AIM und ICQ). Aus dieser Motivation heraus wurde 1998 das Jabber Projekt gegründet. Hiermit sollte dieser Unvereinbarkeit entgegen gewirkt werden. Es wurden IM Clients und Server entwickelt, die auch mit den geschützten Systemen kommunizieren können. 5 1.2 Verbreitung Aus den oben beschriebenen IM-Systemen haben sich auch die heute vier bekanntesten Systeme herausgebildet. Dies sind der AOL Instant Messenger (AIM), Microsoft Messenger (MSN), ICQ ( I seek you ) und Yahoo! Messenger (YMSG). 6 Aktuelle Angaben der Anzahl an Nutzern der unterschiedlichen IM-Systeme sind schwer zu finden. Um einen Überblick über die Anzahl der Nutzer je IM-System zu erhalten, sind im folgenden Abbild die Nutzerzahlen von AIM, MSN, ICQ, YMSG und Jabber dargestellt. Es ist jedoch davon auszugehen, dass die Nutzerzahlen seitdem noch erheblich gestiegen sind. Außerdem ist zu beachten, dass ein Nutzer mit großer Wahrscheinlichkeit bei mehreren Diensten gleichzei- 5 Vgl. Tyson, Jeff: How Instant Messaging Works, eingesehen am 5.11.2006: http://computer.howstuffworks.com/instant-messaging.htm; o.v.: Instant Messaging: Yahoo und Microsoft verbinden sich, eingesehen am 5.11.2006: http://www.golem.de/0609/48056.html; o.v.: Jabber, eingesehen am 30.10.2006: http://de.wikipedia.org/wiki/jabber. 6 Vgl. eda., S. 16; Chatterjee, Samir, Tarun Abhichandani, Haiqing Li, Bengisu Tulu und Jongbok Byun: Instant Messaging and Presence Technologies for College Campuses, in: IEEE Network, May/June 2005, S. 4 13.

5 tig registriert ist, da die unterschiedlichen Systeme meist nicht untereinander kompatibel sind. 7 Einer Befragung von 2000 Internetnutzern im Jahre 2006 zufolge, nutzen etwa 48% der Internetnutzer einen Messenger Dienst, von denen knapp die Hälfte (43%) täglich persönliche Nachrichten per Instant Messages austauscht. 24 % dieser Anwender wiederum haben mehr als einen Messenger - Dienst auf ihren Rechnern installiert. 8 Anzahl an Nutzern der Instant Messaging Anbieter Mio. registrierte Nutzer 200 180 160 140 120 100 80 60 40 20 0 195 155 140 19,1 4 AIM (2003) MSN (2005) ICQ (2003) YMSG (2002) Jabber (2003) Abbildung 1: Anzahl an Nutzern der Instant Messaging Anbieter 1.3 Abgrenzung zu Email Nach der obigen Beschreibung von Instant Messaging, stellt sich die Frage, wie sich Instant Messaging von Emails differenziert. Einerseits unterscheidet die Eigenschaft der Echtzeitübertragung Instant Messaging von Emails. Die Möglichkeit, ohne wesentliche Verzögerungen Informationen zu übertragen, ermöglicht dem Nutzer, die aktuelle Verfügbarkeit anderer Nutzer sofort festzustellen und dann mit ihnen in Echtzeit zu kommunizieren. Wenn beispielsweise sofort eine Antwort von einem anderen Nutzer benötigt wird, so muss nicht erst eine Mail geschickt werden und gewartet werden, ob und wann er antwortet. Ist die Person in einer Buddy-Liste festgehalten, kann auf einen Blick festgestellt werden, ob jemand gerade anwesend ist und antworten kann oder nicht. 9 7 Vgl. o.v.: Instant Messaging 8 Vgl. o.v.: Instant Messaging: Yahoo und Microsoft verbinden sich. 9 Vgl. Chatterjee: Instant Messaging and Presence Technologies for College Campuses.

6 Des Weiteren gilt die Kommunikation mittels Instant Messaging durch verschiedene Verschlüsselungsmöglichkeiten und Adressprüfung als sicherer als das Versenden von Emails und die Verbreitung von Spam und Viren ist erschwert. 10 2. Übertragungsprotokolle beim Instant Messaging 2.1 Die Rolle von Übertragungsprotokollen bei Instant Messaging Systemen Wie oben bereits beschrieben, ermöglichen IM-Systeme den Austausch von aktuellen Zustandsinformationen der Anwender und von Instant Messages: A presence and instant messaging system allows users to subscribe to each other and be notified of changes in state, and for users to send each other short instant messages. 11 Um dies zu ermöglichen, kann natürlich jedes IM-System unterschiedlich implementiert sein. Day et al. geben jedoch einen Überblick, welche grundsätzliche Struktur solchen Systemen zugrunde liegt. Generell unterscheiden Day et al. zwei verschiedene Dienste, die in einem IM-System benötigt werden. Zum einen sollte ein Presence Service existieren, der Informationen zum aktuellen Zustand der Anwender annimmt, speichert und verteilt. Für diesen Austausch ist ein Presence Protokoll verantwortlich. Es bestimmt die Interaktion zwischen dem Presence Service, Presentities (Clients, die Presence Informationen speichern und verteilen) und Watchers (Clients, die Presence Informationen empfangen). Informationen, die hier ausgetauscht werden, sind beispielsweise, ob ein Anwender momentan anwesend ist und bereit ist Nachrichten zu empfangen oder nicht. Zum anderen beschreiben Day et al. den Instant Messages Service, der dazu dient, Instant Messages anzunehmen und diese an Instant Inboxes weiterzuleiten. Wie dies geschieht, ist in einem Instant Messaging Protokoll festgehalten. Dieses Protokoll bestimmt die Interaktion zwischen IM-Service, Senders (Clients, die Instant Messages dem IM-Service zum Versenden zustellen) und Instant Inboxes (Clients, welche die an sie adressierten Instant Messages empfangen). Der Nutzer des IM-Systems wird in dieser Darstellung als Principal beschrieben. Er interagiert mit dem System über User Agents (Inbox User Agent, Sender User Agent, Presence 10 Vgl. Meijer, Ralph und Peter Saint-Andre: Jabber, E-mail and Beyond, eingesehen am 4.11.2005: http://ralphm.net/publications/nluug_vj05-paper.pdf, S. 2. 11 Day: A Model for Presence and Instant Messaging, S. 1.

7 User Agent und Watcher User Agent). Diese User Agents vermitteln zwischen den beschriebenen Clients und den Principals. Auch wenn in diesem Modell die User Agents getrennt dargestellt werden, sind in den meisten Implementierungen von IM-Systemen zumindest einige, wenn nicht sogar alle, als ein User Agent repräsentiert. Der Ablauf eines Instant Message Versandes in einem IM-System könnten sich dann wie folgt abspielen: auf der einen Seite signalisiert beispielsweise ein Nutzer, dass er aktiv ist und bereit ist, Nachrichten zu empfangen. Ein anderer Nutzer sieht, dass der erste Nutzer im Moment anwesend ist, nutzt die Gelegenheit und sendet eine Instant Message, die sofort bei diesem Nutzer ankommt und von ihm sofort beantwortet werden kann. 12 Die folgende Abbildung stellt nochmals die Struktur von IM-Systemen mit den benötigten Protokollen dar: Abbildung 2: Struktur von Instant Messaging Systemen Wie bereits erwähnt, sind durch die unterschiedlichen und geschützten IM-Systeme der verschiedenen Anbieter auch die Protokolle der IM-Systeme bis heute nicht standardisiert. Die involvierten Unternehmen sehen darin Möglichkeiten zur Kontrolle sowie zur Kundenbindung und gewinnung. Oft können Anwender anderer Systeme nicht mit den Kun- 12 Vgl. Day: A Model for Presence and Instant Messaging, S. 2.

8 den des betrachteten IM-Systems kommunizieren und müssen sich hierfür ebenfalls in dem System registrieren. Somit steigt die Zahl der registrierten Nutzer des IM-Systems. Mit der Konkurrenz von IM-Systemen, die Kommunikation zu anderen Systemen ermöglichen, wird dies auf Dauer keinen Wettbewerbsvorteil darstellen. Es ist zu erwarten, dass auch diese Systeme früher oder später auf Standards zurückgreifen. Die proprietären Protokolle werden dabei langfristig wohl kaum eine Rolle spielen. 13 In den letzten Jahren bildeten sich zwei offene IETF - Standards heraus: das Session Initiation Protocol (SIP) mit dem darauf aufbauenden Protokoll SIMPLE ( Session Initiation Protocol Extension for Instant Messaging ) und das Extensible Messaging and Presence Protocol (XMPP). Im Folgenden werden die zwei Standards SIMPLE und XMPP genauer beschrieben. Eines oder beide dieser Protokolle werden sich wohl durchsetzen. 14 2.2 Das Übertragungsprotokoll SIMPLE SIMPLE basiert auf SIP, dem Session Initiation Protocol. Dies ist ein Signaling Protokoll zum Aufbauen, Verändern oder Beenden interaktiver Nutzersitzungen, wie sie bei synchroner Kommunikation, wie beispielsweise bei IM, Internet - Konferenzen oder - Telephonie auftreten. Während die SIP Mechanismen Session - orientierte Kommunikation ermöglichen, kommen durch SIMPLE die notwendigen Features für IM hinzu. Durch die Einführung der MESSAGE, SUBSCRIBE und NOTIFY Methode kann SIP auch Presence Information und Instant Messages ermöglichen. Mit Hilfe von SIMPLE können somit Call Setups, Routing, Authentifizierung und andere Dienste zwischen Servern und Clients für Instant Messaging angewendet werden. Die folgende Abbildung stellt beispielhaft eine Nachricht mittels SIMPLE dar: 15 13 Vgl. Hildebrand, Joe: Nine IM Accounts and Counting, in: Queue, November 2003. Jg. (2003), S. 44 50, Jennings: A Study of Internet Instant Messaging and Chat Protocols, S. 16. 14 Vgl. Vaughan-Nichols, Steven J.: Presence Technology: More than Just Instant Messaging, in: Computer, October 2003, S. 11 13 ; Hildebrand: Nine IM Accounts and Counting, Jennings: A Study of Internet Instant Messaging and Chat Protocols, S. 16. 15 Siehe Chatterjee: Instant Messaging and Presence Technologies for College Campuses, S. 6, 8.

9 Frame Ankunftszeit des Pakets, Paketgröße in Bytes (446 Bytes) Ethernet (14 bytes) Internet Protocol (20 bytes) User Datagram Protocol (8 bytes) Session Initiation Protocol (404 bytes) MAC Adressen des Ziels und der Quelle IP - Version, Protokolltyp Quell - Port, Ziel - Port, Prüfsumme Request Line: MESSAGE sip:10.1.1.2:5060;transport = udp SIP/2.0 Message Header: From:<sip: Myrjam@beispiel.com> To:<sip: steffi@beispiel.com> Content-Type: text/plain; charset=utf-8 Message Body: Line-based text data: text/plain Guten Morgen! Abbildung 3: Nachricht mittels SIMPLE Das Protokoll spürt Nutzer ähnlich wie beim Simple Mail Transport Protocol auf. Jedem Nutzer ist eine ortsunabhängige Adresse zugeordnet. Diese einzige Adresse erleichtert es, Nutzer aufzuspüren. Als Kennung eines Anwenders dient hier der so genannte Presence User Agent (PUA). Wenn jemand über SIMPLE einen anderen Nutzer erreichen möchte, wie beispielsweise beim Anklicken eines Namens in einem Email-Adressbuch, kontaktiert das System die gewünschte PUA des Empfängers. Die PUA wiederum kontaktiert einen Netzwerkverzeichnisservice, der Nutzer aufgrund ihrer Adresse findet und gibt mehrere Kontaktmöglichkeiten wie z.b. Festnetz oder Handynummer, oder private und dienstliche Email-Adresse an. Das System verwendet dann Informationen von Aktivitäten des Nutzers auf Presence - fähigen Diensten oder Anwendungen, um herauszufinden, wo der Empfänger gerade ist und baut eine Verbindung zu ihm über SIP auf. Da SIMPLE auf IP basiert, kann dieses Protokoll auch mit weiteren netzwerkfähigen Anwendungen wie Videokonferenzen und Telefon via IP arbeiten. 16 Da SIMPLE hauptsächlich von einflussreichen Unternehmen wie IBM und Microsoft unterstützt wird, ist davon auszugehen, dass die Entwicklung des Standards auch in Zukunft immer weiter voran getrieben wird. 17 Die folgende Abbildung stellt nochmals die Funktionsweise von SIMPLE dar 18 : 16 Vgl. Vaughan-Nichols: Presence Technology: More than Just Instant Messaging, S. 13. 17 Vgl. eda. S. 12; Hildebrand: Nine IM Accounts and Counting, S. 49. 18 Chatterjee: Instant Messaging and Presence Technologies for College Campuses, S. 6.

10 Abbildung 4: Komponenten von SIMPLE 2.3 Das Übertragungsprotokoll XMPP XMPP wird bereits wesentlich länger als SIMPLE angewendet und hat sich bereits vor dem Standardisierungsprozess der IETF seit mehreren Jahren in der Praxis bewährt. Es ist ein Protokoll für Real - Time Messaging und Presence und wird durch die Jabber Software Foundation (JSF) gefördert. Es wurde hauptsächlich für das IM-System Jabber entwickelt und wird dort seit Jahren verwendet. 19 Zur Weiterentwicklung des Jabber - Protokolls veröffentlicht die JSF Jabber Enhancement Proposals als Erweiterungsvorschläge für das Protokoll. In der Jabber - Community sind diese als Standard anerkannt. Weitere Unternehmen, die XMPP unterstützen, sind beispielsweise France Telecom, Hewlett-Packard und Intel Capital. Im Gegensatz zu SIMPLE ist die Grundlage für XMPP XML. Aufgrund der Basis XML ist XMPP durch neu hinzu fügbare XML Prozesse sehr gut erweiterbar und Nachrichten können außerdem relativ leicht verschlüsselt werden. Im Gegensatz zu SIMPLE wird XMPP meist über einen Server hinweg und nicht Peer - to - Peer eingesetzt. 20 XMPP enthält XML Streams, welche von Clients verwendet werden können, um über eine TCP Verbindung auf Dienste des Servers zuzugreifen. Die XML Streams dienen beispielsweise dazu, eine persistente Verbindung zwischen Clients und Servern aufzubauen und anschließend XML Daten oder so genannte XML Stanzas auszu- 19 Jabber Software Foundation, eingesehen am 30.10.2006: www.jabber.org. 20 Vgl. Vaughan-Nichols: Presence Technology: More than Just Instant Messaging, S. 13.

11 tauschen. XML Stanzas sind abgeschlossene Einheiten strukturierter Information mit einem Anfang und einem Ende. 21 Drei Stanzas sind bereits in der Spezifikation von XMPP (RFC 3921) vordefiniert: Messages (zum Austausch der Nachrichten), Presence (zum Informieren von Clients über den Status eines anderen Clients) und iq (Info/Query - verwendet für Request - Response - Interaktionen zwischen Einheiten). Die Stanzas beinhalten zudem immer die Attribute to, from, id, type und xml:lang. 22 Eine Message Guten Morgen! von myrjam@beispiel.com an steffi@beispiel.com wird beispielsweise wie folgt dargestellt: 23 Frame Ankunftszeit des Pakets, Paketgröße in Bytes (311 Bytes) Ethernet (14 bytes) MAC Adressen des Ziels und der Quelle Internet Protocol (20 bytes) IP - Version, Protokolltyp Transmission Control Protocol (20 bytes) Quell - Port, Ziel - Port, Fenstergröße, Prüfsumme Abbildung 5: Nachricht mit XMPP Jabber XML Messaging (257 bytes) <message type = chat to = steffi@beispiel.com > <xmlns = jabber:x:event > <composing/> </xmlns> <body> Guten Morgen!</body> <html xmlns= http://jabber.org/protocol/xhtmlim ><body xmlns = http://www.w3.org/ 1999/xhtml >Guten Morgen! </body> </html> </message> Bei Instant Messaging mit Jabber und somit mit XMPP fordert ein Client also zunächst eine Session mit einem Server an und auf die der Server mit dem Eröffnen der Session reagiert. Anschließend tauschen die Einheiten Nachrichten und Presence Information mittels XLM Stanzas aus. 24 Wie ein auf XMPP basierendes IM-System genau aufgebaut ist, wird später in Kapitel 3 bei der Beschreibung von Jabber näher erläutert. 2.3 Vergleich von SIMPLE und XMPP Die folgende Tabelle hebt nochmals die Unterschiede zwischen SIMPLE und XMPP hervor, die sich aus der Beschreibung der beiden Protokolle in 2.2 und 2.3 ergeben. 21 Vgl. Meijer: Jabber, E-mail and Beyond, S. 2. 22 Die grundlegenden IM und Presence Erweiterungen sind spezifiziert in: Saint-Andre, Peter: Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence, in: IETF RFC 3921 (2004). 23 Siehe Chatterjee: Instant Messaging and Presence Technologies for College Campuses, S. 8. 24 Die grundlegenden IM und Presence Erweiterungen sind spezifiziert in: Saint-Andre: Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence.

12 SIMPLE XMPP Basis Technologie Signaling Datentransport (Ursprung in der open source community ) Methode des Instant Peer-to-Peer Client / Server Messaging Message - Format Textbasierte übertragbare Formate XML für IM, XML für Attribute zur Beschreibung der Anwesenheit der Nutzer ( Presence ) Technischer In Entwicklung Anwendung in der Praxis seit 1999 Entwicklungsstand Einbinden anderer Medienarten Erweiterbar auf andere Medien Aufgrund des XML basierten wie Telephonie und Video Datenaustauschs Integration in andere Anwendungen und Systeme möglich Lobby Microsoft, IBM, Sun, 3GPP, HP, Intel, Sony, Hitachi, Oracle Open Mobile Alliance Vorteile Bietet konvergiertes und Stabile Technologie vereinheitlichtes Messaging Kleine Nachrichtengröße im Clients können in andere Vergleich zu SIMPLE Anwendungen integriert werden Standardisierte Technologie XML kann mit anderen Smarte Clients, einfacher Kern Technologien verbunden werden Transparenter Nachrichtenaustausch Nahtlose Verbindung zu SIP und VoIP (Sicherheitsverfahren möglich) Starke Unterstützung von Microsoft (Windows XP Messenger) Nachteile Noch nicht ausgereift Komplexe Architektur mit vielen verschiedenen Servern Sicherheitsverfahren sind schwer anzuwenden, da die Server den Nachrichteninhalt nicht überprüfen können Tabelle 1: Vergleich von SIMPLE und XMPP Asynchroner Transport von XML Inhalten Server könnte je nach Implementierung mit Presence und Instant Messaging überlastet werden 3. Das Instant Messaging System Jabber Jabber (englisch: daherplappern ) ist ein IM-System, das nicht mit proprietären Protokollen arbeitet und auch die Kommunikation zu anderen IM-Systemen ermöglicht. Wie auch bei den meisten anderen Systemen ist es möglich, Nachrichten zu übermitteln, Konferenzen mit anderen Benutzern abzuhalten, deren Online-Status einzusehen, Dateien zu über-

13 mitteln und vieles mehr. 25 Wie bereits beschrieben, basiert das IM-System Jabber auf dem Protokoll XMPP. Die gesamte Steuerung des Systems und der Nachrichtenaustausch werden mittels XMPP geregelt. Die Struktur von Jabber basiert auf einer Client - Server - Architektur. Sie ist ähnlich wie bei der Email Übertragung (SMTP): Jeder Betreiber eines Jabber - Servers kann Nachrichten mit anderen Servern, und somit auch über andere Anbieter hinweg, austauschen. Die Nachrichtenübermittlung läuft somit vom Anwender zum eigenen Server, dann zum fremden Server und schließlich zum Empfänger. Auch isolierte Netzwerke, wie Intranets, sind durch Betreiben eines eigenen Servers in einem lokalen Netzwerk möglich. 26 Die folgende Abbildung stellt die typische Jabber Architektur dar. 27 Sie wird im Folgenden näher beschrieben. Abbildung 6: Die Jabber - Architektur 3.1 Jabber - Clients Es existieren Jabber - Clients für fast alle Betriebssysteme (z.b. Exodus für Windows oder Gabber für Linux, aber auch weitere für Unix, Palm, Mac,...). Eine komplette Liste mit 25 Vgl. o.v.: Jabber. 26 Vgl. o.v.: Jabber. 27 Chatterjee: Instant Messaging and Presence Technologies for College Campuses, S. 7.

14 Clients ist an folgender Adresse hinterlegt: http://www.jabber.org/software/ clients.php. Als Anwender von Jabber ist zunächst eine Registrierung bei einem Jabber - Server notwendig. Ein möglicher Server, bei dem man sich als Nutzer registrieren kann, wird direkt bei http://www.jabber.org angeboten, unter http://www.jabber.org/user/publicservers.php finden sich jedoch noch weitere Möglichkeiten. Ein Benutzer wird, ebenfalls ähnlich wie bei Email, mit einem Benutzernamen und dem Server, bei dem er registriert ist, identifiziert. myrjam@example.com sagt aus, dass der Benutzername myrjam und der Server example.com heißt. 28 Zum Austausch von Instant Messages meldet sich der Nutzer bei jeder Sitzung mit seiner ID an, und kann nach erfolgreicher Anmeldung mit anderen Nutzern Nachrichten austauschen. Da Jabber die Kommunikation stets über mindestens einen Server durchführt, bleibt die IP - Adresse des Nutzers anderen Nutzern unbekannt. Für die Übertragung der Daten können drei verschiedene Sicherheitsfunktionen angewendet werden, da aufgrund des textbasierten Protokolls bei unverschlüsselter Kommunikation Nachrichten abgehört werden könnten: 29 a) SSL/TLS - Verschlüsselung zwischen dem Client und dem angemeldeten Server b) Server - zu - Server-Verschlüsselung mittels SSL c) Ende - zu - Ende- Verschlüsselung (Verschlüsselung der Verbindung zwischen den Jabber - Benutzern selbst, z.b. mittels OpenPGP oder Off-the-Record Messaging) 3.2 Jabber - Server Die Hauptaufgaben des Servers sind, mit den Clients zu kommunizieren, interne Anweisungen zu verarbeiten und mit anderen Servern zu kommunizieren. Links zu Serversoftware werden von der JSF unter http://www.jabber.org/soft-ware/servers.html bereit gestellt. 28 Vgl. Chatterjee: Instant Messaging and Presence Technologies for College Campuses. 29 Vgl. Eda.

15 Wie Abbildung 6 zu entnehmen ist, findet meist eine klare Trennung einzelner Komponenten des Servers statt, die als unabhängige Prozesse agieren. Die Kommunikation der Prozesse erfolgt über TCP Verbindungen und wird von einem Router gesteuert. Dieser öffnet einen TCP Port, über den die anderen Komponenten miteinander kommunizieren können. Der Informationsaustausch und die gesamte Steuerung des Servers erfolgt mittels XMPP. Die Komponente Client - to - Server wird beispielsweise bei einer Authentifizierung angesprochen. Bei Anmeldung eines Nutzers werden z.b. die Nutzerdaten (myrjam@beispiel.com und das zugehörige Passwort) mit den gespeicherten Informationen im Authentification Data Store (Teil der Client - to - Server Komponente) verglichen. Ist die Authentifizierung erfolgreich, wird dies dem Router mitgeteilt. Der Router gibt diese Information an die Komponente Session Manager weiter, der die eigentlichen IM Funktionalitäten umsetzt. Dieser Veranlasst dann wiederum über den Router die Bearbeitung und Weiterleitung von Nachrichten und Zustandsinformationen über die Client - to - Client oder Client - to - Server Komponente. Die Pflege von Kontaktlisten und infos ist ebenfalls Bestandteil der Session Manager Komponente, bzw. dem darin enthaltenen Application Data Store. 30 3.3 Gateways Kommunikation mit anderen IM-Systemen Zu anderen IM- und Chat - Systemen existieren Übergänge, so dass auch Kommunikation mit Nutzern aus anderen oben genannten IM-Diensten möglich ist. Über Gateways erlaubt Jabber die Kommunikation mit Benutzern, die beispielsweise in Systemen wie ICQ oder YMSG angemeldet sind. Die Verbindung zu den Fremdnetzen ist deshalb möglich, da die Kommunikation zwischen den Clients durch die Jabber - Server und nicht durch die Unterstützung der notwendigen Protokolle auf der Clientseite selbst erfolgt. 31 Der Anwender sendet demnach seine Nachricht an einen Jabber - Server, von dort aus wird die Nachricht zum Jabber - Gateway weitergeleitet, der die Nachricht letztlich zum Empfänger (z.b. 30 Vgl. Jabber Software Foundation: Jabber - Technical Overview, eingesehen am 4.11.2006: http://www.jabber.org/about/techover.shtml#clientserver; Chatterjee: Instant Messaging and Presence Technologies for College Campuses, S. 7. 31 Vgl. o.v.: Jabber; Wimmer, Matthias: Jabber! - Wieso Jabber?, eingesehen am 29.10.2006: http://matthias.wimmer.name/jabber.xml.

16 mittels dem Protokoll OSCAR zu ICQ) übermittelt. Die folgende Grafik veranschaulicht diesen Übermittlungsweg: 32 Abbildung 7: Gateways bei Jabber 3.4 Kritische Würdigung von Jabber Ein großer Vorteil von Jabber ist, dass es seit Beginn auf einem für die Öffentlichkeit zugänglichem Protokoll, XMPP, basiert. Dass dieses Protokoll zudem auch noch als Standard der IETF deklariert wurde, ist weiterhin als positiv zu werten. Da neben diesem Protokoll nur noch SIMPLE als weiterer Standard von der IEFT akzeptiert ist, hat hier Jabber gegenüber allen anderen IM-Systemen bereits einen Vorsprung. Es ist anzunehmen, dass in der Zukunft die proprietären Protokolle anderer Anbieter, wie ICQ, MSN, YMSG oder AIM, nicht isoliert fortbestehen können. Es wird, ähnlich wie vor einigen Jahren bei Email, von den größten Anbietern Druck auf Partner, Zulieferer und Kunden ausgehen, Interoperationalität zu ermöglichen. Dies erfüllt Jabber bereits von Anfang an, da es von Anfang an möglich war, mit anderen IM-Systemen zu kommunizieren. 33 Ob nun SIMPLE oder XMPP das Rennen machen werden, wird jedoch von vielen verschiedenen weiteren Faktoren abhängen. Eine große Einflussgröße ist hier sicher auch die Lobby, die hinter den verschiedenen Protokollen steht. Da insbesondere Microsoft und IBM hinter SIMPLE stehen, wird dieses Protokoll wohl trotz seiner späteren Standardisierung auch in Zukunft weiterentwickelt werden, fortbestehen und sich weiter ausbreiten. Als wahrscheinlich gilt, dass XMPP und SIMPLE nebeneinander existieren werden und Kommunikation untereinander 32 o.v.: Jabber. 33 Vgl. Hildebrand: Nine IM Accounts and Counting, S. 49.

17 über Gateways möglich ist. 34 Somit hat auch Jabber sehr gute Chancen, sich in dem immer weiter wachsenden Markt des Instant Messaging und Presence durchzusetzen. Ein weiterer Vorteil von Jabber ist die relativ hohe Sicherheit. Zum einen bieten die Verschlüsselungen mittels SSL und TLS oder auch die direkte Ende - zu - Ende Verschlüsselung mit OpenPGP Sicherheit bei der Übermittelung der Instant Messages. Zum anderen ist es aber auch durch die Client-Server Struktur, die bei Jabber meist vorliegt, möglich, lokale, private Netzwerke (z.b. innerhalb eines Unternehmens) aufzubauen. So können auch vertrauliche Informationen, ohne dass diese das Netz verlassen, geschützt übertragen werden. Durch die Basis XMPP ist Jabber zudem leicht erweiterbar. Der Inhalt der XML - Stanzas ist reines XML und so können mittels XMPP alle Daten, die in XML repräsentiert werden können, ausgetauscht werden. Auf diese Weise können eine Vielzahl an Anwendungen weiterentwickelt werden. 35 Eine wichtige Erweiterung, die im Moment jedoch noch getestet wird, ist die Jingle Erweiterung. Sie soll auch Peer - to - Peer Verbindungen und somit beispielsweise VoIP mittels XMPP ermöglichen. 36 All diesen Vorteilen steht jedoch ein Nachteil entgegen: Die Anzahl der Nutzer ist im Gegensatz zu anderen IM-Systemen relativ gering. Gerade die Verbreitung des IM-Systems (beispielsweise im Freundeskreis) spielt aber für Anwender eine große Rolle, welches System sie selbst präferieren. Diese Tatsache fällt jedoch nicht so sehr ins Gewicht, da bei Jabber Interoperabilität durch die Gateways zu anderen IM-Systemen gewährleistet ist. 4. Fazit und Ausblick Diese Arbeit liefert einen Überblick, was Instant Messaging ist und welche unterschiedlichen Instant Messaging Systeme am Markt existieren. Anschließend wird aufgezeigt, wie diese Systeme von ihrer grundsätzlichen Struktur aufgebaut sind. Übertragungsprotokolle stellen sich hier als wesentlicher Bestandteil heraus. Sie bestimmen, ob beispielsweise aus dem IM-System heraus auch mit Anwendern anderer IM-Systeme kommuniziert werden kann. Die meisten Anbieter am Markt, Jabber ausgenommen, arbeiten mit proprietären 34 Vgl. Eda., S. 49. 35 Vgl. Meijer: Jabber, E-mail and Beyond, S. 2. 36 Vgl. Ludwig, Scott, Joe Beda, Peter Saint-Andre, Joe Hildebrand, Sean Egan und Robert McQueen: XEP- 0166: Jingle, eingesehen am 4.11.2006: http://www.xmpp.org/extensions/xep-0166.html.

18 Protokollen. Diese werden jedoch wohl zukünftig von offenen Protokollen, wie es SIMPLE und XMPP sind, abgelöst. Daher werden im Folgenden die Protokolle SIMPLE und XMPP beschrieben und miteinander verglichen. Ein IM-System, das sich bereits mit einem dieser Protokolle, XMPP, bewährt hat, wird anschließend dargestellt. Dabei werden insbesondere Clients, Server und Gateways zu anderen IM-Systemen beleuchtet. Die kritische Würdigung von Jabber ergibt, dass der Einsatz dieses IM-Systems kaum Nachteile mit sich zieht. Es ist davon auszugehen, dass Anwenderzahlen von Jabber weiterhin wachsen werden. Der Trend wird immer deutlicher zu IM-Systemen gehen, die erstens, auf offenen, standardisierten Protokollen basieren und zweitens, dem Benutzer die Kommunikation mit anderen IM-Systemen ermöglichen. Beide Bedingungen erfüllt Jabber. Auch Instant Messaging generell scheint sich immer weiter zu verbreiten. Die Vorteile der direkteren Kommunikation zwischen den Anwendern, der aktuellen Informationsübertragung und spamfreien Kommunikation sind wohl die Haupttreiber dafür. Zwar wird IM nie Emails komplett vom Markt verdrängen, jedoch in einigen Bereichen ablösen. 37 Zudem ist davon auszugehen, dass es nicht bei der reinen Kommunikation mit Text zwischen zwei Benutzern bleibt. Die oben erwähnten Entwicklungen in Richtung VoIP zeigen, dass weitere Anwendungen zu erwarten sind, die über Textübertragung hinausgehen und sich nicht nur auf die Kommunikation zwischen zwei Personen beziehen. Z.B. könnte es in Zukunft möglich sein, dass ein Auto seine aktuelle geografische Position an das Garagentor übermittelt, welches sich beim Eintreffen des Autos rechtzeitig öffnet. 38 37 Vgl. Meijer: Jabber, E-mail and Beyond, S. 4; Hildebrand: Nine IM Accounts and Counting, S.49. 38 Vgl. Hildebrand: Nine IM Accounts and Counting, S. 50.

19 Literaturverzeichnis Chatterjee, Samir, Tarun Abhichandani, Haiqing Li, Bengisu Tulu und Jongbok Byun: Instant Messaging and Presence Technologies for College Campuses, in: IEEE Network, May/June 2005, S. 4 13. Day, Mark, Jonathan Rosenberg und Hiroyasu Sugano: A Model for Presence and Instant Messaging, in: IETF RFC 2778 (2000). Hildebrand, Joe: Nine IM Accounts and Counting, in: Queue, November 2003, S. 44 50. Jabber Software Foundation: Jabber - Technical Overview, eingesehen am 4.11.2006: http://www.jabber.org/about/techover.shtml#clientserver. Jabber Software Foundation, eingesehen am 30.10.2006: www.jabber.org. Jennings, Raymond B., Erich M. Nahum, David P. Oldhefski, Debanjan Saha, Zon-Yin Shae und Chris Waters: A Study of Internet Instant Messaging and Chat Protocols, in: IEEE Network, 20. Jg. (2006), Nr. 4, S. 16 21. Ludwig, Scott, Joe Beda, Peter Saint-Andre, Joe Hildebrand, Sean Egan und Robert McQueen: XEP-0166: Jingle, eingesehen am 4.11.2006: http://www.xmpp.org/extensions/xep-0166.html. Meijer, Ralph und Peter Saint-Andre: Jabber, E-mail and Beyond, eingesehen am 4.11.2005: http://ralphm.net/publications/nluug_vj05-paper.pdf. o.v.: Instant Messaging: Yahoo und Microsoft verbinden sich, eingesehen am 5.11.2006: http://www.golem.de/0609/48056.html. o.v.: Jabber, eingesehen am 30.10.2006: http://de.wikipedia.org/wiki/jabber. o.v.: Instant Messaging, eingesehen am 17. 10. 2006: http://de.wikipedia.org/wiki/instant_messaging. Saint-Andre, Peter: Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence, in: IETF RFC 3921 (2004). Tyson, Jeff: How Instant Messaging Works, eingesehen am 5.11.2006: http://computer.howstuffworks.com/instant-messaging.htm. Vaughan-Nichols, Steven J.: Presence Technology: More than Just Instant Messaging, in: Computer (2003), Nr. October 2003, S. 11 13. Wimmer, Matthias: Jabber! - Wieso Jabber?, eingesehen am 29.10.2006: http://matthias.wimmer.name/jabber.xml.