You are on page 1of 2

Internet Relay Chat 

(IRC) is a form of real-time Internet text messaging (chat) or synchronous


conferencing. It is mainly designed forgroup communication in discussion forums,
called channels, but also allows one-to-one communication via private message as well as chat
and data transfers via Direct Client-to-Client.

IRC is an open protocol that uses TCP and optionally TLS. An IRC server can connect to other


IRC servers to expand the IRC network.

IRC was originally a plain text protocol[ (although later extended), which on request was
assigned port 194/TCP by IANA. However, the de facto has always been to run IRC on
6667/TCP and nearby port numbers (for example TCP ports 6662-6669) to avoid having to run
the IRCd software with root privileges.

Internet Relay Chat was originally implemented so that users of bulletin board systems could chat with
one another in real time. It has grown considerably since then, and thousands of networks of servers are
now available for public use. The IRC protocol is text based, so programs that connect to IRC servers are
easy to write.
Network of Servers
Each IRC network consists of at least one server. If there is more than one server, they are linked
together to form a spanning tree. A spanning tree is a structure that allows each server in the network to
communicate with all the other servers in the network, even if there is no direct connection between them.
Because the servers in an IRC network are connected like this, two users can talk to each other even if
they are using different servers on the same IRC network.
Clients
Anything that connects to an IRC server that is not another server is called a client. This includes the set
of programs that most people use to chat with each other on IRC. An IRC client can connect directly to
one of the servers on the IRC network and allow the user to chat with other users on the network. When a
private message is sent to another client, it is sent via the IRC network, so there is no need for a separate
connection to be made.
Each client that connects to an IRC network must have a unique nickname. Some servers still enforce a
limit of nine characters for this nickname, but most servers these days allow much longer nicknames.
Nicknames cannot contain spaces or certain punctuation characters.
Channels
Communication on IRC is not limited to just sending messages between pairs of users. IRC is very
strongly oriented toward the concept of channels. A channel is something rather analogous to a room,
where a group of clients can stay and chat as a whole. When a message is sent to a channel, all clients in
that channel will receive it. The process of entering a channel is called joining , and leaving a channel is
known as parting or leaving.
To be strict, parting is the most correct term for leaving a channel. This is because IRC clients send
a PART message to the server when they want to leave a channel. However, most IRC clients provide a
more natural command alias that lets you leave a channel.
All channel names are unique and typically prefixed with a # character. These channels can be joined by
anybody on the entire IRC network. Other prefixes exist, such as &, which is used for channels belonging
only to a particular local server. In any case, channel names cannot contain spaces or commas.
For example, to join the channel #ixibo, you would type:
/join #ixibo
When you are in the #ixibo channel, you can leave it by typing /part or /leave.
A channel does not actually exist until the first client joins it. The channel no longer exists after the last
client has left. If the channel is configured to allow external messages, a client can send messages to the
channel without needing to join it. Most channels disallow this, as it inevitably leads to abuse and
confusion.
An individual client can join more than one channel, but for performance reasons, most servers impose a
limit. When there is a limit, it is usually set to the recommended value of 10. If within the limit, a client can
usually join any channel, but a couple of exceptions are worth noting. A channel can be configured to ban
clients that have a nickname or host mask matching a particular pattern, thus preventing such clients from
joining the channel. Channels can also be set to be “invite only,” which means you must be invited by a
user in the channel before you can join it.
Operators
An operator is a client that has special access to the IRC network. Operators can carry out maintenance
tasks on the network, such as connecting and disconnecting other servers in the network. In extreme
cases, operators may exercise their ability to forcibly remove users from the IRC network. Not only can
they disconnect any client, but they can also prevent that client from reconnecting to the network.
Channel Operators
If you are the first client to join a channel, you will probably be made a channel operator for that channel.
This allows you to kick other clients out of the channel and to set the topic if it is protected. If the channel
is marked as “invite only,” you can issue invitations to other clients on the network. A channel operator
can also change the mode of the channel. This lets you do a variety of tasks including banning certain
users from the channel or making other clients in the channel become channel operators like you. You
can tell if a user is a channel operator, as he will have an @ character in front of his nickname. Most users
refer to channel operators incorrectly as “operators,” or more informally as “ops.

You might also like