lsd0004

LSD0004: R5N Distributed Hash Table
Log | Files | Refs

commit 1b6ce015a562684970a648972216e03200e2b148
parent 8153f62a68fd2fa19deb7f57944d60db388ad311
Author: Martin Schanzenbach <mschanzenbach@posteo.de>
Date:   Wed, 29 Sep 2021 11:31:13 +0200

add architecture

Diffstat:
Mdraft-schanzen-r5n.xml | 112+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 112 insertions(+), 0 deletions(-)

diff --git a/draft-schanzen-r5n.xml b/draft-schanzen-r5n.xml @@ -107,6 +107,84 @@ </t> </section> + <section anchor="architecture" numbered="true" toc="default"> + <name>Architecture</name> + <t> + R5N is an overlay network with a pluggable transport layer. + The following figure shows the R5N architecture. + </t> + <figure> + <artwork name="" type="" align="left" alt=""><![CDATA[ + +-----------------+ +-------+ + | GNU Name System | | CADET | ... + +-----------------+ +-------+ + ------------------------------------ Overlay Interface + ^ + | +---------------+ + | | Block Storage | + | +---------------+ + | ^ + v v + +--------------------+ +---------+ + | Message Processing |<-->| Routing | + +--------------------+ +---------+ + ^ ^ + v v + ------------------------------------ Underlay Interface + +--------+ +--------+ + |GNUnet | |IP | ... + |Underlay| |Underlay| + |Link | |Link | + +--------+ +--------+ + + ]]></artwork> + </figure> + <dl> + <dt>Applications</dt> + <dd> + Applications are components which directly use the DHT overlay + interfaces. Possible applications include the GNU Name System + <xref target="I-D.draft-schanzen-gns" /> or the CADET transport system + <xref target="cadet" />. + </dd> + <dt>Overlay Interface</dt> + <dd> + The Overlay Interface exposes the core operations of the DHT overlay + to applications. + This includes querying and retrieving data from the DHT. + </dd> + <dt>Block Storage</dt> + <dd> + The Block Storage component is used to persist and manage data + by peers. It includes logic for quotas, caching stragegies and + data validation. + </dd> + <dt>Message Processing</dt> + <dd> + The Message Processing component processes requests from and responses + to applications as well as messages from the underlay network. + </dd> + <dt>Routing</dt> + <dd> + The Routing component includes the routing table as well as + routing and peer selection logic. It facilitates the R5N routing + algorithm with required data structures and algorithms. + </dd> + <dt>Underlay Interface</dt> + <dd> + The DHT Underlay Interface is an abstraction layer on top of the + supported links of a peer. Peers may be linked by a variety of + different transports, including "classical" protocols such as + TCP, UDP and TLS or advanced protocols such as GNUnet, L2P or Tor. + </dd> + </dl> + </section> + <section anchor="underlay" numbered="true" toc="default"> + <name>Underlay</name> + <t> + Discuss the DHT underlay concept here. + </t> + </section> <section anchor="connectivity" numbered="true" toc="default"> <name>Connectivity and addressing</name> <t> @@ -699,6 +777,40 @@ Purpose | Name | References | Description <date year="2011"/> </front> </reference> + <reference anchor="cadet" target="https://doi.org/10.1109/MedHocNet.2014.6849107"> + <front> + <title>CADET: Confidential ad-hoc decentralized end-to-end transport</title> + <author initials="B." surname="Polot" fullname="Bartlomiej Polot"> + <organization>Technische Universität München</organization> + </author> + + <author initials="C." surname="Grothoff" + fullname="Christian Grothoff"> + <organization>Technische Universität München</organization> + </author> + <date year="2014"/> + </front> + </reference> + <reference anchor="I-D.draft-schanzen-gns" target="https://datatracker.ietf.org/doc/draft-schanzen-gns/"> + <front> + <title>The GNU Name System</title> + <author initials="M." surname="Schanzenbach" fullname="Martin Schanzenbach"> + <organization>GNUnet e.V.</organization> + </author> + + <author initials="C." surname="Grothoff" + fullname="Christian Grothoff"> + <organization>GNUnet e.V.</organization> + </author> + <author initials="B." surname="Fix" + fullname="Bernd Fix"> + <organization>GNUnet e.V.</organization> + </author> + <date year="2021"/> + </front> + </reference> + +