Skip to content

Commit

Permalink
fixup! Add "docpath" SVCB ParamKey definition
Browse files Browse the repository at this point in the history
  • Loading branch information
miri64 committed Jun 18, 2024
1 parent c8a2a98 commit 9e24213
Showing 1 changed file with 22 additions and 5 deletions.
27 changes: 22 additions & 5 deletions draft-ietf-core-dns-over-coap.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ informative:
RFC9462: ddr
RFC9463: dnr
I-D.ietf-core-href: cri
I-D.ietf-core-transport-indication: transport-indication
I-D.amsuess-core-cachable-oscore: cachable-oscore
DoC-paper: DOI.10.1145/3609423

Expand Down Expand Up @@ -186,6 +187,10 @@ When discovering the DNS resource through a link mechanism that allows describin
(e.g., the Resource Type Attribute in {{-core-link-format}}), the resource type "core.dns" can be
used to identify a generic DNS resolver that is available to the client.

While there is no path specified for the DoC resource, it is RECOMMENDED to use the root path "/"
to keep the CoAP requests small.

### Discovery using SVCB Resource Records or DNR
A DoC server can also be discovered using SVCB Resource Records (RR) {{-svcb}}, {{-svcb-dns}} or DNR
Service Parameters {{-dnr}}.
\[TBD: draft-lenders-core-coap-dtls-svcb\] provides solutions
Expand All @@ -207,11 +212,23 @@ string with the "/" character, provided these CBOR text strings are all of a len
octets.

To use the service binding from a SVCB RR, the DoC client MUST send any DoC request to the CoAP
resource identifier constructed from the SvcParams including "docpath" as described in \[TBD:
draft-lenders-core-coap-dtls-svcb\].

While there is no path specified for the DoC resource, it is RECOMMENDED to use the root path "/"
to keep the CoAP requests small.
resource identifier constructed from the SvcParams including "docpath". A rough construction
algorithm could be as follows.
- If the "alpn" SvcParam value for the service is "coap", construct a CoAP request for CoAP over TCP,
if it is "co", construct one for CoAP over DTLS.
- The destination address for the request should be taken from additional information about the
target, e.g. from an AAAA record associated to the target or from am "ipv6hint" SvcParam value,
or, as a fallback, by querying an address for the queried host name of the SVCB record.
- The destination port for the address is taken from the "port" SvcParam value, if present.
Otherwise, take the default port of the CoAP transport.
- Set the queried host name of SVCB record in the URI-Host option.
- For each element in the CBOR sequence of the "docpath" SvcParam value, add a Uri-Path option to
the request.
- If a "port" SvcParam value is provided or if a port was queried, and if either differs from either
the default port of the transport or the destination port selected above, set that port in the
URI-Port option.

A more generalized construction algorithm can be found in {{-transport-indication}}.

Basic Message Exchange
======================
Expand Down

0 comments on commit 9e24213

Please sign in to comment.