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
Other Links
- IRC Documents
- Glossry of IRC terms and abbreviations
- How to connect to SorceryNet
- List of IRC Client software
- Valinor SorceryNet Server Page
- SorceryNet Main Site