summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Schanzenbach <schanzen@gnunet.org>2022-12-26 00:01:11 +0900
committerMartin Schanzenbach <schanzen@gnunet.org>2022-12-26 00:01:11 +0900
commit75a3164358a2c5b36abd319ddf22fcdeaad864af (patch)
tree7141c23a5b09dae2b84d3c52b5859fd738cc3f47
parente0b7c4a66155163ef8005ea1bd9d5db594390ec9 (diff)
downloadlsd0004-75a3164358a2c5b36abd319ddf22fcdeaad864af.tar.gz
lsd0004-75a3164358a2c5b36abd319ddf22fcdeaad864af.zip
More peer discovery. Lots WIP and unclear
-rw-r--r--draft-schanzen-r5n.xml45
1 files changed, 21 insertions, 24 deletions
diff --git a/draft-schanzen-r5n.xml b/draft-schanzen-r5n.xml
index e5b8218..2e1bf76 100644
--- a/draft-schanzen-r5n.xml
+++ b/draft-schanzen-r5n.xml
@@ -652,12 +652,27 @@ Connectivity | |Underlay| |Underlay|
652 <tt>HELLO</tt> s of peers that are useful somewhere in the routing table. 652 <tt>HELLO</tt> s of peers that are useful somewhere in the routing table.
653 </t> 653 </t>
654 <t> 654 <t>
655 <!-- This here sais that this is a mandatory functionality. in HelloMessage it 655 In order to facilitate the above,
656 sais RECOMMENDED --> 656 the Underlay is expected to provide the implementation with one or more
657 To facilitate peer discovery, each peer <bcp14>MUST</bcp14> broadcast its own 657 addresses signalled through <tt>ADDRESS_ADDED</tt>. Zero addresses <bcp14>MAY</bcp14> be
658 <tt>HELLO</tt> message to all peers in the routing table periodically. 658 provided if a peer can only establish outgoing connections and is otherwise unreachable.
659 The specific frequency <bcp14>MAY</bcp14> depend on available bandwidth 659 <!-- Periodically? sometimes? on change? -->
660 but <bcp14>SHOULD</bcp14> be a fraction of the expiration period. 660 An implementation <bcp14>MUST</bcp14> advertise its addresses by:
661 </t>
662 <!-- FIXME both things here are grossly underdefined for a MUST:
663 Message flags, BF, REPL_LVL etc
664 -->
665 <ul>
666 <li>Initiating <tt>HelloMessage</tt>s to the peers in its routing table (<xref target="p2p_hello_wire"/>).</li>
667 <li>Initiating <tt>PutMessage</tt>s containing <tt>HELLO</tt> blocks (<xref target="hello_block"/>).</li>
668 </ul>
669 <t>
670 <!-- FIXME This here sais that this is a mandatory functionality. in HelloMessage it
671 sais RECOMMENDED
672 FIXME: Expiration time of messages unclear -->
673 The specific frequency of advertisements <bcp14>MAY</bcp14> depend on available bandwidth,
674 the set of already connected neighbors, the workload of the system and other factors which are at the discretion of
675 the developer, but <bcp14>SHOULD</bcp14> be a fraction of the expiration period.
661 Whenever a peer receives such a <tt>HELLO</tt> message from another peer that is 676 Whenever a peer receives such a <tt>HELLO</tt> message from another peer that is
662 already in the routing table, it must cache it as long as that peer is in its routing table 677 already in the routing table, it must cache it as long as that peer is in its routing table
663 (or until the <tt>HELLO</tt> expires) and serve it in response to 678 (or until the <tt>HELLO</tt> expires) and serve it in response to
@@ -665,24 +680,6 @@ Connectivity | |Underlay| |Underlay|
665 maybe a <tt>HELLO</tt> GET request? 680 maybe a <tt>HELLO</tt> GET request?
666 --> 681 -->
667 Peer Discovery requests. 682 Peer Discovery requests.
668 Details about the format of the
669 <tt>HELLO</tt> message are given in <xref target="p2p_hello_wire"/>.
670 </t>
671 <t>
672 The frequency of advertisement and peer discovery messages
673 <bcp14>MAY</bcp14> be adapted according to network conditions,
674 the set of already connected neighbors,
675 the workload of the system and other factors which are at the discretion of
676 the developer.
677 </t>
678 <t>
679 Furthermore, the Underlay <bcp14>SHOULD</bcp14> provide the implementation with one or more
680 addresses signalled through <tt>ADDRESS_ADDED</tt>. Zero addresses <bcp14>MAY</bcp14> be
681 provided if a peer can only establish outgoing connections and is otherwise unreachable.
682 <!-- FIXME: What about HelloMessages? What is the distinction between <tt>HELLO</tt> blocks
683 and <tt>HELLO</tt> messages? -->
684 The implementation periodically advertises all
685 active addresses in a <tt>HELLO</tt> block <xref target="hello_block"/>.
686 </t> 683 </t>
687 </section> 684 </section>
688 <section anchor="routing_bloomfilter"> 685 <section anchor="routing_bloomfilter">