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.
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.
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.
A user has four identifying attributes:
nickname How you will be seen in chat and user lists. Only ASCII. No spaces.realname Optional field that supports spaces and unusual characters.ident/username For SASL.password (not shown to other clients)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.
Here are some commands broadly implemented by IRC clients.
/join <channel> Subscribes you to a channel. /part Leaves a channel and incurs a part message defined by your client./whois <nick> Queries info about another person in the same channel.