IRC (Internet Relay Chat) is a vast network of clients (users) and servers and can be thought of as a mass text based teleconferencing system. The clients are connected to the servers, which are connected to each other in a kind of expanding tree like structure so that all points on the network are linked. Some of the servers don't have clients connected to them but act as hubs and routers for switching and relaying the data to other servers.
When you sent text to a channel on IRC, the message is sent to each server that has clients on the particular channel, and each server then relays the message to its clients. The message will only be sent to the servers that have clients on the particular channel, and only those clients on the channel will receive the message.
Thinking about the path that these messages have to take to get to all the servers and the fact that it must be relayed to all servers with clients on the channel and then to all clients on the channel, it is easy to understand why the concept of "lag" occurs. If one or more of these servers isn't doing the job of relaying properly, it can take considerable time for all clients to see the message. not to mention that there can be lag along the path the client is connected to the IRC server itself, as often there are many hops (routing servers) in the path to get to the IRC server from your ISP. Typically, your chat messages must pass through 10 or more hops just to get to the IRC server.


No comments:
Post a Comment