gnunet-svn
[Top][All Lists]
Advanced

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

[lsd0004] 01/02: More connectivity description


From: gnunet
Subject: [lsd0004] 01/02: More connectivity description
Date: Sun, 25 Dec 2022 15:46:13 +0100

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

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

commit 811fe601faf9753db1dede2b8cf0d66bd0beafba
Author: Martin Schanzenbach <schanzen@gnunet.org>
AuthorDate: Sun Dec 25 23:45:40 2022 +0900

    More connectivity description
---
 draft-schanzen-r5n.xml | 66 +++++++++++++++++++++++++++-----------------------
 1 file changed, 36 insertions(+), 30 deletions(-)

diff --git a/draft-schanzen-r5n.xml b/draft-schanzen-r5n.xml
index 9495cbf..33eb456 100644
--- a/draft-schanzen-r5n.xml
+++ b/draft-schanzen-r5n.xml
@@ -586,28 +586,15 @@ Connectivity | |Underlay|  |Underlay|
       <section anchor="routing_table">
         <name>Routing Table</name>
         <t>
+          Whenever a <tt>PEER_CONNECTED</tt> signal is received from the 
Underlay,
+          the respective peer is considered for insertion into the routing 
table.
           The routing table consists of an array of k-buckets. Each
           k-bucket contains a list of neighbors.
           The i-th k-bucket stores neighbors whose peer IDs are between 
distance 2^i and 2^(i+1) from the local peer.
           System constraints will typically force an implementation to impose 
some
           upper limit on the number of neighbors kept per k-bucket.
-        </t>
-        <t>
-          Initially, the implementation depends upon either the Underlay 
providing at
-          least one initial connection to a peer (signalled through
-          <tt>PEER_CONNECTED</tt>), or the application/end-user providing at
-          least one working HELLO which is then in turn used to call 
<tt>TRY_CONNECT</tt>
-          on the Underlay.
-          This is commonly achieved through the configuration of hardcoded 
bootstrap peers
-          or bootstrap servers either for the Underlay or the R<sup>5</sup>N 
implementation.
-          While details on how the first connection is established 
<bcp14>MAY</bcp14>
-          depend on the specific implementation, this <bcp14>SHOULD</bcp14> 
usually be done
-          by an out-of-band exchange of the information from a HELLO block.
-          <!-- FIXME: Is this really an encoding of a block? It seems to me 
that "HELLO"
-               is not properly defined.
-               FIXME: Should? Isn't this part of the HelloMessage? -->
-          For this, section <xref target="hello_url"/> specifies a URL format 
for encoding HELLO
-          blocks as text strings which <bcp14>SHOULD</bcp14> be supported by 
implementations.
+          Upon insertion, the implementation <bcp14>MUST</bcp14> call
+          <tt>HOLD</tt> on the respective connection.
         </t>
         <t>
           Implementations <bcp14>SHOULD</bcp14> try to keep at least
@@ -635,32 +622,51 @@ Connectivity | |Underlay|  |Underlay|
       <section anchor="find_peer">
         <name>Peer Discovery</name>
         <t>
-          To build its routing table, a peer will send out requests
-          asking for blocks of type HELLO using its own location as the key,
-          but filtering all of its neighbors via the Bloom filter described
-          in <xref target="result_filter"/>.
-          These requests <bcp14>MUST</bcp14> use the FindApproximate and 
DemultiplexEverywhere
-          flags. FindApproximate will ensure that other peers will reply
-          with keys they merely consider close-enough, while 
DemultiplexEverywhere
+          Initially, the implementation depends upon either the Underlay 
providing at
+          least one initial connection to a peer (signalled through
+          <tt>PEER_CONNECTED</tt>), or the application/end-user providing at
+          least one working <tt>HELLO</tt> which is then in turn used to call 
<tt>TRY_CONNECT</tt>
+          on the Underlay in order to trigger a subsequent 
<tt>PEER_CONNECTED</tt> signal
+          from the Underlay.
+          This is commonly achieved through the configuration of hardcoded 
bootstrap peers
+          or bootstrap servers either for the Underlay or the R<sup>5</sup>N 
implementation.
+          While details on how the first connection is established 
<bcp14>MAY</bcp14>
+          depend on the specific implementation, this <bcp14>SHOULD</bcp14> 
usually be done
+          by an out-of-band exchange of the information from a <tt>HELLO</tt> 
block.
+          <!-- FIXME: Is this really an encoding of a block? It seems to me 
that "HELLO"
+               is not properly defined.
+               FIXME: Should? Isn't this part of the HelloMessage? -->
+          For this, section <xref target="hello_url"/> specifies a URL format 
for encoding HELLO
+          blocks as text strings which <bcp14>SHOULD</bcp14> be supported by 
implementations.
+        </t>
+        <t>
+          <!-- FIXME REPL_LVL unclear, RF_SIZE unclear -->
+          To discover peers for its routing table, a peer will initiate 
<tt>GetMessage</tt> requests
+          <xref target="p2p_get"/> asking for blocks of type  <tt>HELLO</tt>  
using its own peer address as
+          <tt>QUERY_HASH</tt>, filtering all of its neighbors via the Bloom 
filter described
+          in <xref target="result_filter"/> and <xref target="hello_block"/>.
+          These requests <bcp14>MUST</bcp14> use the <tt>FindApproximate</tt> 
and <tt>DemultiplexEverywhere</tt>
+          flags. <tt>FindApproximate</tt> will ensure that other peers will 
reply
+          with keys they merely consider close-enough, while 
<tt>DemultiplexEverywhere</tt>
           will cause each peer on the path to respond, which is likely to yield
-          HELLOs of peers that are useful somewhere in the routing table.
+           <tt>HELLO</tt> s of peers that are useful somewhere in the routing 
table.
         </t>
         <t>
           <!-- This here sais that this is a mandatory functionality. in 
HelloMessage it
                sais RECOMMENDED -->
           To facilitate peer discovery, each peer <bcp14>MUST</bcp14> 
broadcast its own
-          HELLO message to all peers in the routing table periodically.
+          <tt>HELLO</tt> message to all peers in the routing table 
periodically.
           The specific frequency <bcp14>MAY</bcp14> depend on available 
bandwidth
           but <bcp14>SHOULD</bcp14> be a fraction of the expiration period.
-          Whenever a peer receives such a HELLO message from another peer that 
is
+          Whenever a peer receives such a  <tt>HELLO</tt>  message from 
another peer that is
           already in the routing table, it must cache it as long as that peer 
is in its routing table
-          (or until the HELLO expires) and serve it in response to
+          (or until the <tt>HELLO</tt> expires) and serve it in response to
           <!-- FIXME wat is a Peer Discovery request??
-               maybe a HELLO GET request?
+               maybe a <tt>HELLO</tt> GET request?
           -->
           Peer Discovery requests.
           Details about the format of the
-          HELLO message are given in <xref target="p2p_hello_wire"/>.
+          <tt>HELLO</tt> message are given in <xref target="p2p_hello_wire"/>.
         </t>
         <t>
           The frequency of advertisement and peer discovery messages

-- 
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]