Internet Relay Chat or IRC in short, refers to a purely text-based chat system. It allows discussions with any number of participants in the so-called channels. New channels can usually always be opened freely by each participant, as you can simultaneously participate in multiple channels. To participate, an IRC client is used, clients is a classic standalone program (such as mIRC , XChat ) and there are other Internet Relay Chat clients, such as web-based.
To find the communication on IRC, relay stations exist, which is a network consisting of interconnected servers. Essential characteristic of these networks is the BITNET communication topology which assumes that there is always there is exactly one communication path between any two nodes. This was historically an efficient safe communication, because in the early days of Internet Relay Chat or IRC, the intercontinental data lines had a very limited capacity. The topology allowed that a message from a client to be individually sent through the intercontinental line, but only once to a local server, which then further distributed to the clients. Despite limited pipeline capacity, a very large Chat system could be made possible. Disadvantage of the principle is the lack of redundancy.If from any server, the network is divided automatically into separate parts, again a new connection is established.
The largest IRC networks consist of several dozen IRC servers that simultaneously connect more than 100,000 users and tens of thousands of channels, to each of which several thousands of peoples can participate simultaneously.
Development and Protocol of Internet Relay Chat or IRC
The original idea of a chat network was established in BITNET under the name Relay Chat. It was installed by Finnish students, at the faculty for computer science of the University of Oulu, in the summer of 1988 on the Internet.
Over time, the network grew to such a size that it firstly came to technical problems and on the other hand was too confusing and chaotic. Thus, from about 1993 other independent, smaller networks came. Then the original network was divided to different operators in summer of 1996. These parts can be found today in IRCnet (mostly European operators) and in the EFnet (mainly operators in the United States ). Today there are thousands of independent networks. Large networks simultaneously with more than 50,000 clients connected are QuakeNet, EFnet, IRCnet, Undernet and Freenode, smaller are DALnet, euIRCnet, FurNet or Game Surge.
The networks differ in regional priorities, languages, themes and services offered. The acceptance or tolerance of sex and channels for the distribution of black copies increasingly plays a role. The chat system is text-based, but allows more commands on the exchange of files and other information via a direct client-to-client connection (DCC) of two users. Automated DCC download locations are also valid.
Original IRC used TCP/IP-based, text-based protocol. It is common at IRC, that the users directly in the communication intervene between their client and the IRC server by sending your own messages / commands. An example of a command often used would be / whois nickname, which can be as simple typed exactly in a text field of the IRC clients. The preceding slash (/) indicates that the IRC client is sending a message.
Communication System of Internet Relay Chat or IRC
All communication between client and server and the servers to each other is via messages in command form with a maximum length of 512 characters. A message consists of a sender (prefix) and additional command parameters. The parameters are dependent on the command. For commands from client to server, the sender is usually omitted, since no other sender is used as the client itself is in question.
Server communicate to each other only with messages with sender information, as servers often messages by route and this target and source of a message are required information. This is a three-digit number with a defined meaning. Again, however, differs lack of consultation from the importance of network to network.
The IRC or Internet Relay Chat protocol caused overhead, which in turn has a lot of unnecessary traffic result. To reduce the cost, in some chat systems, a special server-to-server protocol is used, which provides a token instead of the full instruction, for example, for communication between the servers.
For IRC there are many stand-alone protocol extensions. Many commands have been added or expanded their syntax. Often the so-called are channel modes and user modes added new modes. The development of these extensions is largely expired independently and disorganized in the various IRC networks and generally depends on the used IRC server software.
There is therefore insufficient documentation and standardization of these extensions, RFC 1459 describes the original protocol, most of which mechanisms and commands to this day are valid and are the basis for other extensions to the protocol. Nevertheless, various details described by the advancements of are server software in the various IRC networks out of date and also at any point centrally documented in its new shape. Furthermore, there are RFC 2810 , RFC 2811 , RFC 2812 and RFC 2813 . However, they have in practice little or no meaning, as they single-handedly by Christophe Kalt, the programmer of IRCnet have version 2.9, written. In particular, in the field of communications between servers within a network also partially condensed (and thus incompatible) variations of the protocol can be used.
IRC can be used both in the basic form unencrypted, but on most networks, from an SSL / TLS -encrypted connection will be used. Encrypted data transmission, for example, even with the protocol SILC possible (SILC but differs fundamentally from IRC and is not compatible with this). Client Cross is also possible to encrypt messages on the client side.
One option provides encryption with FiSH. FiSH encrypted channels uses a symmetric cryptosystem. For this, a key will be set for the channel to be encrypted, which must be communicated to all participants. Android offers AndroIRC FiSH support.
Another way of encryption provides off-the-Record Messaging (OTR). Unlike FiSH OTR relies exclusively on a public-key method, an asymmetric cryptosystem.