Internet Relay Chat


Internet Relay Chat
Schema eines IRC-Netzwerks mit Clients (eckig), darunter normale Benutzer (grün), Bouncer (orange), Bots (bläulich) und IRC-Services

Internet Relay Chat, kurz IRC, bezeichnet ein rein textbasiertes Chat-System. Es ermöglicht Gesprächsrunden mit einer beliebigen Anzahl von Teilnehmern in so genannten Channels (Gesprächskanälen), aber auch Gespräche zwischen zwei Teilnehmern (Query).[1] Neue Channel können üblicherweise jederzeit von jedem Teilnehmer frei eröffnet werden, ebenso kann man gleichzeitig an mehreren Channels teilnehmen.

Zur Teilnahme wird ein IRC-Client verwendet, wobei es neben IRC-Clients als klassisches eigenständiges Programm (z. B. mIRC, XChat) auch andere IRC-Client-Varianten, etwa webbasierte, gibt.

Zur Vermittlung der Gespräche im IRC wird ein Netzwerk, meist aus miteinander verbundenen Servern bestehend, eingesetzt, so dass die Belastung auf viele Rechner verteilt und so eine nahezu beliebig große „Chatlandschaft“ ermöglicht wird. Die größten IRC-Netzwerke bestehen aus mehreren dutzend IRC-Servern, verbinden gleichzeitig über 100.000 Benutzer und verwalten zehntausende Channel, an denen jeweils mehrere tausend Personen gleichzeitig teilnehmen können. Trotz dieser enormen Ausmaße ist die Verzögerung eines abgeschickten Textes für gewöhnlich in der Größenordnung von Zehntelsekunden und überschreitet nur in seltenen Fällen die Sekundenmarke.

Inhaltsverzeichnis

Entwicklung

Die ursprüngliche Idee eines Chat-Netzwerkes entstand im BITNET unter dem Namen Relay Chat. Dieses System wurde vom finnischen Studenten Jarkko Oikarinen, der an der Fakultät für Informatik der Universität Oulu studierte, im Sommer 1988 auf das Internet übertragen.

Mit der Zeit wuchs das Netzwerk zu einer solchen Größe heran, dass es zum einen zu technischen Problemen kam und zum anderen zu unübersichtlich und chaotisch wurde. Daher entstanden ab etwa 1993 weitere unabhängige, kleinere Netzwerke. Im Sommer 1996 wurde dann auch das ursprüngliche Netzwerk aufgrund von Differenzen der Betreiber geteilt. Diese Teile findet man heute im IRCNet (meistens europäische Betreiber) und im EFnet (hauptsächlich Betreiber in den USA) wieder. Heute gibt es tausende voneinander unabhängige Netze. Große Netze mit gleichzeitig mehr als 50.000 verbundenen Clients sind QuakeNet, EFnet, IRCNet, Undernet und Freenode, kleinere etwa DALnet, euIRC, FurNet, oder GameSurge. In allen Netzwerken können aufgrund von Netzwerkproblemen oder -überlastung auch Netsplits auftreten.

Die Netze unterscheiden sich in regionalen Schwerpunkten, Sprachen, Themen und angebotenen Services. Auch die Akzeptanz oder Toleranz gegenüber Sex und Kanälen für die Verteilung von Raubkopien spielt zunehmend eine Rolle. Das Chatsystem ist textbasiert, erlaubt jedoch über weitere Kommandos auch den Austausch von Dateien und sonstigen Informationen über eine Direct-Client-to-Client-Verbindung (DCC) zweier User. Automatisierte DCC-Downloadmöglichkeiten werden auch XDCC genannt.

Protokoll

Beim ursprünglichen IRC kommt ein auf IP und TCP basierendes, textorientiertes Protokoll zum Einsatz.

Nutzerinduzierte Befehle

Es ist beim IRC üblich, dass Benutzer direkt in die Kommunikation zwischen ihrem Client und dem IRC-Server eingreifen, indem sie eigene Nachrichten/Befehle schicken.

