BIND 10 #1386: fallback from EDNS over UDP to plain DNS or EDNS/DNS over TCP is needed in real life

BIND 10 Development do-not-reply at isc.org
Mon Dec 19 17:40:40 UTC 2011


#1386: fallback from EDNS over UDP to plain DNS or EDNS/DNS over TCP is needed in
real life
-------------------------------------+-------------------------------------
                   Reporter:  dvv    |                 Owner:  vorner
                       Type:         |                Status:  reviewing
  defect                             |             Milestone:
                   Priority:  major  |  Sprint-20111220
                  Component:         |            Resolution:
  resolver                           |             Sensitive:  0
                   Keywords:  EDNS   |           Sub-Project:  DNS
  fallback                           |  Estimated Difficulty:  0
            Defect Severity:  High   |           Total Hours:  0
Feature Depending on Ticket:         |
  resolver                           |
        Add Hours to Ticket:  0      |
                  Internal?:  0      |
-------------------------------------+-------------------------------------
Changes (by dvv):

 * owner:  dvv => vorner


Comment:

 Replying to [comment:10 vorner]:
 > Hello
 >
 > I agree that the code does what it says, though the changelog could be
 more explicit on what fallback it is.

 changelog updated.

 > However, I'm not sure if this fallback behaviour is the right one to do.
 Does it make sense? For what I see, the behaviour of the name server is
 wrong. So making the usual fallback (where the server doesn't know edns at
 all) slower seems bad because of it. What use is the EDNS on tcp anyway?
 As the EDNS doesn't really work well for the server, we can assume it
 doesn't use it to pass any fancy options. And we don't need larger packets
 over TCP. So, it would probably make sense to fallback either to UDP
 without EDNS directly (and then do the usual TCP fallback, if needed
 because of size) or directly to TCP without EDNS. What is the advantage of
 this (your) way?

 In theory, it might be useful if we send a DNSSEC query to an upstream
 server that refuses to do EDNS over UDP. But at the moment, the resolver
 ignores DNSSEC-aware queries from clients, so it's kinda moot. I disabled
 the TCP fallback and just left the basic fallback to non-EDNS UDP in
 place.

 > Also, we may want to remember these things in the NSAS. I'm not sure if
 it supports flags for now, but it should be at last noted in some TODO we
 want to do it, and possibly create a ticket for it somewhere in backlog.

 That was the TODO part that jinmei found unnecessary at the moment. bind9
 uses a whole lot of heuristics to determine what an upstream server's
 malfunctions are, it may be useful to replicate some or all of that
 functionality, too.


 Thanks!

 Dima

-- 
Ticket URL: <http://bind10.isc.org/ticket/1386#comment:11>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list