rfc9498v10.txt | rfc9498.txt | |||
---|---|---|---|---|
skipping to change at line 425 ¶ | skipping to change at line 425 ¶ | |||
originating zone or the record sets. | originating zone or the record sets. | |||
Local Host | Remote | Local Host | Remote | |||
| Storage | | Storage | |||
| | | | |||
| +---------+ | | +---------+ | |||
| / /| | | / /| | |||
| +---------+ | | | +---------+ | | |||
+-----------+ Name +----------+ Recursive | | | | | +-----------+ Name +----------+ Recursive | | | | | |||
| | Lookup | | Resolution | | Record | | | | | Lookup | | Resolution | | Record | | | |||
|Application|----------| Resolver |-------------|->| Storage | | | |Application|--------->| Resolver |-------------|->| Storage | | | |||
| |<---------| |<------------|--| |/ | | |<---------| |<------------|--| |/ | |||
+-----------+ Results +----------+ Intermediate| +---------+ | +-----------+ Results +----------+ Intermediate| +---------+ | |||
A Results | | A Results | | |||
| | | | | | |||
+---------+ | | +---------+ | | |||
/ | /| | | / | /| | | |||
+---------+ | | | +---------+ | | | |||
| | | | | | | | | | |||
| Start | | | | | Start | | | | |||
| Zones | | | | | Zones | | | | |||
skipping to change at line 522 ¶ | skipping to change at line 522 ¶ | |||
Section 9.3 -- apply. | Section 9.3 -- apply. | |||
4.1. Zone Top-Level Domain (zTLD) | 4.1. Zone Top-Level Domain (zTLD) | |||
A zTLD is a string that encodes the zone type and zone key into a | A zTLD is a string that encodes the zone type and zone key into a | |||
domain name suffix. A zTLD is used as a globally unique reference to | domain name suffix. A zTLD is used as a globally unique reference to | |||
a zone in the process of name resolution. It is created by encoding | a zone in the process of name resolution. It is created by encoding | |||
a binary concatenation of the zone type and zone key (see Figure 3). | a binary concatenation of the zone type and zone key (see Figure 3). | |||
The used encoding is a variation of the Crockford Base32 encoding | The used encoding is a variation of the Crockford Base32 encoding | |||
[CrockfordB32] called Base32GNS. The encoding and decoding symbols | [CrockfordB32] called Base32GNS. The encoding and decoding symbols | |||
for Base32GNS, including this variation, are defined in Table 4 | for Base32GNS, including this variation, are defined in Table 4, | |||
(Appendix C). The functions for encoding and decoding based on | found in Appendix C. The functions for encoding and decoding based | |||
Table 4 are called Base32GNS-Encode and Base32GNS-Decode, | on Table 4 are called Base32GNS-Encode and Base32GNS-Decode, | |||
respectively. | respectively. | |||
0 8 16 24 32 40 48 56 | 0 8 16 24 32 40 48 56 | |||
+-----+-----+-----+-----+-----+-----+-----+-----+ | +-----+-----+-----+-----+-----+-----+-----+-----+ | |||
| ZONE TYPE | ZONE KEY / | | ZONE TYPE | ZONE KEY / | |||
+-----+-----+-----+-----+ / | +-----+-----+-----+-----+ / | |||
/ / | / / | |||
/ / | / / | |||
+-----+-----+-----+-----+-----+-----+-----+-----+ | +-----+-----+-----+-----+-----+-----+-----+-----+ | |||
Figure 3: The Binary Representation of the zTLD | Figure 3: The Binary Representation of the zTLD | |||
The ZONE TYPE must be encoded in network byte order. The format of | The ZONE TYPE MUST be encoded in network byte order. The format of | |||
the ZONE KEY depends entirely on the ZONE TYPE. | the ZONE KEY depends entirely on the ZONE TYPE. | |||
Consequently, a zTLD is encoded and decoded as follows: | Consequently, a zTLD is encoded and decoded as follows: | |||
zTLD := Base32GNS-Encode(ztype||zkey) | zTLD := Base32GNS-Encode(ztype||zkey) | |||
ztype||zkey := Base32GNS-Decode(zTLD) | ztype||zkey := Base32GNS-Decode(zTLD) | |||
where "||" is the concatenation operator. | where "||" is the concatenation operator. | |||
The zTLD can be used "as is" as a rightmost label in a GNS name. If | The zTLD can be used "as is" as a rightmost label in a GNS name. If | |||
skipping to change at line 771 ¶ | skipping to change at line 771 ¶ | |||
The TTL field in the revocation message is informational. A | The TTL field in the revocation message is informational. A | |||
revocation MAY be discarded without checking the POW values or the | revocation MAY be discarded without checking the POW values or the | |||
signature if the TTL (in combination with TIMESTAMP) indicates that | signature if the TTL (in combination with TIMESTAMP) indicates that | |||
the revocation has already expired. The actual validity period of | the revocation has already expired. The actual validity period of | |||
the revocation MUST be determined by examining the leading zeroes in | the revocation MUST be determined by examining the leading zeroes in | |||
the POW values. | the POW values. | |||
The validity period of the revocation is calculated as (D'-D+1) * | The validity period of the revocation is calculated as (D'-D+1) * | |||
EPOCH * 1.1. The EPOCH is extended by 10% in order to deal with | EPOCH * 1.1. The EPOCH is extended by 10% in order to deal with | |||
unsynchronized clocks. The validity period added on top of the | poorly synchronized clocks. The validity period added on top of the | |||
TIMESTAMP yields the expiration date. If the current time is after | TIMESTAMP yields the expiration date. If the current time is after | |||
the expiration date, the revocation is considered stale. | the expiration date, the revocation is considered stale. | |||
Verified revocations MUST be stored locally. The implementation MAY | Verified revocations MUST be stored locally. The implementation MAY | |||
discard stale revocations and evict them from the local store at any | discard stale revocations and evict them from the local store at any | |||
time. | time. | |||
Implementations MUST broadcast received revocations if they are valid | It is important that implementations broadcast received revocations | |||
and not stale. Should the calculated validity period differ from the | if they are valid and not stale. Should the calculated validity | |||
TTL field value, the calculated value MUST be used as the TTL field | period differ from the TTL field value, the calculated value MUST be | |||
value when forwarding the revocation message. Systems might disagree | used as the TTL field value when forwarding the revocation message. | |||
on the current time, so implementations MAY use stale but otherwise | Systems might disagree on the current time, so implementations MAY | |||
valid revocations but SHOULD NOT broadcast them. Forwarded stale | use stale but otherwise valid revocations but SHOULD NOT broadcast | |||
revocations MAY be discarded by the receiver. | them. Forwarded stale revocations MAY be discarded by the receiver. | |||
Any locally stored revocation MUST be considered during delegation | Any locally stored revocation MUST be considered during delegation | |||
record processing (see Section 7.3.4). | record processing (see Section 7.3.4). | |||
5. Resource Records | 5. Resource Records | |||
A GNS implementation SHOULD provide a mechanism for creating and | A GNS implementation SHOULD provide a mechanism for creating and | |||
managing local zones as well as a persistence mechanism (such as a | managing local zones as well as a persistence mechanism (such as a | |||
local database) for resource records. A new local zone is | local database) for resource records. A new local zone is | |||
established by selecting a zone type and creating a zone key pair. | established by selecting a zone type and creating a zone key pair. | |||
End of changes. 5 change blocks. | ||||
13 lines changed or deleted | 13 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |