gnunet-svn
[Top][All Lists]
Advanced

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

[lsd0004] 02/02: More on connectivity management


From: gnunet
Subject: [lsd0004] 02/02: More on connectivity management
Date: Sun, 25 Dec 2022 14:09:09 +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 4b01724fec786415ce232a0a8b18dc27b06c1902
Author: Martin Schanzenbach <schanzen@gnunet.org>
AuthorDate: Sun Dec 25 22:08:55 2022 +0900

    More on connectivity management
---
 draft-schanzen-r5n.xml | 27 ++++++++++++++++++++++-----
 1 file changed, 22 insertions(+), 5 deletions(-)

diff --git a/draft-schanzen-r5n.xml b/draft-schanzen-r5n.xml
index 60c5967..9495cbf 100644
--- a/draft-schanzen-r5n.xml
+++ b/draft-schanzen-r5n.xml
@@ -563,13 +563,10 @@ Connectivity | |Underlay|  |Underlay|
        information about its current set of neighbors.
         Upon receiving a connection notification from the Underlay through
         <tt>PEER_CONNECTED</tt>, information on the new neighbor
-        <bcp14>MUST</bcp14> be added.
+        <bcp14>MUST</bcp14> be added to the routing table.
         Similarly when a disconnect is indicated by the Underlay through
         <tt>PEER_DISCONNECTED</tt> messages for all addresses of the peer it
-        <bcp14>MUST</bcp14> be removed.
-        The implementation <bcp14>MAY</bcp14> try to re-establish connection
-        to the peer by issuing <tt>TRY_CONNECT</tt> requests on the Underlay
-        using valid HELLO caches.
+        <bcp14>MUST</bcp14> be removed from the routing table.
       </t>
       <t>
         In order to achieve O(log n) routing performance,
@@ -601,6 +598,8 @@ Connectivity | |Underlay|  |Underlay|
           <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.
@@ -627,6 +626,11 @@ Connectivity | |Underlay|  |Underlay|
           largest number of neighbors. The eviction strategy 
<bcp14>MUST</bcp14> be
           to drop the shortest-lived connections first.
         </t>
+        <t>
+          The implementation <bcp14>MAY</bcp14> cache valid HELLOs of 
disconnected
+          peers outside of the routing table and sporadically or periodically 
try to (re-)establish connection
+          to the peer by issuing <tt>TRY_CONNECT</tt> requests on the Underlay.
+        </t>
       </section>
       <section anchor="find_peer">
         <name>Peer Discovery</name>
@@ -1315,6 +1319,10 @@ BEGIN
             <li>
               The HELLO information is cached in the routing table until it 
expires,
               the peer is removed from the routing table, or the information 
is replaced by another message from the peer.
+              <!-- FIXME same problem as for HELLO blocks: We do not need to 
TRY_CONNECT here because we already have
+                   a connection, obviously. But we may want to TRY_CONNECT on 
the new addresses? Adding for now -->
+              The implementation <bcp14>MAY</bcp14> instruct the Underlay to 
connect to all now available addresses
+              using <tt>TRY_CONNECT</tt> in order to make the underlay aware 
of alternative addresses for this connection.
             </li>
             <li>
               <!-- We need a statement like this here. Should they? Can they? 
What if they are (not)? -->
@@ -1545,6 +1553,15 @@ BEGIN
              the local peer <bcp14>MUST</bcp14> try to establish a connection
              to the peer indicated in the HELLO block using the address 
information
               from the HELLO block and the Underlay function 
<tt>TRY_CONNECT</tt>.
+              <!-- FIXME: The above behaviour has a catch: If the 
implementation only connects to one
+                   address from the hello using TRY_CONNECT, the Underlay also 
knows only about that connection
+                   If that failes and PEER_DISCONNECT is called, this neighbor 
is dead.
+                   We could say here that the implementation SHOULD instruct 
to connect to ALL
+                   addresses or risk flaky connections. The choice of address 
is also unclear.
+                   R5N does not really know what the Underlay supports (maybe 
more than provided in
+                   own addresses) - Added this for now: -->
+              The implementation <bcp14>MAY</bcp14> instruct the Underlay to 
connect to all provided addresses
+              using <tt>TRY_CONNECT</tt> in order to make the underlay aware 
of multiple addresses for this connection.
               If a connection is established, the signal 
<tt>PEER_CONNECTED</tt> will cause
               the peer to be added to the respective k-bucket of the routing 
table.
              Note that the k-bucket <bcp14>MUST</bcp14> be determined by the

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