Ein Beispiel für einen oft verwendeten Befehl wäre /whois Nickname, der üblicherweise genau so einfach in einem Textfeld des IRC-Clients eingegeben werden kann. Der vorangestellte Slash (/) signalisiert dem IRC-Client, dass es sich um eine Nachricht handelt, die er dem IRC-Server in dieser Form übermitteln soll. Der Client schickt dem Server also whois Nickname, wobei whois den Befehl und Nickname den Parameter darstellt.

Kommunikation

Sämtliche Kommunikation zwischen Client und Server und den Servern untereinander wird über Nachrichten (messages) in Befehlsform mit einer Maximallänge von 512 Zeichen inklusive befehlsbeendendem Zeilenumbruch abgewickelt.

Eine Nachricht besteht aus einem Absender (prefix), einem Befehl (command) und zusätzlichen Befehlsparametern. Die Parameter und ob überhaupt welche nötig sind, hängen vom jeweiligen Befehl ab. Bei Befehlen vom Client zum Server wird der Absender üblicherweise weggelassen, da kein anderer Absender als der Client selbst in Frage kommt.

Server tauschen untereinander nur Nachrichten mit Absenderangabe aus, da Server oftmals Nachrichten nur durchrouten, und hierzu Ziel und Quelle einer Nachricht nötige Angaben sind.

Als Antwort auf eine Nachricht von einem Client kann ein Server eine Antwort-Nachricht (reply) schicken, die einen Reply-Code hat. Dabei handelt es sich um eine dreistellige Zahl mit fest definierter Bedeutung. Auch hier weicht jedoch mangels Absprache die Bedeutung von Netzwerk zu Netzwerk ab.

Das IRC-Protokoll verursacht standardmäßig zwischen den Servern durch die verhältnismäßig langen Namen der Befehle relativ viel Steuerungsaufwand (Overhead), der wiederum unnötig viel Datenverkehr zur Folge hat. Um die Kosten zu verringern, wird in einigen IRC-Netzen ein spezielles Server-zu-Server-Protokoll eingesetzt, das beispielsweise für die Kommunikation zwischen den Servern ein so genanntes Token anstatt des vollständigen Befehls vorsieht (zum Beispiel „P“ anstatt „PRIVMSG“).

Erweiterungen

Für IRC gibt es viele eigenständige Protokoll-Erweiterungen. Viele Befehle wurden ergänzt oder deren Syntax erweitert. Oftmals sind auch die so genannten Channelmodes und Usermodes um neue Modi erweitert. Die Entwicklung dieser Erweiterungen ist jedoch weitgehend unabhängig voneinander und unorganisiert in den verschiedenen IRC-Netzwerken abgelaufen und hängt generell von der verwendeten IRC-Serversoftware ab.

Es existiert deshalb nur unzureichende Dokumentation und Standardisierung dieser Erweiterungen. RFC 1459 beschreibt das ursprüngliche Protokoll, wovon die meisten Mechanismen und Befehle bis heute gültig sind und die Basis für anderweitige Erweiterungen des Protokoll sind. Dennoch sind diverse beschriebene Details durch die Weiterentwicklungen der Server-Software in den einzelnen IRC-Netzwerken nicht mehr aktuell und auch an keiner Stelle in ihrer neuen Ausformung zentral dokumentiert.

Darüber hinaus existieren RFC 2810, RFC 2811, RFC 2812 und RFC 2813. Sie haben jedoch in der Praxis wenig bis keinerlei Bedeutung, da diese im Alleingang von Christophe Kalt, dem Programmierer von IRCnet Version 2.9, geschrieben wurden. Insbesondere im Bereich der Kommunikation zwischen Servern innerhalb eines Netzes werden teilweise auch verkürzte (und dadurch inkompatible) Abwandlungen des Protokolls eingesetzt.

Verschlüsselung

IRC kann sowohl in der Grundform unverschlüsselt, aber auf den meisten Netzwerken auch über eine SSL/TLS-verschlüsselte Verbindung benutzt werden. Verschlüsselte Datenübertragung ist zum Beispiel auch mit dem Protokoll SILC möglich. Clientübergreifend besteht auch die Möglichkeit, Nachrichten clientseitig zu verschlüsseln.

