HubDiscovery » History » Version 3
Junxiao Shi, 02/27/2014 08:41 AM
1 | 3 | Junxiao Shi | # NDN hub discovery procedure |
---|---|---|---|
2 | 1 | Alex Afanasyev | |
3 | 3 | Junxiao Shi | 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/). |
4 | 1 | Alex Afanasyev | |
5 | 3 | Junxiao Shi | ## Overview |
6 | 1 | Alex Afanasyev | |
7 | 3 | Junxiao Shi | This procedure contains three methods to discover a NDN router: |
8 | 1 | Alex Afanasyev | |
9 | 3 | Junxiao Shi | 1. Look for a local NDN router by multicast. |
10 | This is useful in a home or small office network. |
||
11 | 2. Look for a local NDN router by DNS query with default suffix. |
||
12 | This allows network administrator to configure a NDN router for a large enterprise network. |
||
13 | 3. Connect to the home NDN router according to user certificate. |
||
14 | This ensures connectivity from anywhere. |
||
15 | 1 | Alex Afanasyev | |
16 | 3 | Junxiao Shi | ## Stage 1: multicast discovery |
17 | 1 | Alex Afanasyev | |
18 | 3 | Junxiao Shi | ### Request |
19 | 1 | Alex Afanasyev | |
20 | 3 | Junxiao Shi | The end host sends an Interest over a multicast face. |
21 | 1 | Alex Afanasyev | |
22 | 3 | Junxiao Shi | Interest Name is `/localhop/ndn-autoconf/hub`. |
23 | 1 | Alex Afanasyev | |
24 | 3 | Junxiao Shi | ### Response |
25 | 1 | Alex Afanasyev | |
26 | 3 | Junxiao Shi | A producer app on the HUB answer this Interest with a Data packet that contains TLV-encoded `Uri` block. |
27 | The value of this block is the URI for the HUB, preferrably a UDP tunnel. |
||
28 | 1 | Alex Afanasyev | |
29 | 3 | Junxiao Shi | ## Stage 2: DNS query with default suffix |
30 | 1 | Alex Afanasyev | |
31 | 3 | Junxiao Shi | ### Request |
32 | 1 | Alex Afanasyev | |
33 | 3 | Junxiao Shi | The end host sends a DNS query that is equivalent to this command: |
34 | |||
35 | dig +search +short +cmd +tries=2 +ndots=10 _ndn._udp srv |
||
36 | |||
37 | ### Response |
||
38 | |||
39 | The DNS server should answer with an SRV record that contains the hostname and UDP port number of the NDN router. |
||
40 | |||
41 | ## Stage 3: find home router |
||
42 | |||
43 | ### Request |
||
44 | |||
45 | The end host loads the default certificate of the user, extracts the site-specific part from the certificate name. |
||
46 | |||
47 | The end host sends a DNS query for an SRV record of name `_ndn._udp.` + site-specific part + `_homehub._autoconf.named-data.net`. |
||
48 | |||
49 | ### Response |
||
50 | |||
51 | 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. |
||
52 | |||
53 | ## Client procedure |
||
54 | |||
55 | 1. Send a multicast discovery Interest. |
||
56 | If this Interest got answered, connect to the HUB and abort these steps. |
||
57 | 2. Send a DNS query with default suffix. |
||
58 | If this query got answered, connect to the HUB and abort these steps. |
||
59 | 3. Extract the site-specific part from the default certificate of the user; fail if this cannot complete. |
||
60 | Send a DNS query to find home HUB. |
||
61 | If this query got answered, connect to the home HUB. Otherwise, fail. |