[nanomsg] Re: Name service experiments

  • From: Martin Sustrik <sustrik@xxxxxxxxxx>
  • To: Nico Williams <nico@xxxxxxxxxxxxxxxx>
  • Date: Thu, 12 Sep 2013 14:14:48 +0200

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



Other related posts: