RFC IRC : Introduction
Le protocole IRC (Internet Relay Chat) a
été conçu pendant de nombreuses années pour l'usage de conférences en mode
texte. Ce document décrit le protocole IRC actuel.
Le protocole IRC a été développé sur des systèmes utilisant le
protocole réseau TCP/IP, bien qu'il n'y ait pas de raison que cela reste la
seule sphère dans laquelle il opère.
L'IRC, en lui-même, est un système de téléconférence qui (grâce à
l'utilisation d'un modèle client/serveur) et se prête à une exécution sur de
nombreuses machines, de façon distribuée. Une configuration type comprend un
processus unique (le serveur) qui fourni un point d'accès pour les clients (ou
d'autres serveurs), et qui traite l'acheminement / le multiplexage requis de
messages, ainsi que d'autres fonctions.
1.1 ServeursLe serveur est la colonne vertébrale de
l'IRC. Il fournit un point auquel peuvent les clients peuvent se connecter pour
parler entre eux, et un point auquel les autres serveurs peuvent se connecter,
formant un réseau IRC. La seule configuration de réseau autorisée est celle d'un
arbre [voir Fig. 1] où chaque serveur agit comme un noeud central pour la partie
du réseau qu'il voit.
[ Serveur 15 ] [ Serveur 13 ] [ Serveur 14]
/ \ /
/ \ /
[ Serveur 11 ] ------ [ Serveur 1 ] [ Serveur 12]
/ \ /
/ \ /
[ Serveur 2 ] [ Serveur 3 ]
/ \ \
/ \ \
[ Serveur 4 ] [ Serveur 5 ] [ Serveur 6 ]
/ | \ /
/ | \ /
/ | \____ /
/ | \ /
[ Serveur 7 ] [ Serveur 8 ] [ Serveur 9 ] [ Serveur 10 ]
:
[ etc. ]
:
[ Fig. 1. Format d'un réseau de serveur IRC ]
1.2 ClientsUn client est un truc qui se connecte à un
serveur et qui n'est pas un autre serveur. Chaque client est différencié des
autres clients par un pseudonyme unique ayant une longueur maximale de neuf (9)
caractères. Voir les règles de grammaire du protocole pour ce qui est autorisé
et ce qui ne l'est pas dans un pseudonyme. En plus de leur pseudonyme, tous les
serveurs doivent connaître les informations suivantes sur tous les clients : le
vrai nom de l'hôte sur lequel le client est exécuté, le nom de l'utilisateur du
client sur cet hôte, et le serveur auquel le client est connecté.
1.2.1 OpérateursPour permettre de maintenir un niveau
d'ordre raisonnable dans un réseau IRC, une catégorie de clients spéciale (les
opérateurs) est autorisée à exécuter des fonctions de maintenance générale sur
le réseau. Bien que les pouvoirs donnés aux opérateurs peuvent être considérés
comme 'dangereux', ils sont néanmoins indispensables. Les opérateurs doivent
être capable de faire certaines tâches de base, telles que la déconnexion de la
reconnection aux serveurs, ce qui est nécessaire pour prévenir les problèmes à
long terme de mauvais routage réseau. Etant donné cette nécessité, le protocole
décrit ici n'autorise que les opérateurs à effectuer ces fonctions. Voir les
section 4.1.7
(SQUIT) et 4.3.5
(CONNECT).
Un pouvoir plus controversé des opérateurs est la possibilité de
retirer par la force un utilisateur connecté au réseau, c'est à dire que les
opérateurs peuvent clore une connection entre un client et un serveur. La
justification à cela est délicate puisque son abus est à la fois destructif et
ennuyant. Pour plus de détails concernant ce type d'actions, voir la section 4.6.1 (KILL).
1.3 Les canauxUn canal est groupe nommé d'un ou
plusieurs clients qui recevront tous les messages adressés à ce canal. Les
canaux sont créés implicitement quand le premier client y accède, et le canal
disparaît lorsque le dernier client le quitte. Tant qu'un canal existe, tous les
clients peuvent y accéder en utilisant le nom du canal.
Les noms de canaux sont des chaînes de caractères (commençant par un
caractère '&' ou '#') d'une longueur maximale de 200 caractères. En dehors
du fait que le premier caractère doive être un '&' ou un '#', la seule
restriction sur le nom d'un canal est qu'il ne peut pas contenir d'espace (' '),
de contrôle G (^G ou ASCII 7), ou de virgule (',' qui est utilisée comme
séparateur de liste dans le protocole).
Il y a deux types de canaux autorisés par ce protocole. L'un est un
canal distribué, qui est connu de tous les serveurs connectés au réseau. Ces
canaux commencent par un '#'. L'autre type de canal, reconnaissable à leur nom
qui commence par un '&', est marqué comme n'étant accessible qu'aux clients
du serveur où le canal existe. En plus de ces deux types, il existe différents
modes de canaux, permettant de modifier leur comportement individuel. Voir la
section 4.2.3
(commande MODE) pour avoir plus de détails à ce sujet.
Pour créer un nouveau canal, ou pour faire partie d'un canal existant, un
utilisateur doit accéder au canal. Si le canal n'existe pas avant l'accès, le
canal est créé et l'utilisateur créateur devient opérateur de canal. Si le canal
existait déjà au moment de l'accès, l'autorisation ou non d'accès dépend du mode
du canal. Par exemple, si le canal est en "invités uniquement" (+i), vous ne
pourrez joindre le canal que si vous êtes invités. Le protocole spécifie qu'un
utilisateur peux être membre de plusieurs canaux à la fois, mais une limite de
dix (10) canaux est recommandée comme étant amplement suffisante aussi bien pour
les utilisateurs novices que pour les experts. Voir la section 8.13 pour plus
d'informations à ce sujet.
Si le réseau IRC devient disjoint en raison d'une division entre deux
serveurs, le canal, de chaque côté, est composé de ceux des clients qui sont
connectés aux serveurs du côté respectif de la division, et disparaissent d'un
des côtés de la division. Lorsque la division est soignée, les serveurs se
reconnectant se communiquent entre eux qui, d'après eux, est dans chaque canal,
et le mode de ce canal. Si le canal existe des deux cotés, les accès et les
modes sont interprétés de façon inclusive pour que les deux côtés de la nouvelle
connection soient d'accord sur quels clients sont dans quels canaux et quels
modes ont les canaux.
1.3.1 Les opérateurs de canauxLes opérateurs de canaux
(aussi appelés "chanop") sur un canal donné, sont considérés comme étant
propriétaires du "canal". A ce titre, les opérateurs de canaux sont dotés de
certains pouvoirs qui leur permettent de garder le contrôle et une forme sanité
à leur canal. En tant que propriétaire d'un canal, un opérateur de canal n'est
pas tenu d'avoir de raisons pour agir, bien que si leur action sont généralement
antisociales ou abusives, il pourrait être raisonable de demander a un opérateur
IRC d'intervenir, ou pour les utilisateur de simplement quitter et aller
ailleurs pour former leur propre canal.
Les commandes réservées aux opérateurs de canaux sont : KICK - Ejecte un
client d'un canal MODE - Change le mode d'un canal INVITE - Invite un
client dans un canal à accès sur invitation (mode +i) TOPIC - Change le
titre du canal, dans un canal en mode +t
Un opérateur de canal est identifié par un symbole '@' devant son pseudonyme
à chaque fois qu'il est utilisé en association avec le canal (c'est à dire lors
des réponses aux commandes NAMES, WHO et WHOIS)
|