The Western Isle
valinor | policy | bots | clients | staff | glossary index | search
RFC 2811: Internet Relay Chat: Server Protocol

 

RFC 2811: Internet Relay Chat: Server Protocol







Network Working Group                                           C. Kalt
Request for Comments: 2813                                   April 2000
Updates: 1459
Category: Informational


                  Internet Relay Chat: Server Protocol

Status of this Memo

   This memo provides information for the Internet community.  It does
   not specify an Internet standard of any kind.  Distribution of this
   memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2000).  All Rights Reserved.

Abstract

   While based on the client-server model, the IRC (Internet Relay Chat)
   protocol allows servers to connect to each other effectively forming
   a network.

   This document defines the protocol used by servers to talk to each
   other.  It was originally a superset of the client protocol but has
   evolved differently.

   First formally documented in May 1993 as part of RFC 1459 [IRC], most
   of the changes brought since then can be found in this document as
   development was focused on making the protocol scale better.  Better
   scalability has allowed existing world-wide networks to keep growing
   and reach sizes which defy the old specification.

Table of Contents

1. Introduction
2. Global database
2.1 Servers
2.2 Clients
2.2.1 Users
2.2.2 Services
2.3 Channels
3. The IRC Server Specification
3.1 Overview
3.2 Character codes
3.3 Messages
3.3.1 Message format in Augmented BNF
3.4 Numeric replies
4. Message Details
4.1 Connection Registration
4.1.1 Password message
4.1.2 Server message
4.1.3 Nick
4.1.4 Service message
4.1.5 Quit
4.1.6 Server quit message
4.2 Channel operations
4.2.1 Join message
4.2.2 Njoin message
4.2.3 Mode message
5. Implementation details
5.1 Connection 'Liveness'
5.2 Accepting a client to server connection
5.2.1 Users
5.2.2 Services
5.3 Establishing a server-server connection.
5.3.1 Link options
5.3.1.1 Compressed server to server links
5.3.1.2 Anti abuse protections
5.3.2 State information exchange when connecting
5.4 Terminating server-client connections
5.5 Terminating server-server connections
5.6 Tracking nickname changes
5.7 Tracking recently used nicknames
5.8 Flood control of clients
5.9 Non-blocking lookups
5.9.1 Hostname (DNS) lookups
5.9.2 Username (Ident) lookups
6. Current problems
6.1 Scalability
6.2 Labels
6.2.1 Nicknames
6.2.2 Channels
6.2.3 Servers
6.3 Algorithms
7. Security Considerations
7.1 Authentication
7.2 Integrity
8. Current support and availability
9. Acknowledgements
10. References
11. Author's Address

12. Full Copyright Statement

next

Other Links

  1. IRC Documents
  2. Glossry of IRC terms and abbreviations
  3. How to connect to SorceryNet
  4. List of IRC Client software
  5. Valinor SorceryNet Server Page
  6. SorceryNet Main Site