Eine Möglichkeit bietet die Verschlüsselung mit FiSH. FiSH verschlüsselt Channels mittels eines Symmetrischen Kryptosystems. Hierfür wird für den zu verschlüsselnden Channel ein Key festgelegt, der allen Teilnehmern mitgeteilt werden muss. Ohne den Key kann der Channel zwar betreten werden (sofern er kein Passwort erfordert oder der Channelmode +i (invite only) gesetzt ist), die darüber stattfindende Kommunikation ist aber unleserlich. Weiterhin bietet FiSH die Möglichkeit, private Gespräche zw. zwei Teilnehmern (Query)[1] abzusichern. Hier kommt ein Asymmetrisches Kryptosystem zum Einsatz. Mittels Diffie-Hellman-Schlüsselaustausch wird ein Key zw. den Teilnehmern ausgehandelt. FiSH-Plugins gibt es für gängige IRC-Clients wie mIRC, XChat oder irssi.

Eine weitere Möglichkeit der Verschlüsselung bietet Off-the-Record Messaging (OTR). Im Gegensatz zu FiSH setzt OTR ausschließlich auf ein Public-Key-Verfahren, ein Asymmetrisches Kryptosystem (siehe Pretty Good Privacy). Auch hier kommt der Diffie-Hellman-Schlüsselaustausch zum Einsatz. Daher kann OTR auch nur das Query [1] verschlüsseln, nicht jedoch die gesamte Kommunikation in einem Channel. OTR gibt es als Plugin für Pidgin, XChat und irssi.

Zeichensätze

Da kein Zeichensatz festgelegt ist (wie es z. B. bei XMPP der Fall ist) und es auch keine Möglichkeit gibt, den verwendeten auf Protokollebene anzugeben, kann es immer wieder zu falsch oder nicht dargestellten Zeichen durch verschiedene Zeichensätze kommen. Einige Clients versuchen, den von den Sendern benutzten Zeichensatz zu raten, dies kann aber prinzipbedingt nicht zuverlässig funktionieren, da bestimmte Bytefolgen in verschiedenen Zeichensätzen gültig sind, aber zu unterschiedlichen Interpretationen führen.

Einstieg

Um am IRC teilnehmen zu können, wird ein so genannter IRC-Client als Chat-Programm benötigt, welcher die Verbindung zu einem IRC-Server aufbaut. Da IRC zu den etablierteren und älteren Standards im Internet zählt, ist die Auswahl an IRC-Clients heutzutage groß.

In den meisten IRC-Clients ist bereits eine Auswahl bekannterer IRC-Netzwerke und deren Server gespeichert, mit denen man sich verbinden kann. Nachdem die Verbindung mit einem Server hergestellt ist, besteht die Möglichkeit, sich die vorhandenen Channels mit dem LIST-Befehl auflisten zu lassen. Viele Netzwerke unterstützen dabei auch eine Suche mit Wildcards.

Channelmanagement

Wird ein noch nicht vorhandener Channel betreten, legt der IRC-Server diesen üblicherweise an und gibt dem Benutzer die Kontrollrechte (Operator) über den Channel. Sobald der letzte Benutzer einen Channel verlässt, wird der Channel aufgelöst. Viele IRC-Netzwerke bieten allerdings für Channels Bots bzw. Services an, die den Channel in diesem Fall „verwalten“ und den entsprechenden Benutzern ihre Rechte zurückgeben, sobald sie den Channel erneut betreten, sowie auch ein feineres Management des Channels erlauben.

Dazu werden Nicknamen und Channelnamen registriert. In Supportchannels, oft ähnlich benannt wie #irchelp, #help, #hilfe oder #helpdesk, können sich Anwender erkundigen, wie die Kommandos hierzu im Einzelnen lauten.

Manche Netzwerke bieten solche Services nicht an, da dort kein prinzipielles Besitzrecht für einen Channel oder auch für einen Nickname zugestanden wird. Hier ist der „Gründer“ des Channels selbst dafür verantwortlich, sich seine Rechte zu erhalten.

