IRC - Internet Relay Chat

Cos'è IRC

Internet Relay Chat (IRC) è un modo di comunicare con persone di tutto il mondo nella forma della chat: lo scambio di messaggi scritti che sono inviati e recapitati in tempo reale. IRC consiste in una varietà di reti di server separate, che sono i computer che ospitano lo scambio di messaggi tra utenti.
Generalmente l'utente esegue un programma detto "client" per connettersi ad un server locale su una delle reti IRC. Il server passa le informazioni verso e da altri server di utenti sulla stessa rete. Alcuni esempi di cliente sono mIRC oppure varie utility Java per la WebChat (Lycos Chat, Libero Chat, ...).

Come si è evoluto IRC

Prima di IRC esisteva un comando UNIX detto talk che permetteva di aprire una sessione di chat con un altro utente connesso ad Internet. Questo è un sistema 1 a 1, si deve concordare di essere entrambi connessi e poi si può utilizzare la chat. Questo sistema non permette di interagire con più di due utenti e di condividere i messaggi scritti da un utente ad un altro.
IRC è stato scritto la prima volta dallo studente finlandese Jarkko Oikkarinen nel 1988. Ciò che intendeva sviluppare era un sistema di comunicazione per la sua rete. Questo suo "sistema" si è subito diffuso in più di 60 paesi come sistema di chat multiutente che consente alla gente di incontrarsi in diversi "canali", un posto di ritrovo "virtuale".
IRC è divenuto popolare soprattutto durante la prima guerra del Golfo Persico del 1991, dove utenti di tutto il mondo potevano trovare notizie della ultima ora e scambiarsi pareri. Anche durante il colpo di Stato in ex Unione Sovietica nel 1993 IRC ha avuto questa funzione: gli utenti moscoviti potevano così distribuire al mondo notizie fresche come se fossero degli inviati dal fronte.

Come funziona IRC

Un albero di supporto minimo La descrizione del funzionamento di IRC è stato scritto da Oikkarinen nel 1993 nella RFC 1459. Primariamente IRC è costituita da una rete ad albero di server, che è in un certo senso isotropa, cioè ogni nodo può essere considerato il centro della rete che egli vede (spanning tree). Come in teoria dei grafi, uno spaning tree è un albero di supporto a costo minimo che tocca tutti i nodi del grafo. Non esistono pertanto percorsi ad anello. Si dimostra che ciò è ottimale nel networking per evitare problemi di routing.
Un utente con un apposito client si connette ad uno dei server con un nickname e al momento dell'accesso, tutta la rete deve essere informata sulla presenza di questo client, replicando in tutti i server: il nickname, il nome dell'host dal quale il client ha accesso ad internet ed il nome del server a cui tale host è collegato. Per chiarezza, se io ho il nickname marco67, la mia macchina accede ad internet dall'host pool82184.interbusiness.it (82.184.99.34) e sono attaccato al server chat12.irc.com, l'informazione (marco67, pool82184.interbusiness.it (82.184.99.34), chat12.irc.com) deve essere replicata in tutti i server.
Una speciale classe di client hanno il privilegio speciale di operatori (di solito nelle liste degli utenti che viene visualizzata dal client IRC si distinguono dagli altri utenti perché il loro nick inizia per @). Essi hanno il compito di controllare lo stato della rete di server, prevenire i casi di cattivo routing, e anche di "moderare" le discussioni del canale. Per questo hanno un set di comandi IRC più nutrito, tra cui i comandi per cacciare utenti indesiderati dalla chat (KICK).
Un'altra entità di IRC sono i canali (channels) che sono raggruppamenti di client che vengono creati appena un utente ne definisce uno e vengono rimossi appena l'ultimo client abbandona. Di solito i canali di IRC cominciano con #.

Esiste una nutrita FAQ su http://www.irchelp.org/irchelp/altircfaq.html.

Un client free/GPL esiste ed è Jircii.

Torna all'inizio - I servizi