Hi John,

Thanks for the follow-up - which is greatly appreciated. Please find my
comment inline.

The current changes can be seen on the commit below:
https://github.com/ietf-homenet-wg/ietf-homenet-hna/commit/72988ac88aafeda3d0a3417af048cf7553f348ba

We are happy to address the changes as they are being discussed and will
publish a new version as soon as the publication is open.

Yours,
Daniel

On Thu, Oct 27, 2022 at 4:25 PM John Scudder <j...@juniper.net> wrote:

> Hi Daniel,
>
> I haven’t reviewed the full change set yet, but I have a couple of
> comments I didn’t want to hold back while I find time to review the rest.
>
> > On Oct 20, 2022, at 1:23 AM, Daniel Migault <mglt.i...@gmail.com> wrote:
>
> [… snip …]
>
> > ### Section 4.3
> >
> > I don't understand what this paragraph is telling me about the provision
> of the
> > IP address by the HNA:
> >
> > ```
> >    The HNA works as a primary authoritative DNS server, while the DM
> >    works like a secondary.  As a result, the HNA must provide the IP
> >    address the DM is using to reach the HNA.  The synchronization
> >    Channel will be set between that IP address and the IP address of the
> >    DM.  By default, the IP address used by the HNA in the Control
> >    Channel is considered by the DM and the specification of the IP by
> >    the HNA is only OPTIONAL.  The transport channel (including port
> >    number) is the same as the one used between the HNA and the DM for
> >    the Control Channel.
> > ```
> >
> > You start out by saying the "the HNA must provide the IP address the DM
> is
> > using to reach the HNA". (By the way when you say "is using" I think you
> mean
> > "should use". No?) I note the use of "must".
> >
> >
> > But then you go on to say that "the specification of the IP by the HNA
> is only
> > OPTIONAL". (I assume that "the IP" here means "the IP address" that was
> > discussed a few sentences back, probably you should add the word
> "address" if
> > so.)
> >
> > These two sentences, the "must" in the first one and the "OPTIONAL" in
> the
> > later, seem directly in opposition to one another. :-(
> >
> > To set the synchronization channel the secondary needs to know the IP
> address of the secondary. (must).
>
> I guess you must mean the secondary needs the IP address of the *primary*?
> So, in this case, that means the DM needs to know the IP address of the HNA.
>
> > Either the IP is derived as the IP addressed used in the control channel
> or the IP address is explicitly provided. The latest option is optional.
> > I  hope the addition of explicit addresses your concerns:
> >
> > By default, the IP address used by the HNA in the Control Channel is
> considered by the DM and the explicit specification  of the IP by the HNA
> is only OPTIONAL.
>
> I finally (think that I) get it, but I think the addition of “explicit”
> doesn’t really clarify it very much. Here’s how the text stands in version
> 21:
>
> ```
>    The HNA works as a primary authoritative DNS server, while the DM
>    works like a secondary.  As a result, the HNA must provide the IP
>    address the DM should use to reach the HNA.  The synchronization
>    Channel will be set between that IP address and the IP address of the
>    DM.  By default, the IP address used by the HNA in the Control
>    Channel is considered by the DM and the explicit specification of the
>    IP by the HNA is only OPTIONAL.  The transport channel (including
>    port number) is the same as the one used between the HNA and the DM
>    for the Control Channel.
> ```
> A possible version that would be clearer to me:
>
>    The HNA works as a primary authoritative DNS server, while the DM
>    works as a secondary.  As a result, the DM needs to know what IP
>    address it should use to reach the HNA. Since the HNA initiates the
>    control channel to the DM, the DM will normally be able to use the
>    source address from the control channel as the IP address it will use
>    to reach the HNA. The explicit specification of the IP address by the
>    HNA is only OPTIONAL.  The transport channel (including port number)
>    is the same as the one used between the HNA and the DM for the
>    Control Channel.
>
> Does that correctly capture what’s meant?
>
This captures what we were trying to say.  I am happy to take your text.

>
> Although, now that I read the text again, I’m also having a hard time
> understanding what is meant by the final sentence, "The transport channel
> (including port number) is the same as the one used between the HNA and the
> DM for the Control Channel.” I’m assuming that by “the transport channel”
> you mean the transport connection for the synchronization channel, but I
> still don’t understand what you mean about the port. Are you saying that
> the DM gleans the port it should use to contact the HNA, in the same manner
> as it gleans the HNA’s IP address?
>
>
What we meant by transport channel was DNS over TLS on port MM where MM is
either the standard port or a port that parties have agreed on. The DM is
serving on that port MM and the DM is setting the control channel over that
port MM, so we do not expect any issue. The source port NNNN is not an
issue and we generally do not have control over that port. The first figure
below is what we meant but NNNN of the control channel and NNNN of the
synchronization channel do not have to be the same.
A more appropriate figure might be

HNA                                        DM
---------                                  ---------
port NNNN --------control channel--------> port MM
port MM <-----synchronization channel----- port NNNN'

I believe that the Section "Synchronization Channel" {#sec-synch} details
how ports are handled with port XX and YYYY. What might be confusing here
is that what we call a transport channel includes the necessary parameters
that define the channel ( which do not include the source port) as opposed
to an established channel which includes a source port. Let me know if the
text below is clearer.

OLD:
The transport channel (including port number) is the same as the one used
between the HN
A and the DM for the Control Channel.

NEW:
The DNS exchanges performed by the DM to synchronize the zone is using the
same destination port and same transport protocol as for the Control
Channel.
This document only specifies DNS over TLS as the transport protocol.
If the Control Channel between the HNA and the DM uses DNS over TLS
{{!RFC7858}} over port XX (XX being 853 by default), the Synchronization
Channel between the DM and the HNA will use DNS Zone transfer over TLS
{{!9103}} using port XX. Note that the source port may be different for
both channels (see {{sec-synch}} for more details ).


> HNA                                        DM
> ---------                                  ---------
> port NNNN --------control channel--------> port MM
> port MM <-----synchronization channel----- port NNNN
>
> where arrow directions indicate who the initiator of the connection is,
> port NNNN denotes an ephemeral port, and port MM denotes a well-known port.
> As written, the most literal interpretation would be:
>
> HNA                                        DM
> ---------                                  ---------
> port NNNN --------control channel--------> port MM
> port NNNN <-----synchronization channel--- port MM
>
> which regrettably doesn’t make sense. Without a better understanding of
> your intended meaning, I’m afraid I can’t propose wording.
>
> [… snip …]
>
> > ### Section 4.5.3
> >
> > ```
> >    Similarly to Section 4.5.2, DNS errors are used and an error
> >    indicates the DM is not configured as a secondary.
> > ```
> >
> > Related to the previous comment -- is this true regardless of what error
> code
> > is returned, for example would a FORMERR mean that the DM is not
> configured as
> > a secondary?
> >
> > Even given that any error implies that the operation failed, what if the
> DM had
> > already been previously configured as secondary, and the operation were
> merely
> > updating some parameter? Would the previous configuration be voided, as
> the
> > text currently implies? Or would the DM remain configured as secondary,
> using
> > the previous configuration?
> >
> > We used DNS errors to imply that the standard DNS behavior is expected.
> When teh update fails, the data remains in its previous step.
>
> Doesn’t that mean the text as written isn’t accurate, though? A possible
> rewrite could be “… an error indicates that the requested update to the DM
> will not take effect."
>

Just to avoid any confusion. In this case, DNS Updates are just ways to
carry some configuration parameters from the HNA to the DM. In other words,
they would not result in any update of a zone. - updates of the zone are
handled by the synchronization channel. As result, an error of the DNS
update indicates the secondary is not configured. Updates in the zone can
only happen when the secondary is configured.

I think your proposal is correct that an error to the DNS update
indicates  requested update to the DM will not take effect, but I think it
introduces some ambiguity that an effective update of the Public homenet
zone was expected with this request. If we agree on this, I would prefer
not to introduce such ambiguity and prefer to stick to the consequences
which is that the DM is not configured . I am though happy to consider any
other wordings


>
> Thanks,
>
> —John



-- 
Daniel Migault
Ericsson
_______________________________________________
homenet mailing list
homenet@ietf.org
https://www.ietf.org/mailman/listinfo/homenet

Reply via email to