Internet Relay Chat Protocol (IRC)
(Page 2 of 3)
IRC Communication Model and Client/Server Operation
IRC is an interesting protocol in that it is not based strictly on the standard client/server model of TCP/IP protocol operation. IRC servers are TCP/IP machines that run IRC server software. They are configured with information that allows them to establish TCP connections to each other; TCP is used because the connections are maintained over a long period of time and reliable transport of data is required. Server connections are used to exchange control information and user data, forming a logical IRC network at the application level, which allows any server to send to any other using intermediate servers as conduits. Servers are managed by IRC operators (IRCops) who have special privileges that allow them to ensure that everything runs smoothly on the network.
The IRC network forms the backbone of the IRC communication service. A user can access the network by running IRC client software on any TCP/IP-enabled device. The user enters the name of one of the servers on the network and establishes a TCP connection to that server. This causes the user to be connected directly to one server, and thus, indirectly to all of the others on the network. This allows that user to send and receive messages to and from all other users connected either to the users server or other servers.
The most common type of communication in IRC is group messaging, which is accomplished using IRC channels. A channel is a virtual meeting place of sorts, and is also sometimes called a chat room (though IRC purists scoff at the use of that term.) Every IRC network has hundreds or even thousands of different channels, each of which is dedicated to a particular type of discussion, ranging from the serious to the silly. For example, a group of people interested in talking about meteorology could establish a channel called #weather where they would meet regularly to discuss various aspects of climatology and interesting weather events.
IRC is an inherently text-based protocol (though it is also possible to use IRC clients to transfer arbitrary files between users, including images and executable programs.) To communicate in a channel, all a user needs to do is enter text in the appropriate spot on the IRC client program; this text is automatically sent to every other member of the channel. The IRC network handles the relaying of these messages in real time from one user, to that users connected server, to other servers in the network, and then to all user machines on those servers. When other users see the first users message they can reply with messages of their own, which will in turn be propagated across the network. Each IRC user chooses a nickname (often abbreviated nick) that is like a handle used for communication while connected to the network.
Home - Table Of Contents - Contact Us
The TCP/IP Guide (http://www.TCPIPGuide.com)
Version 3.0 - Version Date: September 20, 2005
© Copyright 2001-2005 Charles M. Kozierok. All Rights Reserved.
Not responsible for any loss resulting from the use of this site.