• Home
  • InfoBase
  • Dictionaries
  • Member
  • News
  • 中文网站
     Advanced Search
    Read the latest Blogs from IT professionals in the field. Read and write community created documents. Need IT help? Ask our staff. Connect with your peers. Check our Tech Shop for posters, books and software tools. Home

    IRCP (IRC): Internet Relay Chat Protocol

    Internet Relay Chat Protocol (IRCP) enables teleconferencing on Internet, which is well-suited to running on many machines distributely. The IRC protocol has been developed on systems using the TCP/IP network protocol, although there is no requirement that this remain the only sphere in which it operates. The IRC protocol is a text-based protocol, with the simplest client being any socket program capable of connecting to the server.

    A typical setup in Internet Relay Chat (IRC) network involves a single process (the server) forming a central point for clients (or other servers) to connect to, performing the required message delivery/multiplexing and other functions. The server forms the backbone of IRC, providing a point to which clients may connect to talk to each other, and a point for other servers to connect to, forming an IRC network. The only network configuration allowed for IRC servers is that of a spanning tree where each server acts as a central node for the rest of the net it sees.

    To allow a reasonable amount of order to be kept within the Internet Relay Chat (IRC) network, a special class of clients (operators) is allowed to perform general maintenance functions on the network. Another concept in the IRCP is a channel, which is a named group of one or more clients which will all receive messages addressed to that channel.

    IRCP allows communications between two clients, one to many(all) clients, client to server, and server to server. This protocol established the technical foundation for most of the Internet instant message and chatting systems.

    Protocol Structure

    Internet relay Chat Protocol (IRCP) is a text based protocol with many commands. The key commands are:

    • User <username> <hostname> <servername> <realname>: is used at the beginning of connection to specify the username, hostname, servername and realname of a new user.
    • Pass <password>: is used to set a "connection password".
    • Nick <nickname> <hopcount>: is used to give user a nickname or change the previous one.
    • Server <servername> <hopcount> <info>: is used to tell a server that the other end of a new connection is a server
    • Oper <user> <password>: request to get operator privileges
    • Quit <quit message>: a client session is ended with a quit message.
    • Squit <server> <comment>: is needed to tell about quitting or dead servers.
    • Join <channel>: is used by client to start listening a specific channel.
    • Topic <channel>: is used to change or view the topic of a channel.
    • Names <channel>: is used to list all nicknames that are visible to a user on any channel.
    • List <channel>: is used to list channels and their topics.
    • Kick <channel> <user> <comment>: be used to forcibly remove a user from a channel.

    Related Terms: TCP, IP

    Sponsor Source: IRCP is defined by IETF (http://www.ietf.org) in RFC 1459 and updated by RFC 2810, 2811, 2812, 2813.

    Reference:
    http://www.javvin.com/protocol/rfc1459.pdf: Internet Relay Chat Protocol.