gnunet-svn
[Top][All Lists]
Advanced

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

[lsd0004] branch master updated: add addressing


From: gnunet
Subject: [lsd0004] branch master updated: add addressing
Date: Sat, 26 Jun 2021 17:08:08 +0200

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 281d0e1  add addressing
281d0e1 is described below

commit 281d0e12537f218797b84f6ac0b474325eac5585
Author: Martin Schanzenbach <mschanzenbach@posteo.de>
AuthorDate: Sat Jun 26 17:05:13 2021 +0200

    add addressing
---
 draft-schanzen-r5n.xml | 145 ++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 143 insertions(+), 2 deletions(-)

diff --git a/draft-schanzen-r5n.xml b/draft-schanzen-r5n.xml
index 317d784..92815ef 100644
--- a/draft-schanzen-r5n.xml
+++ b/draft-schanzen-r5n.xml
@@ -6,6 +6,7 @@
 <!ENTITY RFC3686 PUBLIC '' 
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.3686.xml";>
 <!ENTITY RFC3826 PUBLIC '' 
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.3826.xml";>
 <!ENTITY RFC3912 PUBLIC '' 
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.3912.xml";>
+<!ENTITY RFC3986 PUBLIC '' 
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.3986.xml";>
 <!ENTITY RFC4648 PUBLIC '' 
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.4648.xml";>
 <!ENTITY RFC5869 PUBLIC '' 
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.5869.xml";>
 <!ENTITY RFC5890 PUBLIC '' 
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.5890.xml";>
@@ -106,6 +107,102 @@
 
      </t>
    </section>
+   <section anchor="connectivity" numbered="true" toc="default">
+     <name>Connectivity and addressing</name>
+     <t>
+       In the DHT overlay, a peer is addressable by its Peer ID.
+       The Peer ID is the 256-bit hash of the peer public key.
+       The peer public key is the public key of the corresponding
+       Ed25519<xref target="ed25519" /> peer private key.
+     </t>
+     <t>
+       In the network underlay, a peer is addressable by traditional
+       means out of scope of this document. For example, the peer may
+       have a TCP/IP address, or a HTTPS endpoint.
+       While the specific addressing options and mechanisms are out of scope
+       for this document, it is necessary to define a universal addressing
+       format in order to facilitate the distribution of connectivity
+       information to other peers in the DHT overlay.
+       This format is the "HELLO" message. A "HELLO" is a human-readable
+       UTF-8  <xref target="RFC3629" /> string consisting of the peer
+       public key and the HELLO URI <xref target="RFC3986" />.
+     </t>
+       <figure>
+         <artwork name="" type="" align="left" alt=""><![CDATA[
+hello-format := <peer-public-key> <hello-uri>
+peer-public-key := [A-HJ-NP-Z1-9]+
+         ]]></artwork>
+     </figure>
+     <t>
+       For the string representation of the peer public key,
+       the base-32 encoding "StringEncode" is used.
+       However, instead of following <xref target="RFC4648"/> the
+       character map is based on the optical character recognition friendly
+       proposal of Crockford <xref target="CrockfordB32"/>.
+       The only difference to Crockford is that the letter
+       "U" decodes to the same base-32 value as the letter "V" (27).
+     </t>
+     <t>
+       The "scheme" part of the HELLO URI defined the addressing scheme
+       which is used. An example of an addressing scheme used throughout
+       this document is "ip+tcp", which refers to a standard TCP/IP socket
+       connection. The "hier"-part of the URI must provide a suitable
+       address for the given addressing scheme.
+       The following is a non-normative example of a HELLO containing three
+       HELLO URIs:
+     </t>
+       <figure>
+         <artwork name="" type="" align="left" alt=""><![CDATA[
+Y924NSHMMZ1N1SQCE5TXF93ED6S6JY311K0QT86G9WJC68F6XVZ0 \
+        ip+tcp://1.2.3.4:6789 \
+        gnunet+tcp://12.3.4.5/ \
+        i2p+udp://1.2.4.5:424/ \
+        tor+onionv3://rasdflkjasdfliasduf.onion/
+         ]]></artwork>
+     </figure>
+
+     <t>
+       It is expected that there are basic mechanisms available to
+       manage peer connectivity and addressing.
+       The required functionality are abstracted through the following
+       procedures and events:
+     </t>
+     <dl>
+       <dt>PEER_CONNECTIVITY_CHANGED</dt>
+       <dd>
+         is a signal that allows the DHT to react to peers which connect or
+         disconnect. Such an event triggers, for example, updates in the
+         routing table.
+       </dd>
+       <dt>CONNECT</dt>
+       <dd>
+         A function which allows a peer to attempt the establishment of
+         a connection to another peer using an address.
+       </dd>
+       <dt>RECEIVE</dt>
+       <dd>
+         A function or event that allows the peer to receive protocol
+         messages as defined in this document from a connected peer.
+       </dd>
+       <dt>SEND</dt>
+       <dd>
+         A function that allows a peer to send protocol messages as defined
+         in this document to a connected peer.
+       </dd>
+       <dt>NETWORK_SIZE_ESTIMATE</dt>
+       <dd>
+         A function or event that provides estimates on the network size
+         for use in the DHT routing algorithms.
+       </dd>
+       <dt>ADDRESS_CHANGED</dt>
+       <dd>
+         An event that allows the DHT to learn and react to address changes
+         of the peer. This information is used, for example, to publish
+         connectivity as part of the bootstrapping and overlay creation.
+       </dd>
+     </dl>
+   </section>
+
    <section anchor="p2p_messages" numbered="true" toc="default">
      <name>Peer-to-peer wire formats</name>
       <section anchor="p2p_bf" numbered="true" toc="default">
@@ -439,8 +536,52 @@ Purpose | Name            | References | Description
      <references>
        <name>Normative References</name>
 
-       &RFC2119;
-       &RFC8126;
+         &RFC2119;
+         &RFC3629;
+         &RFC3986;
+         &RFC4648;
+         &RFC8126;
+ 
+      <reference anchor="ed25519" 
target="http://link.springer.com/chapter/10.1007/978-3-642-23951-9_9";>
+         <front>
+           <title>High-Speed High-Security Signatures</title>
+          <author initials="D." surname="Bernstein" fullname="Daniel 
Bernstein">
+            <organization>University of Illinois at Chicago</organization>
+          </author>
+
+          <author initials="N." surname="Duif"
+            fullname="Niels Duif">
+          <organization>Technische Universiteit Eindhoven</organization>
+
+        </author>
+          <author initials="T." surname="Lange"
+            fullname="Tanja Lange">
+          <organization>Technische Universiteit Eindhoven</organization>
+
+          </author>
+          <author initials="P." surname="Schwabe"
+            fullname="Peter Schwabe">
+          <organization>National Taiwan University</organization>
+
+          </author>
+          <author initials="B." surname="Yang"
+            fullname="Bo-Yin Yang">
+          <organization>Academia Sinica</organization>
+
+          </author>
+           <date year="2011"/>
+         </front>
+       </reference>
+
+       <reference anchor="CrockfordB32" 
target="https://www.crockford.com/base32.html";>
+         <front>
+           <title>Base32</title>
+          <author initials="D." surname="Douglas" fullname="Crockford">
+          </author>
+
+           <date year="2019" month="March"/>
+         </front>
+       </reference>
 
        <reference anchor="GANA" target="https://gana.gnunet.org/";>
          <front>

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