gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lsd0004] branch master updated: minor


From: gnunet
Subject: [lsd0004] branch master updated: minor
Date: Tue, 11 Jan 2022 21:47:23 +0100

This is an automated email from the git hooks/post-receive script.

martin-schanzenbach pushed a commit to branch master
in repository lsd0004.

The following commit(s) were added to refs/heads/master by this push:
     new aa55c2c  minor
aa55c2c is described below

commit aa55c2cbde372b3367b2d1bad38be5da547848e7
Author: Martin Schanzenbach <schanzen@gnunet.org>
AuthorDate: Tue Jan 11 21:47:17 2022 +0100

    minor
---
 draft-schanzen-r5n.xml | 212 +++++++++++++++++++++++++++----------------------
 1 file changed, 116 insertions(+), 96 deletions(-)

diff --git a/draft-schanzen-r5n.xml b/draft-schanzen-r5n.xml
index ddbda76..00e97f8 100644
--- a/draft-schanzen-r5n.xml
+++ b/draft-schanzen-r5n.xml
@@ -162,21 +162,24 @@
     <section>
       <name>Terminology</name>
       <dl>
-        <dt>Node:</dt>
+        <dt>Peer:</dt>
         <dd>
-          A node is participant in the network and addressable through the
-          network overlay.
+          A host that is participating in the overlay.  Peers are
+          responsible for holding some portion of the data that has been
+          stored in the overlay, and they are responsible for routing
+          messages on behalf of other hosts as needed by the Routing
+          Algorithm.
         </dd>
-        <dt>Node Address:</dt>
+        <dt>Peer Key:</dt>
         <dd>
-          The <tt>Node Address</tt> is the identifier used on the Overlay
-          to address a node.
+          The <tt>Peer Key</tt> is the identifier used on the Overlay
+          to address a peer.
         </dd>
-        <dt>Node ID:</dt>
+        <dt>Peer ID:</dt>
         <dd>
-          The <tt>Node ID</tt> is the identity which is used to authenticate
-          a node in the underlay.
-          The <tt>Node Address</tt> is derived from the <tt>Node ID</tt>.
+          The <tt>Peer ID</tt> is the identity which is used to authenticate
+          a peer in the underlay.
+          The <tt>Peer Address</tt> is derived from the <tt>Peer ID</tt>.
         </dd>
         <dt>Neighbour:</dt>
         <dd>
@@ -184,6 +187,54 @@
         </dd>
         <dt>Block:</dt>
         <dd>
+          An object or group of objects stored in the DHT.
+        </dd>
+        <dt>Block-Type:</dt>
+        <dd>
+          A unique 32-bit value identifying a block type.
+          Block-Types are either private or allocated by GANA (see <xref 
target="gana"/>).
+        </dd>
+        <dt>Block Storage</dt>
+        <dd>
+          The Block Storage component is used to persist and manage data
+          by nodes. It includes logic for quotas, caching stragegies and
+          data validation.
+        </dd>
+        <dt>Responsible Peer:</dt>
+        <dd>
+          The peer <tt>N</tt> that is responsible for a specific resource 
<tt>K</tt>, as defined by
+          the <tt>SelectClosestNode(K, N)</tt> algorithm (see <xref 
target="routing"/>.
+        </dd>
+        <dt>Applications</dt>
+        <dd>
+          Applications are components which directly use the DHT overlay
+          interfaces. Possible applications include the GNU Name System
+          <xref target="I-D.draft-schanzen-gns"/> or the CADET transport system
+          <xref target="cadet"/>.
+        </dd>
+        <dt>Overlay Interface</dt>
+        <dd>
+          The Overlay Interface exposes the core operations of the DHT overlay
+          to applications.
+          This includes querying and retrieving data from the DHT.
+        </dd>
+        <dt>Message Processing</dt>
+        <dd>
+          The Message Processing component processes requests from and 
responses
+          to applications as well as messages from the underlay network.
+        </dd>
+        <dt>Routing</dt>
+        <dd>
+          The Routing component includes the routing table as well as
+          routing and node selection logic. It facilitates the R5N routing
+          algorithm with required data structures and algorithms.
+        </dd>
+        <dt>Underlay Interface</dt>
+        <dd>
+          The DHT Underlay Interface is an abstraction layer on top of the
+          supported links of a node. Nodes may be linked by a variety of
+          different transports, including "classical" protocols such as
+          TCP, UDP and TLS or advanced protocols such as GNUnet, L2P or Tor.
         </dd>
       </dl>
     </section>
@@ -219,45 +270,6 @@ Connectivity | |Underlay|  |Underlay|
 ]]>
         </artwork>
       </figure>
