Table of Contents

, , , ,

IRC

IRC is an protocol commonly used on the internet that facilitates a text-based chatroom environment. Typically, port 6697 is used with SSL, but historically IRC was a plaintext protocol using port 6667.

Clients

Design

Networks

IRC is designed to be a federated protocol, meaning that an IRC network can be accessible from various different official servers. This federated model can protect from network downtime, due to the lack of a single point of failure, as well as promote diplomacy among the network administration.

Channels

Servers are grouped into channels. Channels start with a pound # symbol and can have various different modes set, represented by a string of flags. They can also have a topic, which is a string that is intended to represent the current topic of conversation, but nowadays is used more like a description for the channel.

Users

A user has four identifying attributes:

Additionally, there is the user's IP and host, but those are not client defined. The IP is only seen by the server; but the host is shown to other clients. Usually the host is an rdns lookup of the client IP, a cloaked (hashed) version of the user's IP, or customized by the user after registering to preserve their anonymity.

IRC client commands

Here are some commands broadly implemented by IRC clients.