3 | | |
4 | | |
5 | | |
6 | | == Specifications == |
7 | | |
8 | | The following sections detail the specifications for a prototype MobilityFirst Network, and includes details of overall architecture, network elements, software services, protocols, end-host stack and network API. |
9 | | |
10 | | |
11 | | == Name Resolution Service == |
12 | | |
13 | | |
14 | | {{{ |
15 | | LNRS servers GNRS servers |
16 | | ^ ^ |
17 | | | | |
18 | | | | |
19 | | +-----------------+ +-----------------+ |
20 | | +---------------+ request +-----------------+ | | | | |
21 | | | | ---------> | Local Agent | ----------> | Local Name | -----------> | Global Name | |
22 | | | Host/Client | | Or | | Resolution | | Resolution | |
23 | | | | <--------- | Default Gateway | <---------- | Service(LNRS) | <----------- | Service(GNRS) | |
24 | | +---------------+ response +-----------------+ | server | | server | |
25 | | +-----------------+ +-----------------+ |
26 | | | | |
27 | | | | |
28 | | v v |
29 | | LNRS servers GNRS servers |
30 | | }}} |
31 | | |
32 | | === Host - GNRS interaction === |
33 | | |
34 | | A host may interact with the name resolution service to either (1) report/update it's present network location binding(s), or, (2) to query corresponding bindings of other network entities. The target of such a query operation may constitute either a host, a service, content or even a named context. Similarly, an update is not limited to the host's location, but of any addressable entity so long as it is authorized to do so. |
35 | | |
36 | | |
37 | | |
38 | | ==== Early-binding ==== |
39 | | |
40 | | * It is assumed that an end-host has obtained the GUID(s) of the other communication end-point or network entity through an out-of-band mechanism. |
41 | | * A host can initiate communication through one of the following API: |
42 | | * sendTo(GUID, message, [serviceId], [serviceOptios], ...) |
43 | | * get(GUID, ...) |
44 | | * .... |
45 | | * Implementations of the above API within the end-host's MF stack execute early-binding when requested |
46 | | * A GNRS lookup message (GL-msg) is prepared for the dest-GUID. See section on GNRS message specification for included fields. |
47 | | * Target NRS server: A default or preferred server may be specified in a local config file, or one obtained by listening to local advertisements |
48 | | * GL-msg is sent out on the default interface for GNRS lookups |
49 | | * Closest or preferred NRS server will execute the actual lookup on the GNRS service plane |
50 | | * A GNRS lookup response (GLR-msg) prepared by server with mapping is routed to the querying entity, and is picked up by the stack |
51 | | * End-host stack inserts the network address from GLR-msg into the message header and transmits the packet on appropriate interface |
52 | | |
53 | | |
54 | | |
55 | | |