-      <dl>
-        <dt>Applications</dt>
-        <dd>
-          Applications are components which directly use the DHT overlay
-          interfaces. Possible applications include the GNU Name System
-          <xref target="I-D.draft-schanzen-gns"/> or the CADET transport system
-          <xref target="cadet"/>.
-        </dd>
-        <dt>Overlay Interface</dt>
-        <dd>
-          The Overlay Interface exposes the core operations of the DHT overlay
-          to applications.
-          This includes querying and retrieving data from the DHT.
-        </dd>
-        <dt>Block Storage</dt>
-        <dd>
-          The Block Storage component is used to persist and manage data
-          by nodes. It includes logic for quotas, caching stragegies and
-          data validation.
-        </dd>
-        <dt>Message Processing</dt>
-        <dd>
-          The Message Processing component processes requests from and 
responses
-          to applications as well as messages from the underlay network.
-        </dd>
-        <dt>Routing</dt>
-        <dd>
-          The Routing component includes the routing table as well as
-          routing and node selection logic. It facilitates the R5N routing
-          algorithm with required data structures and algorithms.
-        </dd>
-        <dt>Underlay Interface</dt>
-        <dd>
-          The DHT Underlay Interface is an abstraction layer on top of the
-          supported links of a node. Nodes may be linked by a variety of
-          different transports, including "classical" protocols such as
-          TCP, UDP and TLS or advanced protocols such as GNUnet, L2P or Tor.
-        </dd>
-      </dl>
       <t>
         Other glossary
       </t>
@@ -273,69 +285,53 @@ Connectivity | |Underlay|  |Underlay|
         Ed25519<xref target="ed25519" /> node private key.
       </t>
       <t>
-        Any implementation of this specification MUST expose the two API
+        An implementation of this specification commonly exposes the two API
         procedures "GET" and "PUT".
+        The following are non-normative examples of such APIs and their
+        behaviour are detailed in order to give implementers a fuller picture 
of the protocol.
       </t>
       <section>
         <name>The GET procedure</name>
         <t>
-          The GET procedure is defined as follows:
+          A basic GET procedure may be exposed as:
         </t>
         <t>
-          <tt>GET(Key[, GetParams]) -> Results as List</tt>
+          <tt>GET(QueryKey) -> Results as List</tt>
         </t>
         <t>
-          The procedure takes a single additional <tt>QueryParams</tt>
-          argument in order to specify detailed query parameters.
-          The <tt>GetParams</tt> consist of the following parameters:
+          The procedure takes a single inputargument : The <tt>QueryKey</tt>.
+          It initiates a lookup for this key in the DHT and - if the procedure
+          is implemented synchronuously - returns a list of results.
+          The procedure may allow a set of optional parameters in order to
+          control or modify the query:
         </t>
         <dl>
-          <dt>BlockType</dt>
+          <dt>Block-Type:</dt>
           <dd>
-            The default setting of this parameter is to request any type of
-            block types under the key.
+            The type of block to look for.
           </dd>
-          <dt>ReplicationLevel</dt>
-          <dd>The default setting of this parameter is X (FIXME).</dd>
-          <dt>RouteOptions</dt>
+          <dt>Replication-Level:</dt>
           <dd>
-            are used in order to indicate certain
+            An integer which controls how many nearest peers the request
+            should reach.
+          </dd>
+          <dt>Route-Options</dt>
+          <dd>
+            Flags that are used in order to indicate certain
             processing requirements for messages.
             Any combination of options as defined in <xref 
