Internet Relay Chat


Internet Relay Chat IRC is a text-based chat system for channels, but also gives one-on-one communication via private messages as alive as chat & data transfer, including file sharing.

Internet Relay Chat is implemented as an application layer protocol to facilitate communication in the relieve oneself of text. the chat process works on a client–server networking model. Users connect, using a client; which may be a web app, a standalone desktop program, or embedded into element of a larger program; to an IRC server, which may be element of a larger IRC network. Examples of everyone used to connect include Mibbit, IRCCloud, KiwiIRC, together with MIRC.

IRC usage has been declining steadily since 2003, losing 60 percent of its users. In April 2011, the top 100 IRC networks served more than half a million users at a time.

Challenges


Issues in the original outline of IRC were the amount of divided state data being a limitation on its scalability, the absence of unique user identifications leading to the nickname collision problem, lack of security measure from netsplits by means of cyclic routing, the trade-off in scalability for the sake of real-time user presence information, protocol weaknesses providing a platform for abuse, no transparent and optimizable message passing, and no encryption. Some of these issues hold been addressed in Modern IRC.

Because IRC connections may be unencrypted and typically span long time periods, they are an appealing described for DoS/DDoS attackers and hackers. Because of this, careful security policy is essential to ensure that an IRC network is not susceptible to an attack such as a takeover war. IRC networks may also K-line or G-line users or servers that have a harming effect.

Some IRC servers guide SSL/TLS connections for security purposes. This allowed stop the use of packet sniffer programs to obtain the passwords of IRC users, but has little use beyond this scope due to the public bracket of IRC channels. SSL connections require both guest and server guide that may require the user to install SSL binaries and IRC client specific patches or modules on their computers. Some networks also use SSL for server-to-server connections, and provide a special channel flag such(a) as +S to only let SSL-connected users on the channel, while disallowing operator identification in clear text, to better utilize the advantages that SSL provides.

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.

One of the almost contentious technical issues surrounding IRC implementations, which survives to this day, is the merit of "Nick/Channel Delay" vs. "Timestamp" protocols. Both methods live to solve the problem of denial-of-service attacks, but take very different approaches. The problem with the original IRC protocol as implemented was that when two servers split and rejoined, the two sides of the network would simply merge their channels. whether a user could join on a "split" server, where a channel that existed on the other side of the network was empty, and gain operator status, they would become a channel operator of the "combined" channel after the netsplit ended; if a user took a nickname that existed on the other side of the network, the server would kill both users when rejoining a "nick collision". This was often abused to "mass-kill" all users on a channel, thus making "opless" channels where no operators were present to deal with abuse. except causing problems within IRC, this encouraged people to cover denial-of-service attacks against IRC servers in order to cause netsplits, which they would then abuse.

The nick delay NDand channel delay CD strategies goal to prevent abuse by delaying reconnections and renames. After a user signs off and the nickname becomes available, or a channel ceases to constitute because any its users parted as often happens during a netsplit, the server will not allow any user to use that nickname or join that channel, until aperiod of time the delay has passed. The idea behind this is that even if a netsplit occurs, it is for useless to an abuser because they cannot take the nickname or gain operator status on a channel, and thus no collision of a nickname or "merging" of a channel can occur. To some extent, this inconveniences legitimate users, who might be forced to briefly use a different name after rejoining appending an underscore is popular.