Movatterモバイル変換


[0]ホーム

URL:


Zum Inhalt springen
WikipediaDie freie Enzyklopädie
Suche

Internet Relay Chat

aus Wikipedia, der freien Enzyklopädie
IRC (Internet Relay Chat)
Familie:Internetprotokollfamilie
Einsatzgebiet:Messaging, Soziale Netze
Port:194/TCP Offiziell, nicht in Verwendung,
6665-6669/TCP Offiziell, 6667 am häufigsten verwendet
6697/TCP Offiziell, für TLS-Verbindungen
IRC imTCP/IP-Protokollstapel:
AnwendungIRC
TransportTCP
InternetIP (IPv4,IPv6)
NetzzugangEthernetToken
Bus
Token
Ring
FDDI
Standards:RFC 1459 (1993)[1]

RFC 2810–2813 (2000)[2]
RFC 7194[3]

Schema einesIRC-Netzwerks mitClients (eckig), darunter normale Benutzer (grün),Bouncer (orange), Bots (bläulich) undIRC-Services
Chat von einem IRC-Client aus gesehen

Internet Relay Chat, kurzIRC, bezeichnet ein textbasiertesChat-System. Es ermöglicht Gesprächsrunden mit einer beliebigen Anzahl von Teilnehmern in sogenannten Gesprächskanälen („Channels“), aber auch Gespräche mit nur zwei Partnern (Query).[4] Neue Channels können von jedem Teilnehmer eröffnet werden, ebenso kann man gleichzeitig an mehreren Channel-Gesprächen teilnehmen.

Für die Einwahl wird einNetzwerkprogramm benötigt, wobei dieser „IRC-Client“ ein eigenständiges Programm am lokalen Rechner (z. B.mIRC,XChat) oder auch nureine Benutzeroberfläche imWebbrowser sein kann.

Zur Vermittlung der Gespräche im IRC dient einIRC-Netzwerk, das aus miteinander verbundenenServern (den „Relais“-Stationen) besteht. Wesensmerkmal dieser Netzwerke ist seine vomBITNET übernommene Kommunikationstopologie, wonach zwischen zwei beliebigen Teilnehmern immer nur genau ein Kommunikationspfad existiert. Dies stellte historisch eine effiziente Kommunikation sicher, denn in der Anfangszeit des IRC hatten interkontinentale Datenleitungen eine stark begrenzte Kapazität. Die Topologie ermöglichte es, dass eine Nachricht eines Clients auf einem Kontinent nicht für jeden Client auf dem anderen Kontinent einzeln über die Interkontinentalleitung gesendet werden musste, sondern nur einmal an einen dortigen Server, der sie dann an die Clients weiterverteilte. So waren trotz beschränkter Leitungskapazitäten sehr große „Chatlandschaften“ möglich. Nachteil des Prinzips ist die fehlende Redundanz, die sich inNetsplits äußert: Fällt irgendein Server aus, zerfällt das Netzwerk automatisch in voneinander getrennte Teile, bis dazwischen wieder eine neue Verbindung hergestellt wurde.

Die größten IRC-Netzwerke bestehen aus mehreren DutzendIRC-Servern, die gleichzeitig über 100.000 Benutzer verbinden und zehntausende Channels verwalten, 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.

Entwicklung

[Bearbeiten |Quelltext bearbeiten]
Der erste IRC-Server, tolsun.oulu.fi (Sun-3)

Die ursprüngliche Idee eines Chat-Netzwerkes entstand imBITNET unter dem NamenRelay Chat. Dieses System wurde vom finnischen StudentenJarkko Oikarinen, der an derFakultät fürInformatik derUniversitä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 imIRCnet (meistens europäische Betreiber) und imEFnet (hauptsächlich Betreiber in denUSA) wieder. Heute gibt es tausende voneinander unabhängige Netze. Große Netze sindQuakeNet, EFnet, IRCnet,Undernet,Libera Chat undfreenode, kleinere etwaDALnet,euIRCnet, FurNet,OFTC oderGameSurge. In allen Netzwerken können aufgrund von Netzwerkproblemen oder -überlastung auchNetsplits 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 vonSchwarzkopien spielt zunehmend eine Rolle. Das Chatsystem ist textbasiert, erlaubt jedoch über weitere Kommandos auch den Austausch von Dateien und sonstigen Informationen über eineDirect-Client-to-Client-Verbindung (DCC) zweier User. Automatisierte DCC-Downloadmöglichkeiten werden auchXDCC genannt.

Protokoll

[Bearbeiten |Quelltext bearbeiten]

Beim ursprünglichen IRC kommt ein aufIP undTCP basierendes, textorientiertesProtokoll zum Einsatz.

Nutzerinduzierte Befehle

[Bearbeiten |Quelltext bearbeiten]

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

Ein Beispiel für einen oft verwendeten Befehl ist/whois Nickname, der üblicherweise genau so einfach in einem Textfeld des IRC-Clients eingegeben werden kann. Der vorangestellteSlash (/) 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 alsowhois Nickname, wobeiwhois den Befehl undNickname den Parameter darstellt.

