# IRC-Server

Ein IRC-Server ist grundlegender Bestandteil im Internet Relay Chat und ist ein zentraler Rechner, der die verschiedenen Chatter miteinander verbindet. Gelegentlich bezeichnet man die für solche Zwecke eingesetzte Software selbst als IRC-Server – dieser Artikel diskutiert jedoch die Bezeichnung als IRC-Server des zugehörigen, materiellen Rechners, auf dem eine solche Software – ein IRC-Daemon – läuft.

## Grundlegendes Funktionsprinzip

Chatpartner, die über IRC chatten wollen, verbinden sich mit ihrem IRC-Client zu einem der IRC-Server des gewünschten IRC-Netzwerks. Die Hauptaufgabe der IRC-Server liegt schließlich dann darin, die Gesprächsinhalte zwischen den direkt oder mit anderen Servern des Netzwerks verbundenen Chattern zu vermitteln, was mithilfe einer bestimmten Software – einem IRC-Daemon – realisiert wird.

## Server im Netzwerk

Eine Nachricht, die von einem IRC-Client kommt und an einen Channel gerichtet ist, wird vom Server an alle anderen IRC-Clients verteilt, die am gleichen Channel teilnehmen, auch wenn diese nicht direkt mit dem Server verbunden sind, auf dem sich der sendende Client befindet. Damit können sich verschiedene Nutzer in globalen Channels eines IRC-Netzwerks selbst dann unterhalten, wenn sie mit verschiedenen Servern des Netzwerks verbunden sind, ohne dass sich für sie einen spürbaren Unterschied ergibt.
Die Serversoftware eines Servers tauscht sich mit anderen Servern über Nutzer, Channels und die relevanten Nachrichteninhalte über indirekte oder direkte Verbindungen zu diesen aus. Die Server sind dabei nie mehrfach mit anderen Servern, egal ob direkt oder indirekt, verbunden, sodass sie immer wie in einem verästelten Baum organisiert sind.
Kleine Netzwerke bestehen oft auch aus einem einzelnen Server.

## Servertypen

Innerhalb von IRC-Netzwerken unterscheidet man Leaf und Hub-Server. Leaf-Server nehmen Client-Verbindungen direkt entgegen und sind mit maximal einem anderen Server verbunden, an den sie ggf. Inhalte übertragen. Dies ist dann meistens ein Hub-Server, der mit mehreren Servern verbunden sein kann und die Gesprächsinhalte von den verschiedenen Servern zu entfernteren Zielpersonen sinnvoll routen kann.

## Vorteile und Nachteile

Ein Vorteil des Aufbaus von IRC-Servern in einem Netzwerk ist, dass wenn es die Server nicht als zentrale Instanz gäbe und die Clients stattdessen direkt miteinander verbunden wären, das Konzept der Channel nur schwer umsetzbar wäre, da die zentralen Server immer genau wissen, an wen sie die Nachrichten übermitteln müssen bzw. an welchen weiterleitenden Server, da sich die Server über ihre Nutzer austauschen.
Außerdem bietet dieses Konzept die Möglichkeit der Anonymität einzelner Chatpartner, da diese nur direkt mit dem jeweiligen Server verbunden sind und nur dieser ihre IP-Adresse kennt, nicht jedoch die anderen Chatpartner, insofern der Server diese nicht offen an alle Chatpartner weitergibt (von den Servereinstellungen und der verwendeten IRC-Serversoftware abhängig).
Ein Nachteil dieses Konzepts ergibt sich durch die hohe Anfälligkeit und Attraktivität der zentralen Server als Ziele für Denial-of-Service-Angriffe, mit denen recht einfach für alle Chatter auf den betroffenen Servern die Kommunikation blockiert wird.