Diese Tatsache sorgt mitunter für virtuelle Kriege, welche mit legalen wie auch illegalen Mitteln ausgetragen werden, um Kontrolle über einen Channel zu erlangen (Takeover).

Verhaltensregeln

Auf der Webseite des jeweiligen Netzes oder in der MOTD, die beim Connect angezeigt wird, findet man zumeist Informationen über die zu beachtenden Verhaltensregeln und anderweitige netzwerkspezifische Besonderheiten.

Sicherheit

Wie generell im Internet sollten Anwender auch im IRC auf Sicherheit achten, da die Annahme von Dateitransfers von unbekannten Nutzern oder Unachtsamkeit zum Ausspionieren von Passwörtern oder Virenbefall des eigenen Rechners führen können. Man sollte auch beachten, dass bei einer unverschlüsselten Verbindung (ohne SSL/TLS) ein Mitlauschen von Konversationen und Passwörtern möglich sein könnte.

Quellen

  1. a b c RFC 1459 Section 1

Siehe auch

  • Multi-User Chat – Auf XMPP basierendes Chat-System
  • IRC-Client – Clients für IRC
  • IRCd – IRC-Daemons (IRC-Server)
  • SILC – Secure Internet Live Conferencing
  • FiSH (IRC) - Encryption for mIRC, irssi and xchat

Weblinks


Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Internet relay chat — « IRC » redirige ici. Pour les autres significations, voir IRC (homonymie). Pile de protocoles …   Wikipédia en Français

  • Internet Relay Chat — UK US noun [uncountable] computing a method of communicating with other people immediately over the Internet, especially through discussion groups Thesaurus: internethyponym …   Useful english dictionary

  • Internet Relay Chat —   [engl.], IRC …   Universal-Lexikon

  • Internet Relay Chat — IRC redirects here. For other uses, see IRC (disambiguation). For IRC channels dedicated to Wikipedia, see Wikipedia:IRC Internet Relay Chat (IRC) is a protocol for real time Internet text messaging (chat) or synchronous conferencing.[1] It is… …   Wikipedia

  • Internet Relay Chat — « IRC » redirige ici. Pour les autres significations, voir IRC (homonymie).  Ne doit pas être confondu avec mIRC …   Wikipédia en Français

  • Internet relay chat — Schema eines IRC Netzwerks mit Clients (eckig), darunter normale Benutzer (grün), Bouncer (orange), Bots (bläulich) und IRC Services Internet Relay Chat, kurz IRC, bezeichnet ein etabliertes, rein textbasiertes Chat System. Es ermöglicht… …   Deutsch Wikipedia

  • Internet Relay Chat — «IRC» redirige aquí. Para otras acepciones, véase IRC (desambiguación). Internet Relay Chat (IRC) Familia: Familia de protocolos de Internet Función: Conversación en tiempo real Última versión: 2.10 Puertos: 6667/TCP …   Wikipedia Español

  • Internet\ Relay\ Chat — Mittels Internet Relay Chat (IRC) können Online Gespräche in virtuellen Räumen im Internet in Echtzeit geführt werden. Internet, Chat, Instant Messaging, ICQ …   Online-Wörterbuch Deutsch-Lexikon

  • internet relay chat — tikralaikis pokalbis statusas T sritis informatika apibrėžtis Keitimasis ↑tekstinėmis žinutėmis kai žinutės gavėjas kompiuterio ekrane iš karto mato jam išsiųstą žinutę ir visas pokalbis matomas ↑pokalbių programos lange. Plačiau žr. priede.… …   Enciklopedinis kompiuterijos žodynas

  • internet relay chat — pokalbis internetu statusas T sritis informatika apibrėžtis Dviejų arba daugiau asmenų ↑tikralaikė bendravimo forma, kai pasikeičiama rašytine informacija, visų pokalbio dalyvių matoma kompiuterio ekrane. „Kalbama“ renkant tekstą, kuris… …   Enciklopedinis kompiuterijos žodynas


Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.