Re: [DNSOP] draft-ietf-dnsop-extended-error status

2019-10-22 Thread Puneet Sood
On Wed, Oct 2, 2019 at 2:43 AM Vladimír Čunát
 wrote:
>
> On 9/30/19 11:47 PM, Warren Kumari wrote:
> > On Mon, Sep 30, 2019 at 7:54 AM Tony Finch  wrote:
> >> Difficult. In general there will be multiple upstream servers, even in
> >> the simplest case of a stub talking to a recursive server talking directly
> >> to authoritative servers. So there can be an arbitrary combination of
> >> upstream errors, and they might not relate directly to the QNAME, (e.g.
> >> problems with a parent zone, problems chasing down nameserver addresses).
> > RFC 6891 - Extension Mechanisms for DNS (EDNS(0)) speaketh thusly:
> >
> > "EDNS is a hop-by-hop extension to DNS. This means the use of EDNS is
> > negotiated between each pair of hosts in a DNS resolution process,
> > for instance, the stub resolver communicating with the recursive
> > resolver or the recursive resolver communicating with an
> > authoritative server."
> >
> > and also sayeth:
> > "OPT RRs MUST NOT be cached, forwarded, or stored in or loaded from
> > master files."
> >
> > I *think* that this covers the issue for many cases; EDE is not
> > intended to be a silver bullet, more something which provides useful
> > information for troubleshooting / debugging.
> > We would not (and cannot :-)) preclude other work from further
> > defining this, but I think that it's beyond the scope of this document
> > / we will better be able to understand things once we've had some
> > deployment experience.
>
> My understanding is that the hop-by-hop condition is just the default
> and as suggested we could define/allow e.g. that if all upstreams return
> "filtered", we send the same downstream.  I expect we could first
> publish RFC without propagation of these errors in mind, but there's a
> risk that when we later want to add that, we'll need to make too big
> changes, e.g. we may miss something like the near/far flag mentioned
> earlier.
>
> If we/you don't want to deal with the propagation now, reserving some
> bits for future use (MUST zero now) might be a nice compromise, assuming
> we at least have some vague idea that a few of them are likely to be
> useful in future.  Another plan might be to do nothing now and later we
> might: (1) define another EDNS0 extension that will *separately* carry
> information in addition to this EDE or (2) define new flags within the
> current EDE and utilize the allowance of sending multiple EDEs.  These
> options sound a bit messier to me, but they seem doable.

To me the authors' consensus seems to be towards getting EDE into the
real world and learning from its experience to improve it/build
something better. That sounds like EXPERIMENTAL to me. That way
leaving the caching/forwarding behavior unspecified is fine. Based on
experience in the real world, we come back and define/implement EDEv2
and deprecate EDEv1.

Too naive?

For Google Public DNS, EDE or something like it which makes it easier
for users to self-diagnose problems with our responses would be a
great thing.

-Puneet

>
> --Vladimir
>
> ___
> DNSOP mailing list
> DNSOP@ietf.org
> https://www.ietf.org/mailman/listinfo/dnsop

___
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop


Re: [DNSOP] draft-ietf-dnsop-extended-error status

2019-10-02 Thread Vladimír Čunát
On 9/30/19 11:47 PM, Warren Kumari wrote:
> On Mon, Sep 30, 2019 at 7:54 AM Tony Finch  wrote:
>> Difficult. In general there will be multiple upstream servers, even in
>> the simplest case of a stub talking to a recursive server talking directly
>> to authoritative servers. So there can be an arbitrary combination of
>> upstream errors, and they might not relate directly to the QNAME, (e.g.
>> problems with a parent zone, problems chasing down nameserver addresses).
> RFC 6891 - Extension Mechanisms for DNS (EDNS(0)) speaketh thusly:
>
> "EDNS is a hop-by-hop extension to DNS. This means the use of EDNS is
> negotiated between each pair of hosts in a DNS resolution process,
> for instance, the stub resolver communicating with the recursive
> resolver or the recursive resolver communicating with an
> authoritative server."
>
> and also sayeth:
> "OPT RRs MUST NOT be cached, forwarded, or stored in or loaded from
> master files."
>
> I *think* that this covers the issue for many cases; EDE is not
> intended to be a silver bullet, more something which provides useful
> information for troubleshooting / debugging.
> We would not (and cannot :-)) preclude other work from further
> defining this, but I think that it's beyond the scope of this document
> / we will better be able to understand things once we've had some
> deployment experience.

My understanding is that the hop-by-hop condition is just the default
and as suggested we could define/allow e.g. that if all upstreams return
"filtered", we send the same downstream.  I expect we could first
publish RFC without propagation of these errors in mind, but there's a
risk that when we later want to add that, we'll need to make too big
changes, e.g. we may miss something like the near/far flag mentioned
earlier.

