EFnet
In August 1990 the first major disagreement took place in the IRC world. The “A-net” (Anarchy net) included as server named eris.berkeley.edu. It was all open, required no passwords and had no limit on the number of connects.Undernet
Another fork effort, the first that really made a big and lasting difference, was initiated by ‘Wildthang’ in USA October 1992 (it forked off the EFnet ircd version 2.8.10). It was meant to be just a test network to develop bots on but it quickly grew to a network “for friends and their friends”. In Europe and Canada a separate new network was being worked on (by ‘_dl’ and ‘WIZZARD’) and in December the french servers connected to the canadian ones, and in the end of the month, the .fr-.ca network was connected to the US one and the network that later came to be called “The Undernet” was born. On August 15th, the new user count record was set to 57 users.How IRC works
Why Client/Server?
What do you do when you want to chat to someone on another computer? It may seem the best thing to simply establish a connection to their computer and simply send data to and from both computers.
As shown above, two connections are required, one to send and one to receive data. This type of connection is fine for simple sending and receiving of messages. Now, look at the diagram for a 3 way client-client connection below:As you can see, things are now getting slightly inefficient. Now, every message has to be sent twice, which is not THAT bad, but when the number of clients increases, things get very out of hand, as below: Now it should be obvious what the problem is. There are 42 connections, and every message is sent 6 times! It would be much better if everything was just sent to one powerful computer who could handle the traffic, and then if the server was to send out the messages to users. Here is a diagram like the one above, only for a client server system: This is much neater by anyone standards, and works better. The number of connections is reduced by 28! And data must only be sent once by any particular client. Below is a table showing the number of connections required for a given number of clients
No. of Clients | Client-Client | Client-Server |
2 | 2 | 4 |
4 | 12 | 8 |
6 | 30 | 12 |
10 | 90 | 20 |
17 | 192 | 34 |
20 | 380 | 40 |
x | x*(x-1) | 2x |
How does IRC send-receive data?
IRC does not have very complex instructions. In fact, it can be run with some difficulty from a telnet client providing one knows the commands. ALL commands are sent as ASCII messages, with only errors returning numeric values. Messages generally take the form: