aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Schanzenbach <schanzen@gnunet.org>2022-03-10 11:17:33 +0100
committerMartin Schanzenbach <schanzen@gnunet.org>2022-03-10 11:17:33 +0100
commitaa69ed90dc6a186dbce6d9720e4682a31fd0f824 (patch)
tree9f4599b7b37c04ff52fd65092f3db658760fcc8e
parent2eb1996dc516e2e84edd7ffcb1f870c1c9745ab5 (diff)
downloadlsd0001-aa69ed90dc6a186dbce6d9720e4682a31fd0f824.tar.gz
lsd0001-aa69ed90dc6a186dbce6d9720e4682a31fd0f824.zip
more graphics
-rw-r--r--draft-schanzen-gns.xml78
1 files changed, 70 insertions, 8 deletions
diff --git a/draft-schanzen-gns.xml b/draft-schanzen-gns.xml
index 4e0a9bd..868643e 100644
--- a/draft-schanzen-gns.xml
+++ b/draft-schanzen-gns.xml
@@ -1731,7 +1731,7 @@ GET(key) -> value
1731 <t> 1731 <t>
1732 Resource records are grouped by their respective labels, 1732 Resource records are grouped by their respective labels,
1733 encrypted and published together in a single resource records block 1733 encrypted and published together in a single resource records block
1734 (RRBLOCK) in the storage under a key q: PUT(q, RRBLOCK). 1734 (RRBLOCK) in the storage under a key q as illustrated in <xref target="figure_storage_publish"/>.
1735 The key q is derived from the zone key and the respective 1735 The key q is derived from the zone key and the respective
1736 label of the contained records. 1736 label of the contained records.
1737 The required knowledge of both zone key and label in combination 1737 The required knowledge of both zone key and label in combination
@@ -1742,6 +1742,34 @@ GET(key) -> value
1742 The implementation <bcp14>MUST</bcp14> use the PUT storage procedure in order to update 1742 The implementation <bcp14>MUST</bcp14> use the PUT storage procedure in order to update
1743 the zone contents accordingly. 1743 the zone contents accordingly.
1744 </t> 1744 </t>
1745 <figure anchor="figure_storage_publish" title="Management and publication of local zones in the distributed storage.">
1746 <artwork name="" type="" align="left" alt=""><![CDATA[
1747 Local Host | Distributed
1748 | Storage
1749 |
1750 | +--------+
1751 | / /|
1752 | +--------+ |
1753+-----------+ +---------+ | | | |
1754| | | |PUT(q, RRBLOCK) | | Public | |
1755| User | | GNS |----------------|->| Zones | |
1756| | | | | | |/
1757+-----------+ +---------+ | +--------+
1758 | A |
1759 | | Zone records |
1760 | | grouped by label |
1761 | | |
1762 | +---------+ |
1763 |Create / Delete / | /| |
1764 |and Update +---------+ | |
1765 |Local Zones | | | |
1766 | | Local | | |
1767 +-------------->| Zones | | |
1768 | |/ |
1769 +---------+ |
1770 ]]></artwork>
1771 </figure>
1772
1745 <section anchor="blinding" numbered="true" toc="default"> 1773 <section anchor="blinding" numbered="true" toc="default">
1746 <name>The Storage Key</name> 1774 <name>The Storage Key</name>
1747 <t> 1775 <t>
@@ -1957,19 +1985,51 @@ q := SHA-512 (ZKDF-Public(zk, label))
1957 Instead, it <bcp14>MUST</bcp14> respond to a resolution request with either the 1985 Instead, it <bcp14>MUST</bcp14> respond to a resolution request with either the
1958 requested resource record or an error message in case the resolution 1986 requested resource record or an error message in case the resolution
1959 fails. 1987 fails.
1960 The following sections detail how resolution is initiated and each 1988 <xref target="figure_resolution"/> illustrates how an application
1961 iteration in the resolution is processed. 1989 requests the lookup of a GNS name (1).
1962 </t>
1963 <t>
1964 The application <bcp14>MAY</bcp14> provide a desired record type to the resolver. 1990 The application <bcp14>MAY</bcp14> provide a desired record type to the resolver.
1965 The desired record type is used to guide processing. 1991 Subsequently, the Start Zone is determined (2) and the recursive
1992 resolution process started.
1993 This is where the desired record type is used to guide processing.
1966 For example, if a zone delegation record type is requested, the 1994 For example, if a zone delegation record type is requested, the
1967 resolution of the apex label in that zone must be skipped, as 1995 resolution of the apex label in that zone must be skipped, as
1968 the desired record is already found. 1996 the desired record is already found.
1969 The resolver implementation <bcp14>MUST NOT</bcp14> filter results according to the desired 1997 Details on how the resolution process is initiated and each iterative
1970 record type. 1998 result (3a,3b) in the resolution is processed are provided in the sections below.
1999 The results of the lookup are eventually returned to the application (4).
2000 The implementation <bcp14>MUST NOT</bcp14> filter results
2001 according to the desired record type.
1971 Filtering of record sets is typically done by the application. 2002 Filtering of record sets is typically done by the application.
1972 </t> 2003 </t>
2004 <figure anchor="figure_resolution" title="The recursive GNS resolution process.">
2005 <artwork name="" type="" align="left" alt=""><![CDATA[
2006 Local Host | Distributed
2007 | Storage
2008 |
2009 | +--------+
2010 | / /|
2011 | +--------+ |
2012+-----------+ (1) Name +---------+ | | | |
2013| | Lookup | | (3a) GET(q) | | Public | |
2014|Application|----------| GNS |-------------------|->| Zones | |
2015| |<---------| |<------------------|--| |/
2016+-----------+ (4) +---------+ (3b) RRBLOCK | +--------+
2017 Records A |
2018 | |
2019 | |
2020 (2) Determination of | |
2021 Start Zone | |
2022 | |
2023 +---------+ |
2024 / | /| |
2025 +---------+ | |
2026 | | | |
2027 | Start | | |
2028 | Zones | | |
2029 | |/ |
2030 +---------+ |
2031 ]]></artwork>
2032 </figure>
1973 <section anchor="governance" numbered="true" toc="default"> 2033 <section anchor="governance" numbered="true" toc="default">
1974 <name>Start Zones</name> 2034 <name>Start Zones</name>
1975 <t> 2035 <t>
@@ -2081,6 +2141,8 @@ example.com = zTLD2 := Base32GNS(ztype2||zk2)
2081 record could not be processed <bcp14>SHOULD</bcp14> be returned in the error 2141 record could not be processed <bcp14>SHOULD</bcp14> be returned in the error
2082 description. The implementation <bcp14>MAY</bcp14> choose not to return the reason for the failure, 2142 description. The implementation <bcp14>MAY</bcp14> choose not to return the reason for the failure,
2083 merely complicating troubleshooting for the user. 2143 merely complicating troubleshooting for the user.
2144 </t>
2145 <t>
2084 The next steps depend on the context of the name that is being 2146 The next steps depend on the context of the name that is being
2085 resolved: 2147 resolved:
2086 </t> 2148 </t>