Mesh/Firmware/Zeroconf

Revision as of 11:46, 4 May 2014 by Jwentwistle (talk | contribs) (added more details)

We need a basic DNS client (and server) on the nodes. We want to use the Service Location Protocol (SLP) to implement a domain service. The domain server returns a service (or files) from a destination (typically based on an IP address), such that the domain server resolves google.com at the 74.125.224.65 address.

Software

avahi

Features:

  • Embeddable mDNS stack (i.e. mDNS stack available as library)
  • Ability to reflect mDNS traffic between multiple subnets
  • Ability to configure a unicast DNS server automatically from server data published on the LAN
  • Wide area DNS-SD support (read-only for now)
  • Interface to GLIBC NSS using nss-mdns

mdns-utils

The OpenWRT package mdns-utils is actually just compiling part of Apple's mDNSResponder.

The mDNSClient utility only outputs lines to stderr (name, service type, and domain):

 *** Found name = 'Foo', type = '_afpovertcp._tcp.', domain = 'local.'

The code that outputs this line is in the file mDNSResponder/mDNSPosix/Client.c in the function BrowseCallback.

Documentation

New DNS technologies on the LAN: mDNS, DNS-SD, LLMNR, PNRP

mesh DNS software: HypeDNS vs decentralized servers