diff options
author | Martin Schanzenbach <schanzen@gnunet.org> | 2022-12-26 00:01:11 +0900 |
---|---|---|
committer | Martin Schanzenbach <schanzen@gnunet.org> | 2022-12-26 00:01:11 +0900 |
commit | 75a3164358a2c5b36abd319ddf22fcdeaad864af (patch) | |
tree | 7141c23a5b09dae2b84d3c52b5859fd738cc3f47 | |
parent | e0b7c4a66155163ef8005ea1bd9d5db594390ec9 (diff) | |
download | lsd0004-75a3164358a2c5b36abd319ddf22fcdeaad864af.tar.gz lsd0004-75a3164358a2c5b36abd319ddf22fcdeaad864af.zip |
More peer discovery. Lots WIP and unclear
-rw-r--r-- | draft-schanzen-r5n.xml | 45 |
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"> |