target="route_options"/>
-            may be specificied.
-            The default setting of this parameter is that no option is set.
+            may be specified.
           </dd>
           <dt>XQuery</dt>
           <dd>
             is extended query medatadata which may be
-            required depending on the respective <tt>BlockType</tt>.
-            A <tt>BlockType</tt> must define if the <tt>XQuery</tt> can or must
+            required depending on the respective <tt>Block-Type</tt>.
+            A <tt>Block-Type</tt> must define if the <tt>XQuery</tt> can or 
must
             be used and what the specific format of its contents should be.
             See also <xref target="block_types"/>.
-            The default setting of this parameter is empty.
-          </dd>
-        </dl>
-        <t>
-          The <tt>RouteOptions</tt> consist of the following flags:
-        </t>
-        <dl anchor="route_options">
-          <dt>DemultiplexEverywhere</dt>
-          <dd>
-            indicates that each node along the way should process the request.
-          </dd>
-          <dt>RecordRoute</dt>
-          <dd>
-            indicates to keep track of the route that the message takes
-            in the P2P network.
-          </dd>
-          <dt>FindNode</dt>
-          <dd>
-            indicates that this is a request used to find additional nodes.
-            This is a special flag which modifies the message processing to
-            allow approximate results.
           </dd>
         </dl>
-        <t>
+                <t>
           As the time it takes for results to arrive may vary an implementation
           may either return a list of results after a timeout or allow the
           caller to provide a callback function which is called for any result
@@ -417,6 +413,7 @@ Connectivity | |Underlay|  |Underlay|
         The required functionality are abstracted through the following
         procedures and events:
       </t>
+      <!-- FIXME separate procedures from events -->
       <dl>
         <dt>
           <tt>PEER_CONNECTED(P)</tt>
@@ -501,12 +498,6 @@ Connectivity | |Underlay|  |Underlay|
           This information is used, for example, to no longer advertise
           this address.
         </dd>
-        <dt>
-          <tt>VERIFY(blob)</tt>
-        </dt>
-        <dd>
-          Signature verification by underlay. FIXME unclear. Required?
-        </dd>
       </dl>
     </section>
     <section>
@@ -656,6 +647,28 @@ Connectivity | |Underlay|  |Underlay|
         processing are detailed.
         The local node address is referred to as <tt>N</tt>.
       </t>
+      <section anchor="route_options">
+        <name>Route Options</name>
+        <t>
+          The <tt>RouteOptions</tt> consist of the following flags:
+        </t>
+        <dl>
+          <dt>Demultiplex-Everywhere</dt>
+          <dd>
+            indicates that each node along the way should process the request.
+          </dd>
+          <dt>Record-Route</dt>
+          <dd>
+            indicates to keep track of the route that the message takes
+            in the P2P network.
+          </dd>
+          <dt>Allow-Approximate</dt>
+          <dd>
+            This is a special flag which modifies the message processing to
+            allow approximate results.
+          </dd>
+        </dl>
+      </section>
       <section anchor="p2p_bf" numbered="true" toc="default">
         <name>Bloomfilter</name>
         <t>
@@ -1221,8 +1234,8 @@ Connectivity | |Underlay|  |Underlay|
             <artwork name="" type="" align="left" alt=""><![CDATA[
 0   8     16    24    32    40    48    56
 +---+-----+-----+-----+-----+-----+-----+-----+
-| TYPE    |   SIZE    |         NODEID        /
-+---+-----+-----+-----+   (variable length)   /
+|                   NODEID                    /
++                                             /
 /                                             /
 +---+-----+-----+-----+-----+-----+-----+-----+
 |                 ADDRESSES                   /
@@ -1313,6 +1326,13 @@ tor+onionv3://rasdflkjasdfliasduf.onion/
         need to be invested over time.
       </t>
     </section>
+    <section anchor="iana" numbered="true" toc="default">
+      <name>IANA Considerations</name>
+      <t>
+        TODO: URI handler for "common" URI handler that Underlays may want
+        to use as part of HELLOs.
+      </t>
+    </section>
     <section anchor="gana" numbered="true" toc="default">
       <name>GANA Considerations</name>
       <t>

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]