IRCd
# IRCd

Un IRCd, abbreviazione di Internet Relay Chat daemon, è un software che permette di utilizzare il protocollo irc su un server. Il demone rimane in ascolto delle connessioni dei client (fino a un massimo consentito) e quando un client esegue la richiesta di connessione (dopo aver effettuato i controlli su nick, ban, ecc.) fa accedere il client al network, direttamente (hub) o indirettamente (leaf).

## Storia

Il primo IRCd, WiZ on IRC è stato scritto da Jarkko Oikarinen nel 1989. Con l'aiuto di altri progetti tra i quali, quello di Markku Savela (msa on IRC), arrivò alla versione 2.2+msa release.

All'inizio gli IRCd non avevano tutte le funzionalità che troviamo oggi. Ad esempio non esistevano i nomi del canali (ma erano numerati) e lo status di operatore. Comandi oggi inesistenti, erano ad esempio "CHANNEL 0" che permetteva di uscire da tutti i canali.

Arrivati alla versione 2.7 si implementò i nomi dei canali (prima con +canale e poi, come attualmente, con #canale), si istituì la possibilità di ban (mode +b). Successivamente nella versione 2.8 aggiunsero la possibilità di creare canali speciali (oggi in disuso) tra cui: &canale (Canali locali del server) e !canale (Canali di emergenza).

Tutte le successive modifiche furono di minore importanza per gli utenti, anche se fondamentali, tra cui: anti-flood nick e canali, helpop, ecc.

## Funzionalità

### Porte

Le porte normalmente utilizzate sono la 6666, 6667, 6668. Oltre a queste porte l'IRCd apre altre porte per la comunicazione tra altri server, services o stats (solitamente 529 e 194).

### SSL

Integrato nella versione 2.8 è possibile connettersi attraverso una connessione SSL (se il server lo prevede!). Se questo non fosse possibile esistono numerosi tunnel che possono essere utilizzati. La porta standard è la 6697.

### IP

Dalla versione 2.9 è possibile utilizzare sia IPv6 che IPv4.

## Principali IRCd

* Asuka (IRCd)
* Austhex
* Bahamut (IRCd)
* Charybdis (IRCd)
* ConferenceRoom
* Microsoft Exchange
* InspIRCd
* IRCD-Hybrid
* ircd-ratbox
* IRCXpro Server
* OfficeIRC Server
* PleXusIRCd
* QuakeIRCd
* UnrealIRCd
