<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    To mitigate upstream queries (save bandwidth, speed up queries,
    enhance privacy) it might be worthwhile to consider (pre)serving a
    copy of the root (.) for local usage via auth-zone as described in
    example.conf.in (Authority zones) in the package documentation.<br>
    <div class="moz-signature"><br>
    </div>
    <div class="moz-cite-prefix">On 22/04/2019 13:30, Tihomir Loncaric
      via Unbound-users wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:1916497704.3807593.1555932602409@mail.yahoo.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div class="ydp861edcb0yahoo-style-wrap" style="">
        <div style="font-family: Helvetica Neue, Helvetica, Arial,
          sans-serif; font-size: 16px;">Hi all,</div>
        <div style="font-family: Helvetica Neue, Helvetica, Arial,
          sans-serif; font-size: 16px;"><br>
        </div>
        <div style="font-family: Helvetica Neue, Helvetica, Arial,
          sans-serif; font-size: 16px;">Wanted to congratulate you on
          great work with unbound !</div>
        <div style="font-family: Helvetica Neue, Helvetica, Arial,
          sans-serif; font-size: 16px;"><br>
        </div>
        <div style="font-family: Helvetica Neue, Helvetica, Arial,
          sans-serif; font-size: 16px;">My use case of unbound is on
          ships using satellite uplinks, so in other words high-latency
          and high-bandwidth... relatively speaking, but surely enough
          bandwidth for DNS queries.</div>
        <div style="font-family: Helvetica Neue, Helvetica, Arial,
          sans-serif; font-size: 16px;">So idea would be to cache and
          then preemptively re-cache DNS queries as much as possible so
          to speed up Internet access for users.<br>
        </div>
        <div style="font-family: Helvetica Neue, Helvetica, Arial,
          sans-serif; font-size: 16px;"><br>
        </div>
        <div style="font-family: Helvetica Neue, Helvetica, Arial,
          sans-serif; font-size: 16px;">This could cut up to 500-800 ms
          from every DNS query and remove lag on DNS side. This,
          together with WAN TCP optimization (SYN) would make satellite
          uplink not so laggy for users onboard.</div>
        <div style="font-family: Helvetica Neue, Helvetica, Arial,
          sans-serif; font-size: 16px;"><br>
        </div>
        <div style="font-family: Helvetica Neue, Helvetica, Arial,
          sans-serif; font-size: 16px;">So I notice most of the DNS
          entries rarely change and local unbound onboard could surely
          cache lots of entries considering memory and CPU are available
          nowadays.</div>
        <div style="font-family: Helvetica Neue, Helvetica, Arial,
          sans-serif; font-size: 16px;"><br>
        </div>
        <div style="font-family: Helvetica Neue, Helvetica, Arial,
          sans-serif; font-size: 16px;">Thus instead of expiring cached
          entries after TTL I would like to keep refreshing them
          regularly and keep them available for some pre-defined time </div>
        <div style="font-family: Helvetica Neue, Helvetica, Arial,
          sans-serif; font-size: 16px;">(eg. 2-3 weeks configurable) due
          to cruise length. I believe this proactive approach with cache
          & refresh would be more appropriate for such environment.<br>
        </div>
        <div style="font-family: Helvetica Neue, Helvetica, Arial,
          sans-serif; font-size: 16px;"><br>
        </div>
        <div style="font-family: Helvetica Neue, Helvetica, Arial,
          sans-serif; font-size: 16px;">Checking out for options in
          Unbound I have identified couple of mechanisms to enable this
          but all seem to lack some features.</div>
        <div style="font-family: Helvetica Neue, Helvetica, Arial,
          sans-serif; font-size: 16px;"><br>
        </div>
        <div style="font-family: Helvetica Neue, Helvetica, Arial,
          sans-serif; font-size: 16px;">Prefetch is great feature but
          seems somewhat limited for entries to be refreshed during last
          10% of TTL and only if user resolve entry during that last 10%
          of TTL time.</div>
        <div style="font-family: Helvetica Neue, Helvetica, Arial,
          sans-serif; font-size: 16px;">Furthermore that 10% seems not
          configurable in config.<br>
        </div>
        <div style="font-family: Helvetica Neue, Helvetica, Arial,
          sans-serif; font-size: 16px;">I know setting it like this
          increases cache hit ratio for often used entries (ones that
          also get hit during last 10%) but is not flexible enough.<br>
        </div>
        <div style="font-family: Helvetica Neue, Helvetica, Arial,
          sans-serif; font-size: 16px;"><br>
        </div>
        <div style="font-family: Helvetica Neue, Helvetica, Arial,
          sans-serif; font-size: 16px;">I am trying to cache much beyond
          that time frame (2-3 weeks - parameter 1) and cannot always
          guarantee users will be resolving within last 10% of TTL  (eg.
          during night) <br>
          so I would like to set automated refresh to do refresh on 90%
          TTL, if DNS entry was asked for more or equal to 0 ... n times
          after being cached (parameter 2).</div>
        <div style="font-family: Helvetica Neue, Helvetica, Arial,
          sans-serif; font-size: 16px;"><br>
        </div>
        <div style="font-family: Helvetica Neue, Helvetica, Arial,
          sans-serif; font-size: 16px;">Of course all up to maximum
          number of cached entries which would be set appropriately.</div>
        <div style="font-family: Helvetica Neue, Helvetica, Arial,
          sans-serif; font-size: 16px;"><br>
        </div>
        <div style="font-family: Helvetica Neue, Helvetica, Arial,
          sans-serif; font-size: 16px;">This would allow for preemptive
          caching based on number of times entry is queried during TTL
          and overall length of time to keep such entries in cache.</div>
        <div style="font-family: Helvetica Neue, Helvetica, Arial,
          sans-serif; font-size: 16px;">So in other words we would
          trade-off some bandwidth used in order to reduce DNS latency.</div>
        <div style="font-family: Helvetica Neue, Helvetica, Arial,
          sans-serif; font-size: 16px;"><br>
        </div>
        <div style="font-family: Helvetica Neue, Helvetica, Arial,
          sans-serif; font-size: 16px;"><span>Serve-expired is another
            great feature, but what I am proposing above would work
            similarly and wouldn't break DNS in case entries are
            changed, </span></div>
        <div style="font-family: Helvetica Neue, Helvetica, Arial,
          sans-serif; font-size: 16px;"><span>though with some bandwidth
            trade-off for refreshes.</span><br>
        </div>
        <div style="font-family: Helvetica Neue, Helvetica, Arial,
          sans-serif; font-size: 16px;"><span><br>
          </span></div>
        <div style="">cache-min-ttl would definitely break certain
          resolutions, but I would use it with 30 - 60 min TTL which is
          sensible trade off </div>
        <div style="">so refresh doesn't happen too often and any
          changes are still picked up with regular refreshes.</div>
        <div style=""><br>
        </div>
        <div style="">Is there anything else that I could use out of the
          box? What other existing parameters would help towards this
          caching goal?<br>
        </div>
        <div style="font-family: Helvetica Neue, Helvetica, Arial,
          sans-serif; font-size: 16px;"><br>
        </div>
        <div style="font-family: Helvetica Neue, Helvetica, Arial,
          sans-serif; font-size: 16px;">Thanks,</div>
        <div style="font-family: Helvetica Neue, Helvetica, Arial,
          sans-serif; font-size: 16px;">Tiho</div>
        <div style="font-family: Helvetica Neue, Helvetica, Arial,
          sans-serif; font-size: 16px;"><br>
        </div>
      </div>
    </blockquote>
    <br>
  </body>
</html>