IRC has a decentralized network of servers that can be accessed by special client programs. The protocol for IRC is open, and there are many client (and server) implementations.
In IRC protocol commands and text is transfered in plaintext, so it's possible to use IRC via telnet (but that's very inconvenient), and to read intercepted TPC? communication between IRC client and server.
The IRC protocol was originally defined in [RFC 1459]? but has been updated in RFC 2810?, 2811?, 2812? and 2813?.
Today the largest IRC Networks are EFNet, Undernet, IRCNet and Dalnet. They run various implementations of serversoftware, but the basic protocol is the same, and all networks can be accessed by the same IRC Clients.
Popular IRC clients: