From aa69ed90dc6a186dbce6d9720e4682a31fd0f824 Mon Sep 17 00:00:00 2001 From: Martin Schanzenbach Date: Thu, 10 Mar 2022 11:17:33 +0100 Subject: more graphics --- draft-schanzen-gns.xml | 78 ++++++++++++++++++++++++++++++++++++++++++++------ 1 file 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 Resource records are grouped by their respective labels, encrypted and published together in a single resource records block - (RRBLOCK) in the storage under a key q: PUT(q, RRBLOCK). + (RRBLOCK) in the storage under a key q as illustrated in . The key q is derived from the zone key and the respective label of the contained records. The required knowledge of both zone key and label in combination @@ -1742,6 +1742,34 @@ GET(key) -> value The implementation MUST use the PUT storage procedure in order to update the zone contents accordingly. +
+ | Zones | | +| | | | | | |/ ++-----------+ +---------+ | +--------+ + | A | + | | Zone records | + | | grouped by label | + | | | + | +---------+ | + |Create / Delete / | /| | + |and Update +---------+ | | + |Local Zones | | | | + | | Local | | | + +-------------->| Zones | | | + | |/ | + +---------+ | + ]]> +
+
The Storage Key @@ -1957,19 +1985,51 @@ q := SHA-512 (ZKDF-Public(zk, label)) Instead, it MUST respond to a resolution request with either the requested resource record or an error message in case the resolution fails. - The following sections detail how resolution is initiated and each - iteration in the resolution is processed. - - + illustrates how an application + requests the lookup of a GNS name (1). The application MAY provide a desired record type to the resolver. - The desired record type is used to guide processing. + Subsequently, the Start Zone is determined (2) and the recursive + resolution process started. + This is where the desired record type is used to guide processing. For example, if a zone delegation record type is requested, the resolution of the apex label in that zone must be skipped, as the desired record is already found. - The resolver implementation MUST NOT filter results according to the desired - record type. + Details on how the resolution process is initiated and each iterative + result (3a,3b) in the resolution is processed are provided in the sections below. + The results of the lookup are eventually returned to the application (4). + The implementation MUST NOT filter results + according to the desired record type. Filtering of record sets is typically done by the application. +
+ | Zones | | +| |<---------| |<------------------|--| |/ ++-----------+ (4) +---------+ (3b) RRBLOCK | +--------+ + Records A | + | | + | | + (2) Determination of | | + Start Zone | | + | | + +---------+ | + / | /| | + +---------+ | | + | | | | + | Start | | | + | Zones | | | + | |/ | + +---------+ | + ]]> +
Start Zones @@ -2081,6 +2141,8 @@ example.com = zTLD2 := Base32GNS(ztype2||zk2) record could not be processed SHOULD be returned in the error description. The implementation MAY choose not to return the reason for the failure, merely complicating troubleshooting for the user. + + The next steps depend on the context of the name that is being resolved: -- cgit v1.2.3