lsd0003

LSD0003: Set Union
Log | Files | Refs | README

commit a0a4373b3228234eedc28c540ee2519b8e97920f
parent 0b4d0ea799b8fe5a444fca7eceb083a38e53977a
Author: Elias Summermatter <elias.summermatter@seccom.ch>
Date:   Thu, 19 Nov 2020 15:47:21 +0100

First commit some change to the basic structure

Diffstat:
A.gitignore | 5+++++
Mdraft-summermatter-set-union.xml | 256+++++++++++++++++++++++++++++++++++++++++++++----------------------------------
2 files changed, 150 insertions(+), 111 deletions(-)

diff --git a/.gitignore b/.gitignore @@ -0,0 +1,4 @@ +/.idea/ +*.xml.swp +*.html +*.min.js +\ No newline at end of file diff --git a/draft-summermatter-set-union.xml b/draft-summermatter-set-union.xml @@ -36,9 +36,9 @@ <organization>.</organization> <address> <postal> - <street></street> - <city></city> - <code></code> + <street>Brunnmattstrasse 44</street> + <city>Bern</city> + <code>3007</code> <country>CH</country> </postal> <email>elias.summermatter@seccom.ch</email> @@ -70,7 +70,7 @@ <section anchor="introduction" numbered="true" toc="default"> <name>Introduction</name> <t> - Blah. + --- TEXT HERE --- </t> <t> This document defines the normative wire format of resource records, resolution processes, @@ -88,115 +88,149 @@ </t> </section> - <section anchor="zones" numbered="true" toc="default"> - <name>Zones</name> - <t> - Blah. - </t> - <figure anchor="figure_gnsrecord"> - <artwork name="" type="" align="left" alt=""><![CDATA[ -0 8 16 24 32 40 48 56 -+-----+-----+-----+-----+-----+-----+-----+-----+ -| EXPIRATION | -+-----+-----+-----+-----+-----+-----+-----+-----+ -| DATA SIZE | TYPE | -+-----+-----+-----+-----+-----+-----+-----+-----+ -| FLAGS | DATA / -+-----+-----+-----+-----+ / -/ / -/ / - ]]></artwork> - <!-- <postamble>which is a very simple example.</postamble>--> - </figure> - <t>where:</t> - <dl> - <dt>EXPIRATION</dt> - <dd> - denotes the absolute 64-bit expiration date of the record. - In microseconds since midnight (0 hour), January 1, 1970 in network - byte order. - </dd> - <dt>DATA SIZE</dt> - <dd> - denotes the 32-bit size of the DATA field in bytes and in network byte - order. - </dd> - <dt>TYPE</dt> - <dd> - is the 32-bit resource record type. This type can be one of the GNS resource - records as defined in <xref target="rrecords" /> or a DNS record - type as defined in <xref target="RFC1035" /> or any of the - complementary standardized DNS resource record types. This value must be - stored in network byte order. Note that values - below 2^16 are reserved for allocation via IANA (<xref target="RFC6895" />), - while values above 2^16 are allocated by the - GNUnet Assigned Numbers Authority <xref target="GANA" />. - </dd> - <dt>FLAGS</dt> - <dd> - is a 32-bit resource record flags field (see below). - </dd> - <dt>DATA</dt> - <dd> - the variable-length resource record data payload. The contents are defined - by the - respective type of the resource record. - </dd> - </dl> - <t> - Flags indicate metadata surrounding the resource record. A flag - value of 0 indicates that all flags are unset. The following - illustrates the flag distribution in the 32-bit flag value of a - resource record:</t> - <figure anchor="figure_flag"> - <artwork name="" type="" align="left" alt=""><![CDATA[ -... 5 4 3 2 1 0 -------+--------+--------+--------+--------+--------+ -/ ... | SHADOW | EXPREL | SUPPL | PRIVATE| / | -------+--------+--------+--------+--------+--------+ - ]]></artwork> - <!-- <postamble>which is a very simple example.</postamble>--> - </figure> - <t> - where: - </t> - <dl> - <dt>SHADOW</dt> - <dd> - If this flag is set, this record should be ignored by resolvers unless all (other) - records of the same record type have expired. Used to allow zone publishers to - facilitate good performance when records change by allowing them to put future - values of records into the DHT. This way, future values can propagate and may be - cached before the transition becomes active. - </dd> - <dt>EXPREL</dt> - <dd> - The expiration time value of the record is a relative time (still in microseconds) - and not an absolute time. This flag should never be encountered by a resolver - for records obtained from the DHT, but might be present when a resolver looks up - private records of a zone hosted locally. - </dd> - <dt> - SUPPL - </dt> - <dd> - This is a supplemental record. It is provided in addition to the - other records. This flag indicates that this record is not explicitly - managed alongside the other records under the respective name but - may be useful for the application. This flag should only be encountered - by a resolver for records obtained from the DHT. - </dd> - <dt>PRIVATE</dt> - <dd> - This is a private record of this peer and it should thus not be - published in the DHT. Thus, this flag should never be encountered by - a resolver for records obtained from the DHT. - Private records should still be considered just like - regular records when resolving labels in local zones. - </dd> - </dl> + + <section anchor="modeofoperation" numbered="true" toc="default"> + <name>Mode of operation</name> + <section anchor="modeofoperation_full-sync-client-with-bigger-set" numbered="true" toc="default"> + <name>Full Sync </name> + </section> + <section anchor="modeofoperation_individual-elements" numbered="true" toc="default"> + <name>Individual Element Sync</name> + </section> </section> + + <section anchor="messages" numbered="true" toc="default"> + <name>Messages</name> + + <section anchor="messages_operation_request" numbered="true" toc="default"> + <name>Operation Request</name> + + <section anchor="messages_operation_request_description" numbered="true" toc="default"> + <name>Description</name> + <t> + Some description what this messages does + </t> + </section> + <section anchor="messages_operation_request_structure" numbered="true" toc="default"> + <name>Structure</name> + + <figure anchor="figure_gnsrecord"> + <artwork name="" type="" align="left" alt=""><![CDATA[ + 0 8 16 24 32 40 48 56 + +-----+-----+-----+-----+-----+-----+-----+-----+ + | EXPIRATION | + +-----+-----+-----+-----+-----+-----+-----+-----+ + | DATA SIZE | TYPE | + +-----+-----+-----+-----+-----+-----+-----+-----+ + | FLAGS | DATA / + +-----+-----+-----+-----+ / + / / + / / + ]]></artwork> + <!-- <postamble>which is a very simple example.</postamble>--> + </figure> + <t>where:</t> + <dl> + <dt>EXPIRATION</dt> + <dd> + denotes the absolute 64-bit expiration date of the record. + In microseconds since midnight (0 hour), January 1, 1970 in network + byte order. + </dd> + <dt>DATA SIZE</dt> + <dd> + denotes the 32-bit size of the DATA field in bytes and in network byte + order. + </dd> + <dt>TYPE</dt> + <dd> + is the 32-bit resource record type. This type can be one of the GNS resource + records as defined in or a DNS record + type as defined in <xref target="RFC1035" /> or any of the + complementary standardized DNS resource record types. This value must be + stored in network byte order. Note that values + below 2^16 are reserved for allocation via IANA (<xref target="RFC6895" />), + while values above 2^16 are allocated by the + GNUnet Assigned Numbers Authority <xref target="GANA" />. + </dd> + <dt>FLAGS</dt> + <dd> + is a 32-bit resource record flags field (see below). + </dd> + <dt>DATA</dt> + <dd> + the variable-length resource record data payload. The contents are defined + by the + respective type of the resource record. + </dd> + </dl> + <t> + Flags indicate metadata surrounding the resource record. A flag + value of 0 indicates that all flags are unset. The following + illustrates the flag distribution in the 32-bit flag value of a + resource record:</t> + <figure anchor="figure_flag"> + <artwork name="" type="" align="left" alt=""><![CDATA[ + ... 5 4 3 2 1 0 + ------+--------+--------+--------+--------+--------+ + / ... | SHADOW | EXPREL | SUPPL | PRIVATE| / | + ------+--------+--------+--------+--------+--------+ + ]]></artwork> + <!-- <postamble>which is a very simple example.</postamble>--> + </figure> + <t> + where: + </t> + <dl> + <dt>SHADOW</dt> + <dd> + If this flag is set, this record should be ignored by resolvers unless all (other) + records of the same record type have expired. Used to allow zone publishers to + facilitate good performance when records change by allowing them to put future + values of records into the DHT. This way, future values can propagate and may be + cached before the transition becomes active. + </dd> + <dt>EXPREL</dt> + <dd> + The expiration time value of the record is a relative time (still in microseconds) + and not an absolute time. This flag should never be encountered by a resolver + for records obtained from the DHT, but might be present when a resolver looks up + private records of a zone hosted locally. + </dd> + <dt> + SUPPL + </dt> + <dd> + This is a supplemental record. It is provided in addition to the + other records. This flag indicates that this record is not explicitly + managed alongside the other records under the respective name but + may be useful for the application. This flag should only be encountered + by a resolver for records obtained from the DHT. + </dd> + <dt>PRIVATE</dt> + <dd> + This is a private record of this peer and it should thus not be + published in the DHT. Thus, this flag should never be encountered by + a resolver for records obtained from the DHT. + Private records should still be considered just like + regular records when resolving labels in local zones. + </dd> + </dl> + </section> + </section> + </section> + + <section anchor="states" numbered="true" toc="default"> + <name>States</name> + <section anchor="state_expect-se" numbered="true" toc="default"> + <name>Expect Strata Estimator</name> + <t> + Some description what this state does + </t> + </section> + </section> + <section anchor="security" numbered="true" toc="default"> <name>Security Considerations</name> <section anchor="security_crypto" numbered="true" toc="default">