Internet Relay Chat (IRC ; francese: “discussion relayée par Internet”) è unprotocollo di comunicazionetestuale suInternet. Viene utilizzato perla comunicazione istantaneaprincipalmente sotto forma di chat di gruppo attraverso i canali di chat, ma può essere utilizzato anche per la comunicazione uno a uno. Può essere utilizzato anche per il trasferimento di file.
Fine progettata agosto 1988, IRC è stato descritto per la prima volta in RFC 1459 da Jarkko Oikarinen (soprannominato "WiZ") e Darren Reed, quindi rivisto in RFC 2810 in RFC 2813. IRC è stato creato per sostituire un programma chiamato MUT ( MultiUser talk ) su un BBS finlandese (OuluBox) . Oikarinen è stato ispirato dalla Bitnet Relay Chat della rete Bitnet .
Alla fine degli anni '90, l'utilizzo di IRC è diminuito con l'arrivo di programmi di messaggistica istantanea proprietari come ICQ e poi MSN Messenger . Nel 2009, tuttavia, IRC è rimasto utilizzato in alcuni ambienti che desiderano fare a meno di un programma client proprietario e apprezzano la sua interoperabilità e la sua organizzazione sotto forma di canali che favoriscono la comunicazione di gruppo. La maggior parte dei software di messaggistica istantanea implementa ancora il protocollo IRC ( Miranda IM , Pidgin , Trillian per esempio).
Nel marzo 2009, le cento maggiori reti IRC possono fornire servizi a più di 500.000 utenti contemporaneamente, con diverse centinaia di migliaia di canali (la maggior parte dei quali però inattivi), attraverso circa 1.500 server in tutto il mondo.
Il protocollo di comunicazione descrive una rete di computer composta da più server collegati senza loop in cui i client generalmente comunicano attraverso il server (che eventualmente ritrasmetterà il messaggio al resto della rete). È anche possibile collegare direttamente due client per una conversazione privata o un trasferimento di file, questo è il DCC .
IRC è un protocollo che utilizza TCP e facoltativamente TLS . Un server IRC può connettersi ad altri server IRC. Una rete IRC è un insieme di server IRC collegati tra loro che ritrasmettono messaggi se necessario, formando così un'architettura distribuita. L'utente utilizza il software client IRC per connettersi a uno dei server della rete, la scelta del server è irrilevante.
Essendo il protocollo aperto e descritto da una RFC , il numero di software client esistenti è importante per tutti i sistemi operativi e la loro interoperabilità garantita dalla RFC.
IRC era all'inizio un protocollo di testo, successivamente esteso allo scambio di contenuti binari , per il quale IANA ha assegnato la porta TCP/194. Tuttavia, l'uso è stato esteso alle porte 6665-6669 per poter essere utilizzato come porta maggiore di 1024 da utenti che non dispongono di privilegi di superutente ( root ) e quindi hanno avviato processi IRCd.
Il protocollo definiva solo caratteri di dimensione definita su 8 bit , limitando le diverse possibili codifiche nonché il numero di caratteri. Ciò pone sempre problemi a seconda dei client utilizzati e della loro lingua predefinita, a causa dell'incompatibilità che talvolta si genera tra i client.
La maggior parte dei server IRC non richiede la registrazione tramite un account, quindi l'utente può scegliere liberamente il proprio nickname finché è disponibile.
Oltre alla chat di gruppo, una funzionalità disponibile per IRC è il trasferimento di file tramite la funzione DCC . Tuttavia, oltre alla funzione /dcc send , il DCC è stato utilizzato per una chat /dcc chat tra 2 utenti, che ha evitato di subire un ritardo.
Un server IRC è normalmente gestito da uno o più IrcOps , una contrazione anglofona di IRC Operator o IRC operator. Le operazioni venivano nominate dagli amministratori del canale, ad esempio per cooptazione, in modo effimero o costante (registrato).
L'elemento base per comunicare in rete è il canale ( canale nella specifica). Un canale è definito da un elenco di utenti ad esso collegati.
Per inserire un canale o per creare un canale se non esiste, l'utente utilizza il comando join.
I canali sono visibili da tutta la rete, il loro nome è poi preceduto dal carattere incrociato “ # ”; possono essere anche canali locali, veicolati solo da un server, il loro nome in questo caso è preceduto dal carattere e commerciale “ & ”.
Le modalità sono opzioni posizionate su canali o utenti e che influenzano la loro modalità operativa, i privilegi e le interazioni con altre entità IRC.
Modalità standard ( RFC 1459)Lettera | Simbolo | Descrizione |
---|---|---|
io | Invisibile: a parte la comune partecipazione ad un canale, l'utente non è visibile agli altri. | |
S | Riceve tutte le notifiche dal server. | |
w | Riceve tutti i messaggi inviati dal comando "wallop". | |
o | L'utente è un operatore IRC (da non confondere con la modalità canale “o”). |
Lettera | Simbolo | Impostazioni) | Descrizione |
---|---|---|---|
o | @ | nome dell'utente interessato | Operatore di canale: può cambiare le modalità del canale e dare il via ad altri utenti. |
a | & / @ | nome dell'utente interessato | ChanMaster: può cambiare modalità di canale, impostare ban permanenti e cacciare gli utenti. |
q | ~ / @ | nome dell'utente interessato | Proprietario: proprietario di un canale con accesso completo al canale. |
h | % | nome dell'utente interessato | Halfop: ha accesso limitato ai comandi, agli utenti voce e voce, espelle e banna gli utenti per un breve periodo. |
v | + | nome dell'utente interessato | Verbose o Voiced: autorizza l'utente a parlare su un canale moderato (modalità “+ m”). |
S | Canale segreto; il canale è completamente invisibile. | ||
p | Canale privato; il nome del canale è invisibile. | ||
non | Non sono ammessi messaggi esterni. | ||
m | Canale moderato, solo gli utenti in modalità "+ v" e gli operatori possono inviare un messaggio. | ||
io | Canale accessibile solo su invito (comando "/ invite"). | ||
t | Oggetto del canale modificabile solo dagli operatori del canale. | ||
l | limite | Imposta il limite al numero di utenti sul canale su "limite". | |
b | utente | Esclude l'utente "utente". | |
K | chiave | Solo gli utenti che conoscono la chiave "chiave" potranno connettersi al canale. |
Molti sviluppatori hanno aggiunto nuove modalità o modificato modalità già esistenti sui propri server.
Un comando IRC è sempre definito dal carattere "/" posto all'inizio della riga. Questo comando può essere un comando definito dalla RFC o un comando collegato al client o al server. Se una riga non inizia con "/", viene inviata come messaggio al canale attivo.
Ad esempio, per unirsi a un canale, un utente deve eseguire /join #canal.
I bot IRC o bot IRC sono programmi eseguiti da server o computer per eseguire azioni automaticamente su un canale IRC.
Esistono diverse reti, ciascuna composta da più server.
Le reti IRC storicamente più importanti sono:
Negli anni 2000 sono apparse due nuove reti specializzate:
Creato nel 1995 da Rob Levin , è stato ribattezzato Freenode inagosto 2002 e costituita come associazione senza fini di lucro nello stesso anno.
Il server ospita progetti open source e cultura libera.
La rete è stata creata nel 1997 per ospitare comunità di giocatori di videogiochi Quake . Successivamente, verrà utilizzato da giocatori di altri giochi, come Counter Strike. Al suo apice nel 2005, ha raggiunto 242.125 utenti.
EpiKnet è la principale rete generalista francofona.
La rete è stata utilizzata per sviluppare un corpus di francese utilizzato su IRC e un'analisi sui segni modali come interiezioni o emoticon , alla luce della semiotica e della pragmatica .
La chat sull'anglicismo viene spesso utilizzata per descrivere le discussioni che si svolgono su IRC. In francese, alcuni usano "chatter", tchatche , tchat o "chat" (principalmente in Quebec). In Quebec, all'inizio del fenomeno della conversazione istantanea, l'ortografia "ch @ t" veniva talvolta utilizzata dai media.