[IRCServices] New IRC protocol revised
Andrew Church
achurch at dragonfire.net
Wed Oct 6 19:52:50 PDT 1999
>Andy, I don't want to be rude or anything but why would anyone want to have
>a network where servers are connected in a circular fashion?
Two words: No netsplits. Well, few netsplits, certainly compared to
the current tree-style networks. Until the Internet becomes as stable as
the telephone network--which to be honest I can't see happening in the near
future; I'm honestly scared shitless at the thought of ordinary phone calls
being routed over the Internet--links are going to drop out occasionally
for no fault of the servers, and to avoid problems arising from that we
need redundancy at a higher level, like the IRC network level.
>It would require additional bandwidth
This is partly the fault of my algorithm--complete graphs will cause
quite a bunch of unnecessary messages to be sent; I'll see about fixing
that--but even then, the difference shouldn't be significant for most
cases. For example, a 3-node "loop" network will send 4 copies of a
global message where only 2 are required; but a 6-node "loop" network will
send 6 where 5 are required, a much less significant excess.
And if this does bother you so much, there's nothing saying you
_have_ to link your servers in a cyclic network. Cyclic networks are a
significant part of my specification, but hardly the only part. There's
also (1) internationalization--in case you hadn't noticed, English is not
the only language in the world (have you tried using a Japanese nickname
on a standard IRC server recently?); (2) binary protocol, allowing
anything to be sent as a message (think audio/video on a LAN), reducing
computation time (no more strcmp's on commands and such), and somewhat
reducing bandwidth use; and (3) it's about time _someone_ put out a
protocol specification to do something about the gazillions of different
variations out there.
>Not
>forgetting additional RAM required for the ircd to remember that it has
>various paths to send data to reach server x.
What, 2 bytes per server (ID of the next server on the shortest path)?
If memory is that tight, stop using a 20-year-old computer.
>Currently the DALnet implementation of irc protocol is quite good, well
>actually the best comparing it to ircu, irce etc. etc.
I won't argue that DALnet's implementation is not good. I just don't
think it's not possible to come up with a better one (whether mine is
better is something I'll leave up to others).
I also ought to practice not using so many negatives at once.
--Andrew Church
achurch at dragonfire.net
http://achurch.dragonfire.net/
---------------------------------------------------------------
To unsubscribe, send email to majordomo at ender.shadowfire.org
with "unsubscribe ircservices" in the body, without the quotes.