| 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. | ||||