Kommunikation

[Bearbeiten |Quelltext bearbeiten]

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 nurdurchrouten, 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 einenReply-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 speziellesServer-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

[Bearbeiten |Quelltext bearbeiten]

Für IRC gibt es viele eigenständige Protokoll-Erweiterungen. Viele Befehle wurden ergänzt oder deren Syntax erweitert. Oftmals sind auch die so genanntenChannelmodes undUsermodes 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 verwendetenIRC-Serversoftware ab.

Es existiert deshalb nur unzureichende Dokumentation und Standardisierung dieser Erweiterungen.RFC 1459[1] beschreibt das ursprüngliche Protokoll, wovon die meisten Mechanismen und Befehle bis heute gültig sind und die Basis für anderweitige Erweiterungen des Protokolls sind. Dennoch sind diverse beschriebene Details durch die Weiterentwicklungen derServer-Software in den einzelnenIRC-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.[2] Sie haben jedoch in der Praxis wenig bis keinerlei Bedeutung, da diese im Alleingang von Christophe Kalt, dem Programmierer vonIRCnet 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

[Bearbeiten |Quelltext bearbeiten]

IRC kann sowohl in der Grundformunverschlüsselt, aber auf den meisten Netzwerken auch über eineSSL/TLS-verschlüsselte Verbindung benutzt werden. Clientübergreifend besteht auch die Möglichkeit, Nachrichten clientseitig zu verschlüsseln.

Eine Möglichkeit bietet die Verschlüsselung mitFiSH. FiSH verschlüsselt Channels mittels einessymmetrischen 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 (Query)[4] zwischen zwei Teilnehmern abzusichern. Hier kommt einasymmetrisches Kryptosystem zum Einsatz. MittelsDiffie-Hellman-Schlüsselaustausch wird ein Key zwischen den Teilnehmern ausgehandelt. FiSH-Plug-ins gibt es für gängige IRC-Clients wiemIRC,XChat oderirssi. AufAndroid bietetAndroIRC FiSH-Support.

Eine weitere Möglichkeit der Verschlüsselung bietetOff-the-Record Messaging (OTR). Im Gegensatz zu FiSH setzt OTR ausschließlich auf einPublic-Key-Verfahren, einasymmetrisches Kryptosystem. Auch hier kommt derDiffie-Hellman-Schlüsselaustausch zum Einsatz. Daher kann OTR auch nur das Query[4] verschlüsseln, nicht jedoch die gesamte Kommunikation in einem Channel. OTR gibt es alsPlug-in fürPidgin,XChat undirssi.

Zeichensätze

[Bearbeiten |Quelltext bearbeiten]

Da kein Zeichensatz festgelegt ist (wie es z. B. beiXMPP 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

[Bearbeiten |Quelltext bearbeiten]

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

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

Channels

[Bearbeiten |Quelltext bearbeiten]

Die Kommunikation mit einer Gruppe von Benutzern erfolgt innerhalb eines sogenanntenChannels (englisch fürKanal).Channels werden mit einem vorangestellten# gekennzeichnet.Mit dem Befehl/list können die Channel desIRC-Servers angezeigt werden, mit dem man verbunden ist.Mit dem Befehl/join #channelname kann man einem Channel beitreten.

Wird ein noch nicht vorhandener Channel betreten, legt der IRC-Server diesen üblicherweise an und gibt dem Benutzer die Kontrollrechte über den Channel (Channel Operator, kurzChanOP). Sobald der letzte Benutzer einen Channel verlässt, wird der Channel aufgelöst. Viele IRC-Netzwerke bieten allerdings für ChannelsBots 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 prinzipiellesBesitzrecht für einen Channel oder auch für einenNickname 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

[Bearbeiten |Quelltext bearbeiten]

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

Sicherheit

[Bearbeiten |Quelltext bearbeiten]

Wie generell imInternet 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 (ohneSSL/TLS) ein Mitlauschen von Konversationen und Passwörtern möglich ist.

Siehe auch

[Bearbeiten |Quelltext bearbeiten]

Weblinks

[Bearbeiten |Quelltext bearbeiten]

Einzelnachweise

[Bearbeiten |Quelltext bearbeiten]
  1. abRFC:1459 –Internet Relay Chat Protocol. Mai 1993 (englisch).
  2. abRFC:2810 –Internet Relay Chat: Architecture. April 2000 (englisch).
    RFC:2811 –Internet Relay Chat: Channel Management. April 2000 (englisch).
    RFC:2812 –Internet Relay Chat: Client Protocol. April 2000 (englisch).
    RFC:2813 –Internet Relay Chat: Server Protocol. April 2000 (englisch).
  3. RFC:7194 –Default Port for Internet Relay Chat (IRC) via TLS/SSL. August 2014 (englisch).
  4. abcRFC:1459 –Internet Relay Chat Protocol. Mai 1993, Abschnitt 1 (englisch).
Abgerufen von „https://de.wikipedia.org/w/index.php?title=Internet_Relay_Chat&oldid=259520922
Kategorien:

[8]ページ先頭

©2009-2026 Movatter.jp