On 11/09/13 19:13, Nico Williams wrote: Nico, Paul,
I'd like to echo the concern that DNS is not as great a directory for this purpose as one might think. Many enterprises push DNS (sometimes including administration functionality) to third-party appliances. This means that a fair bit of task-oriented front-end admin code needs to be written in many cases. Also, most DNS DBs aren't really built with referential integrity in mind... A good-enough nameservice abstraction should make it easy to create bindings to DNS, bindings to flat files, ... Flat files will probably do just fine in many cases. If you have a decent name service database that can handle referential integrity, then you can easily generate the flat files as reports.
Fair enough.Even the Internet name resolution was once based on local config files. Later on it was gradually replaced by what have become today's DNS.
I guess we'll have to re-trace the path ourselves. Trying to sell a mature technology to the community that is still dealing with the simplest possible use cases is probably an overkill. Imagine how pissed off would you be if you were forced to use DNS for your 3-box network at your home.
Regarding loop detection, the traditional answers are: either a packet route limit (IP has this) or a spanning tree algorithm (bridges for network protocols below IP tend to have this). Thinking of that, a spanning tree protocol for routing topologies where routers have statically-expressed connections to each other, would be a great way to add dynamism. Of course, so would an OSPF-style protocol. Here one would express only links (including backup links) and let nanomsg work out topologies dynamically, without having to worry about loops. I recommend adding the hop limit though, then you have both choices: spanning tree / briding, and routing.
I am for TTL-style solution. It's easy to implement and it works reliably. Martin