HubDiscovery » History » Revision 3
Revision 1 (Alex Afanasyev, 01/31/2014 10:41 PM) → Revision 3/8 (Junxiao Shi, 02/27/2014 08:41 AM)
# NDN hub discovery procedure =========================== When an end host starts up, or detects a change in its network environment, it MAY use this procedure to discover a local or home NDN router, in order to gain connectivity to [the NDN research testbed](http://named-data.net/ndn-testbed/). ## Overview This procedure contains three methods to discover a NDN router: 1. Look Add multicast face, issue interest for a local NDN router by multicast. This is useful in a home or small office network. 2. Look for a local NDN router by DNS query with default suffix. This allows network administrator to ``/local/ndn/udp`` * if data returned, configure a NDN router for a large enterprise network. 3. Connect face to the home NDN router according hub and finish auto-config * auto-configured face is remembered using creating a "fake" route to user certificate. This ensures connectivity from anywhere. ``/autoconf`` prefix ## Stage 1: multicast discovery ### Request The end host sends an Interest over a multicast face. Interest Name is `/localhop/ndn-autoconf/hub`. ### Response A producer app on 2. If previous step failed, issue the HUB answer this Interest with a Data packet that contains TLV-encoded `Uri` block. The value of this block is the URI for the HUB, preferrably a UDP tunnel. ## Stage 2: following DNS query with default suffix ### Request The end host sends a DNS query that is equivalent to this command: using dig command dig +search +short +cmd +tries=2 +ndots=10 _ndn._udp _nfd._udp srv ### Response The DNS server should answer with an SRV record that contains * if valid data returned, get the hostname first returned data, configure face, and UDP port number finish auto-config * auto-configured face is remembered using creating a "fake" route to /autoconf prefix 3. If previous steps failed: * Obtain name of the NDN router. ## Stage 3: find home router ### Request The end host loads the default certificate of configured for the user, extracts the user * Try to extract site-specific part from the certificate name. The end host sends a DNS query for an SRV record of name `_ndn._udp.` + site-specific part + `_homehub._autoconf.named-data.net`. ### Response The DNS server should answer with an SRV record that contains the hostname and UDP port number of the home NDN router of this user's site. ## Client procedure 1. (TBD). Send a multicast discovery Interest. If this Interest got answered, connect to the HUB and failed, abort these steps. 2. Send a DNS query with default suffix. If this query got answered, connect auto-configuration step. * Append ``_homehub._autoconf.named-data.net.`` postfix to the HUB and abort these steps. 3. Extract the site-specific part from the default certificate of the user; fail if this cannot complete. Send DNSified name, e.g. alex.ucla.edu._homehub._autoconf.named-data.net. * Issue a DNS SRV dns query to find home HUB. If this query got answered, connect to the home HUB. Otherwise, fail. with ``_ndnx._udp`` prefix (not really necessary, but should do it for clarity)