| User Opinions |
60%
40%
(5 votes)
|
|
Thank you for rating this answer.
|
Internet Relay Chat (IRC) is a form of realtime internet chat. It is mainly designed for group (many-to-many) communication in discussion forums called channels, but also allows one-to-one communication via private message.
IRC was created by Jarkko Oikarinen (nickname "WiZ") in late August 1988 to replace a program called MUT (MultiUser talk) on a BBS called OuluBox in Finland. Oikarinen found inspiration in Bitnet Relay Chat which operated on the Bitnet network.
IRC gained prominence when it was used to report on the Soviet coup attempt of 1991 throughout a media blackout. It was previously used in a similar fashion by Kuwaitis during the Iraqi invasion. Relevant logs are available from ibiblio archive.
Channels and modes
The basic means of communication in an established IRC session is a channel. You can see all the channels in a server using the command /list [#string] [-min #] [-max #] that lists all currently available channels, optionally filtering for parameters (#string for the entire or part of the name, with wildcards, and #min / #max for number of users in the channel).
Users can join to a channel using the command /join #channelname and send messages to it, which are relayed to all other users on the same channel.
Channels that are available across an entire IRC network are prepended with a '#', while those local to a server use '&'.
Other non-standard and less common channel types include '+' channels—'modeless' channels without operators, and '!' channels, a form of timestamped channel on normally non-timestamped networks.
Users and channels may have modes, which are engaged through the use of attributes or command line switches. Modes are abbreviated by single letters so you can string them together concisely.
An example of a user-mode attribute is 'i', which stands for invisible. You cannot tell whether or not an invisible user is on a channel unless you join that channel or use the whois command on its NIC.
A channel-mode example is 'm' (moderated), which specifies that only 'voiced' users and channel operators are allowed to speak on the channel.
By combining the attributes 'k' (keyed - requires a password to join the channel) and 'i' (invite-only - requires an invitation from a channel operator) you can keep user abuse out of the channel.
There are five types of channel modes. Four of the modes will accept an argument. Type A accepting an argument to add/remove values from a list (such as 'b'), Type B accepting an argument that is used when turning the mode 'on' and 'off' (such as 'k'), Type C accepting an argument only when the mode is turned 'on' (such as 'l'), Type D which accepts no arguments and is simply a boolean flag (such as 'm', 'n', and 't'), and Type E (usually called 'class' or 'prefix' modes) that gives or takes a privilege from a user on a channel (such as 'o').
Type E modes (channel classes) specify which users on a channel have privileges and the level of those privileges.
Originally only 'channel operator' (mode 'o') and 'voice' (mode 'v') existed. Channel operator (usually abbreviated chanop or simply 'op') privileges allow a user to kick users off, set modes and change the topic, even if the channel is '+t'.
Voice privileges allow a user to speak on a channel if it is moderated (mode 'm'). Additions to these classes are 'channel owner' (mode 'q') created by Microsoft in its IRCX implementation (and later used by UnrealIrcd); 'half-operator' (mode 'h') which is similar to a chanop, except they cannot set certain modes and can only kick normal users; 'protected'(mode 'a'); 'administrator' (mode 'a' or 'u'); and many more.
Each channel class has an associated prefix that is shown beside a user's nickname whenever associated with that channel. The most common prefixes are '@' for channel operator, '+' for voice, '%' for half-op, '.' or '~' for channel owner, '&' for protected user, '!' or the lesser known '*' for administrator.
Unless the channel is moderated the only effect of +v (voice) is the plus sign appearing beside the nick name. On many channels this is used to indicate seniority or regularity of use, or a kind of "trusted user" flag in case the channel does have to be moderated.
Most IRC networks feature a lot of extra modes not specified in any RFC document. This is a very simple feat for clients to adapt to since a list of all the valid user and channelmodes are sent to clients in the RPL_MYINFO reply upon logon. In addition, the list of channelmodes (and what type of arguments they accept), and the prefixes for class modes are specified in the protocol control reply (RPL_PROTOCTL or 005) sent from most IRC servers when a client connects. This message is used to tell clients what features the server supports, and what its limits are (for example, the maximum number of users you can have on your notify list, or the maximum length of your nickname).
There are also users whose privileges extend to whole servers or networks of servers; these are called IRC Operators. On some IRC implementations, IRC operators are also given channel operator status in every channel, although many people believe that administration of channels and administration of the network should be kept separate, and that IRC operator status does not confer the right to interfere with a particular channel's operation.
Because IRC connections are unencrypted and typically span long time periods, they are an attractive target for malicious hackers. Because of this, careful security policy is necessary to ensure that an IRC network is not susceptible to an attack such as an IRC takeover war. IRC networks also k-line or g-line users or networks that tend to have a harming effect.
IRC served as an early laboratory for many kinds of Internet attacks, such as using fake ICMP unreachable messages to break TCP-based IRC connections ("nuking") to annoy users or facilitate takeovers.
Networks and URLs
There are thousands running IRC networks in the world. They run various implementations of IRC servers, and are administered by various groups of IRC operators, but the protocol exposed to IRC users is very similar, and all IRC networks can be accessed by the same client software.
One can join servers by clicking on a irc://irc.server.net:port/channel web link.
The largest IRC networks have traditionally been grouped in The Big Four — a designation for networks that top the statistics. The Big Four networks change periodically, but due to the community nature of IRC there are a large number of other networks for users to choose from.
The Big Four:
EFnet IRCnet QuakeNet Undernet
Other IRC Networks:
UniBG DALnet Freenode WebChat GameSurge Rizon IRCHighway IRC-Hispano Enter The Game IrCQ-Net DeltaAnime AustNet OFTC

This article is licensed under the GNU Free Documentation License (GFDL). It uses material from the Wikipedia article Internet Relay Chat. More on Wikipedia.
|