RFC IRC : Protocole de discussions relayées par internet



Groupe de Travail Réseau J. Oikarinen
Requête pour commentaires: 1459  D. Reed
Mai 1993

Statut de ce mémo

Ce mémo défini un protocole expérimental pour la communauté internet. Des discussions et suggestions d'améliorations sont attendues. Veuillez vous référer à la version courante de "IAB Official Protocol Standards" pour connaître l'état de standardisation et le statut de ce protocole. La distribution de ce mémo n'est pas limitée.

Résumé

Le protocole IRC a été développé au cours des 4 dernières années. Il a été initialement implémenté pour permettre aux utilisateurs d'un BBS pour discuter entre eux. Maintenant, il est utilisé sur un réseau mondial de serveurs et de clients, et a du mal à gérer sa croissance. Au cours des deux dernières années, le nombre moyen d'utilisateurs connectés au réseau IRC principal a été multiplié par 10.

 Le protocole IRC et un protocole en mode texte, dont le client le plus simple est n'importe quel programme de TCP capable de se connecter à un serveur.
 
 

Table des matières

   1.  Introduction
      1.1  Serveurs
      1.2  Clients
         1.2.1 Opérateurs
      1.3 Canaux
      1.3.1 Opérateurs de canaux
   2. Spécification IRC
      2.1 Aperçu
      2.2 Les jeux de caractères
      2.3 Messages
         2.3.1 Le format de message en 'pseudo' BNF
      2.4 Réponses numériques
   3. Concepts IRC
      3.1 Communication un à un
      3.2 Un à plusieurs
         3.2.1 A une liste
         3.2.2 A un groupe (canal)
         3.2.3 A un masque d'hôte/de serveur
      3.3 Un à tous
         3.3.1 Client à client
         3.3.2 Client à serveur
         3.3.3 Serveur à serveur
   4. Détails des messages
      4.1 Etablissement de connection
         4.1.1 Message PASSWORD 
         4.1.2 Message NICK
         4.1.3 Message USER
         4.1.4 Message SERVER
         4.1.5 Message OPER
         4.1.6 Message QUIT
         4.1.7 Message SQUIT
      4.2 Opérations sur les canaux
         4.2.1 Message JOIN
         4.2.2 Message PART
         4.2.3 Message MODE
            4.2.3.1 Les modes des canaux
            4.2.3.2 Les modes des utilisateurs
         4.2.4 Message TOPIC
         4.2.5 Message NAMES
         4.2.6 Message LIST
         4.2.7 Message INVITE
         4.2.8 Message KICK
      4.3 Requêtes et commandes des serveurs
         4.3.1 Message VERSION
         4.3.2 Message STATS
         4.3.3 Message LINKS
         4.3.4 Message TIME
         4.3.5 Message CONNECT
         4.3.6 Message TRACE
         4.3.7 Message ADMIN
         4.3.8 Message INFO
      4.4 Envoi de messages
         4.4.1 Messages privés
         4.4.2 NOTICE
      4.5 Requêtes basées sur les utilisateurs
         4.5.1 Message WHO
         4.5.2 Message WHOIS
         4.5.3 Message WHOWAS
      4.6 Messages divers
         4.6.1 Message KILL 
         4.6.2 Message PING
         4.6.3 Message PONG
         4.6.4 Message ERROR
   5. Messages optionnels
      5.1 Message AWAY
      5.2 Commande REHASH
      5.3 Commande RESTART
      5.4 Message SUMMON
      5.5 Message USER
      5.6 Commande OPERWALL
      5.7 Message USERHOST
      5.8 Message ISON
   6. Réponses 
      6.1 Réponses d'erreur
      6.2 Réponses aux commandes
      6.3 Nombres réservés
   7. Authentification des clients et serveurs
   8. Implémentations actuelles
      8.1 Protocole Réseau: TCP
         8.1.1 Support des sockets Unix
      8.2 Traitement des commandes
      8.3 Distribution de messages
      8.4 La vie d'une connection
      8.5 Etablissement d'une connection serveur à client
      8.6 Etablissement d'une connection serveur/serveur
         8.6.1 Echange des informations d'état des serveurs à la connection
      8.7 Terminaison des connections serveur/client
      8.8 Terminaison des connections serveur/serveur
      8.9 Suivi des changements de pseudonymes
      8.10 Contrôle d'inondation des clients
      8.11 Recherches non bloquantes
         8.11.1 Recherche du nom d'hôte (DNS)
         8.11.2 Recherche du nom d'utilisateur (IDENT)
      8.12 Fichier de configuration
         8.12.1 Autorisation des connections de clients
         8.12.2 Opérateurs
         8.12.3 Autorisation des connections de serveurs
         8.12.4 Admin
      8.13 Appartenance à un canal.
   9. Problèmes actuels
      9.1 Localisation
      9.2 Identifiants
         9.2.1 Pseudonymes
         9.2.2 Canaux
         9.2.3 Serveurs
      9.3 Algorithmes
   10. Support actuel et disponibilité
   11. Considérations de sécurité
   12. Adresses des auteurs