diff --git a/draft-ietf-schc-8824-update.html b/draft-ietf-schc-8824-update.html index 0bd72e8..bcd7902 100644 --- a/draft-ietf-schc-8824-update.html +++ b/draft-ietf-schc-8824-update.html @@ -1202,16 +1202,19 @@

It clarifies the SCHC compression for the CoAP options Size1, Size2, Proxy-Uri, and Proxy-Scheme (see Section 5.4).

  • -

    It defines the SCHC compression for the CoAP option Hop-Limit (see Section 5.6).

    +

    It defines the SCHC compression for the CoAP option Hop-Limit (see Section 5.7).

  • -

    It defines the SCHC compression for the recently defined CoAP options Echo (see Section 5.7), Request-Tag (see Section 5.8), EDHOC (see Section 5.9), as well as Q-Block1 and Q-Block2 (see Section 6.1).

    +

    It defines the SCHC compression for the recently defined CoAP options Echo (see Section 5.8), Request-Tag (see Section 5.9), EDHOC (see Section 5.10), as well as Q-Block1 and Q-Block2 (see Section 6.1).

  • It updates the SCHC compression processing for the CoAP option OSCORE (see Section 6.4), in the light of recent developments related to the security protocol OSCORE as defined in [I-D.ietf-core-oscore-key-update] and [I-D.ietf-core-oscore-groupcomm].

    @@ -1746,7 +1749,7 @@

    When the Option Length has a well-known value, the Rule may specify the Option Length value in the FL of the Field Descriptor (see above). In such a case, SCHC compression treats the Option Value as a fixed-length field (see Section 7.4.1 of [RFC8724]).

    Otherwise, the Rule specifies the FL of the Field Descriptor as indicating a variable length, and SCHC compression treats the Option Value as a variable-length field (see Section 7.4.2 of [RFC8724]). That is, SCHC compression additionally carries the length of the Compression Residue, as prepended to the Compression Residue value. Note that the length coding differs between CoAP options and the Compression Residue of SCHC variable-length fields.

    CoAP requests and responses do not include the same options. Compression Rules may reflect this asymmetry by using the DI.

    -

    The following sections present how SCHC compresses some specific CoAP options.

    +

    The following sections present how SCHC compresses some specific CoAP options. Unless otherwise indicated, the referred CoAP options are specified in [RFC7252].

    If the use of an additional CoAP option is later introduced, the SCHC Rules MAY be updated, in which case a new FID description MUST be assigned to perform the compression of the CoAP option. Otherwise, if no Rule describes that CoAP option, SCHC compression is not achieved, and SCHC sends the CoAP header without compression.

    @@ -1891,10 +1894,11 @@

    5.4. CoAP Option Size1, Size2, Proxy-Uri, and Proxy-Scheme Fields

    -

    The SCHC Rule description MAY define sending some field values by not setting the TV, while setting the MO to "ignore" and the CDA to "value-sent". A Rule MAY also use a "match-mapping" MO when there are different options for the same FID. Otherwise, the Rule sets the TV to a specific value, the MO to "equal", and the CDA to "not-sent".

    +

    The Size2 field is an option defined in [RFC7959].

    +

    The SCHC Rule description MAY define sending some field values by not setting the TV, while setting the MO to "ignore" and the CDA to "value-sent". A Rule MAY also use a "match-mapping" MO when there are different options for the same FID. Otherwise, the Rule sets the TV to a specific value, the MO to "equal", and the CDA to "not-sent".

    -
    +

    5.5. CoAP Option ETag, If-Match, If-None-Match, Location-Path, and Location-Query Fields @@ -1902,40 +1906,48 @@

    A Rule entry cannot store these fields' values. Therefore, SCHC compression MUST always send these values in the Compression Residue. That is, in the SCHC Rule, the TV is not set, while the MO is set to "ignore" and the CDA is set to "value-sent".

    -
    +
    +

    +5.6. CoAP Option If-None-Match +

    +

    The If-None-Match Option occurs at most once and is always empty. The SCHC Rule MUST describe an empty TV, with the MO set to "equal" and the CDA set to "not-sent".

    +
    +
    +
    +

    -5.6. CoAP Option Hop-Limit Field +5.7. CoAP Option Hop-Limit Field

    -

    The Hop-Limit field is an option defined in [RFC8768] that can be used to detect forwarding loops through a chain of CoAP proxies. The first proxy in the chain that understands the option includes it in a received request with a proper value set, before forwarding the request. Any following proxy that understands the option decrements the option value and forwards the request if the new value is different than zero, or returns a 5.08 (Hop Limit Reached) error response otherwise.

    -

    When a packet uses the Hop-Limit Option, SCHC compression SHOULD send its content in the Compression Residue. That is, in the SCHC Rule, the TV is not set, while the MO is set to "ignore" and the CDA is set to "value-sent". As an exception, and consistently with the default value 16 defined for the Hop-Limit Option in Section 3 of [RFC8768], a Rule MAY describe a TV with value 16, with the MO set to "equal" and the CDA set to "not-sent".

    +

    The Hop-Limit field is an option defined in [RFC8768] that can be used to detect forwarding loops through a chain of CoAP proxies. The first proxy in the chain that understands the option includes it in a received request with a proper value set, before forwarding the request. Any following proxy that understands the option decrements the option value and forwards the request if the new value is different than zero, or returns a 5.08 (Hop Limit Reached) error response otherwise.

    +

    When a packet uses the Hop-Limit Option, SCHC compression SHOULD send its content in the Compression Residue. That is, in the SCHC Rule, the TV is not set, while the MO is set to "ignore" and the CDA is set to "value-sent". As an exception, and consistently with the default value 16 defined for the Hop-Limit Option in Section 3 of [RFC8768], a Rule MAY describe a TV with value 16, with the MO set to "equal" and the CDA set to "not-sent".

    -
    +

    -5.7. CoAP Option Echo Field +5.8. CoAP Option Echo Field

    -

    The Echo field is an option defined in [RFC9175] that a server can include in a CoAP response as a challenge to the client, and that the client echoes back to the server in one or more CoAP requests. This enables the server to verify the freshness of a request and to cryptographically verify the aliveness of the client. Also, it forces the client to demonstrate reachability at its claimed network address.

    -

    When a packet uses the Echo Option, SCHC compression SHOULD send its content in the Compression Residue. That is, in the SCHC Rule, the TV is not set, while the MO is set to "ignore" and the CDA is set to "value-sent". An exception applies in case the server generates the values to use for the Echo Option by means of a persistent counter (see Appendix A of [RFC9175]). In such a case, a Rule MAY use the MSB MO and the LSB CDA. This would be effectively applicable until the persistent counter at the server becomes greater than the maximum threshold value that produces an MSB-matching.

    +

    The Echo field is an option defined in [RFC9175] that a server can include in a CoAP response as a challenge to the client, and that the client echoes back to the server in one or more CoAP requests. This enables the server to verify the freshness of a request and to cryptographically verify the aliveness of the client. Also, it forces the client to demonstrate reachability at its claimed network address.

    +

    When a packet uses the Echo Option, SCHC compression SHOULD send its content in the Compression Residue. That is, in the SCHC Rule, the TV is not set, while the MO is set to "ignore" and the CDA is set to "value-sent". An exception applies in case the server generates the values to use for the Echo Option by means of a persistent counter (see Appendix A of [RFC9175]). In such a case, a Rule MAY use the MSB MO and the LSB CDA. This would be effectively applicable until the persistent counter at the server becomes greater than the maximum threshold value that produces an MSB-matching.

    -
    +

    -5.8. CoAP Option Request-Tag Field +5.9. CoAP Option Request-Tag Field

    -

    The Request-Tag field is an option defined in [RFC9175] that the client can set in CoAP requests throughout block-wise operations, with value an ephemeral short-lived identifier of the specific block-wise operation in question. This allows the server to match message fragments belonging to the same request operation and, if the server supports it, to reliably process simultaneous block-wise request operations on a single resource. If requests are integrity protected, this also protects against interchange of fragments between different block-wise request operations.

    -

    When a packet uses the Request-Tag Option, SCHC compression MAY send its content in the Compression Residue. That is, in the SCHC Rule, the TV is not set, while the MO is set to "ignore" and the CDA is set to "value-sent". Alternatively, if a pre-defined set of Request-Tag values used by the client is known, a Rule MAY use a "match-mapping" MO when there are different options for the same FID.

    +

    The Request-Tag field is an option defined in [RFC9175] that the client can set in CoAP requests throughout block-wise operations, with value an ephemeral short-lived identifier of the specific block-wise operation in question. This allows the server to match message fragments belonging to the same request operation and, if the server supports it, to reliably process simultaneous block-wise request operations on a single resource. If requests are integrity protected, this also protects against interchange of fragments between different block-wise request operations.

    +

    When a packet uses the Request-Tag Option, SCHC compression MAY send its content in the Compression Residue. That is, in the SCHC Rule, the TV is not set, while the MO is set to "ignore" and the CDA is set to "value-sent". Alternatively, if a pre-defined set of Request-Tag values used by the client is known, a Rule MAY use a "match-mapping" MO when there are different options for the same FID.

    -
    +

    -5.9. CoAP Option EDHOC Field +5.10. CoAP Option EDHOC Field

    -

    The EDHOC field is an option defined in [I-D.ietf-core-oscore-edhoc] that a client can include in a CoAP request, in order to perform an optimized, shortened execution of the authenticated key establishment protocol EDHOC [I-D.ietf-lake-edhoc]. Such a request conveys both the final EDHOC message and actual application data, where the latter is protected with OSCORE [RFC8613] using a Security Context derived from the result of the current EDHOC execution.

    -

    The EDHOC Option occurs at most once and is always empty. The SCHC Rule MUST describe an empty TV, with the MO set to "equal" and the CDA set to "not-sent".

    +

    The EDHOC field is an option defined in [I-D.ietf-core-oscore-edhoc] that a client can include in a CoAP request, in order to perform an optimized, shortened execution of the authenticated key establishment protocol EDHOC [I-D.ietf-lake-edhoc]. Such a request conveys both the final EDHOC message and actual application data, where the latter is protected with OSCORE [RFC8613] using a Security Context derived from the result of the current EDHOC execution.

    +

    The EDHOC Option occurs at most once and is always empty. The SCHC Rule MUST describe an empty TV, with the MO set to "equal" and the CDA set to "not-sent".

    @@ -5770,10 +5782,13 @@

    Clarified what SCHC compression considers for CoAP options.

  • -

    Added YANG data model for the ietf-schc-coap-ext module.

    +

    Revised SCHC Compression of the If-None-Match CoAP option.

  • -

    Fixes and editorial improvements.

    +

    Added YANG data model for the ietf-schc-coap-ext module.

    +
  • +
  • +

    Fixes and editorial improvements.

  • diff --git a/draft-ietf-schc-8824-update.txt b/draft-ietf-schc-8824-update.txt index dd1db34..50c7fe6 100644 --- a/draft-ietf-schc-8824-update.txt +++ b/draft-ietf-schc-8824-update.txt @@ -96,13 +96,14 @@ Table of Contents 5.3. CoAP Option Uri-Path and Uri-Query Fields 5.3.1. Variable Number of Path or Query Elements 5.4. CoAP Option Size1, Size2, Proxy-Uri, and Proxy-Scheme - Fields + Fields 5.5. CoAP Option ETag, If-Match, If-None-Match, Location-Path, - and Location-Query Fields - 5.6. CoAP Option Hop-Limit Field - 5.7. CoAP Option Echo Field - 5.8. CoAP Option Request-Tag Field - 5.9. CoAP Option EDHOC Field + and Location-Query Fields + 5.6. CoAP Option If-None-Match + 5.7. CoAP Option Hop-Limit Field + 5.8. CoAP Option Echo Field + 5.9. CoAP Option Request-Tag Field + 5.10. CoAP Option EDHOC Field 6. Compression of CoAP Extensions 6.1. Block 6.2. Observe @@ -220,11 +221,11 @@ Table of Contents Size2, Proxy-Uri, and Proxy-Scheme (see Section 5.4). * It defines the SCHC compression for the CoAP option Hop-Limit (see - Section 5.6). + Section 5.7). * It defines the SCHC compression for the recently defined CoAP - options Echo (see Section 5.7), Request-Tag (see Section 5.8), - EDHOC (see Section 5.9), as well as Q-Block1 and Q-Block2 (see + options Echo (see Section 5.8), Request-Tag (see Section 5.9), + EDHOC (see Section 5.10), as well as Q-Block1 and Q-Block2 (see Section 6.1). * It updates the SCHC compression processing for the CoAP option @@ -559,7 +560,8 @@ Table of Contents Compression Rules may reflect this asymmetry by using the DI. The following sections present how SCHC compresses some specific CoAP - options. + options. Unless otherwise indicated, the referred CoAP options are + specified in [RFC7252]. If the use of an additional CoAP option is later introduced, the SCHC Rules MAY be updated, in which case a new FID description MUST be @@ -664,6 +666,8 @@ Table of Contents 5.4. CoAP Option Size1, Size2, Proxy-Uri, and Proxy-Scheme Fields + The Size2 field is an option defined in [RFC7959]. + The SCHC Rule description MAY define sending some field values by not setting the TV, while setting the MO to "ignore" and the CDA to "value-sent". A Rule MAY also use a "match-mapping" MO when there @@ -678,7 +682,13 @@ Table of Contents That is, in the SCHC Rule, the TV is not set, while the MO is set to "ignore" and the CDA is set to "value-sent". -5.6. CoAP Option Hop-Limit Field +5.6. CoAP Option If-None-Match + + The If-None-Match Option occurs at most once and is always empty. + The SCHC Rule MUST describe an empty TV, with the MO set to "equal" + and the CDA set to "not-sent". + +5.7. CoAP Option Hop-Limit Field The Hop-Limit field is an option defined in [RFC8768] that can be used to detect forwarding loops through a chain of CoAP proxies. The @@ -697,7 +707,7 @@ Table of Contents a Rule MAY describe a TV with value 16, with the MO set to "equal" and the CDA set to "not-sent". -5.7. CoAP Option Echo Field +5.8. CoAP Option Echo Field The Echo field is an option defined in [RFC9175] that a server can include in a CoAP response as a challenge to the client, and that the @@ -717,7 +727,7 @@ Table of Contents the persistent counter at the server becomes greater than the maximum threshold value that produces an MSB-matching. -5.8. CoAP Option Request-Tag Field +5.9. CoAP Option Request-Tag Field The Request-Tag field is an option defined in [RFC9175] that the client can set in CoAP requests throughout block-wise operations, @@ -736,7 +746,7 @@ Table of Contents values used by the client is known, a Rule MAY use a "match-mapping" MO when there are different options for the same FID. -5.9. CoAP Option EDHOC Field +5.10. CoAP Option EDHOC Field The EDHOC field is an option defined in [I-D.ietf-core-oscore-edhoc] that a client can include in a CoAP request, in order to perform an @@ -3233,6 +3243,8 @@ A.1. Version -00 to -01 * Clarified what SCHC compression considers for CoAP options. + * Revised SCHC Compression of the If-None-Match CoAP option. + * Added YANG data model for the ietf-schc-coap-ext module. * Fixes and editorial improvements.