Code to support discovery and ping based auto discovery

The bulk of what this does is documented in the Identification specification

Related Documentation