If we/you don't want to deal with the propagation now, reserving some
bits for future use (MUST zero now) might be a nice compromise, assuming
we at least have some vague idea that a few of them are likely to be
useful in future.  Another plan might be to do nothing now and later we
might: (1) define another EDNS0 extension that will *separately* carry
information in addition to this EDE or (2) define new flags within the
current EDE and utilize the allowance of sending multiple EDEs.  These
options sound a bit messier to me, but they seem doable.

--Vladimir

___
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop


Re: [DNSOP] draft-ietf-dnsop-extended-error status

2019-09-30 Thread Warren Kumari
On Mon, Sep 30, 2019 at 7:54 AM Tony Finch  wrote:
>
> Wes Hardaker  wrote:
> >
> > 2) One outstanding topic of discussion that I think we need to decide to
> > handle or table till a future document: how do we handle forwarding,
> > chained resolvers, and caching.
>
> Difficult. In general there will be multiple upstream servers, even in
> the simplest case of a stub talking to a recursive server talking directly
> to authoritative servers. So there can be an arbitrary combination of
> upstream errors, and they might not relate directly to the QNAME, (e.g.
> problems with a parent zone, problems chasing down nameserver addresses).
>

RFC 6891 - Extension Mechanisms for DNS (EDNS(0)) speaketh thusly:

"EDNS is a hop-by-hop extension to DNS. This means the use of EDNS is
negotiated between each pair of hosts in a DNS resolution process,
for instance, the stub resolver communicating with the recursive
resolver or the recursive resolver communicating with an
authoritative server."

and also sayeth:
"OPT RRs MUST NOT be cached, forwarded, or stored in or loaded from
master files."

I *think* that this covers the issue for many cases; EDE is not
intended to be a silver bullet, more something which provides useful
information for troubleshooting / debugging.
We would not (and cannot :-)) preclude other work from further
defining this, but I think that it's beyond the scope of this document
/ we will better be able to understand things once we've had some
deployment experience.

Thank you,
W



> Perhaps if the upstream problems are consistent with each other, the
> resolver can return a single extended error code to its client; otherwise
> fall back to a "multiple errors" catch-all?
>
> Tony.
> --
> f.anthony.n.finchhttp://dotat.at/
> Malin: East backing northeast 5 to 7. Moderate or rough. Showers. Good.
>
> ___
> DNSOP mailing list
> DNSOP@ietf.org
> https://www.ietf.org/mailman/listinfo/dnsop



-- 
I don't think the execution is relevant when it was obviously a bad
idea in the first place.
This is like putting rabid weasels in your pants, and later expressing
regret at having chosen those particular rabid weasels and that pair
of pants.
   ---maf

___
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop


Re: [DNSOP] draft-ietf-dnsop-extended-error status

2019-09-30 Thread Tony Finch
Wes Hardaker  wrote:
>
> 2) One outstanding topic of discussion that I think we need to decide to
> handle or table till a future document: how do we handle forwarding,
> chained resolvers, and caching.

Difficult. In general there will be multiple upstream servers, even in
the simplest case of a stub talking to a recursive server talking directly
to authoritative servers. So there can be an arbitrary combination of
upstream errors, and they might not relate directly to the QNAME, (e.g.
problems with a parent zone, problems chasing down nameserver addresses).

Perhaps if the upstream problems are consistent with each other, the
resolver can return a single extended error code to its client; otherwise
fall back to a "multiple errors" catch-all?

Tony.
-- 
f.anthony.n.finchhttp://dotat.at/
Malin: East backing northeast 5 to 7. Moderate or rough. Showers. Good.

___
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop


[DNSOP] draft-ietf-dnsop-extended-error status

2019-09-27 Thread Wes Hardaker


I've gone through everyone's (wonderful) comments and have addressed
almost all of them, and published a -10.  Please let me know if you
think I missed anything.  Responses to the comments will be sent out
shortly.

(and sorry for the delay on this ; day-job hit me over the head hard in
the last three weeks )

Two outstanding topics:

1) A number of people have suggested adding references to other
RFCs/documents to many of the error codes.  This is probably a good
idea.  A beer or other drink in Singapore to anyone willing to do the
work to give me a list of references to add for each code.

2) One outstanding topic of discussion that I think we need to decide to
handle or table till a future document: how do we handle forwarding,
chained resolvers, and caching.  Puneed brought this up most recently in
his comments.  In the past we've pseudo-agreed that it will be rather
complex to document how to handle forwarding, etc, when some of the
error context will change upon a forward, for example.  IE,
forwarding/caching/whatever rules may end up being code specific and may
require a *lot* more thought.  So, IMHO, we have choices:

A) Label these situations as "undefined behavior" and define it in a
future document after we get more experience with deployment.  This is
typically where I've landed opinion-wise in the past, and still do
mostly now.

B) Document globally how to handle various cases (and we'll need to
enumerate them)

C) Document how to handle each one independently (or as an override if
needed to a global policy)

D) Your option here

So really, this first comes down to how important is it we handle this
case set before it goes out the door?

-- 
Wes Hardaker
USC/ISI

___
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop