Die Dienste des Internet


6. Internet Relay Chat (IRC)

6.1 Einführung

Neben Email existieren im Internet noch einige weitere Möglichkeiten zur interpersonellen Kommunikation. Früher sehr verbreitet war z.B. das Talk-Protokoll, welches es zwei Personen ermöglicht, sich interaktiv per Tastatur zu unterhalten. Aufgrund von Sicherheitslücken in vielen Implementierungen und der Tatsache, daß die Mehrzahl der Benutzer heutzutage nicht mehr auf ununterbrochen ans Internet angeschlossenen Unix-Rechnern, sondern auf Heim-PCs mit u.U. wechselnden IP-Adressen arbeiten, hat Talk inzwischen stark an Bedeutung verloren. Internet Relay Chat (IRC) erweitert die Möglichkeiten der interpersonellen Kommunikation und befreit sie von den Beschränkungen der Personenzahl (mehrere Tausend anstatt nur zwei) und der Notwendigkeit die Internet-Adresse des Gegenübers zu kennen.

6.2 Funktionsweise

Auch IRC arbeitet, was inzwischen niemand mehr überraschen dürfte, nach dem Client-Server Prinzip. Jeder Benutzer von IRC benötigt einen IRC-Client, mit dem er dann zu einem IRC-Server eine Verbindung aufbaut. Aus Effizienzgründen sollte dazu der (nach bestem Wissen) nächstgelegene Server benutzt werden. Die IRC-Server sind untereinander wiederum mittels des IRC-Protokolls verbunden. Somit kann jeder Teilnehmer, der sich mit einem der IRC Server verbindet, mit jedem Teilnehmer auf einem beliebigen Server Kontakt aufnehmen. Der Weg der Nachrichten läuft dabei nicht direkt von Client zu Client, sondern nimmt den Weg Client - Server - ... - Server - Client (siehe auch Anhang M).

Um eine einfache Identifikation der einzelnen Teilnehmer zu gewährleisten, wählt jeder Teilnehmer einen sog. Nickname (Spitzname) aus, welcher sich natürlich von allen anderen zur gleichen Zeit in Gebrauch befindlichen Nicknames unterscheiden muß. Eine generelle über die Anwesenszeit auf dem Netzwerk hinausgehende Reservierung von Nicknames ist in den meisten IRC-Netzwerken jedoch nicht möglich.

Das IRC-System ist in sogenannte "Channels" aufgeteilt. Diese Channels sind nichts anderes als interaktive Diskussionsforen. Jeder Channel ist normalerweise einem bestimmten Thema gewidmet, welches man in dem Topic, also Betreff des Channels ablesen kann. Wenn in solch einem Channel eine Äußerung gemacht wird, können diese alle Teilnehmer des Channels lesen. Um eine gesittete Unterhaltung zu ermöglichen, wurden verschiedene Mechanismen geschaffen. Der erste, der einen neuen Channel betritt, ihn also quasi gründet, ist Channel Operator und kann unerwünschte Personen aus dem Channel entfernen, andere zu weiteren Channel-Operatoren machen, den Channel moderieren, schließen usw.

Eine private Konversation von zwei Personen, vergleichbar mit Talk ist daneben ebenfalls möglich. Aufgrund des Weges der Nachricht über eine unter Umständen große Zahl von Servern können dabei allerdings durchaus Verzögerungen auftreten. Um in solchen Fällen eine effizientere Kommunikation zu erreichen und zusätzlich als Bonbon noch den Transfer von Dateien zu ermöglichen, wurde das Direct Client Connect Protokoll (DCC) entwickelt. Dabei wird neben der bereits bestehenden Verbindung zum IRC-Network eine weitere direkte Verbindung vom eigenen Client zum Client des Kommunikationspartners aufgebaut um schließlich die Unterhaltung bzw. eine Datei über diesen direkten Weg zu übertragen.

Wegen der in den letzten Jahren extrem gestiegenen Benutzerzahlen und den daraus resultierenden Problemen (siehe auch unter 6.5), gibt es inzwischen nicht mehr nur ein Netzwerk aus IRC-Servern, sondern mehrere, die zwischen sich keine Verbindung haben. Die wichtigsten sind IRCNet (gegründet als europäische Abspaltung vom EFNet), EFNet (das ursprüngliche Netz), Undernet und DalNET. Auf jedem dieser Netzwerke sind zu Spitzenzeiten 15000-20000 Benutzer gleichzeitig online.

6.3 Bedienung

Die Bedienung der IRC-Clients geschieht über einfache Befehle. Um diese Befehle vom eigentlichen Chat zu unterscheiden wird ihnen ein / vorgestellt. Die wichtigsten Befehle sind /list (listet alle verfügbaren Channels auf), /join #Channel-Name (betrete einen Channel), /leave #Channel-Name (verlasse den Channel), /nick nickname (ändere den Nicknamen), /server servername (verbinde mit Server servername) und /msg nickname Nachricht (schicke Nachricht an nickname).

Neben der ursprünglichen Text-basierten Unix-Implementation von IRC existieren inzwischen zahlreiche Fenster-basierte Versionen für fast jedes Betriebssystem, so daß einige der oben genannten Befehle nicht mehr per Hand eingegeben werden müssen und die Übersichtlichkeit durch die Einteilung in Fenster stark verbessert ist.

6.4 Protokolle

Das wichtigste Protokoll im IRC-Netzwerk ist das IRC-Protkoll. Es regelt die Kommunikation der Server untereinander und der vom Client zu Server. Dabei ist das Server-Netzwerk baumförmig aufgebaut und jeder Server dient als zentraler Knotenpunkt für alle im Baum unter ihm angeordneten Server. Das IRC-Protokoll ist ein 8-bit Protokoll, jedoch wurden die Schlüsselwörter und -zeichen so gewählt, daß das Protokoll auch über eine Telnet-Verbindung von einem US-ASCII Terminal aus benutzt werden kann. Jede solche IRC-Kommando-Message besteht aus einem (optionalen) Präfix, der zur Kennzeichnung des Ursprungs der Message dient, dem eigentlichen Kommando und den zu dem Kommando gehörigen Parametern. Die einzelnen Message-Teile sind durch ASCII-Leerzeichen getrennt, das Ende einer Message wird durch die Zeichenfolge <CR>-<LF> (Carriage Return - Line Feed) angezeigt. Messages, deren Ursprung ein Server nicht identifizieren kann und überzählige CR-LF-Sequenzen werden einfach ignoriert.

Weitere wichtige Protokolle neben dem IRC-Protokoll sind das DCC-Protkoll (Direct Client Connect) und das Client-To-Client-Protocol (CTCP). Der Anwendungsbereich von DCC wurde unter 6.2 schon beschrieben. Das CTCP wurde ursprünglich für zwei Anwendungsbereiche entwickelt. So sollte es auch zur Übertragung von Dateien usw. via IRC dienen. Aufgrund der Entwicklung von DCC ist es dazu aber nie gekommen. Heute dient CTCP ausschließlich seinem zweiten Anwendungsbereich: dem Senden einfacher Anfragen an einen anderen Client. CTCP wird z.B. eingesetzt, um bei einem anderen Client die lokale Zeit, die benutzte Version und Implementierung oder die Zeit, die eine Message von einem Client zum anderen braucht, abzufragen.

6.5 Probleme

Der große Benutzeransturm - Anfang '91 waren im Mittel ca. 250 User gleichzeitig auf IRC aktiv, 1994 waren es 5000, inzwischen sind Spitzenwerte von 20000 und mehr keine Seltenheit - hat natürlich auch bei IRC zu einigen Problemen geführt.

So hat sich das Protokoll bei der immens gewachsenen Datenmenge als teilweise recht ineffizient erwiesen, so daß es trotz Verbesserungen des Protokolls immer öfter zu großem Lag (Verzögerung zwischen Absenden einer Message und der Ankunft beim Empfänger) kommt. Auch wurde manchen Netzwerkbetreibern (insbesondere in Europa) der von IRC ausgelöste Netztraffic zu viel, was u.A. zur Abspaltung des IRCNet vom EFNet führte. Eine leichte Verbesserung der Lage wurde durch die Entstehung zahlreicher neuer Netze (z.B. DalNet oder UnderNet) erreicht, da sich dadurch die Anzahl der Benutzer besser verteilt. Zudem implementierten diese Netze zahlreiche Veränderungen und Verbesserungen am IRC-Protokoll und führten zudem teilweise erheblich strengere Regeln für die Benutzerschaft ein. Leider haben nicht alle Netzwerke diese Verbesserungen übernommen. Zudem leiden vor allem die althergebrachten Netze immer noch an einer Überzahl an Servern mit vergleichsweise wenig Benutzern pro Server (weniger Server mit vielen Benutzern steigern die Effizienz im IRC-Netzwerk) und vor allem an der Borniertheit der IRC-Operatoren (mit speziellen Rechten ausgestattete Personen, welche für die Einhaltung der Regeln auf IRC und das Entfernen von Störenfrieden sorgen sollen). Auch werden in letzter Zeit immer neue Methoden entdeckt, die Dienste und Protokolle des Internet zu manipulieren oder zeitweise außer Funktion zu setzen (teilweise sogar ohne das Risiko der Rückverfolgung). Dadurch kommt es auch in zunehmendem Maß zur Sabotage von IRC-Servern und -Netzwerken. Das ist aber kein IRC-spezifisches Problem und wird wohl zumindest teilweise durch die Einführung von IP V6 behoben werden.
Darüber hinaus hat vor allem der Austausch von illegalem Material (Raubkopien, Pornographie etc.) über IRC legale Probleme aufgeworfen.

6.6 Ausblick

Die Kommunikationsmöglichkeiten von IRC faszinieren trotz neu entwickelter Techniken, die sogar eine audiovisuelle Kommunikation ermöglichen, immer noch eine sehr große Anzahl an Teilnehmern. Aufgrund des hohen Bandbreiteverbrauchs dieser neuen Techniken und der eher zögerlichen Aufstockung der Netzwerkkapazitäten werden diese Techniken auf absehbare Zeit die traditionelle textgebundene interaktive Kommunikation nicht ablösen können. Zudem hat die Entstehung neuer IRC-Netzwerke das Problem der großen Benutzerzahl entspannt, so daß im Bereich IRC mit einer weiteren positiven Entwicklung gerechnet werden kann.


Inhalt Zurück Weiter Literatur